Page 1 sur 1

Gestion alarmes en Somachine

Posté : 28 mars 2018, 10:20
par JC87
Bonjour,

Je bute sur un probléme qui me casse les pieds (et je reste poli) depuis hier avec mon projet en Somachine 4.3. J'ai donc un M241 avec un HMIGTO4310 et j'en suis à la création des alarmes. Je me fait donc un DWORD d'alarmes et j’écris mes alarmes dans les bits de ce double mot. Une fois le lien de variables établi avec Vijeo Designer je retrouve bien mon dword dans Vijeo sauf que je n'ai pas accès aux bits de ce mots pour faire les alarmes :( Je ne voit aucun moyen de pointer sur ces bits dans Vijeo donc je passe par un tableau de booléen et là ça marche. Sauf que je voudrai pouvoir remettre a zéro facilement mes alarmes sur un BP d'acquittement par exemple et la je n'arrive tout simplement pas à trouver une instruction de copie d'un mot dans un tableau comme un MOVE_INT_AREBOOL en Unity pour remettre tous les bits à zéro ou du moins une fonction qui me permettrai d'arriver à ce résultat. Bref est ce que quelqu'un qui connait bien Somachine pourrait me dire dans quelle direction partir pour une faire une gestion d'alarmes toute simple dans Somachine ? Merci.

JC

Re: Gestion alarmes en Somachine

Posté : 09 avr. 2018, 09:49
par hcx0125
Salut,
Dans Vijeo tu ne peux pas accéder aux bits d'un DWORD.
Peut-être tu peux déclarer ton variable en type "WORD" et là dans Vijeo tu peux accéder à ses bits facilement.
J'espère que ça répond à ta question.

Re: Gestion alarmes en Somachine

Posté : 09 avr. 2018, 10:31
par philou77
Salut !

Personnellement, j'utilise des bit de Word sous somachine basic comme ceci.
zz.jpg

Automate - > Bit de Mots de défauts (consécutifs), Bit de mots d'acquittements (consécutifs)
Le BP d'acquittement général place #FFFF dans tous les mots d'acquittement (en début de bloc)
Gestion des défauts classique avec acquittement unitaire de l'auto-maintien du défaut.
à la fin du bloc de défaut on place #0000 dans tous les mots d'acquittements.

Vijeo :
Décalaration d'une variable ihm (NuméroDéfaut)
Décalaration des bits de mot pour les alarmes (chaque alarme à une action sur appui NuméroDéfaut = Numéro de l'alarme)
Déclaration d'un bit de mot d'acquittement indexe avec NuméroDéfaut (adresse du premier bit d'acquittement)
Déclararation d'un bit d'acquittement général

Dans le résumé d'alarme, je crée deux bp :
Bp acquittement général - > Action ACQ ALL + Bit Acquittement général (Momentané)
Bp acquittement Unitaire - > Action ACQ ONE + Bit acquittement indexé


Le NuméroDéfaut permet aussi de faire une aide au défaut assez facilement avec un fichier texte de ressources et une fenêtre popup ;)