Manuel §3.2.3    

Rubrique de poste

Pour chacun des postes identifiés dans la rubrique [equipment], il va être défini la liste des éléments pouvant être accédés dans la mémoire de l ’automate dans une rubrique portant son nom.

NomDElement = TypeDeDonnée ; Longueur ; Adresse

Type

Usage

Pour un élément de type alarme, chaque bit du mot peut gérer une alarme, passage de 0 à 1 l'alarme est levée, passage de 1 à 0 l'alarme est acquittée.

Pour un élément de type maintenance, chaque bit du mot peut impulser un compteur particulier; pour un compteur on comptera le nombre de passage de 0 à 1 du bit, pour un timer on comptera la durée pendant laquelle le bit est à 1.

Exemple : Définition d ’élément situé à l ’adresse 3500

Marche = Word ; 2 ; 3500
Reglage = Range ; 4 ; 3001

Sisal permet de définir des tableaux d ’éléments contigus dans la mémoire de l ’automate.

NomDeTableauDElement = TypeDeDonée[ Dimension] ; Longueur; Adresse

Dimension donne le nombre d ’éléments ainsi définis, Longueur est la longueur d ’un élément et Adresse est l ’adresse du premier élément.

Par exemple si on a dix points de mesure de pression on peut déclarer

Pressions = Word[10] ; 2 ; 4000

Et dans le script on écrira

On Poste.Pressions do
for i= 0 to 9 if Poste.Pressions[i] > 100 then
Alarme.Raise( Poste, 120+i);

Ces éléments sont accédés dans les scripts comme des éléments de tableaux d ’objets, La valeur de chaque élément est obtenue en précisant son rang, et l ’événement associé (sur modification de la valeur) est déclenché si au cours du cycle de lecture un seul des éléments du tableau est modifié.

Etant donné que plusieurs éléments peuvent être modifiés simultanément au cours d ’un cycle de lecture, on ne dispose de fonction indiquant les éléments modifiés.

[1] Dans le cas de l'utilisation d'OPC, ce champ adresse doit être complété du type de donnée échangée ( char, byte, short, word, integer, dword, float, double, date, string), par exemple on aura « Reference = String ; 12 ; 100.0 string ; Référence du produit ».