这段是KUKA机器人的SRC程序代码,包含运动指令、IO控制和等待逻辑,是典型的工业机器人取放料流程。以下逐行解析:
1. 程序起始与基础设置
|-------------------|
| Dockerfile 1 →INI |
这是KUKA程序的标准起始标记,INI表示程序初始化阶段,系统会自动加载基础配置(如默认工具坐标系、安全参数等)。
2. 注释行
|----------------------------|
| Dockerfile 2 ;dai liao wei |
以分号;开头是KRL语言的单行注释,内容为"待料位",用于标记后续逻辑的功能,无实际执行效果。
3. 回原点运动
|-----------------------------------------|
| Dockerfile 3 SPTP HOME Vel=35 % DEFAULT |
- SPTP:单轴点动指令(Single Point to Point),控制机器人各轴单独运动到目标位置,适合大范围回零或规避障碍。
- HOME:预定义的机器人原点位置,是安全的待机位置。
- Vel=35 %:运动速度为最大速度的35%,避免高速回原点导致冲击。
- DEFAULT:使用默认的运动参数(如加速度、姿态)。
4. 输出信号(程序号标记)
|------------------------------------------|
| Dockerfile 4 pndo32 = TRUE ;cheng xu hao |
- pndo32:是机器人的一个数字输出信号(PN类型总线输出)。
- = TRUE:将该输出置为高电平,通常用于向外部PLC发送"当前运行程序号"的标记信号。
- 注释"cheng xu hao"表示该信号的含义为"程序号"。
5. 输出信号(触发外部设备)
|--------------------------|
| Dockerfile 5 out3 = true |
- out3:是机器人的一个数字输出点,置为高电平。
- 通常用于触发外围设备动作,例如启动上料机构、打开料仓门等。
6. 等待输入信号(料仓到位)
|------------------------------------------------|
| Dockerfile 6 WAIT FOR in5 ;qi gang kai dao wei |
- WAIT FOR:等待指令,程序会暂停直到满足条件。
- in5:数字输入信号,当该信号为高电平时继续执行。
- 注释"qi gang kai dao wei"表示等待"气缸开到位"信号,确保外部设备动作完成后再继续。
7. 注释行
|----------------------------------------------|
| Dockerfile 7 ;yi dong dao qu liao shang fang |
注释"移动到取料上方",标记下一步运动的目标是取料位置的上方安全点。
8. 直线运动到取料上方
|--------------------------------------------------------------|
| Dockerfile 8 SPTP P1 CONT Vel=30 % PDAT1 Tool[1] Base[0] |
- SPTP:单轴点动指令,快速移动到取料上方的过渡点P1。
- CONT:连续运动模式,机器人到达P1后不减速直接衔接下一个运动指令,提升效率。
- Vel=30 %:运动速度为30%最大速度。
- PDAT1:预定义的运动参数组(包含加速度、平滑度等)。
- Tool[1]:使用1号工具坐标系(通常是夹爪或吸盘)。
- Base[0]:使用0号基坐标系(机器人底座坐标系)。
9. 注释行
|------------------------------------------------|
| Dockerfile 9 ;dao da qu liao dian jian su dian |
注释"到达取料点减速点",表示下一步将进入取料位置的减速阶段。
10. 运动到取料点
|----------------------------------------------------------|
| Dockerfile 10 SPTP P6 Vel=35 % PDAT7 Tool[1] Base[0] |
- 运动到取料点P6,速度35%,使用PDAT7参数组。
- 该位置是实际抓取物料的点位,通常会降低速度以保证定位精度。
11. 注释行
|------------------------------------|
| Dockerfile 11 ;dao da qu liao dian |
注释"到达取料点",确认机器人已到达抓取位置。
12. 运动到放料上方
|----------------------------------------------------------|
| Dockerfile 12 SPTP P2 Vel=10 % PDAT2 Tool[1] Base[0] |
- 以10%的低速运动到放料位置上方的过渡点P2,避免碰撞工件或设备。
13. 运动到放料点
|------------------------------------------------------------|
| Dockerfile 13 SPTP P11 Vel=40 % PDAT12 Tool[1] Base[0] |
- 以40%速度运动到放料点P11,完成物料放置动作。
14. 输出信号(打开真空)
|--------------------------------------------|
| Dockerfile 14 out1 =True ;da kai zhen kong |
- 将out1置为高电平,注释"打开真空",表示控制真空吸盘吸取物料(若为真空抓取方式)。
15. 等待输入信号(真空满足)
|----------------------------------------------|
| Dockerfile 15 WAIT FOR in1 ;zhen kong man zu |
- 等待输入信号in1为高电平,注释"真空满足",确保吸盘已稳定吸住物料后再继续运动。
整体流程总结
这段代码实现了一个完整的"取料-放料"循环:
- 机器人从原点出发,回零并准备。
- 触发外部设备动作,等待到位信号。
- 分阶段运动到取料点,完成抓取。
- 运动到放料点,完成放置。
- 通过IO信号与外围设备交互,确保动作同步。