SPS-Programmierung mit logi.CAD 3

Als aufmerksamer Newsletter-Leser weißt Du bereits, dass wir für den Revolution Pi auch das neue logi.CAD 3 bereitstellen, um nach IEC 61131-3 Steuerungsprogramme erstellen zu können. Diese Programme werden von dem Runtime-System logi.RTS ausgeführt.

Fakten zu logi.CAD 3:

  • Läuft auf Windows, Linux und Mac OS
  • keine Installation erforderlich
  • State-of-the-Art ST-Editor
  • Projekte im offenen Textformat
  • einfachste C- und C++-Code Integration
  • Bereit für Industrie 4.0 Applikationen (MQTT)
  • erweiterbar um Plug-ins (FBD-Editor, zentrale Quellcode-Verwaltung, …)

Grundkonzept von logi.CAD 3

logi.CAD 3 ist eine auf Eclipse basierende Neuentwicklung für die herstellerneutrale Programmierung von Mikrocontrollern (ab 8 Bit) bis Multicore-SPS-Steuerungen nach dem IEC 61131-3. Speziell für den Revolution Pi steht ein Vorlagenprojekt zur Verfügung, welches bereits die initiale Konfiguration für den RevPi Core beinhaltet. Angeschlossene Ein- und Ausgänge werden von dem von uns bereitgestellten, browserbasierten Konfigurator PiCtory eingelesen und in einer Definitionsdatei für logi.CAD 3 bereitgestellt. Dadurch können Ein- und Ausgänge in logi.CAD 3 mit ihrem symbolischen Namen angesprochen werden. Für die Entwicklung von eigenen Applikationen steht Dir logi.CAD 3 kostenlos zur Verfügung. Das Runtime-System Logi.RTS kann zukünftig für 20 Euro (Single Task-Version) oder 40 Euro (Multi-Task-Version) in unserem Online-Shop erworben werden.

Der erweiterte Profi-Editor mit FBD-Programmierung wird ebenfalls bei uns im Shop erhältlich sein (Preis steht jedoch noch nicht fest).

Applikationserstellung

In logi.CAD 3 steht Dir für die Programmierung von Steuerungsapplikationen zunächst Structured Text (ST) zur Verfügung. Das Engineering-Tool wird ab November auf der Revolution Pi Plattform kostenlos zum Download bereitgestellt. Alternativ kannst Du es schon heute auf der Herstellerseite www.logicad3.com kostenlos herunterladen. Am besten machst Du das gleich jetzt, denn dann werden die folgenden Erklärungen viel anschaulicher.

Nach dem Download entpackst Du logi.CAD 3 lokal und startest es durch Aufruf der Datei logiCAD3.exe. Nach Auswahl eines Arbeitsbereiches wählst Du mit dem Projektassistenten das Vorlagenprojekt für den Revolution Pi. Der nächste Schritt ist nun die Erstellung der eigenen Applikation im ST-Editor. Mittels Content Assist (Strg + Leertaste) erhältst Du kontextsensitiv Vorschläge für zulässige Konstrukte, Befehle, Funktionsaufrufe und verwendbare Variablen. Eine Reihe von verwendbaren Kürzeln zur Übernahme von Code Snippets erleichtert die Eingabe zusätzlich. Lokale Variablen fügst Du beispielsweise mit dem Kürzel „Strg + Leertaste“ und der Eingabe von „vl“ ein. Dieses Code Snippet ist dann wie ein „Formular“ auszufüllen.

Code Snippet Screenshot

Auch die Erstellung von eigenen Code Snippet-Vorlagen ist möglich. Durch die sofortige Fehleranzeige während der Programmierung wird ein schnelles und effizientes Engineering ermöglicht. Dank der Funktion „Lokale Historie“ werden Änderungen während der Projektierung lückenlos erfasst und revisionssicher aufbewahrt.

Mit der Funktion „Element umbenennen“ werden mit wenigen Klicks verwendete Objekte (z.B. Variablen, Funktionen, …) im gesamten Projekt umbenannt.

