S7 Kommunikation mit RevPi7

Moderator: RevPiModIO

Post Reply
Simon1578
Posts: 4
Joined: 30 Aug 2020, 12:55

S7 Kommunikation mit RevPi7

Post by Simon1578 »

Hallo Freunde des Revolution Pi.

Ich arbeite gerade an einem Projekt, mit dem ich über einen RevPi Connect Daten aus einer S7-1200 Steuerung auslesen möchte. Leider habe ich mit dem RevPi noch nicht viele Erfahrungen machen können, weshalb ich bei diesem Projekt ein wenig Hilfe benötige. Mein Problem dabei ist, dass ich keine Daten aus der SPS bekomme.

Zu meinem bisherigen vorgehen:

1. Mein RevPi Connect ist mit einem Port im Profinet der SPS (IP: 10.10.10.x) angebunden und mit dem anderen Port im Hausnetz (IP: 192.168.178.54).

2. In PiCtory habe ich den RevPi konfiguriert und die Action's der RevPi 7 vorgegeben (Siehe angehängtes Bild)
PiCtory.png
PiCtory.png (445.46 KiB) Viewed 13396 times
3. Im S7 Programm habe ich einen DB angelegt welcher die auszulesenden Daten enthält (Siehe angehängtes Bild) Diese Daten dienen vorerst reinen Test zwecken.
DB20_S7.png
DB20_S7.png (187.76 KiB) Viewed 13396 times
4. Ich habe folgendes Programm geschrieben, welches die Action_Status Variablen der RevPi7 Verbindung auf 1 setzt (Siehe angehängtes Bild)
RevPiMod.png
RevPiMod.png (44.05 KiB) Viewed 13396 times

Code: Select all

import revpimodio2

rpi = revpimodio2.RevPiModIODriver(64, True)

while True:

	rpi.io.Action_Status_1.value = 1
	rpi.io.Action_Status_2.value = 1
	rpi.io.Action_Status_3.value = 1
	rpi.io.Action_Status_4.value = 1

Jedoch bekomme ich im Watch Modus von RevPiModIO keine Daten aus der SPS.

Ich hoffe Ihr könnt mir bei meinem Problem helfen.

Viele Grüße
Simon
User avatar
dirk
KUNBUS
Posts: 2174
Joined: 15 Dec 2016, 13:19

Re: S7 Kommunikation mit RevPi7

Post by dirk »

Hallo Simon, bitte prüfe, ob Dein System auf dem letzten Stand ist. Das kannst Du so erledigen:

Code: Select all

sudo apt update
sudo apt upgrade
und danach einen Neustart durchführen.
Ich verschiebe Deine Post ins "RevPiModIO" Board.
User avatar
Amar
KUNBUS
Posts: 160
Joined: 15 Jul 2019, 12:58

Re: S7 Kommunikation mit RevPi7

Post by Amar »

Hi Simon,
I will first suggest you to start up and get running RevPi7 Project example.

Download link: https://revolution.kunbus.com/tutorials ... rect=en_US

The Word read in Process Image can be verified with example command.
piTest -r Input_1

Once these steps work, you may then proceed with integrating RevPiModIO in that project.

Regards, Amar
KUNBUS
User avatar
RevPiModIO
KUNBUS
Posts: 335
Joined: 20 Jan 2017, 08:44
Contact:

Re: S7 Kommunikation mit RevPi7

Post by RevPiModIO »

