RevPiModIO - Python3 Direktzugriff auf IOs

Hier kannst du dein Revolution Pi Projekt der Community vorstellen
User avatar
RevPiModIO
KUNBUS
Posts: 322
Joined: 20 Jan 2017, 08:44
Answers: 0
Contact:

Re: RevPiModIO - Python3 Direktzugriff auf IOs

Post by RevPiModIO »

UPDATE von RevPiModIO2 auf Version 2.0.6 vom 02.11.2017!

Alle Änderungen in unserem [Changelog]

Allgemeine Informationen zur Version 2 - Öffnen
Dokumentation zur Version 2 - Öffnen

Code: Select all

pi@RevPi ~/ $ sudo apt-get update

# Installieren - Version 2
pi@RevPi ~/ $ sudo apt-get install python3-revpimodio2

# Updaten (alles)
pi@RevPi ~/ $ sudo apt-get dist-upgrade
Manuelle Installation und Download der Quellen.
python3-RevPiModIO - https://revpimodio.org/ || Der RevPi ist das Beste, was passieren konnte!
User avatar
RevPiModIO
KUNBUS
Posts: 322
Joined: 20 Jan 2017, 08:44
Answers: 0
Contact:

Re: RevPiModIO - Python3 Direktzugriff auf IOs

Post by RevPiModIO »

Die aktuelle RevPiModIO2 Version kann über das Netzwerk auf das Prozessabbild zugreifen. Damit können virtuelle Devices mit Daten von beliebigen Rechnern im Netzwerk versorgt werden.

Auch der RaspberryPi, mit seinen GPIOs, kann werwendet werden: https://revpimodio.org/gpio-zu-revolution/

Da man auch auf den Rechnern mit dem RevPiModIO-Modul arbeitet, verwendet man exakt die selbe Syntax, außer bei der Instantiierung!
[Dokumentation]
python3-RevPiModIO - https://revpimodio.org/ || Der RevPi ist das Beste, was passieren konnte!
digohm
Posts: 35
Joined: 10 Aug 2017, 23:00
Answers: 0

Re: RevPiModIO - Python3 Direktzugriff auf IOs

Post by digohm »

Hallo,

erstmal hoffe ich, dass es in Ordnung ist in diesem Thema Fragen zu stellen :)
Ich habe bereits einiges mit dieser tollen Software RevPiModIO bewerkstelligen können. Jetzt möchte ich meine Motoren via Modbus RTU ansteuern. Dies funktioniert via Notebook einwandfrei.
Jetzt ist meine Frage wie sende ich den Befehl aus dem Screenshot via RevPiModIO?
Motor.JPG
Motor.JPG (51.02 KiB) Viewed 35938 times
In Pictory ist soweit alles richtig konfiguriert:
Pictory.JPG
Pictory.JPG (60.3 KiB) Viewed 35938 times
Nur wie sende ich jetzt den Befehl 0004 0000 5000 0250 2000 2000 0000 0000 via Python?
Ich habe schon alle möglichen Varianten von rpi.io.Output_Word_1_i05.value = '000400005000025020002000' probiert und bekomme entweder die Beschwerde das es sich um einen String handelt oder das der int zu groß ist.
Muss man das irgendwie als Array senden?
Ich würde mich freuen, wenn ihr mir hier etwas auf die Sprünge helfen könntet :)

LG
Tom
User avatar
volker
Posts: 1046
Joined: 09 Nov 2016, 15:41
Answers: 1

Re: RevPiModIO - Python3 Direktzugriff auf IOs

Post by volker »

Hi,
wie es mit der Lib von Sven geht kann ich Dir leider nicht sagen (am besten schreibst Du so was aber in das dafür eingerichtete Forum: viewforum.php?f=41). Aber ich kann Dir verraten, wie man es mit Python alleine problemlos ins Prozessabbild bekommt.
Ich setze dabei mal voraus, dass Du Dir den Offset im PA vorab besorgst (entweder einmalig über die Ausgabe des Exports in PiCtory oder aber über einen IOCLT Aufruf wie im Tutorial von Dirk beschrieben). Der Offset der Prozessvariablen "Output_Word_1_i05" soll jetzt in meinem Beispiel also in einer Pythonvariable "OUTPUT_WORD_1_I05" stehen.

Code: Select all

import struct

f=open("/dev/piControl0","wb+",0)
f.seek(OUTPUT_WORD_1_I05)
x = struct.pack('HHHHHHHH', 4,0,5,250,2000,2000,0,0) 
f.write(x)
f.close()
Also kein Hexenwerk, oder?
Unser RevPi Motto: Don't just claim it - make it!
digohm
Posts: 35
Joined: 10 Aug 2017, 23:00
Answers: 0

