Articles taggés codesys
Utilisation de la fonction affichage de texte [PLCLink CodeSys]
Une des grandes faiblesse dans l’utilisation de PLCLink était le fait que l’on ne pouvais afficher des messages que numérique, ou des messages texte pré enregistré, ce problème était due au fait que l’automate ne peut échanger que des données numérique (Plugin SSI ou Modbus).
Aujourd’hui (ou demain, quand Apple aura publier la mise a jour) la nouvelle fonction livré avec la version 1.5.7 vient régler ce problème.
En effet la fonction « Affichage du contenu direct d’un url » vas lire les données d’une URL ou contenue dans un fichier pour les afficher sur votre iBidule.
Le message ce limite a 32 caractères.
CodeSys
Le principe est simple, une action (ACT_ST_CHEEK_FILE) va détecter le changement de texte dans le message puis va lancer l’exécution d’un bloc fonction qui va aller écrire le texte dans un fichier stocké sur votre automate, PLCLink ce chargera ensuite d’aller lire le contenu du fichier et de l’afficher sur votre device.
Pour exécuter les actions de lecture et d’écriture de fichier nous aurons besoin de la bibliothèque SysLibFile.
Penser a mettre la variable string qui contient le texte en global, cela vous permettra de l’écrire depuis n’importe quel endroit de votre programme.
Que ce passe t’il dans le bloc de fonction :
On va commencer par aller ouvrir le fichier demandé, puis si tout c’est bien passé on écrit les infos a l’intérieur, et pour finir on fait une sauvegarde.
En entrée, on trouve : le non de notre fichier, avec son extension
le texte a écrire dans le fichier
un bool qui lance l’écriture
En sortie: un texte et un int qui vous donnent l’état de la fonction.
Mis a part la page de lancement l’ensemble du programme est en structured texte.
Il vous faudra donner le non du fichier avec sont extension, par exemple « message1.txt »
Vous trouverez également une visu qui vous permettra de modifier votre texte et le non de votre fichier
Attention : dans votre message texte il vous faudra ne pas utiliser le symbole de l’exclamation ‘ car celui-ci sert a délimiter les éléments string.
Base de l’utilisation de codesys, mise en route programme [Codesys]
2Suite a plusieurs questions et demandes, je vais vous faire part des principes de base pour exécuter votre programme sur votre automate
Le pré requis est que votre programme soit fait et soit correcte.
- Régler les paramétrés de communication
La première étape consiste a régler les paramètres de communication
Disons que en général vous avez le choix entre deux méthodes de transfert, pour certains automate seul le transfert part le cordon série sera possible
Rendez vous dans le menu « En ligne », puis « Paramètres de communication… »
Fonction MultiClick, Click Long, Multi actions sur un poussoir [Codesys]
0
Beaucoup d’entre vous souhaitent utiliser un même poussoir (interrupteur) pour effectuer diverses actions, par exemple : simple click allume la luniere, double click met en marche la ventilation, et un appui long baisse les volets
Je savais que Gilles Sassatelli l’avais deja mis en place, et comme j’avais aussi besoin de cette fonction, et que en plus je suis feignant
je lui ai demander de me faire part de son travail, je l’ai remise en forme (enfin je devrais dire a ma forme, chacun ses habitudes) et j’ai ajouter les commentaires afin que cela soit bien plus facile a comprendre
Le principe de la fonction est simple :
Quand vous presser le bouton affecté a la fonction (b_in) un timer est lancé et l’on va regarder ce qui ce passe pendant l’écoulement de ce timer
Utilisation de Date et Heure dans Codesys [CodeSys]
12Suite a plusieurs demande, je vais vous faire quelques petits Tuto sur la gestion de la date et de l’heure dans votre programme codesys
D’ailleurs n’hésiter pas a m’indiquer les sujets qui vous intéressent
Afin de récupérer les infos, l’automate se synchronise à un serveur NTP
Vous aurez effectué cette configuration en vous rendant sur les pages de paramétrage de votre automate
Pour info si vous avez une FreeBox V6 sur votre réseau, celle-ci assure la fonction de serveur NTP, sinon grâce a google vous trouverez plusieurs adresses
Dans les bibliothèques, il faudra ajouter la SYSTIME.LIB qui ajoute les fonctions qui permettent d’extraire le temps de l’automate
Cette Bibliothèque inclus deux fonctions et deux structures
Mise a Jour de PLCLink, Mise en place code PIN
0
Comme de maniéré régulière, PLCLink a été mis a jour en version 1.5.2
Depuis maintenant deux versions le logiciel est compatible iOs5 (la version 1.4.2, n’étant donnée compatible que sur iOs 4.x), ce qui a nécessité un peut plus de travail car il a et a été développé sur le nouveau SDK (Obligation faite par Apple pour valider les applications)
Au programme des nouveautés (depuis la version 1.4.2) :
- Un nouvel Icône, Radiateur (Heather) ![]()
- Corrections de bugs
- Maintenant le fichier d’échange n’est plus en wml, mais en xml
- Possibilité de mettre un code Pin sur les pages pour en empêcher l’accès
Mesure de la pression atmosphérique sur carte analogique [Wago - PLCLink - Fer a souder]
0Jean-François Pautex nous propose un montage de plus a connecter a votre automate wago, j’espère pour vous que vous aviez pris une carte analogique a quatre entrée
s
Aujourd’hui, enfin plutôt depuis hier vous pourrez trouver les plans et les instructions pour la réalisation d’un baromètre, celui-ci comme les précédents montages ce connecte a votre carte analogique et vous permet de voir les infos sur votre iphone, ou dans la visu de codesys sur votre navigateur (en option suivant le modèle d’automate que vous avez)
Le montage réalisé a partir de composant CMS a l’avantage de tenir dans une borne de connexion (il semble que ce soit une borne Leroy Sommer qui ai été utilisé et non pas une borne Wago
)
Bon il devient nécessaire que je trouve une borne analogique
Comme d’habitude vous retrouvez l’ensemble des instructions, liste de composants, plans… sur le site Pautex
Mesure de la consommation d’eau [Codesys, PLCLink, Plomberie]
1Dans la catégorie on continue de mesurer (âpres le courant et la température) ce que l’on consomme pour être économe, il y a l’eau
La consommation de l’eau n’est pas une chose très évidente a mesurer, bien souvent pour pouvoir la contrôler il faut aller voir son compteur qui est situé au fond d’un vieux placard, sous une grosse dalle et des gros bloc de polystyrène au bout de son jardin, bref un truc pas évident (chez moi, c’est dans le cellier derrière le chauffe eau)
Mais heureusement dans la plupart des cas l’arrivé d’eau est situé a proximité de l’arrivé électrique et donc de votre automate, bien souvent l’ensemble des energies sont passé dans la même tranché lors de la construction de la maison
Ce qui n’est pas le cas chez moi, l’eau arrivant a l’arriéré de la maison, et l’électricité a l’avant, heureusement pour moi, j’avais passé un câble avec 8 conducteurs entre l’automate et le cellier dans lequel le compteur est situé
Et pour pouvoir mesurer cette consommation (a moins d’être déjà équipé sans le savoir) il va falloir ce mouiller
Tout d’abord il va vous falloir mettre en place un nouveau compteur ou un compteur supplémentaire, pour moi ce sera un compteur supplémentaire, je ne vais pas toucher a mon compteur déjà en place
ce nouveau compteur est équipé d’une sortie contact sec
, pour résumer c’est un interrupteur qui va ce fermer tout les x Litre d’eau

