Ecriture bit de mot
-
antoinejsle
- Asservi son premier moteur

- Messages : 26
- Enregistré le : 12 févr. 2019, 08:45
Ecriture bit de mot
Bonjour à tous !
Tout d'abord voici la configuration :
Automate Schneider TSX57303A
Supervision InTouch 2014 R2 SP1 (11.1)
Communication en Ethernet grâce à TopServer.
Voici le code quand je clique sur le nom de la vanne (Action):
EE_FOR_VAN.Name = EEVCHACPF03.Name; -> Forçage vanne VCHACPF03
LE_FOR_VAN.Name = LEVCHACPF03.Name; -> Forçage vanne VCHACPF03
EF_FOR_VAN.Name = EFVCHACPF03.Name; -> Auto/manu vanne VCHACPF03
LF_FOR_VAN.Name = LFVCHACPF03.Name; -> Auto/manu vanne VCHACPF03
TITRE_FOR_VAN = StringRight(EEVCHACPF03.Name, (StringLen(EEVCHACPF03.Name) - 2));
Clignotement :
LFVCHACPF03
Désactivation :
CTL_TR5.05
En cliquant sur le nom de la vanne une fenêtre s'ouvre de sorte que l'on puisse piloter cette vanne.
Supposons que cette vanne soit en manu. (CTL_TR5.05 est à 0).
Le bouton me permettant d'ouvrir cette vanne fait passer la variable EE_FOR_VAN à 1.
Ce bouton est désactivable si EF_FOR_VAN==0 ou LF_FOR_VAN==0 (Vanne en auto)
Voici mon problème : Le bouton de pilotage de vanne ne fonctionne pas ni celui pour piloter l'auto/manu.
Ces variables sont des bits de mot. Ex : %MW622:x0
Le forçage de ces bits de mot de la supervision vers l'automate ne fonctionne pas tandis que le forçage de mot fonctionne.
La hotline Wonderware n'en sait rien et ne veut plus nous aider après 4 mois de mintenance...
Je pense avoir tout dit, si vous avez besoin de plus de précisions, demandez moi !
Cordialement
Tout d'abord voici la configuration :
Automate Schneider TSX57303A
Supervision InTouch 2014 R2 SP1 (11.1)
Communication en Ethernet grâce à TopServer.
Voici le code quand je clique sur le nom de la vanne (Action):
EE_FOR_VAN.Name = EEVCHACPF03.Name; -> Forçage vanne VCHACPF03
LE_FOR_VAN.Name = LEVCHACPF03.Name; -> Forçage vanne VCHACPF03
EF_FOR_VAN.Name = EFVCHACPF03.Name; -> Auto/manu vanne VCHACPF03
LF_FOR_VAN.Name = LFVCHACPF03.Name; -> Auto/manu vanne VCHACPF03
TITRE_FOR_VAN = StringRight(EEVCHACPF03.Name, (StringLen(EEVCHACPF03.Name) - 2));
Clignotement :
LFVCHACPF03
Désactivation :
CTL_TR5.05
En cliquant sur le nom de la vanne une fenêtre s'ouvre de sorte que l'on puisse piloter cette vanne.
Supposons que cette vanne soit en manu. (CTL_TR5.05 est à 0).
Le bouton me permettant d'ouvrir cette vanne fait passer la variable EE_FOR_VAN à 1.
Ce bouton est désactivable si EF_FOR_VAN==0 ou LF_FOR_VAN==0 (Vanne en auto)
Voici mon problème : Le bouton de pilotage de vanne ne fonctionne pas ni celui pour piloter l'auto/manu.
Ces variables sont des bits de mot. Ex : %MW622:x0
Le forçage de ces bits de mot de la supervision vers l'automate ne fonctionne pas tandis que le forçage de mot fonctionne.
La hotline Wonderware n'en sait rien et ne veut plus nous aider après 4 mois de mintenance...
Je pense avoir tout dit, si vous avez besoin de plus de précisions, demandez moi !
Cordialement
Re: Ecriture bit de mot
Bonjour
Dans ton code intouch, on ne voit que la transmission des noms et la variable de la vanne que tu mets dans la variable interne de pilotage popup ?
+
Dans ton code intouch, on ne voit que la transmission des noms et la variable de la vanne que tu mets dans la variable interne de pilotage popup ?
+
-
antoinejsle
- Asservi son premier moteur

