Weitere Baugruppen in CODESYS einfügen

In den beiden Beispielprogrammen

  • Horter_Kalb_Raspi_Support_FB_Example.Project
  • Horter_Kalb_Raspi_Support_IO_driver_Example.Project

sind jeweils eine Baugruppe mit der Basisadresse projektiert.

  • I2HE – digitale Eingangskarte mit PCF 8574A =  Adresse 38hex
  • I2HA – digitale Ausgangskarte mit PCF 8574 = Adresse 20 hex
  • I2HAE – analoge Eingangskarte = Adresse 08hex
  • I2HAA – analoge Ausgangskarte = Adresse 58 hex

Sollen weitere Karten mit Codesys angesprochen werden müssen diese im I2C-Master angelegt bzw. kopiert werden.

Ausnahme:
Falls Sie die Module über unsere Funktionsbausteine ansprechen möchten, dürfen diese NICHT im Hardwarebaum eingesetzt sein.
Siehe auch Artikel Funktionsbausteine für Codesys

Baugruppen im I2C-Master kopieren

Weitere I2C-Baugruppen in CODESYS einbauen

Weitere I2C-Baugruppen in CODESYS einbauen

Baugruppen adressieren

Wichtig:

Im Feld „Hardware address“ muss die I2C-Slaveadresse in dezimal als 7-Bit Adresse eingetragen werden.

Auf unseren Baugruppen sind die Adressen im 8-Bit dezimal Format aufgedruckt.

Hier die Adressen der Baugruppen als Tabelle.

Im CODESYS muss die 7-Bit Adresse als Dezimalzahl eingetragen werden.

 

I2HA – digitale Ausgangskarte mit PCF 8574
PCF8574 8-Bit dez 8-Bit hex 7-Bit dez 7-Bit hex
OFF OFF OFF 64 40 32 20
OFF OFF ON 66 42 33 21
OFF ON OFF 68 44 34 22
OFF ON ON 70 46 35 23
ON OFF OFF 72 48 36 24
ON OFF ON 74 4A 37 25
ON ON   OFF 76 4C 38 26
ON   ON   ON 78 4E 39 27

I2HE – digitale Eingangskarte mit PCF 8574A
PCF8574A 8-Bit dez 8-Bit hex 7-Bit dez 7-Bit hex
OFF OFF OFF 112 70 56 38
OFF OFF ON 114 72 57 39
OFF ON OFF 116 74 58 3A
OFF ON ON 118 76 59 3B
ON OFF OFF 120 78 60 3C
ON OFF ON 122 7A 61 3D
ON ON   OFF 124 7C 62 3E
ON   ON   ON 126 7E 63 3F

 

I2HAE – analoge Eingangskarte
Analog IN 8-Bit dez 8-Bit hex 7-Bit dez 7-Bit hex
OFF OFF OFF OFF 16 10 8 08
OFF OFF OFF ON 18 12 9 09
OFF OFF ON OFF 20 14 10 0A
OFF OFF ON ON 22 16 11 0B
OFF ON OFF OFF 24 18 12 0C
OFF ON OFF ON 26 1A 13 0D
OFF ON ON   OFF 28 1C 14 0E
OFF ON   ON   ON 30 1E 15 0F
ON OFF OFF OFF 48 30 24 18
ON OFF OFF ON 50 32 25 19
ON OFF ON OFF 52 34 26 1A
ON OFF ON ON 54 36 27 1B
ON ON OFF OFF 56 38 28 1C
ON ON OFF ON 58 3A 29 1D
ON ON ON   OFF 60 3C 30 1E
ON ON   ON   ON 62 3E 31 1F

 

I2HAA – analoge Ausgangskarte
Analog OUT 8-Bit dez 8-Bit hex 7-Bit dez 7-Bit hex
OFF OFF OFF OFF 176 B0 88 58
OFF OFF OFF ON 178 B2 89 59
OFF OFF ON OFF 180 B4 90 5A
OFF OFF ON ON 182 B6 91 5B
OFF ON OFF OFF 184 B8 92 5C
OFF ON OFF ON 186 BA 93 5D
OFF ON ON   OFF 188 BC 94 5E
OFF ON   ON   ON 190 BE 95 5F
ON OFF OFF OFF 208 D0 104 68
ON OFF OFF ON 210 D2 105 69
ON OFF ON OFF 212 D4 106 6A
ON OFF ON ON 214 D6 107 6B
ON ON OFF OFF 216 D8 108 6C
ON ON OFF ON 218 DA 109 6D
ON ON ON   OFF 220 DC 110 6E
ON ON   ON   ON 222 DE 111 6F

 

