CODESYS Programme am Raspberry-PI

logo-codesysJetzt gibt es auch eine Bibliothek und ein Beispielprogramm für die vorgestellten SPS-Baugruppen, um diese mit der Programmierumgebung CODESYS von 3S-Smart Software Solutions GmbH ansprechen zu können.

 

1. Softwarepakete herunterladen

CODESYS Control for Raspberry Pi SL

Die aktuelle Raspberry Runtime kann im CODESYS-Store heruntergeladen werden.
Der Demo-Betrieb läuft zwei Stunden ohne Einschränkungen und schaltet sich danach ab.
Eine Runtime-Lizenz ohne Laufzeitbeschränkung gibt es für 35€ plus MWSt.
http://store.codesys.com/codesys-control-for-raspberry-pi-sl.html

CODESYS Development System

Zum Programmieren benötigt man das CODESYS Development System V3.
Dieses findet man ab jetzt auch im CODESYS-Store.
http://store.codesys.com/codesys.html

Horter & Kalb Package für I2C-Baugruppen

Über diese Bibliothek können die Baugruppen angesprochen werden.
Horter_Kalb_Raspi_Support_1.0.0.0 (2903 Downloads)

Wenn Sie die Version im CODESYS-Store herunterladen funktioniert auch das automatische Update aus der Entwicklungsumgebung heraus.
http://store.codesys.com/horter-kalb-i2c-support-for-raspberry-pi.html

 

2. Raspberry-PI installieren

Die Installation des Raspberry-Image erfolgt mit dem Programm „Win32 Disk Imager“

Das empfohlene Betriebssystem ‚Raspian‘ kann über folgende Links bezogen werden:
Allgemeine Downloadseite: https://www.raspberrypi.org/downloads/
Aktuelle Version: https://downloads.raspberrypi.org/raspbian_latest

Zum ersten Booten am Besten eine Tastatur und einen Monitor anschließen.

Ist der PI hochgefahren kann man sich anmelden.

  • Login: pi
  • Password: raspberry (raspberrz bei einer deutschen Tastatur!)

 Mit dem Befehl

ifconfig 

oder

ip addr

findet man heraus welche IP-Adresse der PI von Ihrem DHCP-Server zugewiesen bekommen hat.

Von einem anderen PC aus sollte der PI jetzt auch auf einen ping antworten. Dazu mit cmd in der Programm-Ausführungszeile eine Eingabeaufforderung öffnen und den Befehl ping 192.168.xxx.yyy eingeben.

ping 192.168.xxx.yyy

Ping wird ausgeführt für 192.168.xxx.yyy mit 32 Bytes Daten:
Antwort von 192.168.xxx.yyy: Bytes=32 Zeit<1ms TTL=64
Antwort von 192.168.xxx.yyy: Bytes=32 Zeit<1ms TTL=64
Antwort von 192.168.xxx.yyy: Bytes=32 Zeit<1ms TTL=64
Antwort von 192.168.xxx.yyy: Bytes=32 Zeit<1ms TTL=64

Hat man die IP-Adresse vom PI herausgefunden kann man sich in Zukunft auch ohne Monitor und Tastatur von einem anderen PC aus über „Putty“ anmelden. Ach hierfür gibt es im Netz zahlreiche Beschreibungen.

 

3. Raspberry-PI konfigurieren

Um den PI zu konfigurieren verbinden Sie sich mit Putty auf den Raspberry, und melden sich an wie oben beschrieben.

Mit sudo raspi-config wird die Konfiguration des PI aufgerufen.

sudo raspi-config

sudo raspi-config

 

Falls der PI von der SD-Karte nicht bootet muss das Filesystem expandiert werden.

Anschließend müssen unter „Advanced Options“ folgende drei Pakete aktiviert werden

  • Device Tree
  • SPI
  • I2C
Device Tree, SPI, I2C

Device Tree, SPI, I2C

 

 

4. CODESYS Entwicklungsumgebung installieren

Installieren Sie die aktuelle Version des CODESYS Development System auf einem Windows-PC. Das sollte reibungslos ablaufen.

 

5. Packages installieren

