Page 1 of 1

Probleme bei IO-Ansteuerung/-Auslesen mit RevPi Python PLC Loader

Posted: 02 Apr 2018, 19:10
by Andreas
Hallo,

ich versuche mich mit der Anwendung RevPiPyPLC unter Windows (sowohl Installer, als auch Tarball wurden ausprobiert) die IOs des RevPi anzusteuern und arbeite mit einer Modul-Konfiguration mit RevPi Core, AIO und DIO (Aufbau von rechts nach links).

Die Module werden korrekt von RevPiPyPLC erkannt. Ich kann ein PLC-Programm herunter-, hochladen und starten. Download von PiCtory ist auch möglich.

Mein Problem besteht darin, dass das Auslesen/Setzen der IOs nicht richtig funktioniert (bisher habe ich nur die DIO getestet):
  • Es werden 3 Inputs angezeigt, die laut piTest nicht gesetzt sind.
  • Während des Programmlaufs wird keine Änderung an den IOs angezeigt.
  • Beim Setzen eines Ausgangs über RevPiPyPLC wird während dem Drücken auf die Checkbox das Häckchen gesetzt, anschließend aber sogleich zurückgesetzt. Der Ausgang wird jedoch im RevPi gesetzt, kann jedoch anschließend nicht mehr über RevPiPyPLC zurückgesetzt werden.
Meine revpiload.conf sieht wie folgt aus:

Code: Select all

[DEFAULT]
autoreload = 0
autostart = 0
plcworkdir = /var/lib/revpipyload
plcprogram = program.py
plcarguments =
plcuid = 1000
plcgid = 1000
plcslave = 1
plcslaveacl = 192.168.178.20,1
plcslaveport = 55234
pythonversion = 3
rtlevel = 0
xmlrpc = 3
xmlrpcacl = 192.168.178.20,1
zeroonerror = 0
zeroonexit = 0
Hat jemand Erfahrung mit RevPiPyPLC?

Viele Grüße und danke im voraus
Andreas

Re: Probleme bei IO-Ansteuerung/-Auslesen mit RevPi Python PLC Loader

Posted: 02 Apr 2018, 19:39
by volker
Hallo Andreas,
verräts Du uns noch, von wem oder woher diese Anwendung stammt? Bietet denn der Autor keinen Support?

Re: Probleme bei IO-Ansteuerung/-Auslesen mit RevPi Python PLC Loader

Posted: 03 Apr 2018, 17:27
by benjamin
Hallo Andreas,

hier mal meine cfg.

[DEFAULT]
autoreload = 0
autostart = 0
plcworkdir = /var/lib/revpipyload
plcprogram = test_faytech.py
plcarguments =
plcuid = 1000
plcgid = 1000
plcslave = 1
plcslaveacl = 192.168.2.*,1 10.12.3.*,1 10.12.9.*,1 10.12.1.*,1
plcslaveport = 55234
pythonversion = 3
rtlevel = 0
xmlrpc = 3
xmlrpcacl =
zeroonerror = 0
zeroonexit = 0

Funktioniert ohne Probleme.

Wenn du Ausgänge über den Loader setzen willst, darf kein Programm laufen, da das Programm das Prozessabbild direkt wieder überschreibt.
Ist die config von dir vor oder nach dem Hochladen deines eigenen Programmes? Wie heißt dein Programm? program.py ist der Standartname nach der installation.
Sollte dein Programm anders heißen, wurde es nicht richtig hochgeladen. Sonst würde der Name deines Programms bei plcprogram = stehen.
Löch mal die IP bei xmlrpcacl =.


Gruß
Benjamin

Re: Probleme bei IO-Ansteuerung/-Auslesen mit RevPi Python PLC Loader

Posted: 05 Apr 2018, 11:18
by RevPiModIO
Hallo Andreas!

Doch klar bietet der Autor (ich) Support :D

Sagst du mir einmal, welche Versionen du von RevPiPyLoad und RevPiPyControl verwendest?
Dein Hardwarekonfiguration ist in piCtory (von links nach rechts) dann: 30|DIO, 31|AIO, 0|Core ?

Generell kannst du einmal probieren, wie Benni schon schrieb, das PLC-Programm über den Button "PLC Stopp" zu beenden. Dann sollte unten "NOT RUNNING" stehen.

Dann gehe bitte auf "PLC watch Modus" und aktiviere die Kontrollboxen "Aktualisiere Werte automatisch" und "Schreibe Werte auf RevPi".
Öffne nun das DIO Modul, welches "30 | name" heißen müsste.
Versuche jetzt mal Ausgänge zu setzen / Bzw. Eingänge an der Hardware zu setzen.

Alternativ könntest du mir auch deine piCtory-Konfiguration mal herunterladen und zusenden, dann werde ich das direkt mit deiner Config mal testen. Die Hardware habe ich hier.

Gruß, Sven

Re: Probleme bei IO-Ansteuerung/-Auslesen mit RevPi Python PLC Loader

Posted: 05 Apr 2018, 12:32
by volker
ach so... "RevPiPyPLC" hatte ich jetzt gar nicht mehr auf dem Schirm Sven...
Aber: Es wird sehr bald ein eigenes Unterforum für die verschiedenen Softwarekomponenten von Sven geben. Dort könnt ihr Euch dann sehr gezielt über die Details austauschen. (Gib mir ein Go Sven, wenn Du soweit bist).