PLC Programmation en langage C# .NET
Puis-je Écrire des Programmes pour le PLC de Contrôle en C#?
Comment?
Je crois que ça dépend du fabricant ou de la marque
Qu'entendez-vous par là? Écrire un programme qui est exécuté par le processeur de l'AUTOMATE, ou un programme qui a juste besoin de communiquer avec l'AUTOMATE de plus par exemple, Ethernet, Modbus, etc?
Qu'entendez-vous par là? Écrire un programme qui est exécuté par le processeur de l'AUTOMATE, ou un programme qui a juste besoin de communiquer avec l'AUTOMATE de plus par exemple, Ethernet, Modbus, etc?
OriginalL'auteur Hossein Moradinia | 2010-07-21
Vous devez vous connecter pour publier un commentaire.
Pas probable. C# nécessite une mise en œuvre de la CLR (Common Language Runtime) pour exécuter les applications développées dans cette langue, ou tout .NET de la langue. Je dirais qu'il est très peu probable que le PLC ne sera jamais fabriqué qui prend en charge ce pour diverses raisons.
Maintenant ce que vous pouvez faire est d'avoir votre application C# lire et écrire des données à partir de l'AUTOMATE à l'aide de l'OPC protocole. Il y a quelques différentes bibliothèques pour l'utilisation d'OPC qui sont disponibles pour le .NET Framework.
Ici est un très bon site web pour la pose sur les options.
OriginalL'auteur Brian Gideon
Beckhoff effectivement fournir une interface (ADS) pour la manipulation directe des variables dans le programme de l'AUTOMATE programmable à l'aide de C# (et autres langues), qui peut être utilisé pour TwinCAT 2 ou 3. Comme rédigé par Ahmed Tibi aussi correctement dit, vous pouvez utiliser C++ directement dans votre programme de l'AUTOMATE programmable dans TC3 trop.
Voir ici: http://www.beckhoff.com/english.asp?twincat/twincat_ads_communication_library.htm
Vous auriez encore besoin de créer des variables dans le programme PLC et se connecter à des interfaces physiques à l'aide de Beckhoff le gestionnaire de système de logiciel avant ce serait utile.
Alors que c'est tout à fait possible, vous ignorer et ignorer certains des principaux points forts de la programmation directement dans l'api de l'environnement en descendant cette route:
Cela dit, il y a beaucoup d'avantages de pouvoir très simplement l'interface de toute sorte de front de la technologie de l'enregistrement des données directement dans les bases de données et tout entre les deux.
Acclamations,
LazzMaTazz
OriginalL'auteur Mark Lazz
Twincat version 3 (qui est Beckhoff PLC environnement de développement) à soutenir langage de programmation C++ en plus de C#
FR | TwinCAT 3: intégration de Visual Studio, support de la langue (SPS/IPC/DRIVES 2010)
OriginalL'auteur Ahmad Z. Tibi
De Beckhoff TwinCAT est le chemin! Dans autre façon, vous devez utiliser la CEI 6113-3 avec les 5 styles de programmation, y compris le "Texte Structuré" code qui est le plus proche de Texte "code looklike".
Attention, ne jamais créer un programme avec une boucle (while( 1)), il sera détecté comme un défaut. La boucle est global et il est validé.
Profiter de la programmation de PLC.
OriginalL'auteur David Gouffé
Pas, du moins pas maintenant. Comme pour l'avenir? Presque certainement pas alors soit, de l'OMI.
PLC sont tout simplement trop de matériel spécifique pour avoir un programme écrit à l'aide de la CLR.
Si vous êtes intéressé par l'écriture de code est portable sur les différents types de PLC, le plus proche que vous obtiendrez à droite est maintenant en utilisant IEC 6113-3 Texte Structuré code.
La plupart, si pas tous les PLC, les fabricants sont en mesure d'utiliser à présent, y compris Omron, Siemens, Allen Bradley, Mitsubishi, Telemecanique et probablement plus.
OriginalL'auteur Andy
oui, vous pouvez.
Je suis actuellement en train de le faire, dans un environnement réel. Nous utilisons le protocole Modbus, TCP.
Je ne vais pas dire que c'est facile, ou la meilleure option pour la programmation des automates, mais il fonctionne, et nous avons des machines en direct dans le monde, en travaillant et en cours d'exécution dans les hôpitaux près de chez vous 🙂
Il n'a même pas à être en C#, vous pouvez utiliser n'importe quel langage qui permet de communiquer par TCP, il vous suffit de programmer une interface Modbus qui fonctionne sur le protocole TCP, qui est étonnamment facile. Ensuite, vous devez obtenir certains Contrôleurs Esclaves qui prennent Modbus TCP et de traduire les commandes à d'autres parties de l'installation.
Beaucoup de gens vont froncer les sourcils à ce point et de dire des ordures comme, "non déterministe de l'environnement", ou "gestion de la mémoire", ou mon préféré "ne fonctionne pas sur un système d'exploitation temps réel". Tous ces éléments sont des ordures. Très peu d'environnements là nécessitent RTOS, ou déterministe de programmation pour le faire fonctionner, en fait 200 ms temps de réponse est très bien, nous avons trouvé c# pour ne plus habilement. Si votre environnement nécessite RTOS, je ne recommanderais pas à l'aide de C#, mais si comme la plupart des environnements, vous avez juste besoin de contrôler les choses dans un homme perspicace temps, alors C# [vous remplir de choix de la langue] est fine.
Oh et rester à l'écart de programmation ladder, ou tout ce qui est de la merde, ses stupides, conçu pour les ingénieurs électriques, pour leur rendre la transition plus facile.
OriginalL'auteur WeNeedAnswers
oui nombre de PLC fabricant fournit fichiers DLL pour communiquer avec le PC basé sur des logiciels Comme visual basic, C # ,VB.NET.
Sur DELTA PLC Site, vous trouverez le Code C# de comm avec Delta PLC.
Pour voir comment communiquer PLC avec VB, vous pouvez visiter
http://plc-scada-dcs.blogspot.com/2013/06/plc-visual-basic-60-communication-using.html
OriginalL'auteur Vinod
Oui, vous pouvez certainement écrire des logiciels pour lire et écrire à un AUTOMATE à l'aide de C#. Cependant, il peut prendre beaucoup de travail. Si vous êtes chanceux, vous pouvez retrouver la trace .NET bibliothèques pour vos Automates d'intérêt. Dans mon cas, c'était une DirectLogic PLC EBC module où j'ai trouvé un VB.NET bibliothèque ici et Allen Bradley SLC Micro où j'ai trouvé un autre VB.NET bibliothèque ici. Les deux cas j'ai eu de refactoriser le code un peu et puis de référence à partir de mon application en C#.
Si vous ne pouvez pas trouver un .NET-library, vous pouvez généralement obtenir de code C/C++, puis à port-le vous-même. Ensuite, si le pire arrive au pire et il n'est qu'un fichier de bibliothèque, il y a toujours natif de l'interopérabilité.
OriginalL'auteur Scott Lerch
Il a été un long temps depuis que j'ai fait toute la programmation de PLC, mais ce n'est pas un AUTOMATE juste un ensemble de portes logiques qui prennent des décisions fondées sur les intrants, les timers etc et après une sortie? Alors, pourquoi ne pouvons vb ou c# ou tout .Net langue mener à bien cette logique?
il n'est pas question de donner l'ordre à un automate, c'est plus une question de peut-il remplacer un automate si le matériel,les pilotes et les dll, s'il est disponible.
Sûrement cela viendra très bientôt si ce n'est déjà disponible.
OriginalL'auteur Scott Foxall
Vous pouvez communiquer à partir de a.net l'application vers un automate par la récupération ou le stockage des données de la mémoire dans l'automate, ce qui est appelé un DB. Ensuite, vous pouvez utiliser ces variables pour manipuler le code de l'automate.
TCPIP communication avec plc peut être fait avec une opensource api snap7 qui est uniquement compatible avec siemens plc.
Peut-être un peu plus fiable de l'installation est la communication via un serveur opc. Cela peut être fait par kepware ou SNMP SIEMENS
Il en existe plusieurs .net API qui peut être acheté en permettant à la communication sur un opc par ces protocoles (il y a d'autres protocoles)
OriginalL'auteur free
Ce sujet unitronics. Il y a des drivers de communication avec le code source de tous les plc modèle de unitronics
OriginalL'auteur Karol C
C# n'est pas utilisé dans les PLC monde. Le plus proche que vous pouvez obtenir est quelque chose comme FÈS Domino avec .NET Micro Framework.
OriginalL'auteur avra