Beim ersten Start wird die Entwicklungsumgebung eingerichtet. Anschließend müssen im „Package Manager“ zwei Pakete nachinstalliert werden.

  • CODESYS_Control_for_Raspberry_PI.package
    Diese .package-Datei ist im zip-Archiv vom PI-Image enthalten
  • Horter_Kalb_Raspi_Support.package
    Diese .package-Datei ist im Horter_Kalb_Raspi_Support.zip enthalten.
    Das Package kann kostenlos auf unserer Homepage oder im CODESYS Store heruntergeladen werden.

Beide Pakete nacheinander über „Tools – Package Manager“ mit dem Button „Installieren“ auswählen.

 

6. I2C-Demoprogramm öffnen

Im zip-Archiv sind zwei Programme, in denen die prinzipielle Funktion der Karten beschrieben sind.

  • Horter_Kalb_Raspi_Support_FB_Example.Project
  • Horter_Kalb_Raspi_Support_IO_driver_Example.Project

ALs erstes wollen wir das Projekt „Horter_Kalb_Raspi_Support_IO_driver_Example.Project“ öffnen. Hierbei sollten keine Fehlermeldungen mehr im Ausgabefenster erscheinen. Wenn doch fehlt eventuell noch eine Bibliothek, die aus dem Netz geladen und über den Package Manager nachinstalliert werden muss.

 

7. Online mit dem Raspberry-PI verbinden

Jetzt muss das Programm mit „Erstellen – Übersetzten“ oder F11 kompiliert werden. Ist dieser Vorgang Fehlerfrei abgeschlossen, verbinden wir uns über „Online – Einloggen“ oder Alt+F8 mit dem Raspberry-PI.

Jetzt kommt eine Meldung, dass noch kein aktiver Pfad gesetzt wurde. Drücken Sie den Button „Nein“ damit die Seite der Kommunikationseinstellungen geöffnet wird.

Im rechten Fenster wird vermutlich noch kein Verbindungspartner vorgeschlagen werden. Wir legen nun unseren PI als „Gerät“ an. Wählen Sie dazu „Gerät – Bevorzugte Geräte verwalten …“

In dem Fenster nun den Knop „Hinzufügen“ drücken und die IP-Adresse vom PI eintragen und anschließend auswählen.

Die Verbindung zur Runtime auf dem Raspberry-PI wird aufgebaut und die MAC-Adresse und die Runtime-Version werden angezeigt.

Jetzt mit „Online Einloggen“ fortfahren und das Programm zum PI übertragen.

Zum Schluss muss die SPS noch mit „Debug Start“ oder F5 in RUN geschaltet werden.

 

8. Webvisualisierung aufrufen

Verbinden Sie sich nun mit einem beliebigen Browser (evtl. auch Smartphone) auf die Adresse
http://192.168.xxx.yyy:8080/webvisu.htm

Im Explorer sollte nun folgendes Bild erscheinen.

Webvisualisierung der I2C-SPS Baugruppen

Webvisualisierung der I2C-SPS Baugruppen

Die LEDs der digitalen Eingabekarte (I2HE) zeigen den aktuellen Zustand der Signale an. Die Ausgänge der digitalen Ausgabekarte (I2HA) können mit den Tasten darunter geschaltet werden. An den fünf Messgeräten werden die Messwerte der analogen Eingangskarte (I2HAE) angezeigt. An den vier Potentiometern kann der Sollwert für die analogen Ausgangskarten (I2HAA) verändert werden.

 

Auf dem Raspberry kann die Seite auch direkt geöffnet werden. Tippen Sie z.B. im Epiphany Web Browser die Adresse  
http://localhost:8080/webvisu.htm
ein und Sie erhalten die gleiche Visualisierung lokal im Raspberry PI Web Browser.

Codesys WebVisu am Raspberry im Epiphany Web Browser

Codesys WebVisu am Raspberry im Epiphany Web Browser

 

Viel Spaß beim Entwickeln und Testen eigener CODESYS SPS-Programme.

 

 

SPS-Karten für Raspberry-PI

Unsere Bausätze sind für Schulungszwecke und für Automationslösungen im privaten Einsatz konzipiert. 

Stellen Sie sich aus den folgenden Komponenten Ihre Testumgebung zur SPS-Programmierung mit dem Raspberry PI zusammen.

I2C-Schnittstelle für SPS-Baugruppen

I2C-Repeater auf Raspberry-PI aufgesteckt

Bausatz ab 9,90 €
im Onlineshop unter
www.horter-shop.de

Dieses Interface wird benötigt um die 3,3V GPIO-Signale des Raspberry-PI auf 5V anzupassen.

