跳转程序这个我知道,一旦跳转被跳过的程序不参与扫描,不被扫描也就不会有输出。而且是可以双线圈输出的。(三菱里面是)。然后子程序如果被调用了的话,执行顺序是怎么样的,是只是增加了扫描周期吗,然后子程序内的程序插入到成熟中间来扫描,再输出。还有子程序调用如果使用上升沿或者下降沿的话会怎么样?是不是因为扫描太快触点连动作的机会都没有,那么子程序里面的数据会被传出去吗? 中断程序是不是跟子程序差不多,不同点基本上就是,调用方式不一样,子程序要等扫描周期,中断程序不用等待周期,触发条件一旦动作立马中断,那么这个中断的时间里,是扫描完之后就回去扫描主程序还是等中断程序里面的程序执行完再回去烧面主程序,那中断里面要有个一个小时的定时器,那主程序是不是要等一小时之后再扫描,中断程序需不需要自己手动添加中断返回指令,是不是像子程序一样自动添加子程序返回指令。
最佳答案
如果用沿调用的子程序,那么,当沿前面的条件满足是,执行子程序仅仅是一个周期的有效。
无论扫描有多快,如果有相应的逻辑保障,输出或者关闭输出是一定会执行的。
你对子程序用沿调用可以连接为常用的modbus通讯中的校验程序,一般都常用沿调用,仅仅计算一些校验数据。
是的,中断不需要按扫描周期的顺序,当中断条件满足时,首先执行的中断(如果多个中断同时被激活,那么,需要看中断等级的高低来确定中断执行的优先权)。
中断子程序的执行周期与沿调用有一些相似,即调用后均被执行一个周期。
当在中断中使用定时器T时,当中断调用执行一个周期完成后,子程序离去,这个定时器无法正常计时。如果一定要用到定时器,可以调用定时中断累加次数的方式计时。
不需要,中断被调用执行一个周期后自动返回,除非第二次被触发调用,这个返回是自动的;当然,如果需要添加中断子程序返回也是可以的,一般类似的用法的当中断被执行,首先判断是否需要进行该中断子程序,如果必要的数据均没有达到,则执行中断返回是可以的。
提问者对于答案的评价:
在子程序内和中断程序里面是不是都不允许双线圈输出。
你说的中断执行完毕,这个执行完毕是扫描完还是这个程序执行完,扫描完成不代表执行完成呀。那中断程序是扫描完成动作还是执行完成之后动作,中断程序手册上说尽量短,是不是中断程序一般主要用作数据的采集。基本不会用对外输出Q之类的存储器是吗。还有中断程序里面的元件动作的话,主程序的元件是不是也会动作,那主程序里面的元件也会动作吗。
最佳答案作者回复:
这个问题我刚刚在论坛上有此一贴,是否允许双线圈是任者见任,智者见智。
中断执行完毕是指扫描周期执行完毕,而非中断子程序所指定的输出执行完毕。
中断执行当然同样会隐射到主程序或者其它子程序上去的。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc367383.html