Moin Simon!
Ich glaube da ist noch ein Mapping-Fehler drin :(

Der "Dienst" RevPi7 ließt in deiner Konfiguration Daten aus der SPS und schreibt diese in den Input_1 - _4. Das macht er in der angegebenen Zeit, also alle 1000 Millisekunden. Diese Daten werden von RevPi7 also auch immer überschrieben. RevPiModIODriver ist in dem Fall nicht die richtige Wahl, weil die Inputs von RevPi7 verwaltet werden!

Wenn du Daten an die SPS senden willst, dann musst du auf dem RevPi in die Ausgänge schreiben und diese in RevPi7 mit einem Eintrag versehen, der ein "write" macht und aus dem angegebenen Ausgang die Daten nimmt.

Die Logik der IOs beider Seiten ist vereinfacht so zu verstehen:
Siemens Outputs = RevPi Inputs
RevPi Outputs = Siemens Inputs

Da drehen sich die Begrifflichkeiten ein wenig mit Input/Output.

Lass dein Pythonprogramm mal weg und starte nur den RevPi mit der piCtory Konfiguration. Wenn du dann den Watch Mode verwendest und die Inputs ließt (Aktualisiere Werte automatisch) müssen im RevPi7 Device die Daten der SPS erscheinen, wenn die Siemens SPS in die Adressen Daten schreibt. Andersherum, wenn du Werte mit der Siemens lesen willst, die der RevPi schreiben soll, musst du deine Konfiguration ändern und RevPi-Ausgänge per "write" an die Siemens übertragen. Im Watch Mode kannst du dann auch natürlich Ausgänge setzen zum Testen!

Wenn das klappt, dann kann das Python-Programm entwickelt werden, welches aber auf keinen Fall den RevPiModIODriver verwendet, sondern, wenn nur das RevPi7 Device gebraucht wird, RevPiModIOSelected :D

Gruß, Sven
python3-RevPiModIO - https://revpimodio.org/ || Der RevPi ist das Beste, was passieren konnte!
Simon1578
Posts: 4
Joined: 30 Aug 2020, 12:55

Re: S7 Kommunikation mit RevPi7

Post by Simon1578 »

Hallo und Danke für eure Hilfe. Ich werde mich nächste Woche mal wieder daran machen und eure Ratschläge ausprobieren. :)

Viele Grüße
Simon
Erik
Posts: 1
Joined: 05 Oct 2020, 15:07

Re: S7 Kommunikation mit RevPi7

Post by Erik »

Hey,
ich hätte da mal eine Frage bezüglich der PiCtory Konfig ich würde gerne meinen RevPI Core nutzen um Daten aus einer S7 Steuerung auszulesen.
Dabei habe ich schon rausgefunden das ich in PiCtory das RevPI7 Modul hinzufügen sollte, Problem nur....... genau dieses Modul ist bei mir nicht vorhanden.

Pictroy Version: 1.2.5

Muss ich den kompletten RevPi auf einen neuen Softwarestand umrüsten oder gibt es ein Update/Upgrade bzw. wie sollte ich jetzt vorgehen?

Mit besten Grüßen

Erik
Pradip
Posts: 10
Joined: 09 Jul 2020, 09:15

Re: S7 Kommunikation mit RevPi7

Post by Pradip »

Amar wrote: 07 Sep 2020, 16:33 Hi Simon,
I will first suggest you to start up and get running RevPi7 Project example.

Download link: https://revolution.kunbus.com/tutorials ... rect=en_US

The Word read in Process Image can be verified with example command.
piTest -r Input_1

Once these steps work, you may then proceed with integrating RevPiModIO in that project.

Regards, Amar
Hello Amar,
I have followed all the steps in this tutorial https://revolution.kunbus.com/tutorials ... h-revpi-7/
and checked data using command piTest -r Input_1
but I'm not ablr to read data from Siemens 1200 PLC.
Let me know if I missing something to get desired result.

Regards,
Pradip Jadhav
User avatar
Amar
KUNBUS
Posts: 160
Joined: 15 Jul 2019, 12:58

Re: S7 Kommunikation mit RevPi7

Post by Amar »

Hello Pradip,
From Buster image onwards, we no longer support RevPi7 .You may directly check out the 3rd Party snap7 library for a possible solution since Revpi7 used the snap7 library.

Snap7
http://snap7.sourceforge.net/

Regards,
Amar
KUNBUS
Post Reply