Die Platine wird einfach auf den GPIO-Sockel aufgesteckt und über den so neu geschaffenen I2C-Bus mit Spannung versorgt.

Die Trennung der 5V Baugruppen-Spannung von der Spannungsversorgung des Raspberry bringt einen gewissen Schutz für den Einplatinencomputer.

Technische Daten:

Versorgung

5V für die I2C-Elektronik
3,3V (vom Raspberry-PI)

Stromaufnahme 5V
Stromaufnahme 3,3V

1,1 mA Leerlauf / max. 4mA
3mA (vom Raspberry-PI)

Datenblatt, Schaltplan

I2C-Repeater-PCA917-PI_db.pdf
   

Digitale Eingangskarte 8-Bit

digitale SPS-Eingangskarte zum Erweitern des Raspberry-PI

Bausatz ab 12,90 €
im Onlineshop unter
www.horter-shop.de

Über die Eingangskarte können acht digitale Signale, z.B. von Schaltern oder Taster, in das SPS-Programm eingelesen werden.

Die Eingangssignale werden an einer Low Current LED (2 mA) angezeigt.

Die rote LED leuchtet wenn sich an den Eingängen etwas verändert hat und geht aus wenn das Programm die Eingangssignale gelesen hat.

Technische Daten:

Versorgung

5V für die I2C-Elektronik

Stromaufnahme
I2C-Elektronik

7,5 mA (alle LEDs aus)
17 mA (alle LEDs aus)

Eingangs-Signale
Eingangswiderstand

5V – 30V
9,4 kOhm

Datenblatt

i2c-hs-input_db.pdf

   

Digitale Eingangskarte 8-Bit mit Optokoppler

NEU mit Busverbinder-Stecksystem

Galvanische Trennung der Eingänge

Bausatz ab 15,90 €
im Onlineshop unter
www.horter-shop.de

 

Über die Eingangskarte können acht digitale Signale, z.B. von Schaltern oder Taster, in das SPS-Programm eingelesen werden.

Die Eingangssignale werden an einer Low Current LED (2 mA) angezeigt. Die rote LED leuchtet wenn sich an den Eingängen etwas verändert hat und geht aus wenn das Programm die Eingangssignale gelesen hat.

Jeder Kanal ist mit einem Optokoppler galvanisch getrennt.

Technische Daten:

Versorgung

5V für die I2C-Elektronik

Stromaufnahme
I2C-Elektronik

7,5 mA (alle LEDs aus)
17 mA (alle LEDs aus)

Eingangs-Signale
wählbare Vorwiderstände

Uin: 2,5 – 13V Rv=1,5 kOhm
Uin: 10 – 24V Rv=4,7 kOhm
Uin: 12 – 30V Rv=10 kOhm

Datenblatt

i2c-hs-input+optokoppler_db.pdf

Digitale Ausgangskarte 8-Bit

digitale SPS-Ausgangskarte zum Erweitern des Raspberry-PI

Bausatz ab 12,90 €
im Onlineshop unter
www.horter-shop.de

Mit der Ausgangskarte können digitale Verbraucher, z.B. Lampen oder Relais ein- und ausgeschaltet werden.

Die aktuellen Ausgangssignale werden wie bei der Eingangskarte an acht Low Current LED (2 mA) angezeigt.

Die Spannung für den Lastkreis 5-30V kann pro Karte separat eingespeist werden.

Als Ausgangstreiber wurde der Treiberbaustein UDN2981A verbaut. Er  kann laut Datenblatt 50V / 500mA schalten. Wenn alle Ausgänge „high“ sind darf der Gesamtstrom des Treibers z.B. bei 15V 120mA nicht überschreiten. Bitte hierzu das Datenblatt des UDN2981A beachten!

Technische Daten:

Versorgung

5V für die I2C-Elektronik
5-30V für die Last

Stromaufnahme
I2C-Elektronik

2,8 mA (alle LEDs aus)
17 mA (alle LEDs ein)

 Schaltleistung

5 – 30V / max. 8x 120 mA bei 15V
Datenblatt UDN2981A beachten.

Datenblatt, Schaltplan

i2c-hs-output_db.pdf

   

Digitale Ausgangskarte 8-Bit mit Optokopplern

NEU mit Busverbinder-Stecksystem

Galvanische Trennung der Ausgänge

