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

B站影视 日本电影 2025-05-24 17:59 2

摘要: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;

来源:泽洋教育

相关推荐