使用S7-200 CPU226 端口0设为自由口,连接传感器,读取数据;端口1用于modbus RTU通信(使用modbus指令库中的指令),发送控制命令;运行过程中发现:只要端口1 的modbus命令起动执行,端口0 自由口就不再工作(不读取传感器),这是为什么?如何解决呢?
最佳答案
两个端口程序使用的内存地址冲突的可能性比较大。
使用库文件会占用一段存贮区的地址,如果不加注意在程序其它部分使用了库文件点用的地址区,就会出现程序不运行或运行结果不正常的情况。
检查一下吧。
提问者对于答案的评价:
谢谢各位的解答,我查了一下MODBUS指令库的存储区,它使用了&VB100作数据指针,而我的自由口通讯也用了VB100作存储区,所以冲突了。我把自由口的存储区修改了,避开VB100这个区域,问题得到解决。希望各位也能有所收获。再次感谢。
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc194470.html