Seite 1 von 1

Netzteil Ansteuerung mit Rasp Pi

Verfasst: Montag 8. April 2024, 12:29
von Hayırdır
Moin liebe Community,

ich bin ziemlich neu wenns ums Programmieren geht. Seid einigen Tagen beschäftige ich mich mit der Ansteuerung eines Netzteils, wo ich im Terminal dazu in der Lage sein müsste die Spannung anzupassen.
Die Ip-Adresse habe ich mit "..." getauscht, bitte nicht wundern.
Ich bin im selbem Netzwerk wie das Netzteil und durch ein Raspberry Pi, bekommt es ebenfalls durchgängig ein keep alive signal, kann aber über den Pi nicht das Netzteil ansteuern es müsse wohl auch so über die Modis funktionieren.

Zum Einsatz kam: https://www.ccontrols.ch/ch_de/it6006c-500-41.html

Ich bedanke mich schonmal im Voraus und bei Rückfragen, um das Problem zu lösen wäre ich sehr dankbar.
Viele Grüße

Code: Alles auswählen

import pyvisa

ip_address = "..."

class IT6006C50040:
    ip_address = "..."
    def __init__(self, ip_address):
        self.ip_address = ip_address
        self.resource_manager = pyvisa.ResourceManager()
        self.instrument = self.resource_manager.open_resource(f'TCPIP::{ip_address}::INSTR')
        print(f"Instrument geöffnet: {self.instrument.query('*IDN?')}")

    def set_voltage(self, voltage):
        print(f"Setze Spannung auf {voltage} Volt.")
        self.instrument.write(f'VOLT {voltage}')
        print("Spannung geändert.")

if __name__ == "__main__":
    ip_address = "..."
    power_supply = IT6006C50040(ip_address)

    while True:
        try:
            voltage = float(input("Geben Sie die Spannung ein (in Volt): "))
            power_supply.set_voltage(voltage)
        except ValueError:
            print("Ungültige Eingabe. Bitte geben Sie eine gültige Zahl ein.")

Re: Netzteil Ansteuerung mit Rasp Pi

Verfasst: Montag 8. April 2024, 13:03
von __deets__
Die Deklaration der IP-Adresse auf Klassenebene ist Quatsch. Und das anonymisieren aller Wahrscheinlichkeit auch, weil die doch in deinem lokalen Netzwerk steckt, und damit ist das auch keine sicherheitsrelevante Information darstellt.

Dann ist dein try/except schlecht entworfen, weil du nicht nur ValueError bei einer Fehleingabe abfaengst, sondern auch einen potentiellen Fehler beim setzen der Spannung. Das sollte zB so aussehen:

Code: Alles auswählen

while True:
    try:
        voltage = float(...)
    except ValueError:
        print("Ungueltige Eingabe")
    else:
          power_supply.set_voltage(voltage)
Zu guter Letzt: mir ist unklar, was das Problem ist. Gibt es Fehlermeldungen? Passiert einfach nichts?

Re: Netzteil Ansteuerung mit Rasp Pi

Verfasst: Montag 8. April 2024, 13:09
von Hayırdır
__deets__ hat geschrieben: Montag 8. April 2024, 13:03 Zu guter Letzt: mir ist unklar, was das Problem ist. Gibt es Fehlermeldungen? Passiert einfach nichts?
Das habe ich vergessen noch mit einzufügen, es passiert nichts. Das Skript läuft und nach Eingabe einer Spannung gibt es keine Fehlermeldung. Das Terminal sagt, die Spannung wurde eingestellt, doch am Netzteil tut sich nichts. Ich probiere deinen Lösungsansatz mal aus.

Re: Netzteil Ansteuerung mit Rasp Pi

Verfasst: Montag 8. April 2024, 13:26
von __deets__
Loesungsansatz ist das nicht unbedingt, ausser es kommt wirklich zu einem ValueError bei bem Aufruf von set_voltage. Es ist nur einfach nicht gut programmiert bis dato.

Gibt es irgendwo eine Uebersicht der vom System verstandenen Kommandos und den Antworten? Und kann das Ding Events?

Re: Netzteil Ansteuerung mit Rasp Pi

Verfasst: Montag 8. April 2024, 13:42
von Sirius3
@Hayırdır: bevor Du anfängst, Spannungen zu setzen, würde ich als ersten Schritt versuchen, die aktuelle Spannung abzufragen, oder generell Informationen von diesem Gerät abfragen, um zu sehen, ob die Kommunikation überhaupt funktioniert. Denn die Ausgabe, dass die Spannung geändert wurde, kommt von Dir; und das Gerät ist da ja offensichtlich anderer Meinung.

Re: Netzteil Ansteuerung mit Rasp Pi

Verfasst: Montag 8. April 2024, 14:03
von Hayırdır
__deets__ hat geschrieben: Montag 8. April 2024, 13:26 Gibt es irgendwo eine Uebersicht der vom System verstandenen Kommandos und den Antworten? Und kann das Ding Events?
Ja, es kann auch events und es gibt ein User programming guide aber nicht in Python.

Re: Netzteil Ansteuerung mit Rasp Pi

Verfasst: Montag 8. April 2024, 14:19
von DeaD_EyE
https://www.altoo.dk/files/itech/manual ... -Guide.pdf

SYSTem:REMote
This command is used to set the instrument to the remote control mode via the
communication interface. Except the Local key on the front panel, other keys
are locked and cannot be used.


Frag erstmal Werte ab. Wenn das funktioniert, solltest du mittels SYST:REM den Gleichrichter in den Fernbetrieb umschalten. Danach sollte auch die Steuerung des Gleichrichters funktionieren.

Re: Netzteil Ansteuerung mit Rasp Pi

Verfasst: Montag 8. April 2024, 15:33
von grubenfox
Aha, SCPI... das ist doch mal ein Begriff nach dem man schön suchen kann. VISA gehört da anscheinend auch noch zu.... ich habe da z.b. den hier gefunden:
https://goughlui.com/2021/03/28/tutoria ... th-pyvisa/

keine Ahnung ob es was hilft....

Re: Netzteil Ansteuerung mit Rasp Pi

Verfasst: Dienstag 9. April 2024, 16:12
von Hayırdır
Danke an alle, dieses Forum hat mich viel weitergebracht!