Sequencer plusieurs requetes de comm READ_VAR / WRITE_VAR

Forum traitant des automates industriels de marque Schneider - Telemecanique
Répondre
Avatar du membre
sinced
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1273
Enregistré le : 13 oct. 2015, 16:56

Sequencer plusieurs requetes de comm READ_VAR / WRITE_VAR

Message 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 ?
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2243
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Sequencer plusieurs requetes de comm READ_VAR / WRITE_VAR

Message 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
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
Avatar du membre
skip74
Créateur de langage
Créateur de langage
Messages : 664
Enregistré le : 13 oct. 2015, 06:34

Re: Sequencer plusieurs requetes de comm READ_VAR / WRITE_VAR

Message 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+
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7807
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Sequencer plusieurs requetes de comm READ_VAR / WRITE_VAR

Message 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----
AXXX1.JPG
Automaticien privé (de tout)
itasoft@free.fr
Avatar du membre
sinced
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1273
Enregistré le : 13 oct. 2015, 16:56

Re: Sequencer plusieurs requetes de comm READ_VAR / WRITE_VAR

Message par sinced »

Merci Itasoft. Avec ce principe je constate qu'on peut faire 1 requete par cycle automate.
Répondre