AIO-Modul Ansteuerung analoger Ausgang

Für Themen rund um die Konfigurationsoftware des Revolution Pi
Post Reply
CfassEH
Posts: 4
Joined: 05 Mar 2025, 07:35

AIO-Modul Ansteuerung analoger Ausgang

Post by CfassEH »

Hallo zusammen,

zum einen bin ich neu hier im Forum als auch neu was das Arbeiten mit dem RevPi in Kombination mit Python angeht. Ich gehöre eher der Fraktion "Learning by doing" an. Von dem her war meine Herangehensweise mit viel "youtube", einige Grundkurse in Python und "copilot" von Microsoft. So viel mal zum bisherigen Hintergrund... ;)

Nun zu meinem eigentlichen Problem:
Die Konfiguration meiner RevPi-Module sieht aktuell folgend aus (siehe Bilder Anhang)
Am AIO-Modul blinkt die LED "OUT" rot. Direkt am 1. Ausgang (Pin 3/I+ und Pin5/Masse) ist ein Multimeter angeschlossen im Modus "Strommessung". Dieses zeigt mir aktuell 4mA an.

Als E/A-Check habe ich folgenden Python-Code geschrieben um den Ausgang anzusteuern und am Multimeter direkt das Ergebnis prüfen zu können:
--------------------------------
import revpimodio2

# Initialisiere das RevPi-Modul
rpi = revpimodio2.RevPiModIO(autorefresh=True)

# Positionsnummer des AIO-Moduls
aio_position = 33


# Funktion zum Setzen des analogen Ausgangs
def set_analog_output(value):
rpi.io.OutputValue_1.value = int(value) # Umwandlung in einen ganzzahligen Wert


try:
while True:
# Abfrage des gewünschten Stromwerts in mA
current_value = float(input("Bitte geben Sie den gewünschten Stromwert in mA ein: "))

# Setze den analogen Ausgang
set_analog_output(current_value)

except KeyboardInterrupt:
print("Programm beendet.")
--------------------------------------------------
Das Programm scheint offensichtlich zu funktionieren, zumindest bekomme ich keinerlei Fehlermeldung in der Konsole.
Allerdings zeigt das Multimeter unverändert 4mA an. Der Ausgang wird also nicht angesteuert.
Ich vermute ganz stark dass dies mit den Einstellungen in PiCtory zusammenhängt.
Bitte um Unterstützung auf diesem Wege... :)
Attachments
Config Pictory3.JPG
Config Pictory2.JPG
Config Pictory1.JPG
User avatar
nicolaiB
KUNBUS
Posts: 1013
Joined: 21 Jun 2018, 10:33
Location: Berlin
Contact:

Re: AIO-Modul Ansteuerung analoger Ausgang

Post by nicolaiB »

Du schreibst die Werte nirgens in das Prozessabbild zurück. Hierzu hast du in deinem Code zwei Möglichkeiten:

a) Du nutzt den RevPiModIo Mainloop im non blocking mode: rpi.mainloop(blocking=False)
b) Du schreibst nach jeden setzen des Ausgangs die IOs explizit: rpi.writeprocimg()

Gruß Nicolai
CfassEH
Posts: 4
Joined: 05 Mar 2025, 07:35

Re: AIO-Modul Ansteuerung analoger Ausgang

Post by CfassEH »

Hallo nicolaiB,
zunächst vielen Dank für die Rückmeldung.
Leider funktionieren beide Lösungen nicht. Hier der angepasste Code für Variante "b"
--------------------------------------------
import revpimodio2

# Initialisiere das RevPi-Modul
rpi = revpimodio2.RevPiModIO(autorefresh=True)

# Positionsnummer des AIO-Moduls
aio_position = 33


# Funktion zum Setzen des analogen Ausgangs
def set_analog_output(value):
rpi.io.OutputValue_1.value = int(value) # Umwandlung in einen ganzzahligen Wert
rpi.writeprocimg() # Schreibe die IOs explizit in das Prozessabbild


