Mit RevPi7 Daten aus einer Siemens SPS lesen

In diesem Tutorial erfährst Du, wie Du Daten aus einer Siemens SPS auslesen kannst. Zudem haben wir für Dich ein Beispielprojekt zu diesem Tutorial erstellt. Du kannst das Beispielprojekt für das TIA-Portal hier  herunterladen und gleich  mitmachen. Dafür benötigst Du:

-Dein RevPi Connect
-Eine Siemens SPS
-Das Programm QMod Master

 Beispiel

  1. Auf der Siemens SPS wird ein Ausgang (lamp mit der Adresse Q0.0) für eine bestimmte Zeit gesetzt.
  2. Dieser wird mit Hilfe vom „RevPi7 Modul“ ausgelesen und in dem Prozessabbild abgebildet.
  3. In Verbindung mit einem „ModbusTCP SLAVE Modul“ kann der Zustand des Ausganges mit einem Modbus TCP Master (QModMaster) ausgelesen werden.

Das Beispielprojet wurde mit TIA Portal V15 erstellt und mit einer SIMATIC S7-1200 verwendt.

Projektaufbau in PiCtory konfigurieren

  • Gib die IP-Adresse Deines RevPi Cores in die Adresszeile Deines Browsers ein.

Das Anmelde-Fenster öffnet sich.

pictory-anmelden
  • Melde Dich mit dem Benutzernamen “admin” an.
  • Gib Dein Passwort ein. Du findest es auf dem Aufkleber an der Seite Deines RevPi Cores.
  • Klicke auf “Login”
  • Klicke auf “Start”um PiCtory zu öffnen.
Apps Reiter Screenshot

 

  • Stelle Deinen Aufbau auf der virtuellen Hutschiene zusammen.

Tipp! Falls Du das erste Mal mit PiCtory arbeitest, findest Du hier ein Tutorial mit den Grundlagen von PiCtory.

Im nächsten Schritt konfiguriern wir das RevPi7 Modul.Denke daran, dass die Werte, die wir hier einstellen, für dieses Beispiel passend sind. Es ist möglich, dass Du für Deine Anwendung andere Werte benötigst.

  • Gib die SPS-Kenndaten an:

  • Definiere die Action-ID.

  • Speichere die Konfiguration. Du hast dazu 2 Möglichkeiten:
    – File>Safe as. Wenn Du die Datei erneut bearbeiten möchtest, musst du sie öffnen.
    – File> Safe as Start-Config. Die Datei steht Dir beim nächsten Start von PiCtory gleich zur Verfügung.

  • Klicke auf Tools>Reset Driver um den Treiber neu zu starten.

Im nächsten Arbeitsschritt erstellen wir ein Python Script um die Daten von RevPi7 Modul auf den Modbus TCP Slave zu kopieren.

  • Öffne die Shell und melde Dich dort an.
  • Lege die Datei Scriptname.py in nano an:
sudo nano Scriptname.py
  • Schreibe folgendes Script in die Datei:
#!/usr/bin/python
import time
import struct

f=open("/dev/piControl0","wb+",0)

while true:
	time.sleep(0.01) #time in seconds
	f.seek(11)  #offset Input_1 RevPi7 Modul
	x = f.read(1)
	s = struct.unpack('B',x)
	i = s[0] 

	f.seek(1157)  #offset Output_1_i03 Modbus TCP Slave Modul
	i=s[0]
	x = struct.pack('B',i) 
	f.write(x)
  • Speichere und schließe die Datei.
  • Starte das Script.
 pythnon3 Scriptname.py &
  • Öffne jetzt das Programm QMod Master.
    Du kannst hier jetzt die Daten aus der SPS auslesen.