1.应用的基本信息
我的项目中主要应用西门子1台PLC,1511-1PN版本的CPU,3台IM155-6 PN ST ,1台TP1200,10台G120 CU250S-2PN和15台modbus tcp/ip 设备。
2.故障的检测和解决
2.1 故障或问题分析
在1500 CPU的诊断缓冲区中显示报警为FC5中的区域长度错误,刚开始就明白这肯定是一个编程的BUG,但是找把整个FC看了个底朝天就是没找出哪里有问题!从扫描周期到双线圈再到FC5中应用的各个指令,来来回回看了十几遍人都要懵了!冷静,要冷静!心里暗暗诉自已,一定是哪里出了问题!于是就不再局限于只是FC5中的程序,终于功夫不负有心人,在一个利用JMP跳转指令来指针寻址的程序中发现了问题!原来是Array数组定义比指针的数量少了!从此处可以看出虽然CPU的诊断缓冲区中显示报警可以检出错 误,但是相对还是不那么准确!
2.2故障或问题处理
因为可能是由于编程所导致的编程错误,那么解决步骤是先看诊断缓冲区出现的故障代码,查看编程手册看看程序是否有错误,找出BUG后修改程序!
3.实践联系理论
从指针寻址的规则中可以看出指针是可以任意改变的,但是不能超过定义的个数!
4.经验总结
从这个错误总结出一个道理,虽然循环寻址很是方便,但也要遵守一定的规则才能很好的应用!