shenyijin
中级电工
级别: 家园常客
精华主题: 0
发帖数量: 571 个
工控威望: 787 点
下载积分: 1269 分
在线时间: 174(小时)
注册时间: 2011-04-15
最后登录: 2014-12-20
查看shenyijin的 主题 / 回贴
楼主  发表于: 2011-09-27 20:46
图片:
我做个了定时程序,是台达的.。.....高手帮我解释看看,我弄不明白,是不是这个程序PLS后的M120只接通个上升沿周期啊?过了一个周期脉冲之后.是什么状态?是不是回到原来的状态?LD>= K7 和LD>=K29S逻辑条件达到是不是一直保持ON状态
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5216 个
工控威望: 7440 点
下载积分: 159197 分
在线时间: 3176(小时)
注册时间: 2007-11-21
最后登录: 2025-01-08
查看sjm213的 主题 / 回贴
1楼  发表于: 2011-10-01 19:04
我考虑了一下这个程序,实际上影响该结果的还是我们经常讨论的一些内容:PLC的扫描方式,PLC的双线圈问题。
对于台达PLC而言,每次扫描到PLS指令时,它只判断PLS前面的条件是否有OFF-->ON的过程,有则会将线圈导通一个扫描周期;当然因为双线圈的存在,之后遇到新的线圈触点后它就又判断后一个PLS的条件,有OFF-->ON的过程则继续导通,否则断开。在这种情况下线圈当然无法再保持一个扫描周期了。。(可以理解为,第一个PLS后线圈的结果不会带到下一个PLS中去。)
再回到这段程序,如果没有FOR K100……NEXT的循环,那么在C1=K44的时候,最后边的这个M120是有可能导通的,但因为有了循环程序,在第二次循环时C1=K44的条件仍然满足着,所以没有了OFF-->ON的过程,PLS M120指令执行后M120就被断开,最终跳出循环程序的结果就是M120无法被导通。那么在C1等于其他值的时候,M120也只是在执行第一次循环时能够被导通一下,再扫描到下一个PLS M120的时候就会立即被断开,最终的结果也是M120无法被导通。
----------------------
而对于三菱的PLC,它不仅看PLS前面的条件是否有OFF-->ON的过程,还要看上一行程序中线圈触点的条件是否为ON,可以理解为上一个PLS的结果会带到下一个PLS上来。所以连续的几个PLS条件都满足的话,它只有第一个PLS指令会将线圈导通。而如果这几个连续的PLS中间有一个条件是OFF的,那么该指令执行后会将线圈的状态刷新为OFF,在之后紧接着的一个PLS指令后又能导通一个线圈。。。如此循环。
所以如果这段程序是用于三菱的PLC,那么结果就会变成这样:
1.无视循环程序的存在,循环程序不会影响到最终M120的结果;
2.如果C1=K7、M607为ON,则第一个PLS是能够将M120导通的,直到第二个PLS指令执行后将M120断开;
3.在C1=K7、M607为ON时,即使将C1=...的条件去掉,强行置位其他各PLS指令的导通条件,其他的PLS指令也不能导通M120;
4.如果C1=K44、M660为ON,其他的PLS指令的条件都不能满足,则执行完C1=K44这行的PLS指令后M120会被导通;即使有FOR……NEXT的循环程序,在最后一个循环执行完C1=K44这行的PLS指令后,M120也是导通的,一直维持到本次扫描到END指令。
本帖最近评分记录:
  • 下载积分:+5(qlin) 优秀文章