Les types de "blocs" en S7
sont :
- Les OB
- Les FB
- Les FC
- Les DB
- Les UDT
- Les "tables d'animation"
* Les OB tout d'abords, sont des blocs dit d'organisation, des blocs généraliste qui gèrent certains type de fonctionnement, d'état (de ton automate, des tes cartes d'ES..)..., et bien sur le principal, l'OB1, qui est un bloc ou tu organise ton programme. Appel des autres blocs, gestions des bits principaux... Et autres. (Après ça dépend aussi des automaticiens). L'OB1 est enfaîte, le commencement de ton programme. Pour les autre OB, qui sont quand à eux préprogrammé par SIEMENS, sont appelés par tel ou tel événement. (CPU passant en Stop, en RUN, défaut sur PROFIBUS (ou autre)...et ainsi de suite).
* Les FB sont plutôt des blocs de fonction, des blocs généralistes également, mais que tu pourras appelé à droite ou à gauche (exemple, tu as 50 moteurs dont tu souhaites scruter le temps de fonctionnement, les défauts...) Tu crées un blocs avec le code servant à compter ce temps pour un moteur (ainsi que le reste des infos nécessaires au traitement de tes moteurs), ce code tu ne l'écriras qu'une seule fois, il te suffiras de reprendre ce blocs pour les autres moteurs. Très pratique comme tu peux l'imaginer..
* Les FC sont plutôt des blocs de code, ou tu mets (organisation à ta guise) tel ou tel type de fonctions, qui peuvent d'ailleurs être réutilisé comme les FB, (pour la distinction entre FB et FC, voir la doc "F1", c'est une question de gestion de la mémoire il me semble, désolé je n'ai pas Step7 à la maison :p, pour te dire à quel point F1 est indispensable, bon après j'ai pas encore 10 ans d'expérience en Step7)
* Les DB quand à eux, sont des blocs de données, assimilable à des bases de données, une distinction cependant, tu as des blocs de données globales (données globales à tout ton programme, donc utilisable n'importe ou en gros, et que tu dois définir quand tu le souhaites, selon tes besoins bien entendu) et des blocs de données d'instances, que tu dois obligatoirement définir selon l'utilisation de tes bloc de fonction (FB et/ou FC), si tu définis un FB, un DB contenant les variables locales te seront nécessaire, obligatoire enfaîte, pour chaque déclaration d'un FB, (je ne parlerais pas du multi instance, à ta charge de regarder si besoin est de quoi il en retourne) qui sont eux des blocs contenant des données visible uniquement localement (données locale en informatique).
* Puis viens les types de blocs, que je ne saurais définir "littéralement". (Idem, j'ai pas la doc ^^)
Les UDT sont des "blocs, je dirais plutôt des types de BDD qui peuvent être utilisées à droite ou à gauche.
Exemple tu as plusieurs moteurs, tu définis ton UDT avec :
UDT_Moteur
INT : tps_dexploitation
INT : tps_defaut
BOOL : Marche
BOOL : Retour de marche
....