|
|
|
 |
 |
 |
 |
 |
 |
 |
 |
| |
IEC-kompatibel und bereit für C#
Seit ihrer Einführung im Jahre 1993 ist die Norm IEC 61131 anerkannter Standard im Bereich der Automatisierung und der SPS-Programmierung. Einheitlich hinsichtlich der Struktur von Automatisierungsgeräten, den verwendeten Programmiersprachen und Datentypen, ermöglicht diese Norm die unabhängige Entwicklung von SPS-Anwendungen und sichert Portierbarkeit zu, um nur zwei der Vorzüge zu nennen, die sich auf die IEC 61131 zurückführen lassen.
IEC 61131-Kompatibilität alleine reicht im .NET-Zeitalter jedoch nicht mehr aus. Gefordert ist heute unter anderem auch die Unterstützung der Programmiersprachen, die in der .NET-Welt gängig sind, allen voran C#. |
| |
|
| |
 |
Offene Programmierschnittstelle
Proconos embedded CLR ist mit einer offenen Programmierschnittstelle auf Basis des .NET-eigenen Zwischencodes CIL ausgestattet. Damit kann die embedded CLR mit jeder .NET-Sprache programmiert werden, die in der Lage ist, CIL-Code zu generieren.
Darüber hinaus ist das MS Visual Studio.NET durch vorgefertigte Templates erweitert worden, mit denen Projekte in C# als Firmware Library für das IEC-Programmiersystem Multiprog von KW-Software generiert werden. |
 |
| |
Im Programmiersystem eingebunden, können die in C# entwickelten Programmteile wie IEC-61131-Funktionsbausteine und -Funktionen verwendet werden. |
 |
| |
|
 |
| |
|
 |
 |
 |
| |
Verschiedene Wege, ein Resultat: CIL
Auf diese Weise wird es möglich
- im IEC-Programmiersystem MULTIPROG von KW-Software IEC-Sprachen und beispielsweise C# innerhalb eines Projekts zu mischen;
- durch die Verwendung von C# portable Firmware zu entwickeln, dabei den gesamten Funktionsumfang und die Vorzüge der Hochsprache C# zu nutzen;
- weder auf die Vorzüge des IEC-Programmiersystems, noch auf die Effizienz von MS Visual Studio verzichten zu müssen;
- eigene Tools und Sprachen die CIL erzeugen, zur Programmierung zu nutzen;
- die vorhandenen .NET-Tools zur Dokumentation, zum Generieren von API-Hilfen oder zum Überprüfen von Design-Richtlinien einzusetzen.
|
 |
| |
 |
 |
| |
|
 |
| |
 |
 |
 |
| |
 |
In der embedded CLR werden spezifische Eigenschaften der IEC 61131 oder der Embedded-Hardware über .NET-Attribute abgebildet, zum Beispiel [Function block], [RETAIN]oder [NATIVE].
Diese in C# verfügbaren Attribute definieren das Systemverhalten und werden vom AOT-Compiler verwaltet.
Eine native Bibliothekenschnittstelle ermöglicht und verwaltet den Aufruf von nativem Code über .NET-Namespaces aus C#. |
 |
| |
|
 |
| |
|
 |
 |
 |
| |
Programmierbeispiel
Für die Ansteuerung einer 7-Segment-Anzeige wird aus dem IEC-61131-FBD-Programm über einen C#-Funktionsbaustein "SegmentDisplay" die Hardware angesteuert. Dieser Baustein wird aus einer mit Visual Studio.NET erzeugten Firmware Library aufgerufen.
Realisiert ist der Hardwarezugriff dabei über die Namespaces von C#. Für die Klasse "SevenSegment" mit der Methode "WriteCode" wird über das Native Library Interface ein performanter Funktionsaufruf in den nativen Code erzeugt - ohne Overhead! |
 |
| |
 |
 |
| |
|
 |
| |
 |
 |
 |
| |
|
|
|
|