摘要:1)加工任务由 MES 下发,机器人自动立体仓库库位(3,2)中取工件坯料,加工流程状态按编码规则需写入到原仓位RFID 中,并在HMI 调试界面显示;
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;
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
0030
0031 "HMI 车床取料" := 0;
0032 END_IF;
0033
0034 END_IF;
网络 4:加工中心上料 程序号2
0001 IF "HMI 加工中心上料" THEN
0002 IF "DI 加工中心防护门开门到位信号" AND "DI 加工中心平口钳松开信号" THEN
0004 "robot_data"."40081_lOlIN(0)_机器人程序选择" := 2;
0005 "robot_data"."40085_lOlIN(4)_机器人控制加工中心信号(1 开始取放2 已夹紧3 已松开)" := 1;
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
0004 "robot_data"."40081_lOlIN(0)_机器人程序选择" := 4;
0009 END_IF;
0010 END_IF;
0011 IF "robot_data"."40033_lOlOUT(2)_机器人请求加工中心信号(1 取放完成2 请求夹紧3 请求松开)" = 3 THEN
0012 IF "DI 加工中心平口钳夹紧信号" THEN
0014 END_IF;
0015 IF "DI 加工中心平口钳松开信号" THEN
0017 "robot_data"."40085_lOlIN(4)_机器人控制加工中心信号(1 开始取放2 已夹紧3 已松开)" := 3;
0018 END_IF;
0019 END_IF;
0022 END_IF;
0023
0024 IF "robot_data"."40035_lOlOUT(4)"=1 THEN
0026
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;
来源:泽洋教育