Bausatz ab 15,90 €
im Onlineshop unter
www.horter-shop.de

Mit der Ausgangskarte können digitale Verbraucher, z.B. Lampen oder Relais ein- und ausgeschaltet werden.

Die aktuellen Ausgangssignale werden wie bei der Eingangskarte an acht Low Current LED (2 mA) angezeigt.

Die Spannung für den Lastkreis 5-30V kann pro Karte separat eingespeist werden.

Als Ausgangstreiber wurde der Treiberbaustein TBD62783APG verbaut. Er  kann laut Datenblatt 50V / 500mA schalten. Wenn alle Ausgänge „high“ sind darf der Gesamtstrom des Treibers z.B. bei 15V 120mA nicht überschreiten. Bitte hierzu das Datenblatt des TBD62783APG beachten!

Der Ausgangstreiber ist mit Optokopplern galvanisch getrennt.

Technische Daten:

Versorgung

5V für die I2C-Elektronik
5-30V für die Last

Stromaufnahme
I2C-Elektronik

2,8 mA (alle LEDs aus)
17 mA (alle LEDs ein)

 Schaltleistung

5 – 30V / max. 8x 120 mA bei 15V
Datenblatt des TBD62783APG beachten!

Datenblatt, Schaltplan

i2c-hs-output+optokoppler_db.pdf

   

Digitale Transistor-Ausgangskarte 8-Bit mit Optokoppler

NEU mit Busverbinder-Stecksystem

Galvanische Trennung der Ausgänge

Bausatz ab 17,90 €
im Onlineshop unter
www.horter-shop.de

Mit der Ausgangskarte können digitale Verbraucher mit höherem Ausgangsstrom, z.B. Magnetventile ein- und ausgeschaltet werden.

Der verwendete Leistungstransistor BD676A kann bei 40V 1A schalten.
Bitte für ausreichende Kühlung der Ausgangskarte sorgen.

Jeder Ausgangs-Transistor ist mit einem Optokoppler galvanisch getrennt.

Technische Daten:

Versorgung

5V für die I2C-Elektronik
5-30V für die Last

Stromaufnahme
I2C-Elektronik

2,8 mA (alle LEDs aus)
17 mA (alle LEDs ein)

 Schaltleistung

40 V / 1A

Datenblatt, Schaltplan

i2c-hs-output+optokoppler+transistor_sp.pdf

   

Analoge Eingangskarte 5 Kanal 10-Bit

analoge SPS-Eingangskarte zum Erweitern des Raspberry-PI

Bausatz ab 19,90 €
im Onlineshop unter
www.horter-shop.de

Mit der analogen Eingangskarte können Spannungen  0-10 V von Temperatursensoren oder Potentiometern in die SPS eingelesen werden.

Die Auflösung des I2C-AD-Wandlers beträgt 10-Bit. Die Eingangsspannung wird mit Präzisionswiderständen (0,1%) heruntergeteilt und mit der internen Referenzspannungsquelle 2,048V des PIC-Prozessors verglichen. 

Durch anpassen der Eingangs-Spannungsteiler können auch andere Messbereiche realisiert werden.

Es lassen sich auch Temperatursensoren, z.B. der LM335, direkt anschließen.

Technische Daten:

Versorgung

5V für die I2C-Elektronik

Stromaufnahme
I2C-Elektronik

7,5 mA

Mess-Spannung
Eingangswiderstand

 0-10V (max. 25V)
150 kOhm

 Datenblatt, Schaltplan

 i2c-hs-analog-input_db.pdf

   

  Analoge Ausgangskarte 4 Kanal 10-Bit

analoge SPS-Ausgangskarte zum Erweitern des Raspberry-PI

Bausatz ab 26,90 €
im Onlineshop unter
www.horter-shop.de

 

Mit der analogen Ausgangskarte können vier Analogsignale von 0-10V erzeugt werden.

Die Auflösung des I2C-DA-Wandlers beträgt 10 Bit.

Für das 0-10V Signal braucht die Karte eine zusätzliche Spannungsquelle von 12-24V.

Technische Daten:

Versorgung

5V für die I2C-Elektronik
12-24V für den Analogwert

Stromaufnahme
I2C-Elektronik

7,5 mA

 Ausgangsspannung

 0-10V
max 20mA

 Datenblatt, Schaltplan

 i2c-hs-analog-output_db.pdf