我收到一个十进制变量,它与 8 个开或关的继电器值相关。if off 其值为 0 if on it 变量如下
Relay1 = 1
Relay2 = 2
Relay3 = 4
Relay4 = 8
Relay5 = 16
Relay6 = 32
Relay7 = 64
Relay8 = 128
因此,如果 Relay1 和 Relay8 开启,我将收到 129。
Relay1 = 1
Relay2 = 0
Relay3 = 0
Relay4 = 0
Relay5 = 0
Relay6 = 0
Relay7 = 0
Relay8 = 128
我需要创建一些逻辑来确定当我收到 0-255 之间的值时继电器值是多少。最终,我只是吐出一些 XML 代码,它们将具有以下内容
<map key="00">
<update state="Relay1" type="boolean">Off</update>
<update state="Relay2" type="boolean">Off</update>
<update state="Relay3" type="boolean">Off</update>
<update state="Relay4" type="boolean">Off</update>
<update state="Relay5" type="boolean">Off</update>
<update state="Relay6" type="boolean">Off</update>
<update state="Relay7" type="boolean">Off</update>
<update state="Relay8" type="boolean">Off</update>
</map>
<map key="01">
<update state="Relay1" type="boolean">On</update>
<update state="Relay2" type="boolean">Off</update>
<update state="Relay3" type="boolean">Off</update>
<update state="Relay4" type="boolean">Off</update>
<update state="Relay5" type="boolean">Off</update>
<update state="Relay6" type="boolean">Off</update>
<update state="Relay7" type="boolean">Off</update>
<update state="Relay8" type="boolean">Off</update>
</map>
<map key="02">
<update state="Relay1" type="boolean">Off</update>
<update state="Relay2" type="boolean">On</update>
<update state="Relay3" type="boolean">Off</update>
<update state="Relay4" type="boolean">Off</update>
<update state="Relay5" type="boolean">Off</update>)
<update state="Relay6" type="boolean">Off</update>
<update state="Relay7" type="boolean">Off</update>
<update state="Relay8" type="boolean">Off</update>
</map>
<map key="129">
<update state="Relay1" type="boolean">On</update>
<update state="Relay2" type="boolean">Off</update>
<update state="Relay3" type="boolean">Off</update>
<update state="Relay4" type="boolean">Off</update>
<update state="Relay5" type="boolean">Off</update>
<update state="Relay6" type="boolean">Off</update>
<update state="Relay7" type="boolean">Off</update>
<update state="Relay8" type="boolean">On</update>
</map>
所以编程语言并不那么重要,但对逻辑的帮助会很好。我不想写出所有 255 个场景,因为这个 xml 被简化了。如果有人能指出我正确的方向,那就太好了。我正在努力解决的是 129 和说 relay5 之间的相关性。
最熟悉python的人,所以要在那里对它进行分类。