登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:见鬼了:同一程序使用效果不一样

点击:2059 回复:13

我做了这样一个设计:台达PLC之间PLC-LINK方式组网通讯,两台台达DVP48EH3轮流做主站,下面连接四台DVP24ES做分站。为了保证MODBUS网络主站唯一性,我采用了一台切换开关将暂时不用的主站断电,启用的主站通电工作。这样不论使用哪一个主站,都相当于是一台主站与四台分站联网通讯,设计阶段我专门做过实验,方案本身没有问题。见下面结构图:
附件 图片1.jpg
现场实施后问题来了:
1.切换后(原来带电的主控断电,没有带电的主控通电)新投入的主控工作不正常,表现为输出点无规律性自动输出。
由于设计阶段一直担忧切换后会出问题,我接到现场电话后就详细咨询了现场电源切换问题,回答供电电源接线如图中绿色与蓝色部分。本来设计主分控电源为同一电源,现场条件办不到,主分控分开供电,这倒没有多大影响。主要是主控电源切换(绿色部分),这样的单刀双掷开关,投切时容易出现两台主控同时工作的情况(PLC断电后工作有一个延时过程)。于是要求现场必须想办法搞成有明显断电过程(2主控都断电)的投切方式。
现场在改电源(后来增加了上图中的红色部分),我开始想办法看能不能通过编程逻辑解决这一问题,提前做好两手准备。
原主控逻辑:
如下梯形图,无非就是PLC通电首个扫描周期完成站号、通讯格式以及从站1-4号的读出写入长度设置与记忆。
附件 图片2.jpg
为了避免切换瞬间出现的双主站导致新投入的主站不能正常工作,程序上加一个延时逻辑,上电后延时6s再执行整个程序,6s时间内直接跳转到END位置处,相当于执行了一个空逻辑程序。6s后实际上完全就是只有一台主控连接在电路,这时主控程序扫描恢复到正常执行整个程序段,利用计时器上升沿完成M1002完成的任务。
修改后的新程序逻辑如下:
附件 图片3.jpg
附件 图片4.jpg
理论上好像可以,赶紧实际测试。原来程序逻辑反复测试没有问题,于是就将加了延时执行逻辑的程序直接下载进48EH3中,反复切换测试,只要在6s内完成有断点投入,新投入的主控都能正常工作。
2.新编写的逻辑公司测试没有问题,现场下载使用后反映不能联网通讯。
接到这样的反映,我只有建议现场查双绞屏蔽线是不是有断点,反馈说没有;PLC下载新程序前有没有恢复出厂值,回答也是肯定的。“奇怪了!几个人反复测试没有问题的逻辑,怎么到现场后通讯连接不上”。
赶紧赶回公司测试逻辑,原逻辑正常,新程序直接下载测试通讯也很正常。难道现场PLC坏了?
唯一不同点:现场下载新程序前PLC恢复过出厂值,我是直接下载的新程序。试试恢复出厂值后下载,结果奇迹出现了:PLC恢复出厂值后新改过的逻辑(有延时)就是不能通讯。
同样的程序直接下载能正常通讯,PLC恢复出厂值后再下载就不能连接通讯了。
什么原因?
见鬼了!
最后修改:2014/4/15 9:26:30
14-04-14 18:11
昨晚抽空监控了一下,原因是恢复出厂值之后D1121/D1120都恢复到默认值,而我写的T22上升沿之后的程序段压根就没有执行,所以d1121(站号)=1,d1120(通讯参数)=134(这个默认值倒是我要的)。难道站号成了1不是期望的17,导致通讯不上?
14-04-15 09:27
这种专业的不懂,支持。
不过偶认为这种切换方式是一种硬性切换,何不两台通过设置不同的通讯地址来区分。
14-04-15 09:44
基于modbus的通讯网络是不容许2个主站同时工作的。
14-04-15 10:48
找到原因了:最终还是逻辑写的不对。

LD M10
TMR T22 K60
CJ P0
这个程序段调换到T22上升沿网络段(触发赋值网络段)之后一切正常。
教训:
着急之下怀疑过PLC运行出了问题(按理说PLC可靠性不应该有这样的怀疑)。看来还是那句老话,事急勿慌,所有奇怪现象都是有深层次原因的,就看你有没有发现找出原因的慧眼
14-04-15 17:06
写数据那段,多执行一个扫描周期再执行,
我也碰见过,台达与三菱,有些地方不是那么回事,我上过好多当了!
附件 QQ截图20140415171726.jpg
14-04-15 17:19
问题真解决了?
你再做一下:
PLC恢复出厂值后再下载看看能不能连接通讯了.
你在4楼说的对吗?
T22由TMR T22 K60控制对吗? 如果对,T22上升沿网络段没有不执行的道理,除非这PLC太奇葩了.
在这款PLC-link需要自己编通讯数据?
是不是本身没有这个功能.自己用modbus功能造出PLC-link?
14-04-15 21:37
您可能没有仔细分析,我也是,出错了都觉得逻辑没有问题。仔细分析:上电置位M10,程序跳转到END处,等于没有执行任何实质性输出逻辑,计时6s时间到后,由上到下扫描,先是M10复位,接着T22当前值清零,接着按期望的正常顺序扫描,实质上这个时候T22就压根不会发生上升沿,T22上升沿触发的逻辑段当然不会执行了。
将跳转段放到后面,先有T22上升沿执行,之后才复位M10,同时T22又复位。
这一点我刚刚下载都试验证实了。
5楼说的没错,遇到的情况与我的一模一样。
另外:
EH3当然有PLC-LINK功能,并非用modbus自己做出的(当然我也没有那个能力)
最后修改:2014/4/16 11:51:46
14-04-16 11:50
也就是说:在T22上升沿逻辑执行前你已经给计时器T22断电了,那么哪来上升沿?就连下降沿也没有。
14-04-16 11:55
这一个小小的逻辑问题,我自己调试没有发现,程序使用在现场,由于下载方式不同,问题显现出来。我起初也没有在意,老怀疑现场问题,并且这个逻辑问题不仔细分析隐藏较深,害公司还专门多派了一个人去现场看,我对不起公司了,内疚之中……表情
最后修改:2014/4/16 12:00:55
14-04-16 11:59

上一页下一页

工控新闻

更多新闻资讯