Bonjour à tous,
Je suis actuellement étudiant, et cherche à réaliser la programmation d'un magasin automatisé. J'ai réalisé la plus grosse partie. Le chargement du magasin se déroule très bien. Cependant, je n'arrive vraiment pas à réaliser le déchargement. Il décharge une seule caisse puis s'arrête. Voici ce que j'ai actuellement :
Ceci est le programme permettant le déchargement des caisses, qui ne fonctionne pas.
FOR J:=1 TO 50 DO J est la variable du déchargement à incrémenter, permettant de déterminer l'emplacement de la caisse à décharger.
IF Stock[J]=0 THEN Stock[J] est un tableau de type ARRAY[1..50] OF BOOL.
J:=J+1;
ELSE
code:=J; Code correspond à %MW100
A0:=Code.0; Le système détermine les coordonnées des caisses à l'aide de 5 actionneurs codés sur 5 bits. %MW100.0 / %MW100.1 ....
A1:=Code.1;
A2:=Code.2;
A3:=Code.3;
A4:=Code.4;
A5:=Code.5;
Stock[J]:=0;
END_IF;
EXIT;
END_FOR;
A la fin de l'exécution de ce programme, la caisse située au premier emplacement est emmenée à l'extraction. Cependant, l'engin de déchargement ne retourne prendre aucune caisse. Le grafcet s'arrête à cette étape, et ne peut donc pas continuer car la transition suivante lui demande à ce que l'un des capteurs soit actif, ne pouvant être actif uniquement s'il charge une caisse...
Une petite aide serait la bienvenue, je n'arrive pas à trouver mon erreur. A savoir que j'ai également essayé de réaliser cette partie du programme à l'aide d'autres fonctions telles que WHILE/REPEAT. Aboutissant en général, à peu près au même résultat. Je peux vous fournir les exemples si nécessaire. Je peux également vous fournir des screens des Grafcets si nécessaire pour une meilleure compréhension.
De plus je souhaiterai connecter deux automates entre eux, sur un réseau local. Je dois utiliser les fonctions READ_VAR et WRITE_VAR, cependant ai-je besoin d'un logiciel tiers pour pouvoir envoyer les variables d'un automate à un autre ?
Merci d'avance pour votre aide !
Cordialement,
-----