【SCL编程案例】智造产线系统流程控制1

已锁定

第7代CNC

  • 帖子

    921
  • 精华

    3
  • 被关注

    97

论坛等级:奇侠

注册时间:2009-11-29

钻石 钻石 如何晋级?

【SCL编程案例】智造产线系统流程控制1

2185

5

2025-05-24 17:59:03



1)加工任务由 MES 下发,机器人自动立体仓库库位(3,2)中取工件坯料,加工流程状态按编码规则需写入到原仓位RFID 中,并在HMI 调试界面显示;

2)机器人取毛坯时应先读 RFID,后取毛坯;

3)加工完成后,工件需放入原仓位,RFID 写;

4)整体运行过程中,工业机器人与数控设备之间能协调、互锁运行,能够实现自动开关门、上下料及装夹等功能。



网络 1:控制命令初始化

0001 IF "HMI 命令初始化" THEN

0002 "robot_data"."40081_lOlIN(0)_机器人程序选择" := 0;

0003 "robot_data"."40082_lOlIN(1)_机器人行号" := 0;

0004 "robot_data"."40083_lOlIN(2)_机器人列号" := 0;

0005 "robot_data"."40084_lOlIN(3)_机器人控制车床信号(1 开始取放2 已夹紧3 已松开)" := 0;

0006 "robot_data"."40085_lOlIN(4)_机器人控制加工中心信号(1 开始取放2 已夹紧3 已松开)" := 0;

0007 "robot_data"."40086_lOlIN(5)_机器人控制RFID 信号(1 读写完成)" := 0;

0008 "robot_data"."40087_lOlIN(6)_机器人快换夹具号(1 小圆料2 大圆料3 方料)" := 0;

0009 "HMI 车床启动" := 0;

0010 "HMI 加工中心启动" := 0;

0011 "DO 车床启动信号" := 0;

0012 "DO 加工中心启动信号" := 0;

0013 "HMI 车床上料" := 0;

0014 "HMI 加工中心上料" := 0;

0015 "HMI 车床取料" := 0;

0016 "HMI 车床取料加工中心上料" := 0;

0017 "HMI 车床取料" := 0;

0018 "HMI 加工中心取料" := 0;

0019

0020

0021

0022 END_IF;

网络 2:车床上料 程序号 1

0001 IF "HMI 车床上料" THEN

0002 IF "DI 车床防护门开门到位信号" AND "DI 车床卡盘松开信号" THEN

0003 IF "robot_data"."40031_lOlOUT(0)_原点信号"=1 THEN

0004 "robot_data"."40081_lOlIN(0)_机器人程序选择" := 1;

0005 "robot_data"."40084_lOlIN(3)_机器人控制车床信号(1 开始取放2 已夹紧3 已松开)" := 1;

0006 "robot_data"."40082_lOlIN(1)_机器人行号" := "行号";

0007 "robot_data"."40083_lOlIN(2)_机器人列号" := "列号";

0008 "robot_data"."40087_lOlIN(6)_机器人快换夹具号(1 小圆料2 大圆料3 方料)" := "夹具号";

0009 END_IF;

0010 END_IF;

0011

0012 IF "robot_data"."40032_lOlOUT(1)_机器人请求车床信号(1 取放完成2 请求夹紧3 请求松开)"=2 THEN

0013 IF "DI 车床卡盘松开信号" THEN

0014 "DO 车床卡盘控制信号" := 1;

0015 END_IF;

0016 IF "DI 车床卡盘夹紧信号" THEN

0017 "DO 车床卡盘控制信号" := 0;

0018 "robot_data"."40084_lOlIN(3)_机器人控制车床信号(1 开始取放2 已夹紧3 已松开)" := 2;

0019 END_IF;

0020 END_IF;

0021 IF "robot_data"."40032_lOlOUT(1)_机器人请求车床信号(1 取放完成2 请求夹紧3 请求松开)" = 1 THEN

0022 "robot_data"."40084_lOlIN(3)_机器人控制车床信号(1 开始取放2 已夹紧3 已松开)" := 0;

0023

0024 END_IF;

