derAngler Geschrieben February 2, 2016 at 07:38 Geschrieben February 2, 2016 at 07:38 Morgen, ich beschäftige mich gerade mit dem Industrial Quad Relay. Wie ich die einzelnen Relais schalten kann ist mir klar, allerdings komme ich mit dem Auslesen nicht zurecht. Ich weiß wohl das ich dies mit dem Befehl ".get_value()" machen muss, allerdings bekomme ich es nicht auf die Reihe die zurück gegebene Bitmaske zu verstehen. Wie kann ich z.Bsp. einfach den Zustand von Relay 2 (1-4) erfahren? Gibt es eine Funktion der ich die Bitmaske und das Relay (1-4) übergebe und dafür dann True/False zurück bekomme? Zitieren
photron Geschrieben February 3, 2016 at 09:01 Geschrieben February 3, 2016 at 09:01 get_value() gibt dir einen Wert zurück den du binär betrachten musst. In Python ist das einfach: print(bin(iqr.get_value())) könnte z.B. 0b11 ausgeben. Von Links mit 0 auf 4 Stellen (wegen der 4 Relais) aufgefüllt: 0b0011 Das niederwertigest Bit (hier 1) stellt den Zustand Relais 1 dar; das höchstwertige Bit (hier 0) den von Relais 4. Du musst also den get_value Wert nehmen und ihn binäre von rechts nach links lesen um den Zustand der Relais 1 bis 4 zu erhalten. Eine 1 steht für Relais ist geschlossen, eine 0 für Relais ist offen. Wenn du das im Programm prüfen willst kannst du das mit dem binären Und Operator: if iqr.get_value() & 0b0001 != 0: print('Relay 1 is closed') else: print('Relay 1 is open') Wenn get_value 0b0011 liefert, ergibt das binär mit 0b0001 verundet 0b0001 also != 0. Wenn get_value 0b0010 liefert, ergibt das binär mit 0b0000 verundet 0b0000 also == 0. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.