Mikrocontroller aus der Arduino-Familie werden in den Automatisierungsanwendungen bereits in vielfältiger Weise eingesetzt – meist jedoch als Forschungs- oder Laboraufbauten. Eine hingegen professionelle Industrielösung für Steuerungsaufgaben auf Arduino-Basis bietet jetzt die neu vorgestellte Controllino-Steuerung.

 

Zahlreiche Projektbeschreibungen und Videos im Internet zeugen von einer breiten Arduino-Anwendungspalette in der Automatisierung. Was diese Einsatzfälle allerdings verbindet sind die augenscheinlichen Laboraufbauten und Labormuster.

Hardware für weitreichende Kompatibilität. Diesen Zustand, also der Weg vom Labormuster zur professionellen Hardware zum einfachen Einbau auf der Hutschiene schließt die SPS-Familie Controllino der österreichischen Firma SG-Tronic. Konkret handelt es sich um eine Produktfamilie, die die günstige und verbreitete Arduino-Hardware im Hutschienengehäuse präsentiert und diese Controller in die SPS-Welt bringt. Das Konzept der Steuerungsfamilie umfasst nicht nur die Integration der CPU in diesen Formfaktor sondern auch das Herausführen der Arduino-Pins über eine professionelle Anschluss und Verbindungmöglichkeit per Schraubanschluss. Damit ist eine praxisgerechte Anschlusstechnik schnell und einfach realisierbar. Der Formfaktor Hutschiene ermöglicht den Einsatz der Controllino-Steuerungen auch im Bereich der Gebäude- und Home-Automatisierung. Drei SPS-Module stehen innerhalb der Produktfamilie zur Verfügung: Mini, Maxi und Mega. Die Controllino-Mini bietet eine RS232 sowie einer SPI-Schnittstelle, sechs Relais-Ausgänge, acht Analog/Digital-Eingänge sowie acht digitale Ausgänge. Das mittlere Modell nutzt einen ATmega2560-Mikrocontroller mit einer Taktfrequenz: von 16MHz und bietet auch eine Ethernet-Schnittstelle. Das Topmodell Mega mit ATmega2560-Mikrocontroller umfasst ebenfalls eine Ethernet- Schnittstelle sowie eine große Interface-Ausstattung (2 x RS232, 1 x RS485, 1 x I2C, 1 x SPI sowie insgesamt 45 digitalen bzw. analogen E/As), ist in vielfältigen Anwendungen einsetzbar und bietet zudem ein günstiges Preis/Leistungsverhältnis. Für alle CPU-Typen stehen PWM-Ausgänge zur Verfügung welche den Anschluss von Motoren im definierten Strom- und Spannungsbereich ermöglichen. Die Controllino-Steuerungen setzen dabei auf volle Kompatibilität zur bekannten Arduino-IDE. Die Open-Source-Programmiersprache Arduino steht als cleveres Java basierte IDE zur Verfügung so dass keinerlei Umstiegs Hürden zu erwarten sind. Durch die Installation eines downloadbaren Plug-Ins sind die Controllino-CPUs sofort ein direkter Bestandteil der Workbench. Der quelloffene Compiler (avr-gcc) erlaubt die lizenzfreie Erzeugung von Anwendercode so dass auch Entwicklungen auf anderen Host-Systemen als Windows (z.B. Linux) problemlos möglich sind.

Programmierung nach IEC 61131-3

Für den Einsatz im Bereich der Automatisierung ist die Verwendung der SPS-Programmiersprachen nach IEC 61131-3 etabliert. Zunächst scheint es so zu sein, dass die Arduinowelt mit ihrer begrenzten Rechenleistung und Prozessorgeschwindigkeit dafür nur bedingt eingesetzt werden kann. Das Systemhaus logi.cals aus St. Pölten in Österreich lieferte jedoch eine praxisgerechte Lösung. Basierend auf logi.CAD 3 wurde das vorhandene SPS-Laufzeitsystem logi.RTS soweit angepasst, dass es auf den Controllino-Steuerungen ausgeführt werden kann. Für die Anbindung der digitalen und analogen E/As werden die ohnehin vorhandenen Funktionen aus der avr-gcc-Bibliothek verwendet und als Funktionsbaustein oder Funktionsaufrufe (je nach Anwendungsfall) dem SPS-Programmierer bereitgestellt. Die einzelnen Bausteine sind dann in den SPS-Programmiersprachen ST (Structured Text) und FBD (Function Block Diagram) verfügbar. Die Einbindung dieser Bibliothek erfolgt über das C-Interface der Software logi.CAD 3, die für den kostenfreien Einstieg zum Download bereit steht. Nach der Installation steht die Programmier-IDE inkl. GCC-Compiler für den Arduino zur Verfügung. Das Programmiermittel logi.CAD 3 ist neben Windows auch für die Betriebssysteme Linux* und Mac OS* verfügbar. Logi.CAD 3 verfügt über eine C-Schnittstelle, die gerade im Bereich der Programmierung von Mikrocontrollern intensiv genutzt wird. Vorhandener CCode kann mit wenigen Schritten direkt in die SPS-Code-Generierung von logi.CAD 3 eingebunden werden. Mit dieser Technologie ist die Controllino-Lib entstanden. In dieser Bibliothek ist eine Vielzahl von Bausteinen verfügbar, welche die speziellen Funktionen des Arduino unterstützen. Die Funktionen sind bereits in der Arduino-IDE teilweise vorhanden und wurden in die IEC61131-3-Programmierwelt mit logi.CAD 3 übernommen. Dazu zählen

Funktionen für die Ansteuerung der PWM-Ausgänge, die Programmierung des SPI-Busses oder die Anbindung von E/A-Modulen per I2C-Bus. Ferner gehören verschiedene Kommunikationsfunktionen dazu, wie z.B. die MQTT Funktionen die im nächsten Abschnitt beschrieben werden.

MQTT für das Internet der Dinge

Der Datenaustausch zwischen unterschiedlichen Systemen der Automatisierung ist in aller Munde. Für den Austausch der Daten stellt logi.CAD 3 alle erforderlichen Funktionen im SPS-Bereich zur Verfügung um per MQTT Daten in eine MQTT-Cloud an einen MQTT-Broker zu senden. Sind die Daten in einem solchen Broker vorhanden, so können alle anderen Systeme welche per MQTT kommunikationsfähig sind, diese Daten anfordern und für sich selbst verwenden. Für den Datenaustausch mit einer MQTT-Cloud sind einige wenige Basisfunktionen erforderlich: zum Aufbau der Verbindung und zum Senden und Empfangen von Daten. Auch hier konnten bestehende, frei verfügbare C-Sourcen sinnvoll genutzt werden um eine professionelle Anbindung zu ermöglichen. In einem Referenz- und Testprojekt im Hause logi.cals mit dem Namen Planty wird diese Lösung für den Aufbau eines Datenmonitoringsystems und einem Versorgungssystem aller Pflanzen im Bürobereich verwendet. Die Vorortsteuerung jeder Pflanze ist Arduino-basiert und kümmert sich autark um die Versorgung der Pflanze mit Wasser. Dabei werden die Feuchtigkeit des Erdreichs, die Luftfeuchtigkeit und die Temperatur erfasst. Mit einer zentral vorliegenden Wetterprognose wird ein Versorgungsplan individuell für jede Pflanze errechnet und den Vorort-Steuerungen übermittelt. Die erfolgreiche Abarbeitung der Elemente des Versorgungsplans wird jeweils rückgemeldet und zentral erfasst und in entsprechende Auswertungen transformiert.

 

* Verfügbarkeit auf Anfrage