Page 1 sur 4

Question de methode programation

Publié : 16 avr. 2018, 00:03
par woueb
Bonjour à tous, j'ai une question qui s'adresse aux pros du terrain.
Quel langage utilisez vous pour la programmation ou plutôt quel est le langage le plus rependu en automatisme en France.

Par exemple quel langage utilisez vous pour programmer un Algorigramme ou cette image par exemple
Sans titre.png
Je suis très Grafcet (SFC) et je souhaiterais élargir mes habitudes d’où cette question.

Merci

Re: Question de methode programation

Publié : 16 avr. 2018, 04:10
par tuscaonline
Langage a Contact - ladder
Ca suffit dans 98% des cas.

Re: Question de methode programation

Publié : 16 avr. 2018, 10:43
par Francisco
Et les gars de la maintenance préfèrent.

Re: Question de methode programation

Publié : 16 avr. 2018, 10:54
par woueb
Merci pour votre contribution, je me douté un peu pour le ladder.
Par contre
Francisco a écrit : 16 avr. 2018, 10:43 Et les gars de la maintenance préfèrent.
Je suis un peu surpris, car j'étais convaincu que le dépannage sur grafcet était plus rapide puisque que l'on se retrouve au milieu de plein de ligne.
Le graphique du SFC permettant de voir dessuite au ça bloque.

Les gars de la maintenance prèfere le Ladder car il est ressamblant à un schéma electrique ou il y a d'autre raison ?

Re: Question de methode programation

Publié : 16 avr. 2018, 11:00
par philou77
Slt,

Le ladder est plus facile car il ressemble à un schéma électrique.

Rien n'empêche de programmer un grafcet en ladder..
Mais le grafcet, tout le monde ne comprend pas forcément. Et dans certain cas, c'est pas indiqué en programmation.
Certaines entreprises le bannissent même (souvent question de réversibilité de fonctionnement, ou de reprise de cycle)

Bref, il y a de tout, rien n'est parole d'évangile, du moment que c'est bien fait, bien commenté, bien structuré.

amha.

Re: Question de methode programation

Publié : 16 avr. 2018, 11:30
par djé
Bonjour,
Sur l'ancien Forum à l'époque j'avais écrit un truc concernant les différents langage: je le remets là histoire d'alimenter.

Le Ladder est la forme de langage graphique certainement la plus utilisée car il peut être compréhensible pour les néophytes, il s'apparente à un schéma élétrique (contacts, bobines...) et pour les gars de maintenance c'est plus facile à comprendre.
En débuggage c'est assez pratique car on voit vite fait ce qui coince.
Il s'écrit sous forme de réseau où la lecture se fait de gauche à droite et de haut en bas, enfin en général. Il faut vérifier auprès de chaque éditeur, car par exemple en Télémécanique, sur les vieille série de PL7 la scrutation s'effectuait colonne par colonne de gauche à droite. Ca peut paraître dérisoire mais ça peut avoir son importance en debug.
Ce langage est particulièrement adapté à la programmation de séquence logique combinatoire.

Le langage IL ou LIST est déjà plus hardu et on se rapproche du langage machine ou assembleur: c'est un langage dit de "bas niveau";on est au plus proche de la CPU, et nécessite de bien connaitre le fonctionnement des instructions et du processeur. Il faut savoir jouer avec les registres de la CPU. La programmation peut être plus longue et le débug plus difficile. Enfin avec du temps on si fait, et pour certain logiciel, je pense à STEP 7 de SIEMENS si on ne dispose pas de l'option pour le structuré (SCL) on peut difficilement y couper, notamment pour réaliser de l'indexage.
Il s'écrit ligne par ligne (une ligne une instruction) et convient pour effectuer des routines qui seraient plus compliquées voire impossible en Ladder (indexage, itérations..) tout programmer dans ce langage est à mon sens une aberration (du point de vue de l'automaticien) sauf si on aime se palucher à pisser du code ou si on est informaticien de base (ou les deux :lol: ) C'est à dire que la fée s'est penchée sur ton berceau et t'a offert un 8086.

En list on peut tout faire et surtout des boulettes mais le rendu est assez indigeste. Le code est néanmoins plus optimisé qu'en Ladder ou en LOG.