0025 IF "robot_data"."40035_lOlOUT(4)" = 1 THEN

0026 "robot_data"."40081_lOlIN(0)_机器人程序选择" := 0;

0027 "robot_data"."40082_lOlIN(1)_机器人行号" := 0;

0028 "robot_data"."40083_lOlIN(2)_机器人列号" := 0;

0029 "robot_data"."40087_lOlIN(6)_机器人快换夹具号(1 小圆料2 大圆料3 方料)" := 0;

0030

0031 //"HMI 车床启动" := 1;

0032 "HMI 车床上料" := 0;

0033 END_IF;

0034

0035

0036 END_IF;

0037

网络 3:车床取料 程序号3

0001 IF "HMI 车床取料" THEN

0002 IF "DI 车床防护门开门到位信号" THEN

0003 IF "robot_data"."40031_lOlOUT(0)_原点信号" = 1 THEN

0004 "robot_data"."40081_lOlIN(0)_机器人程序选择" := 3;

0005 "robot_data"."40084_lOlIN(3)_机器人控制车床信号(1 开始取放2 已夹紧3 已松开)" := 1;

0006 "robot_data"."40082_lOlIN(1)_机器人行号" := "行号";

0007 "robot_data"."40083_lOlIN(2)_机器人列号" := "列号";

0008 "robot_data"."40087_lOlIN(6)_机器人快换夹具号(1 小圆料2 大圆料3 方料)" := "夹具号";

0009 END_IF;

0010 END_IF;

0011 IF "robot_data"."40032_lOlOUT(1)_机器人请求车床信号(1 取放完成2 请求夹紧3 请求松开)" = 3 THEN

0012 IF "DI 车床卡盘夹紧信号" THEN

0013 "DO 车床卡盘控制信号" := 1;

0014 END_IF;

0015 IF "DI 车床卡盘松开信号" THEN

0016 "DO 车床卡盘控制信号" := 0;

0017 "robot_data"."40084_lOlIN(3)_机器人控制车床信号(1 开始取放2 已夹紧3 已松开)" := 3;

0018 END_IF;

0019 END_IF;

0020 IF "robot_data"."40032_lOlOUT(1)_机器人请求车床信号(1 取放完成2 请求夹紧3 请求松开)" = 1 THEN

0021 "robot_data"."40084_lOlIN(3)_机器人控制车床信号(1 开始取放2 已夹紧3 已松开)" := 0;

0022 END_IF;

0023

0024 IF "robot_data"."40035_lOlOUT(4)" = 1 THEN //机器人流程结束信号OUT4

0025 "robot_data"."40081_lOlIN(0)_机器人程序选择" := 0;

0026

0027 "robot_data"."40082_lOlIN(1)_机器人行号" := 0;

0028 "robot_data"."40083_lOlIN(2)_机器人列号" := 0;

0029 "robot_data"."40087_lOlIN(6)_机器人快换夹具号(1 小圆料2 大圆料3 方料)" := 0;

0030

0031 "HMI 车床取料" := 0;

0032 END_IF;

0033

0034 END_IF;

网络 4:加工中心上料 程序号2

0001 IF "HMI 加工中心上料" THEN

0002 IF "DI 加工中心防护门开门到位信号" AND "DI 加工中心平口钳松开信号" THEN

0003 IF "robot_data"."40031_lOlOUT(0)_原点信号" = 1 THEN

0004 "robot_data"."40081_lOlIN(0)_机器人程序选择" := 2;

0005 "robot_data"."40085_lOlIN(4)_机器人控制加工中心信号(1 开始取放2 已夹紧3 已松开)" := 1;

0006 "robot_data"."40082_lOlIN(1)_机器人行号" := "行号";

0007 "robot_data"."40083_lOlIN(2)_机器人列号" := "列号";

0008 "robot_data"."40087_lOlIN(6)_机器人快换夹具号(1 小圆料2 大圆料3 方料)" := "夹具号";

0009 END_IF;

0010 END_IF;

0011 IF "robot_data"."40033_lOlOUT(2)_机器人请求加工中心信号(1 取放完成2 请求夹紧3 请求松开)" = 2 THEN

