菜鸟求助:STEP7编程中在OB1中M0.0,M0.1的问题

如题,读一段没有注释的程序,在OB1中,一上来,程序段1中先采用M0.0的常闭触点接到M0.1线圈;程序段2中采用M0.1的常闭触点接到M0.0的线圈。仿真了一下,结果是:M0.0=0,M0.1=1。其他程序块中很用地方用到M0.0和M0.1的,且都用的是常开触点。

我的问题是:
1:请问一下PLC的扫描过程中,是严格的程序段1执行结束后(置位复位完成后),再接着执行程序段2吗?(即执行程序段2的时候,程序段1的相关数据已经刷新了)。如果是这样,那这段程序永远应该是初始两个点都是0,第一周期之后M0.0还是0,M0.1是1.

2:如果不是,那是否可以理解成,每个扫描周期,PLC只扫描程序1次,虽然程序段有先后,但基本同时执行,且周期内部刷新。如果是这样,初始两个点都是0,第1周期之后,应该两个点都是1才对。

3. 这种M点掉电保持吗?是否每次运行PLC时,都初始为0?

4:上述程序中,搞了M0.0和M0.1两个点意义何在?如果说是自己做了一个常开点,一个常闭点,那在后面的程序中,使用常开点有什么意义?例如串在回路中,一个永远常开的点,那这段程序岂非永远无法接通?

初次接触STEP7,问题难免很幼稚,大家见笑了

问题补充:
见附图,如果扫描是从上到下,从左到右,那第一个扫描周期时,执行到附图中程序段3的时候,M1.0已经被程序段2置位了,此时M0.0=0,M0.1=1;
那么在第二个扫描周期,程序段2是连通的,因为M0.0=0; 程序段3是断开的,因为M0.1=1;
如果这么解释,就是说一个扫描周期内,执行到比较靠后边的程序时,前边程序的执行结果已经被刷新了,对吗?那么,一个扫描周期内数据不刷新这种说法是不正确的喽?

图片说明:

菜鸟求助:STEP7编程中在OB1中M0.0,M0.1的问题   

最佳答案

1:请问一下PLC的扫描过程中,是严格的程序段1执行结束后(置位复位完成后),再接着执行程序段2吗?(即执行程序段2的时候,程序段1的相关数据已经刷新了)。如果是这样,那这段程序永远应该是初始两个点都是0,第一周期之后M0.0还是0,M0.1是1.
------------就是这样,程序段2,应用的是程序段1得运算结果

2:如果不是,那是否可以理解成,每个扫描周期,PLC只扫描程序1次,虽然程序段有先后,但基本同时执行,且周期内部刷新。如果是这样,初始两个点都是0,第1周期之后,应该两个点都是1才对。

3. 这种M点掉电保持吗?是否每次运行PLC时,都初始为0?
-------------掉电不保持

4:上述程序中,搞了M0.0和M0.1两个点意义何在?如果说是自己做了一个常开点,一个常闭点,那在后面的程序中,使用常开点有什么意义?例如串在回路中,一个永远常开的点,那这段程序岂非永远无法接通?
----------程序里面一般都会用到常开点和常闭点的, 所以会在OB1得开头先设置一下

问题补充:见附图,如果扫描是从上到下,从左到右,那第一个扫描周期时,执行到附图中程序段3的时候,M1.0已经被程序段2置位了,此时M0.0=0,M0.1=1;
那么在第二个扫描周期,程序段2是连通的,因为M0.0=0; 程序段3是断开的,因为M0.1=1;
如果这么解释,就是说一个扫描周期内,执行到比较靠后边的程序时,前边程序的执行结果已经被刷新了,对吗?那么,一个扫描周期内数据不刷新这种说法是不正确的喽?
-------- 你说得对,一个扫描周期内数据不刷新这种说法是不正确的

提问者对于答案的评价:
感谢您的耐心解答!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc240887.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午7:37
下一篇 2018年12月1日 下午7:38

相关推荐