PLC子程序,下面哪种理解是正确的啊

PLC子程序,下面哪种理解是正确的啊,第1张

第二种理解基本正确,程序的调用是在主程序中的,只有主程序执行到调用这一步才会转入子程序

而中断程序是,不管现在主程序执行在什么位置,或者是在子程序中,只要中断程序条件满足,就会保存当前状态然后进入中断程序。中断程序在执行过程中也可能发生新的中断,这就涉及到一个中断优先级的问题。

如果子程序不被调用,那么他什么也不会做,会保持所有的Q,M,V的状态直到别的程序改变他们。关于“即使是执行了(如果不是立即执行的话),也不会对本次循环产生影响,因为要在下一个循环开始之前才刷新过程影像区的”这句话是有问题的。如果不是立即执行指令, *** 作都是对输入/输出映像区的,影响区中的值会被改变,扫描周期结束到下个扫描周期开始前更新影响区和实际输入/输出。所以,当程序中修改了I/Q,之后的程序是按被改变之后的值执行的,而在扫描周期结束之后再影响实际输出,再将实际输入更新到输入映像区。

跳转指令,顾名思义跳过一段程序到达指定的地方,即当跳转条件满足时将跳过一段程序到达指针指定点在执行程序,这中间的程序将不被执行,而调用子程序是当条件满足时将执行子程序,执行完之后再继续往下执行程序

MC/MCR指令为主控指令,当有一段连续的指令都有一个相同的条件时,若每条指令都写入这个条件势必麻烦,这是主控指令就发挥了作用,用这个条件触发主控指令,然后把这段程序放在主控指令中间,这样就相当于这段程序的每段程序都串上了这个条件

退出循环: break

退出子程序: return 退出码;

退出主程序: exit(0);

睿腾编程网returnbc

其中exit(0);函数所在的头文件是: stdlibh

当然可以强行跳回主程序,不影响中断标志位的清零,只要进入中断,该硬件清零的就自动清零,但强行跳回主程序,单片机会认为一直在执行中断程序,因此以后有中断发生时也不会再进入中断程序。所以不能这样做,用RETI就会跳回主程序。

以上就是关于PLC子程序,下面哪种理解是正确的啊全部的内容,包括:PLC子程序,下面哪种理解是正确的啊、在子程序中的信号是否会影响主程序的执行呢、plc在子程序用跳转指令后,是回到主程序还是回到子程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9812140.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存