0012 IF "DI 加工中心平口钳松开信号" THEN

0013 "DO 加工中心平口钳控制" := 1;

0014 END_IF;

0015 IF "DI 加工中心平口钳夹紧信号" THEN

0016 "DO 加工中心平口钳控制" := 0;

0017 "robot_data"."40085_lOlIN(4)_机器人控制加工中心信号(1 开始取放2 已夹紧3 已松开)" := 2;

0018 END_IF;

0019 END_IF;

0020 IF "robot_data"."40033_lOlOUT(2)_机器人请求加工中心信号(1 取放完成2 请求夹紧3 请求松开)" = 1 THEN

0021 "robot_data"."40085_lOlIN(4)_机器人控制加工中心信号(1 开始取放2 已夹紧3 已松开)" := 0;

0022 END_IF;

0023 IF "robot_data"."40035_lOlOUT(4)"=1 THEN

0024 "robot_data"."40081_lOlIN(0)_机器人程序选择" := 0;

0025

0026 "robot_data"."40082_lOlIN(1)_机器人行号" := 0;

0027 "robot_data"."40083_lOlIN(2)_机器人列号" := 0;

0028 "robot_data"."40087_lOlIN(6)_机器人快换夹具号(1 小圆料2 大圆料3 方料)" := 0;

0029 //"HMI 加工中心启动" := 1;

0030 "HMI 加工中心上料" := 0;

0031 END_IF;

0032

0033

0034 END_IF;

0035

网络 5:加工中心取料程序号4

0001 IF "HMI 加工中心取料" THEN

0002 IF "DI 加工中心防护门开门到位信号" THEN

0003 IF "robot_data"."40031_lOlOUT(0)_原点信号" = 1 THEN

0004 "robot_data"."40081_lOlIN(0)_机器人程序选择" := 4;

0005 "robot_data"."40085_lOlIN(4)_机器人控制加工中心信号(1 开始取放2 已夹紧3 已松开)" := 1;

0006 "robot_data"."40082_lOlIN(1)_机器人行号" := "行号";

0007 "robot_data"."40083_lOlIN(2)_机器人列号" := "列号";

0008 "robot_data"."40087_lOlIN(6)_机器人快换夹具号(1 小圆料2 大圆料3 方料)" := "夹具号";

0009 END_IF;

0010 END_IF;

0011 IF "robot_data"."40033_lOlOUT(2)_机器人请求加工中心信号(1 取放完成2 请求夹紧3 请求松开)" = 3 THEN

0012 IF "DI 加工中心平口钳夹紧信号" THEN

0013 "DO 加工中心平口钳控制" := 1;

0014 END_IF;

0015 IF "DI 加工中心平口钳松开信号" THEN

0016 "DO 加工中心平口钳控制" := 0;

0017 "robot_data"."40085_lOlIN(4)_机器人控制加工中心信号(1 开始取放2 已夹紧3 已松开)" := 3;

0018 END_IF;

0019 END_IF;

0020 IF "robot_data"."40033_lOlOUT(2)_机器人请求加工中心信号(1 取放完成2 请求夹紧3 请求松开)" = 1 THEN

0021 "robot_data"."40085_lOlIN(4)_机器人控制加工中心信号(1 开始取放2 已夹紧3 已松开)" := 0;

0022 END_IF;

0023

0024 IF "robot_data"."40035_lOlOUT(4)"=1 THEN

0025 "robot_data"."40081_lOlIN(0)_机器人程序选择" := 0;

0026

0027 "robot_data"."40082_lOlIN(1)_机器人行号" := 0;

0028 "robot_data"."40083_lOlIN(2)_机器人列号" := 0;

0029 "robot_data"."40087_lOlIN(6)_机器人快换夹具号(1 小圆料2 大圆料3 方料)" := 0;

0030

0031 "HMI 加工中心取料" := 0;

0032 END_IF;

0033

0034 END_IF;

网络 6:车床取料加工中心上料

0001 "R_TRIG_DB_2"(CLK:="HMI 车床取料加工中心上料");

0002 IF "R_TRIG_DB_2".Q THEN