Bist Du ein Power-User? Dann wird Dich interessieren, dass es zur Umsetzung spezieller systemnaher Funktionen sogar möglich ist, Bausteine in C und C++ zu erstellen. Um in logi.CAD 3 eigenen C und C++ Code zu integrieren, legst Du zunächst ein Objekt „ST-Schnittstelle“ im Projekt an. Darin definierst Du die Anweisung {extern_c} bzw. {extern_cxx} und das Bausteininterface. Nach dem Speichern erhälst du eine C-Datei in der Du Deinen eigenen C/C++ Code einbinden kannst.
Hier gibt es ein Video zur C-Code Integration: https://youtu.be/dJ7K5Kuk69w
Weitere Informationen sind in der umfangreichen Onlinehilfe zu finden. (http://help.logicals.com)

Applikationstest

Im Applikationstest oder auch Online-Test testest Du zuvor erstellte Applikationen. Das ist ohne einen RevPi Core natürlich nur mit der Offline Simulation möglich. Im rechten oberen Bereich von logi.CAD 3 wird die Sicht auf „Applikationstest“ umgeschaltet, d.h. die Programmoberfläche wird für das Testen von Anwendungen umgestaltet – auch das Erstellen von individuellen „Sichten“ ist möglich.

Im Instanzbaum wird das integrierte lokale (Offline Simulation) Testsystem und das Laufzeitsystem des Revolution Pi (Online Test) zur Verfügung gestellt. Nach Auswahl der Steuerungsplattform (beim Online Test musst Du eventuell die IP Adresse im Revolution Pi Konfigurationsfile anpassen) musst Du zuerst die Funktion „Zur SPS verbinden“ wählen, um die Applikation mit „Anwendung laden“ auf die Steuerung zu übertragen. Ohne den RevPi Core kannst Du das natürlich nur mit dem Testsystem simulieren. Die C-Codegenerierung erfolgt übrigens bereits zum Zeitpunkt der Programmierung und wird mit dem Speichervorgang durchgeführt. Mittels Drag’n’Drop ist es anschließend möglich, gewünschte Variablen in die Liste Variablenwerte zu ziehen und die Live-Werte aus der Steuerung anzuzeigen. Ebenfalls ist es möglich, die Werte zu ändern, um das Programmverhalten entsprechend zu testen.

Übersicht Variablenwertanzeige Screenshot

Konnektivität

Nicht nur alle über die PiBridge angebundenen und von uns bereitgestellten IO-Module, können mit logi.CAD 3 programmiert werden, sondern auch eigene Schnittstellen, falls Du für PiCtory eine passende Gerätesteuerdatei bereitgestellt hast und der zyklische Datenaustausch über das Prozessabbild programmiert wurde.

Ebenso besteht die Möglichkeit, Modbus TCP Module direkt aus logi.CAD 3 heraus anzusprechen. In der von logi.cals entwickelten Bibliothek „logi.library“ werden für die Modbus Kommunikation alle relevanten Bausteine bereitgestellt, somit kannst Du die im Netzwerk vorhandenen Modbus TCP Komponenten in die neue Steuerungsplattform integrieren. Aber dieser Weg funktioniert nur mit logi.RTS als Datenquelle oder Datenverbraucher. Falls andere Anwendungen oder Treiber mit den Modbus Daten arbeiten sollen, empfehlen wir Dir den Einsatz des Modbus-Treibers, den Revolution Pi bereitstellt und der seine Daten über das zentrale Prozessabbild austauscht. Über diesen Weg können dann alle anderen Applikationen oder Treiber auch auf die Modbus-Daten zugreifen.

Um steuerungsrelevante Daten auch in übergeordneten Systemen bereitzustellen, sind in der logi.library alle nötigen MQTT-Bausteine vorhanden. Hierzu musst Du zunächst mittels Baustein „MQTT_Connect“ eine Verbindung zu einem MQTTBroker herstellen. Zum Versenden und Empfangen von Nachrichten stehen Dir anschließend die Bausteine MQTT_Publish und MQTT_Receive zur Verfügung.

Libraries MQTT Screenshot

Laufzeitsystem logi.RTS

Für den Revolution Pi wird das äußerst effiziente und hoch portable Laufzeitsystem logi.RTS verwendet. Es gibt keinerlei Limitierung der Anzahl verwendeter Bausteine und keine Einschränkungen bei den IOs. Abhängig von der Größe des SPS Programms, lassen sich Zykluszeiten bis 1ms frei definieren. Diese Zykluszeiten sind allerdings im Zusammenspiel mit der PiBridge und dem PiCon-Treiber nicht zu erreichen, da logi.RTS auf den Zyklus dieses Treibers synchronisiert. Über die PiBridge sind bei einem durchschnittlichen Ausbau Zykluszeiten von 10 ms realistisch. Der modulare Aufbau von logi.RTS bietet Dir als erfahrenen Entwickler auch die Möglichkeit, eigene Systemdienste zu entwickeln, und diese aus dem Steuerungsprogramm heraus anzusprechen.

Erweiterungsmöglichkeiten

Zukünftig kann das Programmiersystem logi.CAD 3 mit zusätzlichen Plug-Ins von logi.cals erweitert werden. So steht im ersten Quartal 2017 für logi.CAD 3 eine Version vom Modul „Vollgrafischer FBD-Editor LE“ zur Verfügung. Genauere Information werden wir frühzeitig bekannt geben. Für das Laufzeitsystem steht optional ein SDK zur Verfügung mit dem Du eigene Systemdienste für logi.RTS einbinden kannst.