try:
while True:
# Abfrage des gewünschten Stromwerts in mA
current_value = float(input("Bitte geben Sie den gewünschten Stromwert in mA ein: "))

# Setze den analogen Ausgang
set_analog_output(current_value)

except KeyboardInterrupt:
print("Programm beendet.")
-----------------------------------------------------------------------------
Wie bereits beschrieben blinkt die OUT-LED rot, was ich mir auch nicht erklären kann. Die Verdrahtung der Versorgung ist geprüft und am Ausgang ist direkt der Multimeter in Strommessung angeschlossen (Anzeige 4mA). Sollte das Modul dennoch den Ausgang entsprechend schalten, trotz blinkender LED?
User avatar
nicolaiB
KUNBUS
Posts: 1013
Joined: 21 Jun 2018, 10:33
Location: Berlin
Contact:

Re: AIO-Modul Ansteuerung analoger Ausgang

Post by nicolaiB »

Wenn die OUT LED rot blinkt, passen die gesetzen Werte nicht zum eingestellten Bereich. Siehe auch https://revolutionpi.com/documentation/ ... -aio/#leds

Was ist der Wert vom Statusregister OutputStatus_1? Kannst du die Werte mit piTest setzen, oder kommt es da ebenfalls zu einer blinkenden LED?

Gruß Nicolai
CfassEH
Posts: 4
Joined: 05 Mar 2025, 07:35

Re: AIO-Modul Ansteuerung analoger Ausgang

Post by CfassEH »

Leider musste ich mein RevPi komplett neu aufsetzen, da ich mich nicht mehr anmelden konnte, daher nun die späte Antwort.
Der Wert von "OutputStatus_1" in PiCtory steht auf "0", hoffe das war so gemeint. Wie müsste denn der Befehl mit "piTest" genau aussehen um am Ausgang z.B. 10mA direkt einzustellen?
User avatar
nicolaiB
KUNBUS
Posts: 1013
Joined: 21 Jun 2018, 10:33
Location: Berlin
Contact:

Re: AIO-Modul Ansteuerung analoger Ausgang

Post by nicolaiB »

Mit piTest -w OutputValue_1,8000 setzt du z.B. den Ausgang 1 auf einen Wert von 8 mA. Wenn du im PiCtory einen Wertebereich von 4-20 mA einstellst jedoch einen Standardwert von 0 hinterlegt hast, zeigt das Modul einen ungültigen Ausgabewert an. Am Ausgang kannst du 4 mA messen, weil das das unterste Ende des Wertebereichs ist. Wenn du den Standardwert auf 4000 setzt kriegst du auch keinen Fehler am Modul mehr angezeigt (ich werde anregen das in Doku zu ergänzen).

Gruß Nicolai
CfassEH
Posts: 4
Joined: 05 Mar 2025, 07:35

Re: AIO-Modul Ansteuerung analoger Ausgang

Post by CfassEH »

Hallo,
der 1000ér Multiplikator war der Knackpunkt... :roll:
Schon mal vielen lieben Dank für die Unterstützung! Mein Test-Programm habe ich auch entsprechend angepasst und funktioniert jetzt wunderbar. Nach der ersten Ansteuerung über piTest hat nun auch die LED aufgehört zu blinken. Aber an welcher Stelle in PiCtory müsste denn der Standardwert von 4000 gesetzt werden?
User avatar
nicolaiB
KUNBUS
Posts: 1013
Joined: 21 Jun 2018, 10:33
Location: Berlin
Contact:

Re: AIO-Modul Ansteuerung analoger Ausgang

Post by nicolaiB »

Genau 4000 ist der korrekte Standardwert für den Wertebereich 4-20mA. Wir schauen mal ob man das automatisch einstellen kann, wenn der entsprechende Bereich ausgewählt wird.
Post Reply