0003 "hmi_count9" := 1;

0004 END_IF;

0005 IF "HMI 车床取料加工中心上料" THEN

0006

0007 CASE "hmi_count9" OF

0008 1:

0009 IF "DI 车床防护门开门到位信号" (*AND "DI 加工中心防护门开门到位信号"*) AND "DI 车床卡盘夹紧信号"(* AND "DI 加工中心平口钳松

开信号"*) THEN

0010 IF "robot_data"."40031_lOlOUT(0)_原点信号" = 1 THEN

0011 "robot_data"."40081_lOlIN(0)_机器人程序选择" := 9;

0012 "robot_data"."40084_lOlIN(3)_机器人控制车床信号(1 开始取放2 已夹紧3 已松开)" := 1;

0013 // "robot_data"."40085_lOlIN(4)_机器人控制加工中心信号(1 开始取放2 已夹紧3 已松开)" := 1;

0014 "robot_data"."40082_lOlIN(1)_机器人行号" := "行号";

0015 "robot_data"."40083_lOlIN(2)_机器人列号" := "列号";

0016 "robot_data"."40087_lOlIN(6)_机器人快换夹具号(1 小圆料2 大圆料3 方料)" := "夹具号";

0017 "hmi_count9" := 2;

0018 END_IF;

0019 END_IF;

0020 2:

0021 IF "robot_data"."40032_lOlOUT(1)_机器人请求车床信号(1 取放完成2 请求夹紧3 请求松开)" = 3 THEN

0022 IF "DI 车床卡盘夹紧信号" THEN

0023 "DO 车床卡盘控制信号" := 1;

0024 END_IF;

0025 IF "DI 车床卡盘松开信号" THEN

0026 "DO 车床卡盘控制信号" := 0;

0027 "robot_data"."40084_lOlIN(3)_机器人控制车床信号(1 开始取放2 已夹紧3 已松开)" := 3;

0028 "hmi_count9" := 3;

0029 END_IF;

0030 END_IF;

0031 3:

0032 IF "robot_data"."40032_lOlOUT(1)_机器人请求车床信号(1 取放完成2 请求夹紧3 请求松开)" = 1 THEN

0033 "robot_data"."40084_lOlIN(3)_机器人控制车床信号(1 开始取放2 已夹紧3 已松开)" := 0;

0034 "hmi_count9" := 4;

0035 END_IF;

0036 4:

0037 IF "DI 加工中心防护门开门到位信号" AND "DI 加工中心平口钳松开信号" THEN

0038 // IF "robot_data"."40031_lOlOUT(0)_原点信号" = 1 THEN

0039 "robot_data"."40081_lOlIN(0)_机器人程序选择" := 9;

0040 // "robot_data"."40084_lOlIN(3)_机器人控制车床信号(1 开始取放2 已夹紧3 已松开)" := 1;

0041 "robot_data"."40085_lOlIN(4)_机器人控制加工中心信号(1 开始取放2 已夹紧3 已松开)" := 1;

0042 "robot_data"."40082_lOlIN(1)_机器人行号" := "行号";

0043 "robot_data"."40083_lOlIN(2)_机器人列号" := "列号";

0044 "robot_data"."40087_lOlIN(6)_机器人快换夹具号(1 小圆料2 大圆料3 方料)" := "夹具号";

0045 "hmi_count9" := 5;

0046 // END_IF;

0047 END_IF;

0048 5:

0049 IF "robot_data"."40033_lOlOUT(2)_机器人请求加工中心信号(1 取放完成2 请求夹紧3 请求松开)" = 2 THEN

0050 IF "DI 加工中心平口钳松开信号" THEN

0051 "DO 加工中心平口钳控制" := 1;

0052 END_IF;

0053 IF "DI 加工中心平口钳夹紧信号" THEN

0054 "DO 加工中心平口钳控制" := 0;

0055 "robot_data"."40085_lOlIN(4)_机器人控制加工中心信号(1 开始取放2 已夹紧3 已松开)" := 2;

0056 "hmi_count9" := 6;


【SCL编程案例】智造产线系统流程控制1 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15772条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。