Jump to content

Industrial Quad Relay - wie Bitmaske in python auslesen


Recommended Posts

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?

 

Link zu diesem Kommentar
Share on other sites

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.

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...