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
- NomDElement est l ’identificateur de l ’élément dans le poste, il est utilisé par toutes les applications, les dialogues et les scripts en complément dans la notation pointée (par exemple : Déchargement.Etat). Il a les mêmes caractéristiques qu ’un nom de variable dans un script.
- TypeDeDonnee caractérise le type de donnée échangée :
|
Type |
Usage |
|---|---|
- Longueur est la longueur de la donnée en octet dans la mémoire de l ’automate ou dans le cas d'un bit le numéro de bit dans le mot,
- Adresse est l ’adresse de la donnée dans la mémoire de l ’automate [1] .
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.
- BaseAlarme est l'identifiacteur de la base alarme
- Numéro est le numéro de l'alarme à lever et abaisser pour le premier bit du mot, les bits suivants prennent les numéros suivants
- Nombre est le nombre de bit actifs
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.
- BaseMaintenance est l'identificateur de la base maintenance
- Descripteur est le descripteur du premier compteur de maintenance correspondant au premier bit du mot; ce compteur de maintenance doit être activé dans un compteur actif; les bits suivants comptent les compteurs actifs suivants,
- Nombre est le nombre de bits actifs
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 ».