Re: RevPiModIO - Python3 Direktzugriff auf IOs

Post by digohm »

Vielen Dank! Das hat traumhaft funktioniert :)
Der Vollständigkeit halber werde ich im anderen Forum auch noch posten damit dann beide Möglichkeiten geklärt sind.
User avatar
RevPiModIO
KUNBUS
Posts: 322
Joined: 20 Jan 2017, 08:44
Answers: 0
Contact:

Re: RevPiModIO - Python3 Direktzugriff auf IOs

Post by RevPiModIO »

Version RevPiModIO2 2.2.1 vom 01.08.2018 - Download

Unterstützt Revolution Pi Core und Connect!

Für den Connect gibt es eine automatische Triggerfunktion des Hardware-Watchdogs!

Versionslog

(WHEEZY, JESSIE und STRETCH kompatibel)
python3-RevPiModIO - https://revpimodio.org/ || Der RevPi ist das Beste, was passieren konnte!
User avatar
volker
Posts: 1046
Joined: 09 Nov 2016, 15:41
Answers: 1

Re: RevPiModIO - Python3 Direktzugriff auf IOs

Post by volker »

Super Sven, dass Du so schnell bereits die Connect Features in die Bibliothek aufgenommen hast.

Bitte lest aber auch mal hier:
viewtopic.php?f=3&t=862
Bei der Verwendung des automatischen Resets vom watchdog ("triggern" tut man den WD nicht, das macht er selber wenn er zuschlägt), bitte die Anmerkungen in dem o.g. Beitrag lesen. Das macht nämlich eigentlich nur für Debug- oder Entwicklungsphase Sinn - in einem produktiven System würde so ein automatisches Reset den Sinn eines watchdog ab absurdum führen.
Unser RevPi Motto: Don't just claim it - make it!
User avatar
RevPiModIO
KUNBUS
Posts: 322
Joined: 20 Jan 2017, 08:44
Answers: 0
Contact:

Re: RevPiModIO - Python3 Direktzugriff auf IOs

Post by RevPiModIO »

Hi Volker!

Danke für den Hinweis! Da war ich wohl zu "schnell" und habe der Funktion einen schlechten Namen gegeben. Ich "trigger" den Watchdog natürlich nicht sondern "toggle" ihn. Darum habe ich die Funktion jetzt umbenannt und ein neues Update nachgeschoben.

Aus .core.watchdogtrigger ist nun .core.wdautotoggle geworden!!! Ich denke das macht DEUTLICH mehr Sinn!

PS: Die Funktion sollte natürlich nicht der alleinige Bestandteil des Python-Programms sein. Sie sollte nur verwendet werden, wenn das Python-Programm die eigentliche Arbeit (Steuern, Daten erfassen, usw.) macht. Sollte das Programm abstürzen, würde der WD nicht mehr getoggled werden und der Connect einen Restart machen. Mal sehen ob man diese Funktion noch mit zusätzlichen Systembedingungen verknüpft, dann hätte man noch mehr Sicherheit.
Wenn man sich selber um Auswertefunktionen kümmert, sollte man den Watchdog selber triggern. Dafür bietet RevPiModIO .core.wd.value = True / False an.

Also bitte eure Repositories mit der Version 2.2.2 aktualisieren, bevor die 2.2.1 in den Umlauf kommt!
https://revpimodio.org/quellen/quellen2/

Gruß, Sven
python3-RevPiModIO - https://revpimodio.org/ || Der RevPi ist das Beste, was passieren konnte!
User avatar
RevPiModIO
KUNBUS
Posts: 322
Joined: 20 Jan 2017, 08:44
Answers: 0
Contact:

Re: RevPiModIO - Python3 Direktzugriff auf IOs

Post by RevPiModIO »

Version 2.3.1

Fragen und Antworten HIER
python3-RevPiModIO - https://revpimodio.org/ || Der RevPi ist das Beste, was passieren konnte!
User avatar
RevPiModIO
KUNBUS
Posts: 322
Joined: 20 Jan 2017, 08:44
Answers: 0
Contact:

Re: RevPiModIO - Python3 Direktzugriff auf IOs

Post by RevPiModIO »

Version 2.5.7

Wir haben einige wichtige Aktualisierungen seit RevPiModIO 2.5.3!
Update-Log

Info: Momentan hat die Kunbus sehr alte Versionen unserer Software in deren Repositories! Das Update muss also manuell oder über unser eigenes Repository eingespielt werden:
https://revpimodio.org/unser-repository/
python3-RevPiModIO - https://revpimodio.org/ || Der RevPi ist das Beste, was passieren konnte!
Post Reply