- Messages : 26
- Enregistré le : 12 févr. 2019, 08:45
Re: Ecriture bit de mot
Oui c'est ça.
Le fait de cliquer sur le nom de la vanne transmet à la variable interne les variables à piloter et ouvre la popup de pilotage.
Ensuite le pilotage de la vanne s'effectue à partir de la variable interne.
Le fait de cliquer sur le nom de la vanne transmet à la variable interne les variables à piloter et ouvre la popup de pilotage.
Ensuite le pilotage de la vanne s'effectue à partir de la variable interne.
Re: Ecriture bit de mot
Slt
Re, ce n'étais pas une question, dans ce que tu transmets, tu ne mets que .name et où est le reste ?
Je suppose que ta variable vanne est un mot et là sur celle que l'on discute %MW622 ?
+
Re, ce n'étais pas une question, dans ce que tu transmets, tu ne mets que .name et où est le reste ?
Je suppose que ta variable vanne est un mot et là sur celle que l'on discute %MW622 ?
+
-
antoinejsle
- Asservi son premier moteur

- Messages : 26
- Enregistré le : 12 févr. 2019, 08:45
Re: Ecriture bit de mot
RE,
Voici toutes les variables :
EE_FOR_VAN -> Indirect discret
EEVCHACPF03 ->%MW143.1 -> E/S discret
LE_FOR_VAN -> Indirect discret
LEVCHACPF03 ->%MW479.1 -> E/S discret
EF_FOR_VAN -> Indirect discret
EFVCHACPF03 ->%MW103.1 -> E/S discret
LF_FOR_VAN -> Indirect discret
LFVCHACPF03 ->%MW439.1 -> E/S discret
Le %MW622 n'était qu'un exemple, nous ne l'utilisons pas.
Je n'ai pas bien compris ta question, qu'attend tu de plus en parlant du reste ?
Voici toutes les variables :
EE_FOR_VAN -> Indirect discret
EEVCHACPF03 ->%MW143.1 -> E/S discret
LE_FOR_VAN -> Indirect discret
LEVCHACPF03 ->%MW479.1 -> E/S discret
EF_FOR_VAN -> Indirect discret
EFVCHACPF03 ->%MW103.1 -> E/S discret
LF_FOR_VAN -> Indirect discret
LFVCHACPF03 ->%MW439.1 -> E/S discret
Le %MW622 n'était qu'un exemple, nous ne l'utilisons pas.
Je n'ai pas bien compris ta question, qu'attend tu de plus en parlant du reste ?
Re: Ecriture bit de mot
Bonjour,
Voici un exemple de ce que l'on a fait sur une supervision sur des popups indexé sur vanne ou sur pompe.
On a :
- Un mot d'état %MW200 (ETAT_VSTL) qui est découpé en bit , rm, forcage ouverture, forcage fermeture, defaut etc.....
- une variable forcage fermeture FF_VSTL (un bit de l'adresse %MW200)
- une variable forcage ouverture FO_VSTL (un bit de l'adresse %MW200)
Ce qui est dans la vanne
Dans Action d'une vanne
ForceA.Name = FF_VSTL.Name; <= La variable FF_VSTL a en commentaire le nom de la vanne
ForceM.Name = FO_VSTL.Name; <= La variable FO_VSTL a en commentaire la désignation de la vanne
ForceVal.00 = ForceA.Value;
ForceVal.01 = ForceM.Value;
Show "ForçageVanneTor";
Ce qui est dans la popup de "ForcagevanneTor"
Dans action de fermeture => ForceVal=1;
Dans action d ouverture => ForceVal=2;
Dans un BP "VALIDATION" de la popup :
ForceA.Value = ForceVal.00;
ForceM.Value = ForceVal.01;
HideSelf;
Dans cet exemple d'une vanne simple,(il y en a d'autre), il y a transmission entre ta variable vanne et ta popup indexé.
En espérant t'aider.
+
Voici un exemple de ce que l'on a fait sur une supervision sur des popups indexé sur vanne ou sur pompe.
On a :
- Un mot d'état %MW200 (ETAT_VSTL) qui est découpé en bit , rm, forcage ouverture, forcage fermeture, defaut etc.....
- une variable forcage fermeture FF_VSTL (un bit de l'adresse %MW200)
- une variable forcage ouverture FO_VSTL (un bit de l'adresse %MW200)
Ce qui est dans la vanne
Dans Action d'une vanne
ForceA.Name = FF_VSTL.Name; <= La variable FF_VSTL a en commentaire le nom de la vanne
ForceM.Name = FO_VSTL.Name; <= La variable FO_VSTL a en commentaire la désignation de la vanne
ForceVal.00 = ForceA.Value;
ForceVal.01 = ForceM.Value;
Show "ForçageVanneTor";
Ce qui est dans la popup de "ForcagevanneTor"
Dans action de fermeture => ForceVal=1;
Dans action d ouverture => ForceVal=2;
Dans un BP "VALIDATION" de la popup :
ForceA.Value = ForceVal.00;
ForceM.Value = ForceVal.01;
HideSelf;
Dans cet exemple d'une vanne simple,(il y en a d'autre), il y a transmission entre ta variable vanne et ta popup indexé.
En espérant t'aider.
+
-
antoinejsle
- Asservi son premier moteur

- Messages : 26
- Enregistré le : 12 févr. 2019, 08:45
Re: Ecriture bit de mot
Merci beaucoup, je n'avais pas du tout pensé à cette solution !
Je test ça dès que possible !
Je test ça dès que possible !
-
antoinejsle
- Asservi son premier moteur

- Messages : 26
- Enregistré le : 12 févr. 2019, 08:45
Re: Ecriture bit de mot
Bonjour !
Alors voilà où j'en suis :
j'ai voulu essayer avec un vanne nommée VISM3. J'ai donc ETAT_VISM3 (%MW1102). C'est une vanne simple effet.
En %MW1102:X0 jai OUV_VISM3.
Dans action de la vanne :
Dans la popup :
Tout d'abord est ce que cela fonctionnerait ? De plus je ne sais pas quoi mettre comme type de variable (Indirect discret, Indirect analogique ...)
Enfin dernière question : Mon problème étant l'écriture de bits, cela va quand même fonctionner ?
CDT
Alors voilà où j'en suis :
j'ai voulu essayer avec un vanne nommée VISM3. J'ai donc ETAT_VISM3 (%MW1102). C'est une vanne simple effet.
En %MW1102:X0 jai OUV_VISM3.
Dans action de la vanne :
Code : Tout sélectionner
ForceV.Name=OUV_VISM3;
Forceval.00=ForceV.Value;
TITRE_FOR_VAN = StringRight(OUV_VISM3.Name, (StringLen(OUV_VISM3.Name) - 2));
ShowAt( "Forçage vanne", 0 , - 20);Code : Tout sélectionner
ForceVal=1;Enfin dernière question : Mon problème étant l'écriture de bits, cela va quand même fonctionner ?
CDT
Re: Ecriture bit de mot
Slt,
Perso, je ne le pense pas.
Dans ta popup, tu ne mets pas assez d'information
Tu ne retourne pas l'information à ta variable vanne.
Regarde bien, l'exemple fourni ce que la vanne envoi à la popup et ce que la popup renvoi à la variable vanne.
+
Perso, je ne le pense pas.
Dans ta popup, tu ne mets pas assez d'information
Tu ne retourne pas l'information à ta variable vanne.
Regarde bien, l'exemple fourni ce que la vanne envoi à la popup et ce que la popup renvoi à la variable vanne.
+
-
antoinejsle
- Asservi son premier moteur

- Messages : 26
- Enregistré le : 12 févr. 2019, 08:45
Re: Ecriture bit de mot
Re,
J'ai changé de façon de faire :
Mais les .Name ne son pas "sauvegardés" dans la popup de pilotage.
CDE_M_Van et CDE_OUV_VAN sont décalrés en indirect discret et les 2 autres en E/S entier, cela a t-il un rapport ?
CDT
J'ai changé de façon de faire :
Code : Tout sélectionner
CDE_OUV_VAN.Name = cde_ouv_vism3.Name;
CDE_M_VAN.Name = cde_m_vism3.Name;CDE_M_Van et CDE_OUV_VAN sont décalrés en indirect discret et les 2 autres en E/S entier, cela a t-il un rapport ?
CDT
