bin neu in Python, hoffe und glaube, dass ihr mir helfen könnt. Hintergrund ist, dass ich die Kommunikationsschnittstelle eines Busteilnehmers virtuell nachbilden muss. Mein Programm bekommt Daten von einer SPS - diese sind bytebasiert. Pythonseitig extrahiere ich die einzelnen Bits und verarbeite diese. Soweit alles klar. Nun müssen natürlich auch an die SPS wieder Daten zurückgeschickt werden, in der Regel sind dies einzelne Bits, die jedoch bytebasiert übertragen werden müssen.
Wenn ich also in meinem Byte an die SPS das 3. Bit setzen wollte, so könnte man das so machen: byte2 = byte2 | 4, beim Rücksetzen byte2 = byte2 & 251 - nicht gerade gut wartbarer Code. Ich hatte mir nun überlegt, ein Dictionary byte2 zu definieren, indem die einzelnen Bits mit einem Key über ihre sprechenden Namen ansprechbar sind. Also z.B. etwas in der Art:
Code: Alles auswählen
byte2 = {"motor_an":0, "spannung_an":0, "fehler":0, "b5":0, "b4":0, "b5":0, "b6":0, "b7":0}
byte2["fehler"] = 1
Viele Grüße
markus