• # Et pour ceux qui ne connaissent pas les PLC

    Posté par . En réponse au journal Quand les entreprises ne reversent rien aux logiciels libres. Évalué à 8. Dernière modification le 15 janvier 2022 à 09:29.

    Un PLC est en français un automate programmable industriel ou Programmable Logic Controller.
    C'est un un dispositif électronique numérique programmable destiné à la commande de processus industriels par un traitement séquentiel.

    Il y a plein d'objectifs à passer par ce modèle plutôt que par la programmation C/python/Java/Go/.... Le premier selon moi, est de rendre le contrôle robuste en étant sûr de prévoir tout les états. Le second, est de permettre à des gens n'ayant pas de compétences en développement informatique de coder leur logique. Le troisième est de ne pas dépendre des OS et de leur limitation au niveau temps-réel. le quatrième est de ne pas avoir à gérer les niveaux de tension et les protocoles des capteurs, on branche ça marche.

    Bon ça c'est la théorie, hein, en vrai chaque vendeur va créer son langage utiliser son protocole en utilisant des couches de transport différentes ...

    PLC4X semble proposer une abstraction permettant de communiquer avec beaucoup de PLC du commerce au travers des différents protocoles et couche de transport. Apparemment, ça implémente principalement java et un peu go en clamant vouloir implémenter C et python.

    La plupart des PLCs que j'ai vu utilisent pour communiquer avec d'autres PLCs ou des PCs modbus, RTU (RS485) ou TCP. Souvent quand l'objectif sera de déporter l'aspect RT dans des systèmes certifés, cela suffira amplement, donc si on construit un système from scratch, ce ne sera pas forcément très utile, maîtriser basiquement modbus suffira. Modbus étant très répandu, il existe beaucoup de libs déjà faites dans tout les langages !

    En général, ce que l'on fait quand on n'a pas trop d'ambition, on code la logique temps réel avec le logiciel du PLC, on défini des registres Modbus de communication pour interagir.

    Visiblement PLC4X semble permettre de communiquer directement avec les protocoles non-libres des constructeurs.

    C'est donc un logiciel libre pour parler à des systèmes qui ne sont pas du tout intéressés par le libre, ça ne semble pas la meilleur façon de s'attirer des gens motivés à aider et bienveillants ...

    Par exemple, le monde change et aujourd'hui les alternatives industrielles ouvertes sont légions ! On pourrait parler d'une très récente avec le Revolution Pi qui se base sur une raspberry pi CM3 et à mis en place tout ce qu'il fallait pour avoir un remplacement de beaucoup de modules standard des PLC tout en ne faisant que de l'OpenSource !

    De plus, il y a de plus en plus de gens qui switchent vers RT sur μcontroller et communication avec MQTT. Par contre, quand on veut moderniser une chaîne de production avec tout les actionneurs et capteurs pilotés par un PLC, cela demanderait un travail de fou de tout basculer ...

    J'imagine donc que PLC4X doit permettre de garder l'infrastructure matérielle tout en permettant de faire des applications métier plus simplement.

    Cela ne concernera pas les bidouilleurs et les gens motiver à participer, mais plutôt les devs qui doivent faire un interface de commande d'un process indus ou de la supervision, dans des temps très courts et avec des budgets très serrés ...

    Bon, je ne suis clairement pas un expert du sujet, donc je passe peut être à coté de l'objectif principal de ce soft, je n'ai travaillé avec des PLC que dans un seul projet ...

    Si quelqu'un a les idées plus claires, qu'il n'hésite pas à compléter ou corriger