outfeet-搬运程序分析-main

2023-02-20 16:30:31 浏览数 (1)

HELLO 各位小伙伴,大家好,今天带来一套程序,这也不是我写的程序,不过思路还是很不错的,分享出来大家可以在自己写程序时借鉴一下。

整套程序可归类为搬运应用,是从A1位置抓取,搬运到B位置,从A2位置抓取搬运到B位置,不合格产品搬运到C区域。

下面是区域分布图:

程序的逻辑并不复杂,主程序并没有采用cell,而是用自己写的main程序,机器人和PLC之间采用profinet通讯。由plc采集产品是否到达,并且判断是否为合格产品。发送给机器人,程序号进行抓取。

下面我画了个简单的流程图(有点小建议放大了看):

接下来我们来看看机器人的主程序:

代码语言:javascript复制
DEF main( )
  ;------------------------------------------- 
  ; 
  ;  Program:      Main2
  ;  Application:  Outotec, Tongling 1 outfeed
  ; 
  ;  Comments:     Unloading of stripstation 1&2

  init()
  
  CONTINUE
  LOOP
   CONTINUE
   IF mission==0 THEN
    WAIT FOR mission > 0
   ENDIF
  
   continue
   PULSE (mission_acc,TRUE,0.2)

    CONTINUE
    SWITCH mission
      CASE 1;               Strip 1 to outfeed
        Pickup(1)
        Outfeed(1) 
      CASE 2 ;              Strip 2 to outfeed
        Pickup(2)
        Outfeed(2)
      CASE 3 ;              Strip 1 to reject
        Pickup(1)
        Reject(1)
      CASE 4 ;              Strip 2 to reject
        Pickup(2)
        Reject(2)
      CASE 5 ;              Strip 2 to reject
        Reject(3)
      CASE 6 ;        To service position
        ;to_service()             
    ENDSWITCH

  ENDLOOP
END

程序解释:

9 行 初始化程序

12 行 主循环开始

14 行 检测misssim结果是否为0

15 行 如果misssim结果为0则等待结果大于0

19 行 mission_acc脉冲输出0.2秒,表示已经收到misssim

22 行 根据misssim进入分支,包含5个有效分支

分支1:A1区域抓取,放置B区域

分支2:A2区域抓取,放置B区域

分支3:A1区域抓取,放置C区域

分支4:A2区域抓取,放置C区域

分支5:放置C区域

抓取程序Pickup、放置程序Outfeed、不合格放置程序Reject,根据传入的不同数字决定了执行不同路径(括号中的1、2、3),并且程序只有4个示教点,所以这套程序的子程序一定很精彩,敬请期待下回分解

0 人点赞