Le structuré ST ou SCL est un langage évolué qui reprend des fonctions type comme en programmation informatique genre "for i=.. to, while, If..then..else, case ..."
Il permet de faire des gros calcul de malade qui tiennent sur une ligne en imbriquant les instructions par exemple.Très puissant et assez compréhensible.
C'est un complément idéal au Ladder pour faire des fonctions de calcul élaborées ou de traitements de données.
Pareil que le list je vois mal réaliser un programme en utilisant exclusivement ce langage, mais certains l'utilise par habitude, ca doit être leur coté old school.

Le langage grafcet ou SFC est un langage graphique qui permet de programmer des ... grafcet.
L'avantage est de pouvoir traduire directement une séquence décrite sur papier et de la programmer simplement.
Bon je suis pas fan de ce type de programmation, ni de Grafcet d'ailleurs, mais il permet intrinsèquement de faire respecter les règles de base du grafcet et intègre tout un tas de fonctionnalités qui permettent de bien gérer ses séquences.
En général on l'utilise avec du Ladder ou autres pour écrire les conditions de transitions et les activation de sorties.

Parenthèse:
(Perso je trouve çà trop rigide, lourdingue et sujet à erreur car c'est pas vraiment temps réel: je n'ai que trop souvent vu ce genre de truc: l'activation d'un sortie est juste conditionnée par l'étape active en cours, sans aucune autre conditions, parce qu à un moment la succession de transition (conditions) a été vraie. Ben oui mais ptet qu'entre temps ces conditions successives qui on conduit à l'activation ont évoluées et notamment des conditions de sécurités et Bim! Machine Cassé.
Et je passe les détails sur les reprise de cycles et autre passage en manuel, bref j'aime pas çà et il faut vraiment bien faire attention quand on programme.)
Ce genre de truc aussi les gars de maintenance aiment bien car ça leur rappelle des trucs qu'ils ont vu à l'école et ça les rassure.
En terme d'optimisation de code, a mon avis ca ne doit pas être folichon .


Le LOG , Ach!... Sprechen Sie Deutsch?
Jamais vu ailleurs que dans des programmes de nos cousins germaniques.
Langage Graphique sous forme de boite fonctionnelle connectée entre elle qui permettent d'écrire des réseaux de combinaisons logiques.
Equivalent au LADDER et ca me rappelle trop en seconde au lycée technique quand on faisait du pneumatique avec des cellules AND/OR pour piloter chais pas quoi.
Bref si tu kiffes Mrs Boole et De Morgan ce langage est fait pour toi.


Dernier le CFC ou FDB qui lui se rapproche du LOG par son aspect graphique et ses boites fonctionnelles à la différence que tu choisis l'ordre d’exécution des blocs. C'est pas comme un réseau à proprement dit en terme de scrutation.
Ce genre de programmation est particulièrement adapté pour des process complexes avec des boucles de régulation types cascades en le représentant à l'identique du schéma de principe de fonctionnement.

Donc pour conclure chacun de ces langage a ses spécificités, ses codes, ses limites et peut être choisi en fonction du type d'application à réaliser mais aussi et surtout de la maîtrise que tu en as. Après dans certains cas, tu ne peux pas faire autrement soit parce qu'il t'es imposé ou parce qu'il est limité.

Re: Question de methode programation

Publié : 16 avr. 2018, 15:59
par geronimo
Tout dépends des personnes qui programment.
J'ai un client qui a tout un programme avec une vingtaine d'E/S en ladder qui est incompréhensible et à coté de ça un programme en ST avec 500 E/S qui est tout à fait compréhensible du premier coup d'oeil.

Re: Question de methode programation

Publié : 16 avr. 2018, 16:56
par woueb
Merci Djé pour ce retour très complet, tu as très bien fait de le remettre, je sais que c'est ton ressenti mais c'est justement ce qu'il me faut un ressenti de terrain.

Merci philou77 et geronimo, je sais très bien qu'il n'y a pas de règle d'obligation, et que bien souvent se qui peut obliger un langage par rapport à un autre c'est le client ou le process.
Geronimo aurais tu des exemples de programme tout à fait compréhensible en ST ou ladder (surement bien commenté) à me montrer.

Merci pour vos retour à tous

Re: Question de methode programation

Publié : 17 avr. 2018, 10:30
par Francisco
Et mis à part également que le Grafcet est franco-français.

Re: Question de methode programation

Publié : 17 avr. 2018, 11:51
par JC87
Francisco a écrit : 17 avr. 2018, 10:30 Et mis à part également que le Grafcet est franco-français.
Bonjour,

Çà c'était vrai avant mais maintenant le langage grafcet fait partie de la norme IEC sous le nom de SFC et il est donc fourni en standard sur tous les automates se référant à la dite norme.

JC