使用西门子PLC也好久了,体会了西门子的严谨便利,也尝试过了西门子的一些奇奇怪怪的问题。下面一个案例也希望西门子的技术工程师能够找出答案。
之前的一个恒压供水的工程。要求挺简单的---多台泵自动恒压供水,采用TD400C读取及设定参数,PID控恒压供水,
modbus从站和上方通讯。
现场是一台224XP的PLC,先在厂内使用一台226将程序调试完成了,然后去到现场后发现问题来了:
首先发现TD400C无法通讯,检测通讯设置、地址交叉引用、程序。。。一系列下来还是通不上。。
联系西门子技术支持,按照上面的方法再试一遍。。。还是不行。技术支持没招了,叫做一个只和TD400C通讯的程序,一试OK了%>_<%郁闷啊!!
先不管TD400C通讯了,我先看看我的恒压供水可以不。水泵自动运行,怎么发现频率不会动的??一看PID,根本不动作!!更郁闷了。。继续技术支持,,电话沟通了好久,也试了好久都不行。。技术支持又没招了,叫做一个只有PID的程序试试。。。废话当然成功啦~\(≧▽≦)/~啦啦啦。。超级郁闷中!!
最后只好无奈的在现场反复测试调试,发现只要删除TD400C或者
modbus SLAVE又或者PID程序又奇迹般的正常了。。
查看PLC信息,发现正常运行周期是在24ms左右,但最大运行周期会去到250ms。这难道是问题所在??是不是我的程序量太大了导致问题产生??
通过一番痛苦的精减程序,TD400C通上了,PID也正常了。。正当我以为OK的时候,检测
modbus通讯时,发现水泵不运行时数据采集正常,运行后通讯就乱了⊙﹏⊙b汗
----------------------------------------------------------------------
通过之前一系列的检测,基本可以肯定PID+TD400C+MBUS_SLAVE+稍微复杂点的程序224就吃不消了。。
但是我感觉吃不消并不是程序量庞大引起的,因为正常的程序扫描周期都只是20几,应该是PLC自带库的程序会产生一定的冲突导致的。所以还是希望西门子的技术工程师好好检测下原因所在吧。