新手关于s7-200的几个问题请教 点击:510 | 回复:9



lansetaiyanggumu

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 21回
  • 年度积分:0
  • 历史总积分:206
  • 注册:2012年11月05日
发表于:2012-11-24 22:45:59
楼主

关于调用子程序的问题

调用子程序的时候。主程序是不是停止执行。

举例1:

主程序

主程序
子程序
 
当我调用子程序
I0.0闭合的时候
I0.1闭合的话Q0.1会响应么?
 
 
举例2:
主程序
子程序
 
主程序I0.0闭合。
子程序开始工作。同时主程序中的时间继电器是否同时工作?Q0.1
什么时候开始响应??或者这程序压根就不工作??



lansetaiyanggumu

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 21回
  • 年度积分:0
  • 历史总积分:206
  • 注册:2012年11月05日
发表于:2012-11-24 23:00:45
1楼

还有个啊。

举例1的图中

当主程序I0.0接通子程序。
然后在子程序里I0.2闭合。Q0.0产生输出。这时,在I0.2闭合的状态下。断开I0.0  Q0.0是否被断开?

江湖走走--原创军团

  • [版主]
  • 精华:30帖
  • 求助:7帖
  • 帖子:836帖 | 7833回
  • 年度积分:193
  • 历史总积分:46108
  • 注册:2001年2月15日
发表于:2012-11-24 23:28:36
2楼
你问的问题--回答都是肯定的!

ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2012-11-25 15:05:53
3楼

呵呵,PLC是逐行扫描,如果条件不成立,对应是输出自然没有

秦君_1

  • 精华:8帖
  • 求助:22帖
  • 帖子:148帖 | 4867回
  • 年度积分:1651
  • 历史总积分:39896
  • 注册:2005年6月28日
发表于:2012-11-25 15:27:37
4楼

好好看一下手册中关于扫描周期的描述就什么都明白了。子程序调用扫描完后继续顺序扫描主程序,每个扫描周期肯定要扫描主程序的。

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2012-11-26 10:06:31
5楼

引用 lansetaiyanggumu 的回复内容:还有个啊。举例1的图中当主程序I0.0接通子程序。然后在子程序里I0.2闭合。Q0.0产生输出。这时,在I0.2闭合的状态下。断开I0.0  Q0.0是否被断开?



子程序中的 Q0.0输出 是只要调用就等于 给Q0.0置为1 ,当 调用子程序调节为I0.1, 且子程序中 Q0.0 的输出条件也是I0.1 时, 这个时候,当I0.1 从 ON->OFF 变化时,子程序就不会执行,这时 Q0.0保持先前的状态,也就是为 1 。

子程序中的 T 定时器 就不同, 当检测到每一个周期没有调用子程序时,定时器就会被复位。


 

skysuzhen

  • 精华:0帖
  • 求助:1帖
  • 帖子:15帖 | 1092回
  • 年度积分:32
  • 历史总积分:2061
  • 注册:2008年7月31日
发表于:2013-03-05 19:42:25
6楼

答案肯定的

最好找个PLC试一下

zxh_love

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 24回
  • 年度积分:0
  • 历史总积分:107
  • 注册:2013年2月28日
发表于:2013-03-05 21:09:09
7楼
来学习的,表示西门子的不是很熟。

蓝天月亮

  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 1447回
  • 年度积分:0
  • 历史总积分:3594
  • 注册:2007年10月22日
发表于:2013-03-05 21:52:06
8楼
你完全可以仿真一下,就知道了。

chinacupor

  • 精华:2帖
  • 求助:13帖
  • 帖子:25帖 | 845回
  • 年度积分:0
  • 历史总积分:2751
  • 注册:2013年2月16日
发表于:2013-03-06 00:13:28
9楼

我记得书上有一句说过,从左到右,从上到下。。。

 

所以楼主这个真不用太多心。

 

我曾经做死过一个TD变量的转换,貌似就是在时钟设定里面。

 

因为格式转换不正确,导致TD里面也彻底停摆的例子!

 

于是后来我知道了,S7-200是单线程生物,他不能同时处理多条任务。

 

他只能按照从上到下,从左到右的顺序,一个一个来做。这和电路图是有区别的,电路图里一个并联电路会导致几乎同时进行的任务。但这是逻辑表达,逻辑认为应该从左到右从上到下,那就是这个顺序。当你最上面一行的任务算死了,出不来的时候,下面的和右边的运算是不会继续的!同理,上面或者左边的任务做完之前,他是不会走到右边的。

 

不然EN要着干嘛?

 

以上纯属猜测,无老师指导,欢迎各位仙长指导指正滥交滥沟通。。。其实我不<此处内容被屏蔽>荡

 

 


热门招聘
相关主题

官方公众号

智造工程师