Fonction « For »
On pourrait aussi l’appeler la fonction « pour », elle va regarder de telle a telle valeur (ex : de 1 à 20) puis pour chaque valeur passé elle va ensuite incrémenter de 1 son compteur. Cela permet qu’elle regarde par elle-même toute la plage.
Puis pour chaque elle fera une action, dans notre exemple nous disons que l’étagère doit être vidé (donc passé à 0)
Fonction « While »
Cette fonction marche de manière très simple, l’idée est que cette boucle ce fait tant que…(tatata)
Donc par exemple elle fera ce qui est a l’intérieur tant que nous sommes en dessous ou equal à 23.
Fonction « Repeat »
Cette fonction de boucle est aussi plutôt simple. La boucle se fait tant qu’une condition n’est pas arrivé. Dans notre exemple nous répétons jusqu’à que le compteur arrive à 0.
Le CallFC&CallFB permet d’appeler les programmes FC et FB, on peut lui attribuer les entrées/sorties si on utilise des variables temporaires d’entrée/sortie dans le FC ou FB.
L’OB1 est en CONT par défaut, pour le mettre en SCL il faut éliminer l’ancien OB1 et ajouter un nouveau OB1 mais cette fois en langage SCL.
Le case_of permet de donner différent programme en fonction de la valeur d’une variable. Le programme commence par un CASE variable OF et fini par END_CASE.
Les compteurs IEC (CTU, CTD et CTUD) permettent de compter des impulsions en montant, en descendant ou dans les deux sens selon les entrées CU et CD. Ils utilisent une valeur courante CV, une valeur initiale PV, et des entrées comme R ou LD pour remettre à zéro ou charger une valeur. Ces compteurs sont précis, normalisés et très utilisés pour gérer des comptages contrôlés dans les programmes automates.
Cette fonction sert à manipuler les informations de date et d’heure dans un automate Siemens selon l’action désirée. Il existe plusieurs possibilités comme la lecture et l’écriture de l’horloge système, ainsi que la conversion entre différents formats (DATE, TIME, DATE_AND_TIME). Selon l’instruction utilisée, les données peuvent être directement exploitées ou transformées pour des calculs et comparaisons.
Cette fonction sert à décaler les bits d’un registre vers la gauche ou vers la droite selon l’action désirée. Il y a deux possibilités rotative (fonction RO R ou L en fonction du sens) et linéaire (fonction SH R ou L en fonction du sens). Une fois le bit arrivé à l’extrémité il est soit supprimé en mode linéaire soit il est inscrit de l’autre côté du registre en mode rotative.
Le R_TRIG et le F_TRIG sont des blocs qui permettent de détecter le moment précis où un signal change d’état. Le R_TRIG se déclenche quand le signal passe de 0 à 1, et le F_TRIG quand il passe de 1 à 0. Dans les deux cas, la sortie ne reste active que pendant un seul cycle API, soit environ 10 millisecondes. Cela évite qu’une action se répète indéfiniment tant qu’un bouton reste appuyé. Par exemple, sans TRIG, maintenir un bouton appuyé une seconde pourrait incrémenter un compteur une centaine de fois. Avec un TRIG, le compteur n’est incrémenté qu’une seule fois, au moment précis de l’appui.
La fonction NORM_X sert à normaliser une valeur dans un intervalle donné vers une valeur comprise entre 0.0 et 1.0.
Fonction SCALE_X
La fonction SCALE_X sert à convertir une valeur normalisée (entre 0.0 et 1.0) en une valeur réelle dans une plage définie.
Le type de données STRUCT permet de regrouper plusieurs éléments de types différents dans une seule structure. Ces structures peuvent être imbriquées (contenir d’autres STRUCT ou ARRAY) et servent à organiser les données comme une seule entité.
Les structures peuvent être transmises comme paramètres dans un programme.
Cette fonction sert à créer des temporisateurs. Les principales tempos sont les TON (retard à l’enclenchement) TOF (retard au déclenchement) et les TP (Temporisations à impulsions). Les tempos sont programmés la même chose, même si leur fonction diffère. Il y a 2 types, les fonctions de type « TIME » et « LTIME ». La time est moins précise, mais demande moins de ressource que la LTIME, qui elle permet d’aller jusqu’à la nanoseconde.