# Allgemein, Technik

CODESYS Control auf Raspberry Pi

Einleitung

Seit Ende 2013 ist eine zeitbeschränkte CODESYS Control Laufzeit für das Raspberry Pi verfügbar. CODESYS ist ein Produkt das hauptsächlich in der Industrie eingesetzt wird und den Controller für Steuerungssysteme bereitstellt.
Die Laufzeit ist Zeitlich auf 2.Stunden begrenzt. Nach einem Neustart funktioniert sie allerdings wieder! Nach einigen Angaben soll eine kommerzielle Laufzeit ab 2.Quatal 2014 zur Verfügung stehen. Das Laufzeitsystem verfügt allerdings über eine hardware Echtzeiteigenschaften d,h, sollte man es nur zum Testen/Hausautomatisierung einsetzten.

Im Funktionsumfang bietet die Laufzeit die Möglichkeit einer Modbus TCP-Master & Slave Anbindung. Somit lässt sich auch ein komplexeres System aufbauen. Wer keine dieser Hardware zur Verfügung hat kann aber auch auf Erweiterungsboards des Raspberry Pi zurückgreifen. So kann z.B. Raspberry Pi Face Digital verwendet werden.

Weitere top Eigenschaft am CODESYS Control ist der eingebaute Webserver. So lassen sich im Eingebauten Designer HTML5 Visualisierungen programmieren, die auch Problemlos per Android/IOS gesteuert werden können.

Zu beginn benötigt man zwei Dinge:
CODESYS Control for Raspberry Pi (Demo) – Downloadbar (nach Registrierung) unter http://store.codesys.com/codesys-control-for-raspberry-pi.html

CODESYS Development System – Downloadbar (nach Registrierung) unter http://de.codesys.com/produkte/codesys-engineering/development-system.html

Installation auf dem Raspberry

Das Heruntergeladene Archiv von CODESYS Control for Raspberry Pi (Demo) ist ein Zip-Archiv. Dieses wird zuerst Entpackt. Darin befinen sich dann zwei Dateien die für uns Interessant sind:

  • codesysrasp.img (Image für die SD-Karte)
  • CODESYS_Control_for_Raspberry_PI.package (Packages für die Entwicklungsumgebung)

 

Das Image muss nun auf die SD-Karte des Raspberry Pi übertragen werden. Dazu nutze ich Win32diskimager welcher auf http://sourceforge.net/projects/win32diskimager/ zur Verfügung steht. Nach erfolgreichem Flashen die SD-Karty im Raspberry Pi booten. Das Raspberry Pi sollte sich zu diesem Zeitpunkt in einem Netzwerk mit DHCP-Server befinden, um eine IP-Adresse vergeben zu bekommen. Wer nun eine Maus/Tastatur zur Verfügung hat kann die IP-Adresse dann am Raspberry Pi durch das Kommando: ifconfig auslesenWem dies nicht zur Verfügung steht sollte sich im Backend eines DHCP-Servers (FritzBox) umschauen, dort erflog meist auch eine Aufschlüsselung aller Geräte die vom DHCP eine IP-Adresse erhalten haben.
Das Einloggen auf der Raspberry Pi erfolgt mit den Standard Default-Passwörtern: User: pi, Passwort: raspberry. Als ersten Schritt nach der Neuinstallation auf dem Raspberry sollte immer die Erweiterung des Dateisystems erflogen. Dazu ruft mal aus der Konsole: sudo raspi-config auf und führt die erste Funktion (Expand Filesystem) aus.

raspi_settings

Erster Schritt mit dem Development System

Zunächst installiert man das Development System mit allen Komponenten, und startet dieses, was ein paar Minuten benötigen kann. In der Entwicklungsumgebung angekommen erstellt man dann zuerst ein neues Projekt “Sandardprojekt”:

Bild_04

 

und im nächsten Fenster:

Bild_05

Nun klinkt man links im Baum auf “PLC_PRG (PRG)” und erstellt zwei neue boolsche Variablen:

PROGRAM PLC_PRG
VAR
	xLampe: BOOL;
	xSchalter : BOOL;
END_VAR

Bild_06

 

Durch eine einfache Logik im unteren Fenster weist man die beiden Variablen sich gegenseitig logisch zu. In meinem Beispiel wurde der PLC_PRG mit der Programmiersparche FUP erstellt. Somit werden alle logiken visuell zusammengestellt. Für das UND benutze ist das AND (2 Eingänge) aus Logische Operatoren im Fenster Werkzeuge.

 

Als nächstes erstellen wir die Visualisierung, dazu per Rechts-Klick auf Application -> Add Object -> Visualization und einen beliebigen Namen eingeben.

Bild_08

Im Bild der Visualisierung füge ich nun zwei Objekte aus der ToolBox – einmal eine Lamp und als nächstes ein Schalter Rocker switch.

Als nächstes müssen die beiden Objekte der Visualisierung in ihren Eigenschaften an die dementsprechenden Variablen gehangen werden. Dazu unter Properties -> Variable das Menü öffnen und die dementsprechene Variable aus Application -> PLC_PRG auswählen.

Bild_09

 

Nun muss nurnoch das Programm in das Raspbery Pi geladen werden. Dazu ein Klick auf das Device (CODESYS Control for Raspberry) und auf der rechten Seite die aktuelle IP-Adresse des Raspberry Pi als Zielobjekt eintragen.

Bild_02

Nach dem betätigen durch Return sollte hinter der IP-Adresse ein (active) erscheinen und im Bild oberhalb ein grüner Punkt.

Danach per ALT-F8 in das System einloggen. (MessageBox mit Yes bestätigen)  und schon ist der Code des Programms auf das Raspberry übertragen. Lediglich per Start (F5) muss das System noch in den RUN-Zustand versetzt werden.

Per http://IP-Adresse:8080/Webvisu.htm kann dann die Visualisierung geöffnet werden.

Bild_03

 

Ich hoffe ich konnte hiermit einen kleinen Einstieg in die Welt von Codesys und Raspberry Pi geben – im 2.Quatal 2014 soll die unbegrenzte Laufzeit von Codesys erscheinen. Bis dahin sollte man sich noch etwas in Geduld üben!

Als nächsten Schritt werde ich nach eine Möglichkeit Suchen einfache Bausteine per SPI-Schnittstelle ansprechen zu können! Infos folgen!

 Einen weiteren guten Einblick in die Parametrierung des Systems gibt folgendes Video