Language structuré (*ST)

Partie du forum pour tout ce qui concerne la partie soft, ou logiciel, dans l'industrie. Forum, conseil, astuce et entraide sur les logiciels d'automatisme ou d'informatique industrielle .
Avatar de l’utilisateur
Mantysse
Créateur de langage
Créateur de langage
Messages : 749
Inscription : 20 oct. 2015, 08:17
Localisation : MiP

Language structuré (*ST)

Message par Mantysse »

contributeur Automatica Charbono

Bonjour

Le texte structuré (ST) ressemble à de la programmation Pascal. Votre base en programmation en langage C devrait vous servir pour comprendre la logique cachée derrière les instructions conditionnelles tel que "If...Then...Else" et les boucles du type "Do...While".

La suite de votre apprentissage devrait porter sur la syntaxe de l'écriture en langage ST (Structure Text). Pour reconnaître cette syntaxe et des exemples, j'ai mis à la disposition de mes étudiants ces documents.
http://www.cvm.qc.ca/charbono/Perso/Cou ... /1756-pm00…
http://www.cvm.qc.ca/charbono/Perso/Cou ... e-fr-p.pdf (chapitre 6)

Dans les programmes en ST, nous utilisons des appels de fonctions que l'on pourrait comparer à des appels de bibliothèque en largage C (exemple : mafonction.c). Il s'agit ici de retrouver les instructions identiques à celles que l'on retrouve dans le langage FB (Fonction Bloc ou bloc fonctionnel en français). Pour les instructions disponibles, vous pouvez les retrouver à ces liens pour la technologie Rockwell.
http://www.cvm.qc.ca/charbono/Perso/Cou ... f-fr-p.pdf

Attention à certaines instructions comme le temporisateur. À titre d'exemple, le type utilisé pour les temporisateurs en langage LD (Ladder Diagram) est différent du type utilisé en ST et FB. Pour la programmation et l'utilisation de chacune de ces fonctions en texte structuré, vous retrouverez les exemples à la fin de chacune des sections traitant l'instruction spécifique.
http://www.cvm.qc.ca/charbono/Perso/Cou ... tation.htm
http://www.cvm.qc.ca/charbono/Perso/Cou ... ion_17.htm

Bonne lecture
Dernière modification par Mantysse le 20 oct. 2015, 18:54, modifié 2 fois.
"Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément." Nicolas Boileau

L'urgence, c'est fait!
L'impossible, c'est en cours!
Pour les miracles, il faut prévoir un délai!
Avatar de l’utilisateur
Ulairi
Expert de l'héxadécimal
Expert de l'héxadécimal
Messages : 366
Inscription : 20 oct. 2015, 06:22

Re: Tutoriel language structuré (*ST)

Message par Ulairi »

Bonjour,

les liens ne fonctionnent pas chez moi :

Image
Enseignant en BTS électrotechnique (Pas taper sur l'intru !)
Avatar de l’utilisateur
Mantysse
Créateur de langage
Créateur de langage
Messages : 749
Inscription : 20 oct. 2015, 08:17
Localisation : MiP

Re: Tutoriel language structuré (*ST)

Message par Mantysse »

Arf pareil, j'avais pas testé
Par contre ce qui est cool c'est que les balises sont les mêmes d'Automatica a ici
"Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément." Nicolas Boileau

L'urgence, c'est fait!
L'impossible, c'est en cours!
Pour les miracles, il faut prévoir un délai!
happyjer
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 127
Inscription : 24 janv. 2016, 21:35

Re: Tutoriel language structuré (*ST)

Message par happyjer »

Le langage ST m’intrigue beaucoup mais j'ai du mal non pas avec sa compréhension mais plutôt dans sa structure/rédaction.
Je ne trouve pas vraiment de bon documents d'aide a ce langage, l'aide donné est souvent pour un bloc seul.

Bref si quelqu'un a une sauvegarde de ces documents je suis preneur. Je reste pour l'instant a programmer en ladder mais j'aimerai apprendre le ST en parallèle.
Avatar de l’utilisateur
geronimo
Forcené des structures
Forcené des structures
Messages : 169
Inscription : 20 oct. 2015, 08:46

Re: Tutoriel language structuré (*ST)

Message par geronimo »

Pour programmer en ST pour moi la première des qualités c'est la rédaction.
C'est à dire qu'il faut pas hésiter à structurer sa rédaction, (alinéa, retour à la ligne)

Ex:
If BP1 and Not Capteur2 Then
Vanne1.Cmd := True;
Vanne2.Cmd := True;
Else
Vanne3.Cmd := True;
End_if;

Si tu as une bonne rédaction de ton code alors il sera plus facile à toi de le relire quand tu auras à revenir dessus plus tard ou bien par tes collègues.
Avatar de l’utilisateur
Béryl
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1660
Inscription : 20 oct. 2015, 12:00
Localisation : localhost

Re: Tutoriel language structuré (*ST)

Message par Béryl »

@geronimo : le code de ton message est indenté, mais ça ne passe pas à l'envoi.

Je rejouterais : bien indenté et surtout bien commenté !
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7037
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Tutoriel language structuré (*ST)

Message par itasoft »

slts, @geronimo :
dans le cas de ton exemple, je mettrais : SET Vanne1.Cmd ;

ça attire mieux l’attention que Vanne1.Cmd va rester à 1 après cette opération et q’il va falloir penser à le remettre à 0 quelque part.
(ceci dit, sinon le résultat est le même que avec TRUE )
Automaticien privé (de tout)
itasoft@free.fr
Avatar de l’utilisateur
Bernardo59
Dieu du process
Dieu du process
Messages : 957
Inscription : 20 oct. 2015, 05:48
Localisation : Nimes

Re: Tutoriel language structuré (*ST)

Message par Bernardo59 »

Bonjour,

Voici un petit bout de programme en langage ST:

Le langage ST sert surtout pour les DFB ou pour gérer des échanges entre les différents automates (Read_Var, Write_Var etc...).
Pour du process, il vaut mieux avoir du langage à contact, c'est mieux pour dépanner.
Pièces jointes
LangageST.JPG
Avatar de l’utilisateur
geronimo
Forcené des structures
Forcené des structures
Messages : 169
Inscription : 20 oct. 2015, 08:46

Re: Tutoriel language structuré (*ST)

Message par geronimo »

Pour effectivement il y a eu une remise en page de mon poste.
Du coup sa affiche ce que je ne supporte pas voir dans du ST :lol: :lol:

@Itasoft le bout de code que j'ai affiché est bidon, c'est juste que je voulais mettre un bit un 1
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7037
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Tutoriel language structuré (*ST)

Message par itasoft »

slts, @geronimo :
je disais ça pour le FUN,
Ceci dit, pour ceux qui débutent, il vaut mieux utiliser les SET/RESET car ils oublient souvent que quand on fait un TRUE ça reste à 1
LOL
Automaticien privé (de tout)
itasoft@free.fr
Répondre