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
) 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é.