Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Souvenirs douloureux des simulations d'automates

Cet énoncé volumineux d'une thèse de M. Roland Schulz de 2002 le résume assez bien dans l'ensemble.

En bref :"Essayer et tester aide à trouver les erreurs".

Maintenant, je n'écris pas ici sur la simulation d'usines de production entières, mais décompose le principe en unités individuelles (composants), tels que des programmes d'automatisation ou des projets utilisateur.

Dans le passé, en tant que jeune employé de Phoenix Contact, j'ai également dû apprendre la programmation et j'aurais été heureux d'une simulation du contrôleur. Simplement pour en savoir plus sur le fonctionnement et la fonction des blocs ou programmes par "try and error". Malheureusement, il n'existait pas à cette époque et la simulation PLC qui a suivi était très limitée. Le code IEC61131-3 pouvait être bien simulé, mais il manquait la prise en charge de dispositifs spéciaux ou simplement le comportement différent du code entre les systèmes Intel et ARM ou Motorola.

Forts de ces réflexions et des souvenirs de la galère que nous avions eu avec la simulation "classique" d'un automate, nous nous sommes mis en tête de trouver vraiment quelque chose à valeur ajoutée sans créer d'énormes efforts. Des efforts d'une part dans le développement d'une simulation et des efforts qui pourraient survenir plus tard dans l'utilisation de celle-ci.

En tant qu'utilisateur, je souhaite pouvoir envoyer mon projet vers un automate ou vers une simulation, au mieux d'un clic de souris. Je ne veux pas faire attention aux architectures de processeurs, et je ne veux certainement pas être obligé de cacher ou, pire, de supprimer des fonctions de mon code qui ne sont pas prises en charge par la simulation.

Quoi de plus évident que d'utiliser le vrai firmware dans la simulation, qui est également utilisé sur le vrai matériel de contrôle ? Et c'est exactement ce qui s'est passé.

De nos jours, il existe des émulations système à part entière qui permettent non seulement d'exécuter divers systèmes d'exploitation sous Windows. Ils permettent également l'émulation de différentes architectures de processeurs et de leurs caractéristiques.

Ce n'est un secret pour personne que nos contrôleurs sont basés sur Linux. Mais il est important pour le développement du code qu'ici aussi différentes architectures de processeur soient utilisées.

Dans l'ingénierie, dans notre cas l'ingénieur PLCnext, le client doit pouvoir choisir entre l'adresse IP du contrôleur ou la simulation - d'un simple clic de souris sans se soucier d'autres adaptations de code ou de la compatibilité du code binaire.

Qu'est-il ressorti de ces pensées ?

Nous avons trouvé l'émulation système QEMU et l'utilisons pour simuler nos contrôleurs. QEMU est une "émulation de machine open source" et offre exactement ce que nous recherchions.

"Juste" exécutez le firmware et QEMU émule le système Linux complet de PLCnext Technology, y compris l'architecture de processeur ARM de certains contrôleurs PLCnext - et la simulation PLCnext est née. Certes, nous avons inclus quelques limitations mineures. La communication PROFINET ou d'autres protocoles de communication sont désactivés. Mais le serveur OPC UA, par exemple, n'est pas affecté.

Cependant, toutes les spécificités de PLCnext Technology ont pu être conservées. Je peux donc également envoyer mes programmes et composants C/C++, C# ou Matlab Simulink à la simulation. Aussi les APP, que je peux trouver pour certaines applications dans le Store, peuvent être amenées ainsi à l'exécution.

Certaines autres limitations sont évidentes - il ne faut pas s'attendre à du déterminisme d'un tel système simulé. Et selon la charge de mon système Windows, il peut y avoir l'un ou l'autre chien de garde sur la simulation PLCnext. Mais dans de tels cas, je peux toujours donner au processus de simulation une priorité plus élevée dans le système Windows, puis les erreurs de surveillance sont rapidement résolues.

Et maintenant je l'ai enfin, une simulation, ou peut-être même selon la définition, une émulation de ma manette.Mais malheureusement j'ai dû apprendre à programmer sans, et maintenant je ne programme plus tant que ça.


Technologie industrielle

  1. Simulation informatique de circuits électriques
  2. Simulations informatiques pour les maladies neurodégénératives
  3. Tâches d'affichage Verilog
  4. Flux de travail de simulation d'excavatrice – Q&R
  5. CPL contre DCS
  6. API pour entraînements dans l'industrie
  7. Théorème de Tellegen - Exemples résolus et simulation MATLAB
  8. Outil de simulation du trafic aérien
  9. Merci pour les souvenirs!