Page 1 sur 1

Erreur Unity Pro lors de l'utilisation des bits extraits de mots

Posté : 24 août 2019, 13:56
par sinced
Bonjour à tous,
J'ai une erreur lors de l'utilisation de bits extraits de mots.
J'ai pourtant activé dans les options du projet autoriser l'extraction de bits de mots.
Comment faire pour éviter l'erreur de type topologique ?
Image

Re: Erreur Unity Pro lors de l'utilisation des bits extraits de mots

Posté : 24 août 2019, 14:45
par itasoft
slts,
le type doit être BOOL et non EBOOL

Re: Erreur Unity Pro lors de l'utilisation des bits extraits de mots

Posté : 24 août 2019, 21:36
par sinced
itasoft a écrit : 24 août 2019, 14:45 slts,
le type doit être BOOL et non EBOOL
Merci pour ton retour rapide. Donc on ne peut pas tester un front montant sur un bit extrait d'un mot ?

Re: Erreur Unity Pro lors de l'utilisation des bits extraits de mots

Posté : 24 août 2019, 21:46
par itasoft
slts,
exact

si tu tiens absolument à faire un front il faut le copier sur un bit EBOOL et faire le front avec

Re: Erreur Unity Pro lors de l'utilisation des bits extraits de mots

Posté : 26 août 2019, 21:21
par josé
:shock: :shock: :shock:
et on dit que SIEMENS c'est compliqué ???

Re: Erreur Unity Pro lors de l'utilisation des bits extraits de mots

Posté : 27 août 2019, 10:38
par bipcoyote
Bonjour,
Et attends un peu, utiliser un BOOL ou EBOOL dans une structure si jamais ta variable est adressé, cela sera un byte :shock:

Re: Erreur Unity Pro lors de l'utilisation des bits extraits de mots

Posté : 03 sept. 2019, 12:00
par pfe
Oui,

De base, un Ebool est un byte (extended boolean) qui contient l'état sur 1 bit mais aussi la mémoire pour les fronts, les forçages et les fronts.

Mais si tu veux un front sur un BOOL, tu fais aussi simple qu'avec Siemens

Soit à l'ancienne :
Front := Bit and not Mem;
Mem := bit;

Soit à la mode iec : utilise une instance de Ftrig ou de Rtrig
(qui fait pareil, en fait)


Sinon à la Telemecanique des années 90 que j'ai toujours évité d'utiliser :
Un_Ebool := Bit;
et les Fonctions Fe/Re pour tester les fronts de l'Ebool, en faisant très attention de n'écrire l'Ebool qu'une seule fois et à tous les cycles car les fronts (les bits de front du byte...) sont gérés à ce moment là.