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

主题:有几个plc概念的问题问下大家!!

点击:1689 回复:5

1、plc的中断的作用是什么?  
         plc工作要经过输入刷新   执行程序   输出刷新,当执行中断的时plc是不是主程序与子程序都执行完了后去执行输出刷新,如这样的话中断就变的没有意义,中断没有实现输出的快速响应。
2、plc程序的执行过程是不是从上到下每条执行(每条只执行一次)完后进行输出刷新的?
最后修改:2007-11-6 10:09:34
07-11-06 09:48
哪位大虾指导下!!
07-11-06 13:06
既然中断了,还执行啥主程序?主程序暂停,堆栈中保留调用地址,等中断返回后,继续执行主程序。
PLC程序从上往下,从左向右的执行,每个周期完成后刷新一次输入输出映像区,但是如果遇到PLC指令中相关映像区刷新指令时,立即刷新。
07-11-06 14:38

引用 cvlsam 在 2007-11-6 14:38:00 发言【内容省略】

谢谢大虾指教,让小弟学到不少
1、那你的意思是不是说中断后主程序调用的地址暂时堆栈,主程序如要再次执行至少需要到等要下一个刷新周期才可以,这个周期就给中断调用的子程序和使用了?
    例如:在高速计数器中断,当计数器产生中断要求后主程序暂时堆栈,执行中断子程序,当中断子程序执行完成后是先转到主程序能还是刷新输入输出后等下一个周期再去执行主程序?
2、 PLC程序从上往下,从左向右的执行,是否一个周期每条指令只执行一次,如执行一次的话那编写梯形图时, 梯形图语言的上下关系是否应该搞清楚?不然一个周期能完成的要2个周期才能完成。举例如:
OUT          1000
LD             00
OR            1000
AND NOT           01
这样简单的程序是不是上下顺序不大好呢?是不是应该改为
LD             00
OR             1000
AND NOT        01
OUT          1000
最后修改:2007-11-7 9:12:56
07-11-07 08:54
1 这里要纠正您的一个错误的理解哦,所谓周期,是指系统从刷新输入输出映像区开始,到主程序扫描完成的这一个时间段,这个时间段并不是一成不变的,而是动态变化的。
因此,在这里执行中断后,主程序暂停,中断执行,当中断执行完毕后,继续主程序的运行,因此会导致本次扫描周期的延长。而不是等到下一周期来继续主程序的运行。
2 虽第2类写法对于版面的理解能力有所提高,但是并不意味着必须要这样写,原因在于PLC的扫描机制,它要扫描周期完成后再次更新输入输出映像,因此对于1,2来说,都是在指令完成后才进行输入输出的更新。
07-11-07 09:37

引用 cvlsam 在 2007-11-7 9:37:00 发言【内容省略】

谢谢这位大虾不厌其烦的指导
1、那中断和调用子程序在plc中的作用是不是变成一样了?他并没有使输出有快速的反应、使输出的效率提高(这是控制主要对象),反而使时间延长,那中断的意义在哪呢?就是仅仅使主程序效率更高吗?
2、就是说以上2个简单程序其实是一样的?
07-11-07 11:28

工控新闻

更多新闻资讯