【发布时间】:2013-10-28 23:52:10
【问题描述】:
我收到一个与 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,所以要在那里对它进行分类。
【问题讨论】: