SlimLine Framboise utiliser CODESYS

CODESYS est un environnement de développement IEC 61131-3 utilisé par de nombreuses sociétés d'automatisation industrielle qui permet de programmer en utilisant les 5 langages requis par la norme. Pour installer l'IDE de développement CODESYS sur votre PC, téléchargez-le gratuitement sur magasin du fabricant, recherchez l'entrée "CODESYS Development System V3" .

Une fois l'installation de l'IDE terminée, vous devez ajouter la cible Raspberry et télécharger gratuitement le package d'installation depuis magasin du fabricant. La version téléchargée vous permet d'exécuter le programme en mode démo pendant 2 heures. Pour l'utiliser sans limites, vous devez acheter la licence. Du menu Tools-Programma di installazione CODESYS effectuez l'installation du package, il est installé dans le dossier "C:Users/Username/CODESYS Control for Raspberry PI" .

Capture d'écran de l'installation du contrôle CODESYS pour Raspberry

Installation au moment de l'exécution

Pour installer le run time CODESYS sur l'appareil Raspberry accéder au menu Tools-Update Raspberry Pi à partir duquel il peut être installé ou mis à jour. Les identifiants d'accès par défaut doivent être définis (Nom d'utilisateur : pi Mot de passe: raspberry) et l'adresse IP du système à mettre à jour ainsi que le dossier où run time "C:Users/Username/CODESYS Control for Raspberry PI" .

Retourner à cet article pour utiliser la bibliothèque eCDSS8CoreMng qui permet l'accès aux modules d'extension. Dans cet article l'utilisation de WebVisu pour la création de pages web est illustrée.

Capture d'écran CODESYS Update Raspberry

Configuration de l'appareil

Une fois l'installation du run time les périphériques matériels du module doivent être configurés.

Configuration des ports série

Port série RS485

Si l'appareil SlimLine a un port série RS485, le port est connecté au port ttyAMA du module CPU Raspberry, afin de l'utiliser depuis l'environnement CODESYS, en l'identifiant comme COM1, est nécessaire dans le fichier /etc/CODESYSControl_User.cfg changer l'article [SysCom] comme indiqué ci-dessous. L'appareil est spécifié ttyAMA même si l'appareil est ttyAMA0.

[SysCom]
;Linux.Devicefile=/dev/ttyS
Linux.Devicefile=/dev/ttyAMA

Ajouter un port série sur USB

Utilisation de formulaires USB / série des ports série supplémentaires peuvent être connectés au port USB du module, dans le cas d'un port à utiliser comme alternative à ttyAMA l'identifiant comme COM1, l'entrée doit être modifiée [SysCom] comme indiqué ci-dessous. L'appareil est spécifié ttyUSB même si l'appareil est ttyUSB0.

[SysCom]
;Linux.Devicefile=/dev/ttyS
Linux.Devicefile=/dev/ttyUSB
Configuration du bus CAN

Si l'appareil SlimLine a un port de bus CAN, pour l'utiliser depuis l'environnement CODESYS, il est nécessaire dans le fichier /etc/CODESYSControl_User.cfg ajouter l'entrée [CmpSocketCanDrv] comme indiqué:

[CmpSocketCanDrv]
ScriptPath=/opt/codesys/scripts/
ScriptName=rts_set_baud.sh 

Placez le fichier rts_set_baud.sh avec le contenu suivant dans le dossier / opt / codesys / scripts /:

#!/bin/sh BITRATE=`expr $2 \* 1000`
ip link set $1 down
ip link set $1 type can bitrate $BITRATE
ip link set $1 up

exécution  run time CODESYS

Installé sur run time il est possible de l'exécuter ou de l'arrêter avec le programme codesyscontrol du dossier /etc/init.d.

  • Pour exécuter le run time utiliser la commande sudo /etc/init.d/codesyscontrol start
  • Pour arrêter le run time utiliser la commande sudo /etc/init.d/codesyscontrol stop
  • Pour définir l'exécution automatique sudo update-rc.dcodesyscontroldefaults suivi par sudo reboot
  • Pour éliminer l'exécution automatique sudo update-rc.d -f codesyscontrol remove suivi par sudo reboot

Création d'un nouveau projet

Pour créer un nouveau projet à exécuter SlimLine scegliere Nuovo progetto, sélectionnez Progetto standardet défini comme un périphérique CODESYS Control for Raspberry Pi.

Capture d'écran du nouveau projet CODESYS

Par défaut, un projet est créé avec un seul programme POU (Program Organization Unit) appelé "PLC_PRG”Écrit en langage ST. Le programme est inséré dans la MainTask et exécuté cycliquement toutes les 4 ms. Pour définir les paramètres d'exécution de la tâche, double-cliquez sur le nom.

Écrivons maintenant les instructions pour incrémenter une variable de compteur. Même si ce n'est pas le lieu d'expliquer la programmation, voyons brièvement ce qui est fait. La variable est déclarée Cnt de type UINT (entier en bits 16) et dans le corps du programme, la variable est incrémentée à chaque boucle d'exécution.

Capture d'écran de la création d'un nouveau POU CODESYS

Exécution du programme

Pour exécuter le programme sur SlimLine il faut se connecter au système et le transférer, la connexion se fait par Ethernet, il faut s'assurer que l'appareil est dans le même réseau que le PC. Un double-clic sur l'icône de l'appareil ouvre la fenêtre de configuration, en exécutant la commande Scan tous les périphériques présents sur le réseau seront affichés et vous pourrez vous connecter à celui de votre choix.

Capture d'écran du réseau CODESYS

Agir sur la clé Login le programme sera compilé et transféré au système en appuyant sur le bouton Run vous pouvez l'exécuter. L'IDE CODESYS est un environnement très avancé, en positionnant le curseur sur une ligne de programme et en agissant avec le bouton droit de la souris, il est possible d'insérer des points d'arrêt dans lesquels l'exécution s'arrête, ce qui vous permet d'exécuter le programme pas à pas. En positionnant la souris sur la définition de la variable, il est possible de forcer sa valeur.

Effectuer le Logout il est possible de modifier le programme qui à la prochaine connexion sera transféré au système chaud, c'est-à-dire sans arrêter son exécution. La possibilité de modifier le programme avec chargement à chaud est très importante en automatisation car elle permet d'apporter des modifications aux programmes qui gèrent des séquences complexes sans arrêter et/ou perdre l'état dans lequel se trouve le système.

Capture d'écran exécutant le programme CODESYS
Cet article a-t-il été utile?