Bonjour,
Je suis etudiant en licence automatisme et je met au point un programme entre deux automates dans le cadre d'un projet .
- 1 automate Schneider M340 ( Unity pro)
- 1 supervision PcVue
-1 module avec des entrés sorties déportés ( analogique) intelligent ( Unity pro)
- La communication se fait en ethernet
Le fonctionnement est plutôt simple : l'automate M340 sert on va dire de passerelle entre la supervision et le module avec les entrés sorties déportés.
Je fonctionne par IO Scanning , c'est à dire que pour lire les entrée des Entrés déportés sur le module déportés je fait comme ceci :
1) les entrées :
Dans le module E/S déportés je recopie les entrés dans des mots :
%Mw100:= %Iw0.1.0
%Mw101:= %Iw0.1.1
...ect pour toutes les entrées
Ensuite avec l'IO Scanning de l'automate M340 je viens lire les entrées et je les recopies dans un tableau pour les mettre à disposition de la supervision , qui elle vient lire directement les valeurs. Rien de compliqué.
2) les sorties
La supervision écrit dans des mots : exemple %Mw2000
Ensuite j'affecte les n mots dans un tableau et avec l'IO scanning je vais écrire dans le module d'entrée sorties déportée :
Exemple : %Mw0 := %Mw2000
%Mw1 := %Mw2001
...ect
Puis dans le module d'entrée sortie déportés je dis que : %Qw0.4.0 := %Mw0
%Qw0.4.1 := %Mw1
...ect
Jusque là tout va bien rien de méchant.
Afin de m'assurer que les donnes s'échanges bien entre le M340 et le module déporté j'aimerais créer un bit , que les deux automate s'échange , un Bit dit "ping pong" entre les deux. Par exemple si le bit ne change pas d'état après 100ms alors je crée un défaut de COMMUNICATION et la je vient forcer toute mes sorties à 0 via le bit système de repli.
Je bloque sur l'écriture du programme pour ce bit de vie. Comment créer un but ping pong ? Pourriez vous m'aider ?
Merci d'avance