[TIA Portal] adressage des bits d'un word - mots d'échange Modbus

Forum traitant des automates industriels de marque Siemens.
Répondre
gmak
Code son premier grafcet
Code son premier grafcet
Messages : 38
Enregistré le : 18 janv. 2021, 16:34

[TIA Portal] adressage des bits d'un word - mots d'échange Modbus

Message par gmak »

Bonjour,
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) ?
Merci d'avance pour vos idées
Pierro
Asservi son premier moteur
Asservi son premier moteur
Messages : 28
Enregistré le : 17 mars 2020, 16:58
Localisation : 127.0.0.1

Re: [TIA Portal] adressage des bits d'un word - mots d'échange Modbus

Message par Pierro »

Salut,

Ma methode est de crée un DB_Modbus non optimisé dans lequel je crée j'organise :
les booleens dans une structure qui comporte 15 bool (de X0 a X15)
de la réserve pour plus tard
mes entiers dans des INT, DINT ou REAL.

A+
Fichiers joints
Capture.PNG
gmak
Code son premier grafcet
Code son premier grafcet
Messages : 38
Enregistré le : 18 janv. 2021, 16:34

Re: [TIA Portal] adressage des bits d'un word - mots d'échange Modbus

Message par gmak »

DB "non optimisé" pour pouvoir conserver une numérotation dans le DB je suppose..
En tout cas, c'est astucieux de distinguer des STRUCT 16bit pour l'adressage individuel des bits, et des DINT pour l'adressage par mot entier
Merci Pierro pour l'idée, je teste ça, je pense que ça correspond bien pour mon application
Répondre