'停止 0 '伺服OFF 1 '程序复位 2 '启动 3 '伺服ON 4 '操作权 5
'P0: 等待吸取工件位置 'P1: 机器人初始位置
'P111: 机器人追踪完成到放料中转位置(与P0点左右相对) 'P2: 机器人拿吸盘等待位置(2号工装上方) 'P3: 机器人取吸盘位置(2号工装)
'P4: 机器人取照相机等待位置(3号工装上方) 'P5: 机器人取照相机位置(3号工装) 'P6: 取盒子位置 'P7: 取盖子位置
'P8: 入库等待位置(左,近库架,抓手横向) 'P81: 入库中转位置(与原点P1位置相近) 'P90: 仓库左下位置 'P91: 仓库右下位置 'P92: 仓库左上位置 'P93: 仓库右上位置
'P12: 装配单元中转位置(抓手竖向) 'P13: 装配单元中转位置(抓手横向) 'PH1: 横向视觉检测台上方位置 'PV10: 在1号台1号工位上拍照位置 'PV11: 在1号台2号工位上拍照位置 'PV12: 在1号台3号工位上拍照位置 'PV13: 在1号台4号工位上拍照位置 'PV20: 在2号台1号工位上拍照位置 'PV21: 在2号台2号工位上拍照位置 'PV22: 在2号台3号工位上拍照位置 'PV23: 在2号台4号工位上拍照位置 'PV30: 在3号台1号工位上拍照位置 'PV31: 在3号台2号工位上拍照位置 'PV32: 在3号台3号工位上拍照位置 'PV33: 在3号台4号工位上拍照位置 'PV40: 横向拍照位置
'P20: 1号装配台上方位置(横向) 'P21: 1号装配台上方位置(竖向) 'P22: 2号装配台上方位置(竖向) 'P23: 3号装配台上方位置(竖向) 'p25 拆解盖库料位置 'p26 拆解盒库料位置 'PPO1 取1号料 'PPO2 取2号料 'PPO3 取3号料
'PPO4 取4号料
'PGT: 传输带上吸取工件位置 'PPT: 在盒子上放工件准备位置 'PPT11:1号台1号工位放置位置 'PPT12:1号台2号工位放置位置 'PPT13:1号台3号工位放置位置 'PPT14:1号台4号工位放置位置 'PPT21:2号台1号工位放置位置 'PPT22:2号台2号工位放置位置 'PPT23:2号台3号工位放置位置 'PPT24:2号台4号工位放置位置 'PPT31:3号台1号工位放置位置 'PPT32:3号台2号工位放置位置 'PPT33:3号台3号工位放置位置 'PPT34:3号台4号工位放置位置 'PFL1: 放废料位置1 竖向 'PFL2: 放废料位置2 竖向 'PFL3: 放废料位置3 竖向 'PFL4: 放废料位置4 横向 'm0: 装配流程结束标志 'm1: 1号装配台情况 'm2: 2号装配台情况 'm3: 3号装配台情况
'm5: 入库当前库位寄存器
'm10: 接收PLC数据1:工件放置的位置
'm11: 接收PLC数据2:工件参数(其中个位数为编号,十位数为颜色和高度) 'm12: 接收PLC数据3:表示是否还有下一个工件(1为没有) 'm100、m105、m110、m115: 1号装配台4个工件参数寄存 'm120、m125、m130、m135: 2号装配台4个工件参数寄存 'm140、m145、m150、m155: 3号装配台4个工件参数寄存
'm200、m205、m210、m215: 视觉发来的1号装配台4个工件编号 'm220、m225、m230、m235: 视觉发来的2号装配台4个工件编号 'm240、m245、m250、m255: 视觉发来的3号装配台4个工件编号 'm201、m206、m211、m216: 视觉发来的1号装配台4个工件颜色 'm221、m226、m231、m236: 视觉发来的2号装配台4个工件颜色 'm241、m246、m251、m256: 视觉发来的3号装配台4个工件颜色 'm202、m207、m212、m217: 视觉发来的1号装配台4个工件角度 'm222、m227、m232、m237: 视觉发来的2号装配台4个工件角度 'm242、m247、m252、m257: 视觉发来的3号装配台4个工件角度 'm203、m208、m213、m218: 视觉发来的1号装配台4个工件高度 'm223、m228、m233、m238: 视觉发来的2号装配台4个工件高度 'm243、m248、m253、m258: 视觉发来的3号装配台4个工件高度 '
*S00MAIN '主程序 GoSub *S10INIT '初始化处理
m5=7 '仓库首个库位设为1号
m50=1
*LOOP '主循环 GoSub *S90HOME '原点返回处理
'GoSub *ZhaoShou ' 招手动作,展示用
M_Out(8)=1 '输出完成复位信号为1——已就绪 (X36) Dly 0.5 '
m0=0 '一个装配流程结束是否结束,1为结束 m1=0 '1号装配台正常 m2=0 m3=0 m7=0 m8=0 m31=0 m32=0 m33=0 m100=0 m105=0 m110=0 m115=0 m120=0 m125=0 m130=0 m135=0 m140=0 m145=0 m150=0 m155=0 '
Wait M_In(9)=1 Dly 0.5
M_Out(8)=0 GoSub *RecDat_PLC GoSub *Jia_He GoSub *Jia_XiPan Mov P111 ' '
*LOOP1 Mvs P0 M_Out(5)=1 Open \ Wait M_Open(2) =1
Input #2, m10,m11,m12,m13 为颜色和高度)
'2号装配台正常 '3号装配台正常 '拆解标志
'拆解仓库第9个仓位有无标志位 '1号装配台正常 '2号装配台正常 '3号装配台正常 '工件参数清零 '工件参数清零 '工件参数清零 '工件参数清零 '工件参数清零 '工件参数清零 '工件参数清零 '工件参数清零 '工件参数清零 '工件参数清零 '工件参数清零 '工件参数清零 '等待接收运行信号为1——可取盒(Y14) '输出完成复位信号为0 --X36 '接收PLC装配流程数据
'夹取工件盒到装配台子程序 '夹取吸盘工装子程序 'P12到P0的过渡 '装配检测循环
'运行到吸取等待位置
'机器人等待吸取信号为1 --已到位(X33) '打开网络端口(与PLC相接的以太网端口) 'm10工件放置的位置
'm11工件参数(其中个位数为编号,十位数 'm12表示是否还有下一个工件(1为没有) 'm13表示是否为有用工件(1为没用) Close #2
'If m13>0 Then GoSub *FJ Select m10 Case 1
PPT0= PPT11 '设定PPT11为工件放置目标位置 Break Case 2
PPT0= PPT12 '设定PPT12为工件放置目标位置 Break Case 3
PPT0= PPT13 '设定PPT13为工件放置目标位置 Break Case 4
PPT0= PPT14 '设定PPT14为工件放置目标位置 Break Case 5
PPT0= PPT21 '设定PPT21为工件放置目标位置 Break Case 6
PPT0= PPT22 '设定PPT22为工件放置目标位置 Break Case 7
PPT0= PPT23 '设定PPT23为工件放置目标位置 Break Case 8
PPT0= PPT24 '设定PPT24为工件放置目标位置 Break Case 9
PPT0= PPT31 '设定PPT31为工件放置目标位置 Break Case 10
PPT0= PPT32 '设定PPT32为工件放置目标位置 Break Case 11
PPT0= PPT33 '设定PPT33为工件放置目标位置 Break Case 12
PPT0= PPT34 '设定PPT34为工件放置目标位置 Break End Select
GoSub *S20TRGET '检测到工件来,进行跟踪工件吸取操作 If m13=1 And m10=0 Then *FeiLiao0 '不要的工件放废料框中 GoSub *S30WKPUT '工件放置处理 *Goon
If m12=1 Then *Vtest 'm12=1,说明一个装配流程结束,转视觉检测流程 GoTo *LOOP1 '继续放置下一个工件 '
*Vtest '视觉竖向检测 GoSub *Fang_XiPan '放置吸盘工装子程序 GoSub *Jia_Camera '夹取视觉工装子程序 GoSub *Camera_V '视觉竖向检测子程序 GoSub *Fang_Camera '放置视觉工装子程序 GoSub *Comparison_V '竖向视觉信息比对子程序 If m1=1 And m2=1 And m3=1 Then *HTEST
GoSub *Jia_XiPan '夹取吸盘工装子程序
GoSub *Rotate '工件角度旋转调整子程序 GoSub *Fang_XiPan '放置吸盘工装子程序 '
*HTEST '视觉横向检测
If m1=1 And m2=1 And m3=1 Then *LOOP '3个装配台已无合格的工件盒存在
GoSub *JiaHe_To_H '夹盒到横向检测台子程序 GoSub *Jia_Camera '夹取视觉工装子程序 GoSub *Camera_H '视觉横向检测子程序 GoSub *Fang_Camera '放置视觉工装子程序 GoSub *Comparison_H '横向视觉信息比对子程序 If m20=1 Then *HTEST '已作废料被扔掉
GoSub *Jia_gai '取盖放盖子程序 GoSub *Ruku '入库子程序 If m7=1 Then *ChaiJie GoTo *HTEST *ChaiJie Mov P1
GoSub *CIAN '出库拆解子程序 End ' ' '
'********************** 初始化处理子程序****************************** *S10INIT '初始化处理
M_Out(5)=0 '机器人等待吸取信号为0 ——X33 M_Out(8)=0 '输出完成复位信号为0 ——X36 Def Plt 1,P90,P91,P92,P93,3,3,2 '设置仓库位置,以P90为起点,以P91为终点A,以P92为终点B,以P93为对角点,行为3,列为3,同方向排列
Accel 100,100 '加速度、减速度设定 Ovrd 100 '速度设定
Loadset 1,1 '最佳加速度、减速度说明 OAdl On '打开最佳加速度、减速度 Cnt 0 Clr 1