如下两段指令都实现复位data为0,那实际使用时有什么区别吗??
set
R #data
CLR
= #data
如果仅是两组指令都能实现最终 DATA 的值为0。
其中:
前两个语名:
SET 置位 RLO,结果使得 RLO=1,可理解为能流接通
R #data 上面的能流接通,执行复位指令,复位 #data,使得 #data 的状态为0
这两条语句使用的是置位和复位的概念。
置位和复位指令可以在程序的多处对同一个变量根据不同的逻辑进行置位或者复作操作,每 次操作它都有作用;
而后两个语名
CLR 清零 RLO 结果使得 RLO=0
= #data 是将上位的 RLO 赋值给,这里的 = 是线圈的概念。
这两个语句最终的输出使用的是 #data 线圈,如果在程序中多次使用这样的 = 操作,则会出现双线圈现象,由于程序的扫描是先上后下,先左后右,多次使用时总是最后一个扫描到的 = 操作有效,它会忽略前面扫描到的 = 操作,这样则会出现你意想不到的结果。