Dans TIA Portal, j'ai affaire à des mots Modbus (environ 300) qui sont échangés avec différents équipements terrain (protocole modbus tcp/ip).
Pour chaque mot, le programme nécessite :
- tantôt d'adresser individuellement chacun des 16 bits du mot (par ex. un booléen = etat d'un capteur)
- tantôt d'adresser les mots entiers au format "Word" (par ex. un mot = une mesure ou un réglage sur le terrain)
Le programme comporte plusieurs FBs. Chaque mot peut se retrouver dans plusieurs FBs.
Vu les évolutions envisagées sur mon système, j'essaie de trouver une manière flexible de définir les variables correspondant à ces mots.
J'ai testé les 3 approches ci-dessous. Voyez-vous une autre méthode plus adaptée svp ?
- méthode 1: définir des "Array[0..15] of Bool" dans un DB global
dans ce cas comment gérer des instructions MOVE ou CMP qui n'acceptent que des "Word" ?
- méthode 2: définir des Word dans un DB global
dans ce cas est-ce possible d'identifier chaque bit du mot avec un symbole/nom ?
- méthode 3: définir des tags dans la table de variables globale
(pour chacun des mots: 1 Word qui se superpose à 16 Bool) ?