Mon équipe a décidé d'utiliser un PLC pour contrôler un processus industriel qui nécessite des E / S simples et en temps réel vers des périphériques externes avec un traitement minimal. Cependant, nous nous attendons à ce que les sorties exactes nécessaires varient entre les exécutions (en fait, une exécution donnée sera très rarement répétée), et l'opérateur n'aura aucune expérience de programmation PLC / logiciel.
Bien que je ne puisse pas divulguer le produit réel, la meilleure analogie serait que nous concevons un fabricant de smoothie industriel, avec un PLC contrôlant précisément l'ouverture et la fermeture de différentes vannes en temps réel. L'opérateur utilisera notre logiciel pour concevoir une séquence personnalisée d'additions de différents réactifs et l'activation / désactivation de la machinerie lourde pertinente (par exemple, un mélangeur industriel).
Voici le défi: notre approche actuelle consiste à écrire notre propre compilateur qui traduit les instructions que l'opérateur donne (vanne ouverte A pendant 10 ms, vanne ouverte B pendant 20 ms) en logique à relais et code machine PLC. Nous téléchargerions ensuite directement notre programme auto-compilé sur l'automate via série. Tout cela devrait être automatisé afin que l'opérateur ne doive cliquer sur un bouton qu'après avoir défini sa séquence d'étapes.
Cependant, malgré mes recherches, je n'ai pas trouvé un seul fournisseur d'automates qui 1) possède un compilateur avec API ou publie suffisamment d'informations sur leur code machine API pour permettre à un utilisateur d'écrire un compilateur, 2) prend en charge le téléchargement direct de programmes vers l'automate sans utiliser le logiciel de programmation du vendeur (CX-programmer, Atmel studio, etc.).
Je suis amené à croire que nous adoptons peut-être la mauvaise approche, ou du moins ne savons pas quel produit rechercher. Les E / S sont suffisamment simples pour ne pas justifier la construction de notre propre carte, mais la fonctionnalité que nous recherchons, à savoir l'interaction de l'API avec un logiciel PC de haut niveau, ne semble pas être disponible.
Idéalement, nous aimerions télécharger le programme entier sur l'automate à la fois et ne pas envoyer d'instructions une à la fois. L'exécution de toutes les instructions sur l'automate (ou sur tout appareil que nous finissons par utiliser) doit être en temps réel.
Existe-t-il des API disponibles dans le commerce qui prennent en charge la compilation et le téléchargement de code machine, de sorte que l'ensemble du processus pourrait être automatisé par un programme plus important? Existe-t-il un autre moyen de télécharger un programme en temps réel sur un automate écrit par un logiciel PC écrit dans un langage de haut niveau?