码垛机器人应用程序说明一、文件说明该文件夹下4个主要文件如下:1. 码垛仿真视频(包含工件).wmv是一层码垛的完整仿真视频, 该视频包含了工 件和传送带运动的仿真。
2. 机器人码垛视频(不含工件).wmv是一层码垛工业机器人的仿真视频,仅包 含机器人运动。
3. Maduohuanjing.rspag是码垛机器人的仿真环境打包文件,读者可在此基础 上进行码垛练习。
4. maduoshili.rspag是一个示例程序,其工作过程如机器人码垛视频(不含 工件).wmv所示。
二、示例程序解析本示例程序完成的工作过程如下: 机器人上电后, 按下复位按钮, 机器人复位, 复位完成后, 发出复位完成信号。
机器人在接收到启动信号后, 运行到待抓取点, 同时传送带电机工作。
当检测到工件到位信号后,机器人抓取工件(运行到抓取 点,气缸夹紧工件),检测到夹紧后,依次进行码垛(运行放置点,放下工件)。
IO信号配置如表1所示。
表 1 IO 信号配置表Name Type of Signal Assigned to uni Unit mapping 信号注释Di0 Digital input Board10 0 复位信号Di1 Digital input Board10 1 启动信号Di2 Digital input Board10 2 工件到位信号 Di3 Digital input Board10 3 夹紧信号Di4 Digital input Board10 4 松开信号Do0 Digital output Board10 32 复位完成信号 Do1 Digital output Board10 33 电机运行信号 Do2 Digital output Board10 34 气缸工作该程序中,设置了左右2个工件坐标系,通过在1个坐标系下示教定位, 实现另外一个坐标系的定位。
参考程序如下。
PROC main()WaitDI di0, 1;MoveJ phome, v1000, z10,tool0;Set do0;WaitDI di1, 1;MoveL p10, v1000, z10,tool0;Set do1;WaitDI di2, 1;MoveL p20, v1000, z10,tool0;Set do2;WaitDI di3, 1;MoveL p10, v1000, z10,tool0;MoveL p40, v1000, z10,tool0\WObj:=wobj1;Reset do2;WaitDI di4, 1;MoveJ phome, v1000, z10,tool0;Set do0;WaitDI di1, 1;MoveL p10, v1000, z10,tool0;Set do1;WaitDI di2, 1;MoveL p20, v1000, z10,tool0;Set do2;WaitDI di3, 1;MoveL p10, v1000, z10,tool0;MoveL offs(p40,600,0,0),v1000, z10,tool0\WObj:=wobj1; Reset do2;WaitDI di4, 1;MoveJ phome, v1000, z10,tool0;Set do0;WaitDI di1, 1;MoveL p10, v1000, z10,tool0;Set do1;WaitDI di2, 1;MoveL p20, v1000, z10,tool0;Set do2;WaitDI di3, 1;MoveL p10, v1000, z10,tool0;MoveL p50, v1000, z10,tool0\WObj:=wobj1;Reset do2;WaitDI di4, 1;MoveJ phome, v1000, z10,tool0;Set do0;WaitDI di1, 1;MoveL p10, v1000, z10,tool0;Set do1;WaitDI di2, 1;MoveL p20, v1000, z10,tool0;Set do2;WaitDI di3, 1;MoveL p10, v1000, z10,tool0;MoveL offs(p50,400,0,0),v1000, z10,tool0\WObj:=wobj1; Reset do2;WaitDI di4, 1;MoveJ phome, v1000, z10,tool0;Set do0;WaitDI di1, 1;MoveL p10, v1000, z10,tool0;Set do1;WaitDI di2, 1;MoveL p20, v1000, z10,tool0;Set do2;WaitDI di3, 1;MoveL p10, v1000, z10,tool0;MoveL offs(p50,800,0,0),v1000, z10,tool0\WObj:=wobj1; Reset do2;WaitDI di4, 1;MoveJ phome, v1000, z10,tool0;Set do0;WaitDI di1, 1;MoveL p10, v1000, z10,tool0;Set do1;WaitDI di2, 1;MoveL p20, v1000, z10,tool0;Set do2;WaitDI di3, 1;MoveL p10, v1000, z10,tool0;MoveL p40, v1000, z10,tool0\WObj:=wobj2;Reset do2;WaitDI di4, 1;MoveJ phome, v1000, z10,tool0;Set do0;WaitDI di1, 1;MoveL p10, v1000, z10,tool0;Set do1;WaitDI di2, 1;MoveL p20, v1000, z10,tool0;Set do2;WaitDI di3, 1;MoveL p10, v1000, z10,tool0;MoveL Offs(p40,600,0,0),v1000, z10,tool0\WObj:=wobj2; Reset do2;WaitDI di4, 1;MoveJ phome, v1000, z10,tool0;Set do0;WaitDI di1, 1;MoveL p10, v1000, z10,tool0;Set do1;WaitDI di2, 1;MoveL p20, v1000, z10,tool0;Set do2;WaitDI di3, 1;MoveL p10, v1000, z10,tool0;MoveL p50, v1000, z10,tool0\WObj:=wobj2;Reset do2;WaitDI di4, 1;MoveJ phome, v1000, z10,tool0;Set do0;WaitDI di1, 1;MoveL p10, v1000, z10,tool0;Set do1;WaitDI di2, 1;MoveL p20, v1000, z10,tool0;Set do2;WaitDI di3, 1;MoveL p10, v1000, z10,tool0;MoveL offs(p50,400,0,0),v1000, z10,tool0\WObj:=wobj2;Reset do2;WaitDI di4, 1;MoveJ phome, v1000, z10,tool0;Set do0;WaitDI di1, 1;MoveL p10, v1000, z10,tool0;Set do1;WaitDI di2, 1;MoveL p20, v1000, z10,tool0;Set do2;WaitDI di3, 1;MoveL p10, v1000, z10,tool0;MoveL offs(p50,800,0,0),v1000, z10,tool0\WObj:=wobj2;Reset do2;WaitDI di4, 1;MoveJ phome, v1000, z10,tool0;ENDPROC三、拓展训练进行拓展训练时, 可先码垛一个托盘,例如 3 层,码垛完成后, 再进行另一个托盘码垛。