wir haben ein Problem mit unseren Kunbus RevolutionPi SPSn. Seit einigen Wochen suchen wir vergebens einen stabilen HIGH Ausgang zu erzeugen.
Egal ob wir das DIO Modul oder die integrierte LED im Core 3+ verwenden, ist immer ein flackern zu erkennen.
Verwendet werden ein RevPi Core 3+ und ein RevPi DIO.
In unserer Applikation verwenden wir folgende Konfiguration:
rpi = revpimodio2.RevPiModIO(autorefresh=True)
rpi.handlesignalend()
rpi.mainloop(blocking=False).
HIGH von Output:
rpi.io.O_4.value = True
Digital Ausgänge flackern
Moderator: RevPiModIO
Hi fabian123, ich habe Deine Anfrage hierher verschoben denn hier befinden sich die Spezialisten welche RevPiModIO entwickelt haben.
- RevPiModIO
- KUNBUS
- Posts: 335
- Joined: 20 Jan 2017, 08:44
- Contact:
Moin Fabian!
Kann es sein, dass ihr mehrere Programme mit RevPiModIO auf einem Gerät laufen lasst? Wenn mehrere Instanzen von RevPiModIO auf einem Gerät laufen, "streiten" sie sich um das Prozessabbild. Wenn ein Ausgang in einer Instanz gesetzt wird, dann wird Dieser von der anderen Instanz, wo der Ausgang False ist wieder überschrieben. So entsteht ein flackern. Dies bezieht ALLE IOs, auch wenn die Werte nicht verändert werden. Die jeweilige Instanz schreibt aus Sicherheitsgründen IMMER alle Ausgänge in das Prozessabbild! Damit ist die Konsistenz garantiert, dass alle Ausgänge immer exakt den Status haben, den das Steuerungsprogramm erwartet.
Bei der Verwendung von mehreren Instanzen müsste man durch RevPiModIOSelect bestimmte Instanzen auf bestimmte Module binden ODER diese Konsistenzsicherheit deaktivieren durch das hinzufügen von shared_procimg=True beim Instanziieren von RevPiModIO.
Gruß, Sven
Kann es sein, dass ihr mehrere Programme mit RevPiModIO auf einem Gerät laufen lasst? Wenn mehrere Instanzen von RevPiModIO auf einem Gerät laufen, "streiten" sie sich um das Prozessabbild. Wenn ein Ausgang in einer Instanz gesetzt wird, dann wird Dieser von der anderen Instanz, wo der Ausgang False ist wieder überschrieben. So entsteht ein flackern. Dies bezieht ALLE IOs, auch wenn die Werte nicht verändert werden. Die jeweilige Instanz schreibt aus Sicherheitsgründen IMMER alle Ausgänge in das Prozessabbild! Damit ist die Konsistenz garantiert, dass alle Ausgänge immer exakt den Status haben, den das Steuerungsprogramm erwartet.
Bei der Verwendung von mehreren Instanzen müsste man durch RevPiModIOSelect bestimmte Instanzen auf bestimmte Module binden ODER diese Konsistenzsicherheit deaktivieren durch das hinzufügen von shared_procimg=True beim Instanziieren von RevPiModIO.
Gruß, Sven
python3-RevPiModIO - https://revpimodio.org/ || Der RevPi ist das Beste, was passieren konnte!