您现在所在的是:

PLC论坛

回帖:5个,阅读:1608 [上一页] [1] [下一页]
1029
zsq1853
文章数:34
年度积分:50
历史总积分:1029
注册时间:2007/10/8
发站内信
发表于:2007/11/6 9:48:00
#0楼
1、plc的中断的作用是什么?  
         plc工作要经过输入刷新   执行程序   输出刷新,当执行中断的时plc是不是主程序与子程序都执行完了后去执行输出刷新,如这样的话中断就变的没有意义,中断没有实现输出的快速响应。
2、plc程序的执行过程是不是从上到下每条执行(每条只执行一次)完后进行输出刷新的?


[此贴子已经被作者于2007-11-6 10:09:34编辑过]
新生
1029
zsq1853
文章数:34
年度积分:50
历史总积分:1029
注册时间:2007/10/8
发站内信
发表于:2007/11/6 13:06:00
#1楼
哪位大虾指导下!!
新生
38138
cvlsam 版主
文章数:12489
年度积分:749
历史总积分:38138
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2007/11/6 14:38:00
#2楼
既然中断了,还执行啥主程序?主程序暂停,堆栈中保留调用地址,等中断返回后,继续执行主程序。
PLC程序从上往下,从左向右的执行,每个周期完成后刷新一次输入输出映像区,但是如果遇到PLC指令中相关映像区刷新指令时,立即刷新。
1029
zsq1853
文章数:34
年度积分:50
历史总积分:1029
注册时间:2007/10/8
发站内信
发表于:2007/11/7 8:54:00
#3楼
以下是引用cvlsam在2007-11-6 14:38:00的发言:
既然中断了,还执行啥主程序?主程序暂停,堆栈中保留调用地址,等中断返回后,继续执行主程序。
PLC程序从上往下,从左向右的执行,每个周期完成后刷新一次输入输出映像区,但是如果遇到PLC指令中相关映像区刷新指令时,立即刷新。
谢谢大虾指教,让小弟学到不少

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编辑过]
新生
38138
cvlsam 版主
文章数:12489
年度积分:749
历史总积分:38138
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2007/11/7 9:37:00
#4楼
1 这里要纠正您的一个错误的理解哦,所谓周期,是指系统从刷新输入输出映像区开始,到主程序扫描完成的这一个时间段,这个时间段并不是一成不变的,而是动态变化的。
因此,在这里执行中断后,主程序暂停,中断执行,当中断执行完毕后,继续主程序的运行,因此会导致本次扫描周期的延长。而不是等到下一周期来继续主程序的运行。
2 虽第2类写法对于版面的理解能力有所提高,但是并不意味着必须要这样写,原因在于PLC的扫描机制,它要扫描周期完成后再次更新输入输出映像,因此对于1,2来说,都是在指令完成后才进行输入输出的更新。
1029
zsq1853
文章数:34
年度积分:50
历史总积分:1029
注册时间:2007/10/8
发站内信
发表于:2007/11/7 11:28:00
#5楼
以下是引用cvlsam在2007-11-7 9:37:00的发言:
1 这里要纠正您的一个错误的理解哦,所谓周期,是指系统从刷新输入输出映像区开始,到主程序扫描完成的这一个时间段,这个时间段并不是一成不变的,而是动态变化的。
因此,在这里执行中断后,主程序暂停,中断执行,当中断执行完毕后,继续主程序的运行,因此会导致本次扫描周期的延长。而不是等到下一周期来继续主程序的运行。
2 虽第2类写法对于版面的理解能力有所提高,但是并不意味着必须要这样写,原因在于PLC的扫描机制,它要扫描周期完成后再次更新输入输出映像,因此对于1,2来说,都是在指令完成后才进行输入输出的更新。

谢谢这位大虾不厌其烦的指导

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

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003