有人遇到了一个很有趣的问题。
在初始化组织块OB100中设置MW20的初始值为10。用MW20作S7计数器的预设值PV。计数器得到第一个计数脉冲时,系统错误SF灯亮,CPU停机。
CPU停机的原因如下:
计数器的预设值PV为BCD码,计数器得到第一个计数脉冲时,首先将OB100中设置的MW20的初值10转换为BCD码,10对应的16进制数为16#A,不是BCD码,所以出现编程错误。
出错后在模块信息的诊断缓冲区中可以看到“BCD转换错误”。
将OB100中的10改为C#10就OK了。
plc的NEG地址下降沿检测指令
符号:
说明:NEG(地址下降沿检测)比较<address1>的信号状态与前一次扫描的信号状态(存储在<address2>中)。如果当前RLO状态为“1”且其前一状态为“0”(检测到上升沿),执行此指令后RLO位将是“1”。 状态字:
实例: (责任编辑:admin) |