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

主题:都不会分析这个程序逻辑了

点击:1351 回复:11

附件 1.jpg
如上图:使用台达EH3做了一个小程序,期望刚上电开始工作5s内不要做任何输出动作。于是上电置位M250,M250接通跳转到程序末尾END处达到目的,5s定时时间到后顺序执行程序逻辑,此时M250复位,不再跳转,M250应该有下降沿触发给D1121赋值17。
想是这样想的,可是实际并非如此,哪位分析一下什么原因导致M250下降沿没有执行?
用户手册里面对CJ跳转后M的表现是这样描述的:
附件 2.jpg
我觉得对于最后一行跳转越过的M250在开始5s时间内应该是1(这一点也没有问题,因为监控可以看到T25计时器工作了)延时时间到后M250复位为0,应该有下降沿啊!可是事实上没有,下降沿后的指令没有执行!为什么?什么原因?
15-02-09 15:04
把RST M250移到M250断开脉冲下降沿下行试试
15-02-09 15:18

引用 yejingmao 在 2015/2/9 15:18:03 发言【内容省略】

这个应该没有用。
刚刚试了一下,跳转越过的区间内M250的常开点就压根没有闭合(虽然跳转条件成立时M250=1),所以时间到后M250复位就不可能有下降沿。
这样就好像存在一种情况,在一个扫描周期,由于跳转,对于同一个常开点M250,有的位置闭合,有的位置断开。
15-02-09 15:48
先把倒数第二行去掉就能对D1121赋值了,然后你就会知道去掉的那一行该写在哪里。
15-02-10 12:05
问题是5s内是不期望给D1121赋值,时间到后才容许给其赋值。所以才使用CJ指令啊!
15-02-10 13:20
使用T25触点赋值不行吗
15-02-10 14:21
后两行调换顺序试试结果
15-02-10 21:11
楼主要仔细地看一下下降沿检测的机理,其实我们所用的下降沿指令在PLC里是一个系统做好的小程序,它要产生下降沿就必须要知道上次扫描的状态,因此也必须有一个位来存储前次状态;再来看楼主的程序,跳转了,也就是说中间那一段不执行不管了,M250上次状态也就无法存储了,因此下降沿自然也就检测不到了!
15-02-10 22:40
完全同意您的观点。
现在看来对于跳转绕过去的程序段中诸如M位的触点状态是不会有什么变化的,它是不会随跳转外部状态的变化而变化。以前总以为跳转绕过去的程序段中条件状态会有变化,只是不会有逻辑输出罢了。
15-02-11 08:31
对条件转移指令cj是这样描述的:10ms,100ms定时器将停止记时。
15-02-11 08:38

上一页下一页

工控新闻

更多新闻资讯