现有一台油压拉力测试设备,控制系统用S7-200 SMART ST20带几个模拟量输入输出模块构成。模拟量输入模块接收拉力测试仪表的4~20ma信号,共10路仪表。恒压是通过液压电磁阀的开断进行范围控制,到了客户现场后,测试3路拉力信号一切正常,但测试4路以上时,4路输入数字会突然出现跳变,4路都统一跳变到32767, 用数据日志功能上传发现,该信号持续0.5~1秒,每隔大约1~2秒出现一次,我们判断为外部干扰造成,该干扰可能来自于电磁阀开断,也可能来自于模拟量输入地没有跟仪表的模拟量输出地共地造成,也可能还有其他来源。该设备已经用在客户现场,我们是通过远程软件帮客户排除问题。在暂没办法改善电路的情况下,我们试图通过PLC程序修复(至少是暂时解决方案)漏洞。那么,更奇怪的现象出现了,我们在调用西门子库S_ITR前加入条件:AIW32 <= I 27648 ,只有符合这个条件,才认为输入数据有效,才调用转换程序,获得实时值。如超过27648,则舍弃该数据。下载程序后,开启油泵,开始拉力测试,但经过几秒后,油泵突然停止(数字输出点Q0.0),但重新按油泵启动按钮,油泵也可启动。问题在这里:油泵只是一个最简单的启保停逻辑,由外部启动按钮I0.1,外部停止按钮I0.2,急停按钮I0.0构成,Q0.0输出,我用交叉引用功能检查了所有相关点,都没有重复利用,不存在双线圈输出等问题。将新增加的AIW32 <= I 27648 等条件都去掉,重新下载,这现象消失。后来我用SM0.0单一条件直接控制油泵,奇怪的是---情况依旧!所以我判断是不是PLC内部系统出现了问题或漏洞导致。针对这种情况,我如何才能解决问题?
问题补充:
这逻辑很简单,第一怀疑对象是I0.0急停按钮回路有没有断开,但我后来用SM0.0完全短接硬件回路,也就是说,只要PLC进入RUN状态,油泵就开启,然而即使在这种情况下,只要进入测试,泵Q0.0输出点还是输出截止。另外,我把所有模拟量通道输入过滤条件 AIW32<= I 27648取消后,泵的运行和停止重新恢复正常控制,只是干扰的问题没有得到解决。
图片说明:
最佳答案
1、看看PLC的诊断信息,是不是模拟量输出超限,模块报错,导致PLC的输出出现错误,或者是导致急停信号异常,再试试把急停信号去掉,还出现Q0.0自动停这种情况吗?
2、会不会时plc之间的通讯排线接触不良导致的,短时通讯异常
3、模拟量信号的信号负和PLC的24V电源负短接,同时接地,看看模拟量信号异常情况是否还出现
主要还是先在线看一下CPU的诊断信息,看看有没有重要的提示
提问者对于答案的评价:
对的,要先考虑PLC有没有报错信息。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc282339.html