Lors de mes recherche je n’ai trouvé que deux modelés ayant cette fonction (j’ai peut être pas assez cherché)
compteur a 42 € + capteur a 79 € le tout de marque Sappel
Le second chez Planète Domotique, REF: USLF-20 c’est un compteur de fabrication italienne (GIOANOLA) , et il est fournit complet, c’est a dire compteur plus sonde plus raccords pour 75.80€, ce modelé autorise un debit de 2.5 m3/ h ce qui pour une utilisation courante sera largement suffisant (mon compteur de base est un 1.5m3/h), des modelés plus gros existent ci besoin ->
Attention ses compteurs sont uniquement destiné a l’eau froide, pour l’eau chaude il y a un modèle spécial chez Gioanola
J’ai donc choisi le modelé de chez planète domotique dans la version, une impulsion tout les 0.25L, sa sera plus facile de calculer un débit ainsi
La Fonction Bascule [CodeSys]
2J’ai deja parlé a plusieur reprise de cette fonction, celle-ci est la fonction dont vous aurez sans doute le plus besoins
Son But
Permettre de changer l’etat d’un element par une simple impulsion
Simplement permettre d’allumer une lampe lorsque l’on appuie sur un poussoir, permettre d’éteindre cette meme lampe lorsque l’on appuie sur ce même poussoir, en gros c’est l’équivalent d’un telerupteur
Realisation
Nous allons donc insérer un nouvel objet de type Bloc Fonctionnel et en langage Ladder LD
Voyon tout de suite a quoi va resembler votre petit morceau de programme
Clic pour zommer
Les declarations des variables
en VAR_INPUT vous avez un boolean « Interupteur: BOOL », c’est donc lui qui provoquera l’action
en VAR_OUTPUT vous avez un boolean » Lampe: BOOL », c’est lui qui recevra l’action
en VAR vous avez « Front: R_TRIG » qui est la declaration de la fonction Front Montant et « A:BOOL », qui n’a d’autre utilité que d’eviter d’avoir des erreurs lors de la compilation
Fonctionnement
Reseau 1: lorsque interupteur passe a 1 on genere donc le front montant et R_Trig ce retrouve actionné
Reseau 2: on a le Font montant de l’interupteur Front.Q et si la lampe n’est pas actionner on va setter la lampe et sortir de la fonction (le return) le Front.Q retombe a 0
Comme on travaille avec un front montant vous pouvez laisser l’interrupteur actionner le Front.Q restera a 0 donc plus aucune action ne ce produira dans cette routine
Reseau 3 : comme pour le reseau 2 quand on a le front montant de l’interupteur mais que la lampe est allumé on viendra reseter la lampe (passage de 1 a 0) puis on sort de la fonction (return)
Integration de la fonction dans le programme
L’integration du switch [WagoLink-CodeSys]
0Le switch, est en fait composé de 2 fonctions
-Il agit comme un bouton lors d’une pression
-Il lit la valeur ou l’état d’un objet et le reflète par la position du switch I ou O
Code dans WagoLink
Comme vous le voyez sur la ligne <IW> on va lire l’adresse QX2.3 qui correspond a une sortie de l’automate suivant l’etat de cette sortie le switch sera a 1 ou 0
Sur la ligne <wagolink> on va ecrire sur l’automate dans le mot MW3 la valeur 4, nous avons déjà vue dans « les bases pour utiliser wagolink » la routine a mettre en place pour utiliser les mots comme si c’était de simples bouton poussoir
Code dans Codesys
De ce coté la il n’y a absolument rien de particulier a faire.
Vous allez utiliser le Boolean que génère le passage de MW3 a la valeur 4 comme un simple poussoir












