[Unity] Compréhension Scrutation Langage ST

Forum traitant des automates industriels de marque Schneider - Telemecanique
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2230
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: [Unity] Compréhension Scrutation Langage ST

Message par JC87 »

Bonjour,

Pourquoi ne pas tout faire tous les graphes avec un CASE ? mélanger les méthodes n'a guère d'intérêt.

Si on ne dispose pas de CASE comme en PL7-Pro, faire un graphe sur mot c'est bien mais comme le dit Philou77 il faut impérativement s'assurer qu'on ne puisse pas franchir les transitions sur le même tour de cycle.

Une méthode éprouvé avec ce genre de graphe est de tester la valeur du mot d'étape en tête puis de faire un jump à une étiquette correspondant à cette valeur puis un jump en fin section.


Ça donne un truc de ce genre :

(* Saut vers etapes grafcet *)
IF Mon_mot_etape=0 THEN JUMP %L0;END_IF;
IF Mon_mot_etape=1 THEN JUMP %L1;END_IF;
IF Mon_mot_etape=2 etc ...

Mon_mot_etape=0:=0;JUMP %L100;

(* ETAPE 0: Etape Initiale *)
%L0:
IF "mes conditions de transitions"
Mon_mot_etape:=1;
END_IF;

JUMP %L100;

(* ETAPE 1 : )
%L1:
IF "mes conditions de transition"
THEN Mon_mot_etape:=1;
END_IF;

JUMP %L100;

%L3: Etc....

%L100:(* FIN CYCLE*)


En écrivant un graphe de cette façons on s'assure donc de laisser un tour de cycle minimum à chaque étape mais on diminue aussi le temps de cycle car on ne scrute que l'étape active et on s'évite une saisie fastidieuse du test de la valeur du mot à chaque étape puisque c'est fait en tête de graphe.

Pour finir, cette méthode est transposable a quasiment tous les automates disposant de langage littéral ce qui facilite le travail entre plateforme en permettant la réutilisation de code.

Donc si j'étais toi, dans un premier temps je transformerai mes graphes prise/dépose en CASE comme celui du robot ou je les ferai avec ma méthode et ensuite je verrai ce que ça donne car je pense que c'est la façon dont s'est programmé qui induit ce problème.

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
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7803
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: [Unity] Compréhension Scrutation Langage ST

Message par itasoft »

Grafcet programmé, l'action doit se faire au tour de cycle suivant (un bon automaticien n'utilise jamais de Jump )

Mon_mot_etape:=Mon_mot_etape_tmp;

(* Saut vers etapes grafcet *)
IF Mon_mot_etape=0 AND Conditions THEN Mon_mot_etape_tmp:=1;END_IF;
IF Mon_mot_etape=1 AND Conditions THEN Mon_mot_etape_tmp:=2;END_IF;
IF Mon_mot_etape=2 etc ...

(*Commandes*)
%Q0.0.0:=Mon_mot_etape=1;
Automaticien privé (de tout)
itasoft@free.fr
cojac65
Première mise en service
Première mise en service
Messages : 58
Enregistré le : 13 sept. 2021, 21:14

Re: [Unity] Compréhension Scrutation Langage ST

Message par cojac65 »

cela aurait été un peu plus simple en utilisant l'outil grafcet, idéal pour faire ce genre de choses!
J'aurai aussi regroupé les affectations de sorties, histoire de tout avoir au même endroit, et c'est plus sympa à lire, mais ce n'est que mon avis.




Oui, en genéral, je programme en SFC. Le robot fait 6 fois la même chose (Depose) mais avec des paramètres différents donc je trouvais que programmer des fonctions et utiliser le ST était plus approprié
prof ....donc euh....sais un peu tout mais ne maitrise pas grand chose
cojac65
Première mise en service
Première mise en service
Messages : 58
Enregistré le : 13 sept. 2021, 21:14

Re: [Unity] Compréhension Scrutation Langage ST

Message par cojac65 »

itasoft a écrit : 15 janv. 2024, 10:15 Grafcet programmé, l'action doit se faire au tour de cycle suivant (un bon automaticien n'utilise jamais de Jump )

Mon_mot_etape:=Mon_mot_etape_tmp;

(* Saut vers etapes grafcet *)
IF Mon_mot_etape=0 AND Conditions THEN Mon_mot_etape_tmp:=1;END_IF;
IF Mon_mot_etape=1 AND Conditions THEN Mon_mot_etape_tmp:=2;END_IF;
IF Mon_mot_etape=2 etc ...

(*Commandes*)
%Q0.0.0:=Mon_mot_etape=1;
Je ne comprends pas pourquoi tu utilises une autre variable Mon_mot_etape_tmp.
Peux tu m'expliquer?
Merci
prof ....donc euh....sais un peu tout mais ne maitrise pas grand chose
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7803
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: [Unity] Compréhension Scrutation Langage ST

Message par itasoft »

l'action doit se faire au tour de cycle suivant
Automaticien privé (de tout)
itasoft@free.fr
cojac65
Première mise en service
Première mise en service
Messages : 58
Enregistré le : 13 sept. 2021, 21:14

Re: [Unity] Compréhension Scrutation Langage ST

Message par cojac65 »

Voilà. J'ai fait quelques modif mais le problème est le même.

Les programmes modifiés:
Programme prendreV2.jpg
Programme_DeposeV2.jpg
Et le test avec retour d'info:
Programme robot_RUN.jpg
prof ....donc euh....sais un peu tout mais ne maitrise pas grand chose
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7803
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: [Unity] Compréhension Scrutation Langage ST

Message par itasoft »

01.JPG
01.JPG (11.47 Kio) Vu 1478 fois
PAS BON faire comme l'exemple partout sinon quand etapes sera <>de103 Qasp va rester à 1

Qasp:=etapes=103;
Automaticien privé (de tout)
itasoft@free.fr
cojac65
Première mise en service
Première mise en service
Messages : 58
Enregistré le : 13 sept. 2021, 21:14

Re: [Unity] Compréhension Scrutation Langage ST

Message par cojac65 »

itasoft a écrit : 15 janv. 2024, 11:34 01.JPG
PAS BON faire comme l'exemple partout sinon quand etapes sera <>de103 Qasp va rester à 1

Qasp:=etapes=103;
Ok mais pour les actions aux étapes 101 ou 104, tu écris ça comment ?
prof ....donc euh....sais un peu tout mais ne maitrise pas grand chose
cojac65
Première mise en service
Première mise en service
Messages : 58
Enregistré le : 13 sept. 2021, 21:14

Re: [Unity] Compréhension Scrutation Langage ST

Message par cojac65 »

Vous remarquerez que je passe bien en case 2 mais pas à étape 106. Je reste sur la 105 et je ne sais pas pourquoi
prof ....donc euh....sais un peu tout mais ne maitrise pas grand chose
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7803
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: [Unity] Compréhension Scrutation Langage ST

Message par itasoft »

Ok mais pour les actions aux étapes 101 ou 103 c'est bon car QpX va garder sa dernière valeur
écrire QpX:=XC; pourquoi MOVE ?
Automaticien privé (de tout)
itasoft@free.fr
Répondre