ich hab nun sämtliche Ideen probiert aber irgendwie komme ich einfach nicht drauf.
Ich habe einen Modbuslogger geschrieben welcher in einem Zyklus X sich daten von diversen Sensoren zieht. Das funktionierte bislang absolut ohne Probleme bis eine neue Hardware hinzu kam, welche die Regsiter zum Zeitpunkt der Messung sperrt. Mei nProgramm schreibt bislang einfach als value ein "disconnected" raus.
Nun möchte ich aber, dass im falle eines IOError (also Disconneted) das ganze nach ein paar Sekunden noch einmal probiert wird (z.B. noch drei Mal - ansonsten disconnected). Und genau da habe ich mein Problem. Da ich das bislang nur mit "while True" etc und händischer Eingabe gelernt habe, benötige ich eine kurze Hilfe:
Code: Alles auswählen
# ...
count = 1
os.system('echo "1" > /sys/class/gpio/gpio21/value')
for i in instrumentlist:
try:
pressure_list[count] = i.read_float(register_list[count], functioncode=4)
except IOError as ex:
pressure_list[count] = 'disconnect'
except ValueError as ex:
pressure_list[count] = 'invalid'
time.sleep(0.08)
count += 1
Wie kann ich es veranlassen, dass der "disconnect" erst nach z.B. drei versuchen als Wert eingetragen wird?
Würde mich freuen, wenn mir jemand ganz kurz unter die Arme greifen könnte.
Wünsche einen angenehmen Tag
Frannek