采用 4 个开关来控制一盏作为切换开关的照明灯,仅当其中任意两个开关闭合时,照明灯才会亮起,其余情况照明灯均不亮
I/O 分配情况详见表 1 - 8 - 1,系统中有 4 个输入点和 1 个输出点表1-8-1 I/O分配 参考表 1 - 8 - 2 所示的真值表,输出 Y0 为 1 的情形有 6 种。在寄存器从高位到低位排列的规则下,这 6 种情形对应的输入 X3 至 X0 的状态依次为 0011、0101、0110、1001、1010、1100. 表1-8-2真值表 X3 | X2 | X1 | X0 | Y0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 |
可将使 Y0 有输出的 6 种情况全部列出以对 Y0 进行控制。 其中,状态中的 “1” 对应常开触点,“0” 对应常闭触点。具体控制程序可参考图 1 - 8 - 1
图1-8-1 使用触点控制程序
我们要将这 6 种使 Y0 有输出情况所对应的二进制真值数转换为十进制数,具体对应关系如下:
0011 转换为十进制是 K3 0101 转换为十进制是 K5 0110 转换为十进制是 K6 1001 转换为十进制是 K9 1010 转换为十进制是 K10 1100 转换为十进制是 K12
通过等于指令来进行判断,当数值等于上述 6 种十进制数的任意一种时,输出 Y0。详细的程序逻辑可参考图 1 - 8 - 2。
图1-8-2 使用比较指令 如图 1 - 8 - 3 所示,此处使用了 SUM 指令,该指令的功能是计算寄存器中值为 1 的个数.
图1-8-3 SUM指令
我们只需判断元件 K1X0 中值为 1 的个数,当该个数为 2 时进行输出控制即可。具体程序可参考图 1 - 8 - 4。 (注:M8000 为特殊中间继电器,PLC 通电后它会自动导通。)
图1-8-4 使用 SUM指令判别
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |