M2M: SPS Computer/ Raspberry Pi
Website: | xplore-dna.net > Die DNA des digitalen Lernens! |
Kurs: | IOT - OPC UA Kommunikation - NodeRed |
Buch: | M2M: SPS Computer/ Raspberry Pi |
Gedruckt von: | Gast |
Datum: | Sonntag, 4. Mai 2025, 11:56 |
Beschreibung
Dieses Projekt soll ein Beispiel für "Machine to Machine" (M2M) Kommunikation zwischen SPS und einem Computer / eines Raspberry Pi (RPI) sein.
1. SPS Einrichten
In diesem Beispiel wird die S7 1512C-1PN verwendet. Es können aber alle SPS verwendet werden, die in der Lage sind, einen OPC UA Server zu hosten. Über Node-RED wird dann später auf den OPC UA Server der SPS zugegriffen, um die Variablen der SPS zu lesen und zu schreiben. Zum Programmieren der SPS wird TIA Portal V15.1 verwendet. Die Eingänge der SPS werden mit 3 Tastern beschaltet und eine Lampe wird als Ausgang angeschlossen. |
1.1. SPS Projekt erstellen
Nach öffnen des TIA Portals ein neues Projekt erstellen. Dann im Navigationsbereich links ein neues Gerät hinzufügen. Die passende SPS auswählen und bestätigen. |
|
Durch Doppelklick auf die SPS öffnen sich unten die Einstellungen. Den Namen und die IP-Adresse der SPS eingeben. |
|
1.2. Variablen hinzufügen
Über "PLC-Variablen" die Standard-Variablentabelle öffnen. Dort können die Taster für die Eingänge und die Lampe hinzufügen. Die Eingangsvariablen haben immer den Zustand der Taster. In der Gerätekonfiguration unter "IO-Variablen" können
die Ein- und Ausgangsadressen der SPS nachgeschaut werden. |
|
Die PLC Variablen können auch über OPC UA ausgelesen werden. Wir haben uns jedoch entschieden, den Zugriff vom Raspberry Pi über einen Datenbaustein zu ermöglichen. Dieser wird über "Programmbausteine", "Neuen Baustein hinzufügen"
benannt (z.B. "RPI") und hinzugefügt. Dort die Taster, die Lampe und auch eine Merker Variable hinzufügen, die zur Realisierung des Programms benötigt werden. |
|
1.3. Programm Schreiben
Das Beispielprogramm soll beim Betätigen von S0 (NC), Q0 ausschalten. Um Q0 einzuschalten muss zunächst mit S1 (NO) quittiert werden. Danach kann durch Betätigung von S2 (NO) die Lampe auf Q0 eingeschaltet werden. Das Programm wird in Main [OB1] geschrieben. Zunächst wird die Quittierungsfunktion mit einem SR FlipFlop realisiert. Das FlipFlop hält, wenn ein Signal auf S gegeben wird, den high Zustand auf Q, bis Q durch R wieder zurückgesetzt wird. Danach wird die Funktion "Start" programmiert. Das FlipFlop für den Start kann nur setzen, wenn der Taster S2 betätigt ist und quittiert wurde. Die Netzwerke zur genannten Funktion sind im Bild rechts dargestellt. Hinweis: Es wurde "FUP" als Programmiersprache verwendet. Die Sprache kann unter Eigenschaften geändert werden. |
|
Nun müssen alle Ein- und Ausgänge noch den Variablen des Datenbausteins RPI zugewiesen werden, wie rechts im Bild. |
1.4. OPC UA Server Aktivieren
Um den OPC UA Server auf der SPS zu aktivieren, im Gerätemanager auf die SPS gehen und im Einstellungsfenster unter OPC UA den Haken bei OPC UA Server aktivieren auswählen. In dem Feld Server Adressen steht die Adresse des OPC UA Servers. |
|
Nun muss noch der Zugriff auf die Variablen festgelegt werden. In unserem Projekt sollen nur die Variablen im Datenbaustein erkennbar und beschreibbar sein. Die Einstellung wird in den jeweiligen Variablen Tabellen vorgenommen. |
1.5. OPC UA Variablen
Um die Namen der OPC UA Variablen heraus zu finden, welche im SPS Programm verwendet wurden, wird zunächst eine XML-Datei der OPC UA Schnittstelle exportiert. Die Datei kann unter Gerätekonfiguration unter dem Reiter OPC UA exportiert
werden. Zuvor muss das Programm mindestens einmal übersetzt werden. Eine Schatfläche befindet sich in der Schnellzugriffsleiste |
|
Im Anschluss kann die XML Datei z. B. mit Internet Explorer geöffnet werden und mit der Suchfunktion die einzelnen Variablen Adressen herausgesucht werden. |
2. Hardware verdrahten
Um das Programm zum laufen zu bekommen, ist auch eine kleine Verdrahtung notwendig. Die Taster und Leuchtmelder müssen an der SPS und dem Raspberry Pi (RPI) angeschlossen werden. Die genauen Verbindungen können aus dem Schaltplan entnommen werden. Das Projekt kann natürlich auch ohne RPI laufen. Dann wird das Debug Fenster des Computers als Ausgabe genommen. Die LEDs und der RPI entfallen im Schaltplan.
3. Node-RED
Die Installation von Node-RED für PC oder Raspberry Pi ist im Kurs beschrieben. Dort ist auch die Grundlegende Funktion der wichtigsten Nodes beschrieben um den Einstieg in die Programmierumgebung zu erleichtern. |
|
Um auf die Variablen der SPS lesend zu zu greifen benötigt man ein OPCUA-IIoT-Inject Node. Dort dann auf den Reiter OPC UA Nodes gehen und über das Plus eine neue Adresse hinzufügen. Dort können dann die Namen und Adressen, die aus der XML Datei in 1.5 ausgelesen wurden, eingesetzt werden. | |
Ähnlich ist das auch beim OPCUA-IIoT-Listener Node. Dabei nicht vergessen, die Adresse des OPC UA Servers einzutragen. Die Adresse wird unter Kapitel 1.4 angezeigt. |