Page 1 sur 1
Sequencer plusieurs requetes de comm READ_VAR / WRITE_VAR
Posté : 16 mars 2020, 13:16
par sinced
Bonsoir a tous,
Avez-vous une methode pour gerer le sequencage d'une trentaine de requetes READ / VAR vers differents equipements sur la meme voie ?
Re: Sequencer plusieurs requetes de comm READ_VAR / WRITE_VAR
Posté : 16 mars 2020, 14:07
par JC87
Bonjour,
J'ai eu une application ou j'avais jusqu’à 26 esclaves (entrée TOR déportées) à lire. Pour ce faire j'ai utilisé un seul grafcet avec le changement des 'adresses réalisé sur un index tournant. Par contre c'était la même requête pour tous les esclaves. C'était fait en Unity, si ça intéresse, passe moi un mp je te passerai l'application.
JC
Re: Sequencer plusieurs requetes de comm READ_VAR / WRITE_VAR
Posté : 16 mars 2020, 22:06
par skip74
Salut
Je fais cela via un jeton tournant
1 esclave a la fois (même si théoriquement plusieurs requêtes simultanément c'est possible )
Il y a 20 ans j'avais fait ça avec une table de mot qui paramétrant la type esclave (j'avais des ATV et des régulateurs) sous PL7....
Au final ça marchait bien m ct une bouze hyper compliqué.....
Maintenant j le fais en st sur une boucle case
Je regarderais demain c que j'ai qui traine..
Par contre 30 esclaves ça va faire brouette....
A+
Re: Sequencer plusieurs requetes de comm READ_VAR / WRITE_VAR
Posté : 17 mars 2020, 00:25
par itasoft
Slts, autre solution bestiale.
A chaque tour de cycle, faire un décalage circulaire (ROL) de 1 bit sur un mot de 32 bits initialisé à la valeur 1 au départ
Lancer les requêtes avec les bits du mot, exemple :
avec le Bit 0 lance la requête 1
avec le Bit 1 lance la requête 2
avec le Bit 2 lance la requête 3
Ect……………………….
Pour ne faire qu’une seule requête par tour de cycle, dans la principe on peut faire toutes les requêtes dans le même tour de cycle car ça bufférise, sauf que si le Buffer est plein, ça bloque la COM. Normalement avec le TimeOut + le bit d’activité ça ne doit pas arriver, mais comme tout ce qui ne doit pas arriver arrive, après pour la débloquer il faut venir avec un vérin hydraulique pour la désincarcérer,
l'autre avantage du séquenceur est que en adaptant en conséquence l'exemple ci dessous on peut connaitre le n° de l'esclave qui n'as pas répondu, c'est la requête qui se termine par le TimeOut
------cliquer pour zoom----
Re: Sequencer plusieurs requetes de comm READ_VAR / WRITE_VAR
Posté : 19 mars 2020, 08:01
par sinced
Merci Itasoft. Avec ce principe je constate qu'on peut faire 1 requete par cycle automate.