Programmation de Calaos sur les automates Wago avec CodeSys

Afin de faire fonctionner un automate Wago avec Calaos, il doit être chargé au prealable avec le programme Calaos en utilisant CodeSys (Wago I/O Pro). Le logiciel CodeSys est distribué par Wago soit en version standalone payante, soit avec un kit de démarrage. L'équipe Calaos ne peut donc en aucun cas fournir ce logiciel.

Automate et connexion

Afin de permettre de communiquer avec l'automate, CodeSys a besoin d'un lien. Il est capable de fonctionner via 2 méthodes:

  • Soit par réseau Ethernet (le plus simple),
  • Soit en utilisant le câble série spécifique (câble en option).

Adresse IP

Il faudra au prealable configurer l'adresse IP de l'automate. Il est preferable de lire la documentation Wago pour effectuer le parametrage de l'adresse IP en fixe.

Par defaut un automate est reglé en DHCP. Il faudra utiliser le logiciel Wago Ethernet Settings pour changer le reglage avec une IP fixe. Le logiciel est egalement capable de faire une recherche sur le reseau pour trouver l'automate.

Pour les automates a base de DIP Switch en facade (reglage facilité de l'IP), il faudra passer par cette manipulation:

  • Mettre le sélecteur de l'automate dans la position du milieu
  • Choix de l'adresse IP via les selecteurs. L'adresse sera de la forme 192.168.1.XXX
  • Mettre le sélecteur de l'automate dans la position du haut

Pour verifier si l'automate est bien paramatré sur le reseau, il faut se rendre sur la page web de l'automate via http://192.168.1.XXX. La page web doit s'ouvrir.

CodeSys

CodeSys est l'outil de developpement des automates. Ce tutoriel utilise la version 2.3.9.xx. Il convient d'utiliser la version complete, la version démo ne permet pas de conserver le code dans l'automate après redémarrage.

Il est conseillé d'utiliser CodeSys en anglais, car la version francaise contient une traduction plus qu'incompréhensible par endroit. Pour changer la langue, Menu Projet, Options, Environnement de travail, choisir Anglais

Calaos_wago

Il faut ensuite récupérer le code calaos sur https://github.com/calaos/calaos_wago/archive/master.zip. L'archive contient tout le code de tous les automates supportés ainsi que les librairies utilisées. Il suffit d'extraire le zip quelque part.

Installation

Ouvrir le projet

Il faut commencer par executer CodeSys puis ouvrir le projet correspondant à son automate (wago_881.pro pour un 750-881). Il convient de prendre la derniere version en date qui se trouvent dans le dossier. Ex: Wago_3.0 pour la version 3.0 du programme.

Une fois le projet ouvert il ne doit pas y avoir d'erreur. Une message d'information peut s'afficher expliquant que des bibliotheques ont ete modifiés, il faut juste valider.

Compiler le projet

Pour recompiler le projet il faut se rendre sur le menu Project puis Rebuild All

Si tout se passe bien, il doit y avoir 0 Erreurs en bas dans la console.

Selection de l'IP de l'automate

Il faut ensuite aller dans Online, Communication parameters.

La fenetre suivante s'ouvre:

L'addresse IP est à changer dans cette fenêtre en double cliquant sur celle ci, puis en cliquant sur OK.

Chargement

Pour charger l'automate il faut aller sur Online, Login. Le projet sera compilà si nécessaire automatiquement, puis la connection avec l'automate établie. Si la connection fonctionne, CodeSys va demander si on veut charger le nouveau programme. Il faut bien entendu répondre Yes.

Le chargement peut prendre du temps (plusieurs minutes). Une fois terminé, codesys se met en mode debogueur, mais le programme n'est pas executé. On voit si le programme est lancé en bas a droite.

Avant d'executer le programme, il faut que le programme soit ecrit dans la mémoire non-volatile. Sans ca, au prochain reboot de l'automate, tout aura disparu. Pour le faire, une fois en mode Online il faut aller dans le menu Online, Create boot project.

Cela va durer un certain temps, il faut laisser codesys faire son travail.

Démarrage du programme Calaos

Une fois le programme chargé, on peut lancer son execution. Cela se fait via plusieurs methode. On peut lancer l'execution via le menu Online, Run. Ou simplement en redemarrant la tete automate. Il faut dans tous les cas bien vérifier que le sélecteur (qui se trouve sous le capot de la tete) soit bien positionné en position haute. Sans ca, l'automate sera par defaut en mode STOP.

Une fois que le programme Calaos se lance, il va la premiere fois s'initialiser, puis redemarrer l'automate. On le voit en regardant les led clignoter lors du reboot. Il ne faut pas interrompre ce processus. Une fois que l'automate a redémarré, la LED USR va permettre de connaitre le statut du programme Calaos et de l'automate:

  • éteinte: la tête est pas programmé ou bien pas en mode RUN
  • orange clignotant: le prog Calaos tourne et démarre la premiere fois et attend le serveur calaos pendant 30s
  • orange fixe: le prog Calaos tourne en mode autonome
  • vert fixe: l'automate fonctionne en mode serveur (et est donc esclave)
  • rouge: Il y a une erreur dans la prog KNX (uniquement avec du KNX sur la tete 849)

Les autres leds de la tete ne doivent pas etre rouge sinon c'est qu'il y a un autre probleme. Dans ce cas, il faut voir le code d'erreur dans la doc de la tete.

Calaos Installer

Pour que calaos installer fonctionne ensuite avec l'automate il faut que la led de l'automate soit en orange fixe. Il ne faut pas se connecter sur l'automate avec calaosinstaller en meme temps que calaosserver. Il faut imperativement déconnecter calaos_server du reseau dans ce cas la.

Dans calaos installer:

  • Menu automate → Se connecter, donner l'IP de l'automate.
  • Une fois que c'est connecté en bas a droite de la fenetre: “connecté (2.2)” avec la version de l'automate.
  • Si c'est ok, la config peut etre envoyé avec Menu automate → Programmer l'automate.
  • Les regles fonctionnent de suite sans devoir redémarrer l'automate.

Pour la detection des inters:

  • Il faut être en mode connecté a l'automate dans calaos installer!
  • Si la detection ne marche pas, vérifier que la led sur la borne d'entrée s'allume bien.
  • Si ca ne marche toujours pas, c'est un pb avec les firewall sous windows qui ne laissent pas passer les trames UDP correctement… Essayer de couper le firewall.
  • Si ca ne marche quand meme pas. Ce n'est pas grave, les regles peuvent quand même être crées en donnant le numero de l'entrée qu'il faut utiliser pour l'inter. Il faut compter le numéro de l'entrée sur la borne directement.