[TIA V15] Structuration Programme

Forum traitant des automates industriels de marque Siemens.
BOBILLIER
Code sa première boucle
Code sa première boucle
Messages : 13
Inscription : 06 sept. 2022, 17:29

[TIA V15] Structuration Programme

Message par BOBILLIER »

Bonjour
Je suis débutant en automatisme et j'aimerai avoir un conseil d'ordre particulier sur la structuration de programme.
Le programme sur lequel je travaille actuellement utilise plusieurs FB qui peuvent s'imbriquer les un dans les autres ou être appelés individuellement.
Prenons par exemple un FB A qui utilise en son sein un FB B, un FB C qui utilise aussi le FB B. Il va sans dire que le FB B possède pour chaque appel une instance DB qui lui est propre . Cependant dans mon cas FB A et C n'ont aucun risque de tourner en même temps. Par ailleurs je m'interroge sur l'empreinte mémoire ( et comme je ne suis qu'au début de mon projet et j'ai peur de ne pas avoir assez de mémoire de travail pour arriver à la fin). Donc j'ai imaginé une autre approche ou FB B est unique et est lancé soit par FB A, soit FB C en communicant au travers de la DB B et attende la fin de réalisation de FB B pour continuer leurs cycles.
Même si cela me parait jouable, je ne suis pas sur que se soit une bonne pratique. Merci pour vos retours.
Pepino672
Code son premier grafcet
Code son premier grafcet
Messages : 50
Inscription : 02 sept. 2022, 16:08

Re: [TIA V15] Structuration Programme

Message par Pepino672 »

Salut,

Qu'est ce que tu as comme automate ? Parce que pour arriver à saturer la mémoire il faut y aller.

Il y a toujours plusieurs façon de programmer. Les FB avec les DB instances c'est top pour faire ce que tu as décri.

Sinon pour charger des paramètres différents dans un FB tu peux utiliser un UDT (data type) puis tu crée un DB avec un tableau (ARRAY) de cet UDT (par exemple array [0..1] de ton UDT). Tu viens choisir l'index correspondant aux paramètres pour ton DB A et ton DB B (par exemple index 0 pour ton DB A et index 1 pour ton DB B).
BOBILLIER
Code sa première boucle
Code sa première boucle
Messages : 13
Inscription : 06 sept. 2022, 17:29

Re: [TIA V15] Structuration Programme

Message par BOBILLIER »

Bonjour Pepino672
J'ai un S7-1214C. Et pour le moment je suis déjà 43% d'utilisation de ma mémoire de travail et je ne suis qu'au tiers de mon projet. Il utilise un lecteur RFID RF260 via IO-Link , deux modules de Pesage Siwarex WP231, plus plein de modules I/O. Les librairies des modules RFID et pesage sont assez compliquées et consomment pas mal de ressources et sont immodifiables.

Concernant ma question , je pense que ma DB d'instance correspond à ma proposition initiale. Par contre pour l'UDT en array, je ne pense pas que cela me fasse gagner de la place et de toutes façons, le FB B de mon exemple aurait sa DB B unique et utilisable par FB A et FB C mais pas en même temps. Donc pas de risque de collision.
DurandO
Expert de l'héxadécimal
Expert de l'héxadécimal
Messages : 396
Inscription : 21 mars 2021, 15:31

Re: [TIA V15] Structuration Programme

Message par DurandO »

Bonjour,
BOBILLIER a écrit : 27 janv. 2023, 12:02 le FB B de mon exemple aurait sa DB B unique et utilisable par FB A et FB C mais pas en même temps.
il faut t'interroger sur l'utilité ou non du FB B.
Les données d'instances sont-elles vraiment utiles? Certaines variables peuvent peut-être passer en Temp.

Ne serait-il pas suffisant d'utiliser un FC?
Répondre