I2HSM – I2C-Multiplexer mit PCA9544A
Nur mit unserem Funktionsbaustein ansprechbar
PCF8574 8-Bit dez 8-Bit hex 7-Bit dez 7-Bit hex
OFF OFF OFF 224 E0 112 20
OFF OFF ON 226 E2 113 71
OFF ON OFF 228 E4 114 72
OFF ON ON 230 E6 115 73
ON OFF OFF 232 E8 116 74
ON OFF ON 234 EA 117 75
ON ON   OFF 236 EC 118 76
ON   ON   ON 238 EE 119 77

I2HSS – I2C-Switch mit PCA9545A
Nur mit unserem Funktionsbaustein ansprechbar
PCF8574 8-Bit dez 8-Bit hex 7-Bit dez 7-Bit hex
OFF OFF 224 E0 112 20
OFF ON 226 E2 113 71
ON OFF 228 E4 114 72
ON ON 230 E6 115 73

 

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 50€ 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.
Am Besten Sie installieren die 32-Bit Version.
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 (18207 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-Simulationsbaugruppen

Für Ausbildung, Schulen oder für Ihr Selbststudium haben wir Baugruppen entwickelt, die als Sollwertsteller an die SPS-Baugruppen angeschlossen werden können. Damit können Sie oder Ihre Schüler die entwickelten SPS-Programme testen.

Simulationsbaugruppe für die digitale Eingangskarte

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

Sollwertsteller für acht Digitalsignale zum Anschluss an die digitale SPS-Eingabekarte

Mit den 8 Kippschaltern können Sie die Signale an die SPS-Eingangskarte vorgeben. Je eine Low Current LED (2 mA) zeigt den aktuellen Status des Eingangs an.

Technische Daten:

Versorgung

12V

Datenblatt, Schaltplan SIM-DI_Digital-Simulatior_db.pdf
   

Simulationsbaugruppe für die analoge Eingangskarte

SPS-Simulator_Analogsteller

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

Sollwertsteller für fünf Analogsignale zum Anschluss an die analoge  SPS-Eingabekarte 

Mit den 5 Potentiometern können Sie einen Analogwert 0-10V an die Analog-Eingabekarte vorgeben. An je einer Low Current LED (2 mA) wird der Sollwert über die Helligkeit der LED angezeigt.

Technische Daten:

Versorgung

12V

 Datenblatt, Schaltplan

 SIM-AI_Sollwertgeber_db.pdf

   

 

 Digitalanzeige für die analoge Ausgangskarte

SPS-Simulator_Messgerät

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

Digitalanzeige für sechs Analogwerte 0-30V zum Anschluss an die analoge SPS-Ausgabekarte.

Mit dem Drehschalter können Sie zwischen 6 Messwerten  auswählen. Die Spannung wird Ihnen dann an der Digitalanzeige mit zwei Nachkommastellen angezeigt.

Die Kanäle 1-5 sind auf die untere Klemmleiste angeschlossen. Der Kanal 6 liegt oben auf der 2,6mm Bananenbuchse. Hier kann ein Analogwert von einer anderen Karte gemessen werden.

Technische Daten:

Versorgung

12V

 Datenblatt, Schaltplan

 SIM-VM_Analoganzeige_db.pdf

   

 Falls Sie schon vorab Interesse an den Baugruppen haben melden Sie sich einfach über den Blog bei uns.

SPS-Software logi.cals für Raspberry-PI

Die Firma Logi.cals bietet eine Entwicklungsumgebung an mit der man SPS-Programme nach der Norm IEC 61131-3 erstellen und auf den PI ausführen kann.

logi.CAD 3 ist ein Werkzeug, mit dem die verschiedensten SPS (speicherprogrammierbare Steuerungen) gemäß der Industrienorm IEC 61131-3 programmiert werden können. logi.CAD 3 stellt komfortable Editoren für die IEC-Programmiersprachen ST (Strukturierter Text) und FBS (Funktionsbaustein-Sprache) zur Verfügung.

Eine Benutzerdokumentation zu logi.CAD 3 finden Sie hier:
IDE Documentation – Release-Notes für Version

1. Entwicklungsumgebung Logi.CAD 3 compact herunterladen

Auf der Homepage von Logi.cals können interessierte SPS-Programmierer einen Download-Link für das kostenlose Logi.CAD 3 compact anfordern.

In dem ZIP-Archiv ist die Entwicklungsumgebung für Win-32 und Win-64 enthalten. Einfach die richtige Version (32 oder 64 Bit) auf dem Rechner entpacken und starten.

2. Raspberry-Pi vorbereiten

In der Logi.cals Dokumentation finden Sie eine „Raspberry-Pi Kurzanleitung Hardware/Software“ sowie eine hervorragende Schritt für Schritt Anleitung mit der Überschrift „Raspberry Pi in Betrieb nehmen“ zur Installation und Konfiguration des Raspberry-Pi.
Ich erspare mir eine Ausführliche Anleitung. Hier nur die einzelnen Schritte im groben Ablauf

  • Aktuelle light-Version von Raspberry.org herunterladen und mit dem Win32 Disk Imager auf eine SD-Karte kopieren.
    Z.B. Raspberry Pi OS (32-bit) Lite (Minimal image based on Debian Buster)
    https://www.raspberrypi.org/downloads/raspberry-pi-os/Monitor und Tastatur anschließen und PI zum ersten mal booten lassen.
  • Anmelden mit dem Standard-Benutzer pi und Passwort raspberry (ev. raspberrz bei einer duetschen Tastatur)
  • IP-Adresse des PIs ermitteln mit dem Befehl ip a
  • Raspberry konfigurieren mit dem Befehl sudo raspi-config
    – Tastaturlayout umstellen auf Country=German, Layout=Germany
    – Zeitzone Berlin
    – SSH aktivieren
    – I2C aktivieren
    – Upgrade durchführen
  • I2C-Tools installieren sudo apt-get install i2c-tools
    – über den Befehl sudo i2cdetect -y 1 sollten nun angeschlossene I2C-Slaves angezeigt werden
  • Raspberry mit sudo shutdown -h 0 herunterfahren und mal ein Backup der SD-Karte machen.

3. Raspberry Pi konfigurieren

Die einzelnen Schritte von der logi.CAD 3 Documentation „Raspberry Pi konfigurieren“ nacheinander durchführen
In meiner sshd_config fand ich die angegebene Zeile PermitRootLogin without-password nicht.
Die Zeile PermitRootLogin yes einfach hinter die Zeile  #PermitRootLogin prohibit-password schreiben hat funktioniert.

Die Datei raspi-blacklist.conf war bei meinem PI leer bzw. schreibgeschützt. Mach mal weiter ohne diese zu verändern.
Mit PuTTY zum Raspberry Pi verbinden und als Anwender root mit dem neuen Passwort anmelden.

4. logi.RTS auf Raspberry Pi installieren und starten

Es muss immer exakt zu logi.CAD 3 passende Version von logi.RTS auf den PI installiert werden. Sie finden die Zugehörigkeitsliste unter folgendem Link: https://help.logicals.com/lco3docu/v2.9.0/user-documentation/de/release-notes-fuer-version

Folgen Sie den Anweisungen auf der Seite „logi.RTS auf Raspberry Pi installieren und starten„. Bei mir hat das ohne Probleme funktioniert.

5. DEMO-Projekt

Hier ein Demo-Projekt mit unseren SPS-Baugruppen logi.cals Demo-Projekt - RaspiPLC_IOTest.rar 270 kB (7695 Downloads )

  • Digitale Eingangskarte 8-Bit mit PCF8574A
I2HE, I2EOK
  • Digitale Ausgangskarte 8-Bit mit PCF8574
I2HA, I2AOK, I2AT, I2WS
  • Analoge Eingangskarte 5 Kanal 10-Bit
I2HAE
  • Analoge Ausgangskarte 4 Kanal 10-Bit
I2HAA