plc224cn 中如何判定调用的子程序执行结束 点击:3055 | 回复:16



hackerg

    
  • 精华:0帖
  • 求助:5帖
  • 帖子:5帖 | 21回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2012年2月03日
发表于:2013-06-14 20:52:23
楼主
求助帖20分-已结帖

在plc编程中,主程序要分别调用 三个子程序,目的,  轨道小车在    A位置时调用A子程序,A子程序结束后启动小车向B位置 ,到达B位置后调用B子程序,B子程序结束后启动小车向C位置移动,到达C位置后调用C程序,C子程序结束后小车返回A位置在执行A子程序如此循环!求高手解决子程序结束的标志,就是如何判定子程序已经执行完成了,完成了的标志怎么去调用小车!

这是我调用的,这样运行不起来    本人菜鸟,求高手指点!





--领域

  • 精华:8帖
  • 求助:80帖
  • 帖子:481帖 | 3926回
  • 年度积分:915
  • 历史总积分:140763
  • 注册:2008年2月29日
发表于:2013-06-14 21:08:56
1楼

首先,不知道LZ说的子程序结束后,调用下一子程序,这里说的结束是指子程序循环结束,还是有什么条件后,结束当前的子程序,执行下一子程序。

如果是前者,那么加入子程序结束指令,返回主程序,再由主程序来决定调用另外一个子程序。

如果是后者,就比较简单了,在子程序中加入 一个OUT变量,来调用下一个子程序即可

再说一点,如果是第二种,不必这么麻烦,直接用步进做不是更好!

hackerg

  • 精华:0帖
  • 求助:5帖
  • 帖子:5帖 | 21回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2012年2月03日
发表于:2013-06-14 21:33:51
2楼

谢谢领域解答! 子程序时有条件结束的,就是最后一个行    Q点输出后结束子程序,步进我不懂!你说在子程序中加OUT 是如何加的啊!加完后就像你发的网络1中的那样了吗?子程序右下角带Done  

www_plcjc_com

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2012年9月06日
发表于:2013-06-14 21:51:42
3楼

↑学习PLC中·····

 

阿水--王者之师

  • 精华:24帖
  • 求助:348帖
  • 帖子:1616帖 | 22281回
  • 年度积分:37
  • 历史总积分:98482
  • 注册:2007年3月22日
发表于:2013-06-14 22:56:38
4楼

  子程序时有条件结束的,就是最后一个行    Q点输出后结束子程序


这样你的 Q 点输出后再返回主程序运行启动工作位子程序呀,其实你这个直接在主程序里就能搞定也一样的

秦君_1

  • 精华:8帖
  • 求助:22帖
  • 帖子:148帖 | 4867回
  • 年度积分:1651
  • 历史总积分:39896
  • 注册:2005年6月28日
发表于:2013-06-15 09:39:48
5楼

首先子程序调用是每个扫描周期都调用(只要调用条件成立)。

你说的:“A位置时调用A子程序,A子程序结束后启动小车向B位置 ”我理解成调用子程序时随时判断子程序结束标志,如果判断子程序结束,马上断掉子程序调用,在主程序中 “启动小车向B位置”。

其他逻辑同样处理。

湖北老四

  • 精华:2帖
  • 求助:13帖
  • 帖子:25帖 | 845回
  • 年度积分:0
  • 历史总积分:2751
  • 注册:2013年2月16日
发表于:2013-06-15 10:32:04
6楼

顺序控制嘛,仔细想想,其实很简单的,加油。。。

hackerg

  • 精华:0帖
  • 求助:5帖
  • 帖子:5帖 | 21回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2012年2月03日
发表于:2013-06-15 15:49:10
7楼

回复内容:

对: 阿水--王者之师    子程序时有条件结束的,就是最后一个行    Q点输... 内容的回复!


 我是想用子程序结束标志位,来启动小车运行的,不知道子程序里的位,可以拿到主程序里使用吗?

hackerg

  • 精华:0帖
  • 求助:5帖
  • 帖子:5帖 | 21回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2012年2月03日
发表于:2013-06-15 15:52:07
8楼

回复内容:

对: 秦君_1  首先子程序调用是每个扫描周期都调用(只要调用条件成立)... 内容的回复!


 你的理解是对的,移走小车,子程序断开!到达下一位置,执行下一个子程序

hackerg

  • 精华:0帖
  • 求助:5帖
  • 帖子:5帖 | 21回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2012年2月03日
发表于:2013-06-15 15:59:13
9楼

回复内容:

对: 湖北老四  顺序控制嘛,仔细想想,其实很简单的,加油。。。 内容的回复!


 恩!努力学习中!!!感谢各位高手的支持与帮助!!!

hackerg

  • 精华:0帖
  • 求助:5帖
  • 帖子:5帖 | 21回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2012年2月03日
发表于:2013-06-15 15:59:59
10楼

回复内容:

对: www_plcjc_com  ↑学习PLC中·····  内容的回复!


 谢谢顶贴!!!

hackerg

  • 精华:0帖
  • 求助:5帖
  • 帖子:5帖 | 21回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2012年2月03日
发表于:2013-06-15 16:10:59
11楼

谁能指点下,如何建立一楼网络一里介绍的子程序啊!就是子程序右下角带Done的!

夏子墨

  • 精华:0帖
  • 求助:0帖
  • 帖子:64帖 | 35回
  • 年度积分:7
  • 历史总积分:3139
  • 注册:2013年4月20日
发表于:2013-06-18 21:40:56
12楼

进入子程序上面有临时变量的选项,里面有输入输出填好,再在主程序里调用就有了!!!!

首先子程序调用是每个扫描周期都调用(只要调用条件成立)。

你说的:“A位置时调用A子程序,A子程序结束后启动小车向B位置 ”我理解成调用子程序时随时判断子程序结束标志,如果判断子程序结束,马上断掉子程序调用,在主程序中 “启动小车向B位置”。

其他逻辑同样处理。


hackerg

  • 精华:0帖
  • 求助:5帖
  • 帖子:5帖 | 21回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2012年2月03日
发表于:2013-06-20 20:11:55
13楼

回复内容:

对: 夏子墨 进入子程序上面有临时变量的选项,里面有输入输出填好,再... 内容的回复!

你的理解非常正确!能否帮我编写调用的主程序

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2013-08-04 22:32:04
14楼

无需要用输出参数啊。

第一个子程序完成了之后置位一个标志。用这个标志驱动后面的事情就可以啦。

这个问题简化到最简单可以是一个灯亮着,按一个键,这个灯灭了跟着亮下一个灯。

先做好这个简单的实验然后心里有数了再做大的。

北极星的电力

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 161回
  • 年度积分:0
  • 历史总积分:50
  • 注册:2014年1月04日
发表于:2014-01-06 16:15:53
15楼

引用 秦君_1 的回复内容: 首先子程序调用是每个扫描周期都调用(只要调用条件成立)...



ntplc2017

  • 精华:0帖
  • 求助:0帖
  • 帖子:38帖 | 375回
  • 年度积分:0
  • 历史总积分:685
  • 注册:2018年5月11日
发表于:2018-08-14 09:46:28
16楼

程序的标记按逻辑的描述到达A位置就可以标记了,具体内容主要不是看程序,而是要看整体工作逻辑。



热门招聘
相关主题

官方公众号

智造工程师