caibaozi
当我使用call指令时,程序跳转至我指定的地方,那么什么叫我指定的程序段执行结束呢?
例如,我写的程序跳转至P4了,y000驱动的是气缸向后收缩的电磁阀,x023是一个限位开关。以这段程序为例,我的这段程序什么时候才叫执行完毕,才能回到发生跳转操作的地方。是电磁阀回到限位开关处,然后断电,指示灯Y017被熄灭,才叫执行完毕,然后回到程序原来发生跳转操作的地方吗?
yuanle
执行完毕是指程序在你执行了一遍就叫执行完毕,请注意,不是你的所有动作出现了就完成了,而是扫描过了就执行完毕了。
yanxueqiang
是的 具体要看你程序执行的位置
痴儿
我的理解不知道对也不对
程序跳转至P4,然后就开始执行P4里面程序,根据你的程序来看,程序要执行完,是不是就是指那两个线圈得电?我认为是的。得电之后,如果你这个程序是调用的子程序,那么就会返回主程序,反之就会直接运行下一步。
我也是刚学,不知道理解的对不对,如果你确定了答案,希望你能跟我讲一声^^
机器熊
你好,PLC程序执行的方式是循环扫描,所谓你的子程序执行完毕,就是指子程序中的这两行指令都被扫描过了,不管输出的结果如何,这两行程序扫描完毕后就返回到原来的调用行。
回复内容:
对: 机器熊 你好,PLC程序执行的方式是循环扫描,所谓你的子程序执... 内容的回复!
我的理解也是这样的,扫描过后,立刻回到原来的调用行,但是有一个问题,PLC的先关输出的动作时间肯定是比扫描时间长的呀,那么是如何输出的呢?
对: caibaozi 回复内容:对: 机器熊 你好,PLC程序执行的方式是... 内容的回复!
我的理解也是这样的,扫描过后,立刻回到原来的调用行,但是有一个问题,PLC的相关输出的动作时间肯定是比扫描时间长的呀,那么是如何输出的呢?
对: yuanle 执行完毕是指程序在你执行了一遍就叫执行完毕,请注意,不... 内容的回复!
那这段输出是没法实现了吗?
那对于这段程序的输出是没法完全实现了吗?
对: 痴儿 我的理解不知道对也不对 程序跳转至P4,然后就开始执... 内容的回复!
基本上是这个意思,但是中间的具体执行过程不是很了解,有一些困惑
国之精粹
中断程序,结构化,模块化的去编程
对: caibaozi 回复内容:对: 痴儿 我的理解不知道对也不对 程序跳... 内容的回复!
嗯,对,程序执行完毕指的是扫描一遍完毕,那要是我第一遍扫描的时候,程序能完成这个动作,但是还没完成;要是第二遍扫描的时候完成这个动作的条件没有了,那这个程序是输出呢还是怎么办呢。我欠缺考虑
在子程序中被置位或者复位的软元件,在子程序执行完毕后状态保持,所以,如果你不希望其在主程序中仍然保持,那么需要在子程序返回前或者在主程序中对其复位。
详细内容可以参考编程手册上的“子程序调用和中断程序调用的注意点”相关内容。
我懂了,PLC中的程序是扫描式的,在不断的扫描过程中,如果你的输出执行条件依然满足,那么我就可以一直输出。倘若,在扫描过程中,输出执行条件不在了,那么输出就没法完成。以这段程序为例,如果跳转P4的条件一直满足,虽然P4中的子程序被执行过一遍又一遍,但是其实也返回过主程序一遍又一遍,只是执行条件一直满足,所以依然跳转至这里,直到电磁阀因限位开关失电,指示灯因取消按钮失电。就算这些动作执行完毕,P4其实依然在执行,除非P4的触发条件被复位。那么这段程序就不在执行了。
对: yuanle 在子程序中被置位或者复位的软元件,在子程序执行完毕后状... 内容的回复!
嗯嗯,是的,必须采取复位
对: 痴儿 回复内容:对: caibaozi 回复内容:对: 痴... 内容的回复!
如果程序扫描至第二遍,程序段依然在执行,只要跳转的条件不发生变化。
对: 国之精粹 中断程序,结构化,模块化的去编程 内容的回复!
兄弟,你算是答非所问了,不过也没错
xiaolong
我只会西门子,可能我是迷路了
hawson
PLC是循环扫描运行的,这是PLC最基本的原理。
对: hawson PLC是循环扫描运行的,这是PLC最基本的原理。 内容的回复!
嗯呢,有时候会忘记很基本的东西
对: xiaolong 我只会西门子,可能我是迷路了 内容的回复!
哈哈哈哈哈哈,过来看看三菱PLC也可以啊