有人遇到了一个很有趣的问题。
在初始化组织块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了。
相关阅读: