上次配置气伺服焊钳时学习到的,在缺少资料的情况下,根据之前其他现场的备份程序,分析后得到解决思路。
VA_Virtuelle-Achsen 指的是虚拟轴的控制
VW_IPO_USR_R 文件 用来做虚拟含铅的拉拽时间的。*Ipo时钟技术包**SynchroMove
死区时间的确定
CASE 104 ;Hauptgruppe 1, Untergruppe 4
;FOLD Totzeitermittlung Ipo_Interface(USR_MAKRO,CMD_SEL,PAR1,PAR2,PAR3,PAR4,PAR5,PAR6,PAR7,PAR8,PAR9) 为了在机器人控制和钳子控制之间进行正确的通信,必须进行死区时间确定(IPO时钟确定)
Makro901 | EZ1/SP1/KE1死区时间的确定 |
Makro902 | EZ2/SP2/KE2死区时间的确定 |
Makro903 | EZ3/SP3/KE3死区时间的确定 |
Makro904 | NZ1死区时间的确定g |
Makro905 | NZ2死区时间的确定 |
Makro906 | CZ1死区时间的确定 |
Makro907 | CZ2死区时间的确定 |
示例KE1,带3把对接钳
KE1 Z1 ➔Makro901 ausführen KE1 Z2 ➔Makro901 ausführen KE1 Z3 ➔Makro901 ausführen 在本例中,KE1
Macro901
VW_VA_USR_R() 文件用来配置虚拟焊钳的焊钳参数 *VA虚拟轴技术包*
VW_IPO_USR_R( )
基于 KUKA KRL 语言开发,核心功能为同步运动 (SynchroMove) 焊枪 / 外部轴 IPO 节拍时间自动测算、校准与参数写入,配套消息弹窗、模式校验、轴位置采集、循环测试、数据存储全流程逻辑,属于机器人焊接工艺专用时序校准程序。
机器人外部附加轴 / 焊枪夹紧轴的动作延时 (Totzeit) 自动标定,用于同步运动工艺的时序优化,为产线节拍、轴联动时序提供基准参数。
程序结构:
主程序入口:VW_IPO_USR_R(空壳函数,程序挂载入口)
对外接口函数:IPO_Interface(核心业务逻辑,多指令分支调度)
位置采集函数:GetActPos(读取外部轴实际位置,带符号换算)
消息弹窗函数:Ipo_Msg(KUKA 标准弹窗:提示 / 确认 / 报警)
选择对话框函数:SetDlgMsg(轴选择弹窗)
全局数据区:vw_ipo_usr_r(信号映射、全局变量、结构体、枚举
程序完全依赖 $softplcint[] 软 PLC 寄存器做状态标记、参数读取、数据下发:
$softplcint[22]:Bootfile 版本
$softplcint[20]:标定启停 / 状态标记(-1 / 正数 /-10/0 分状态)
$softplcint[31]:测算得到的新节拍延时
$softplcint[99+co]:动作分布采样数据
$softp_end[]/$softn_end[]:轴正负限位(计算开 / 闭枪位置基准)
提示信息翻译:
1. 消息 1
弹窗文本:Totzeit Achse%d vor Testlauf= %d *12ms
翻译:轴 % d 测试前节拍延时 = % d (单位:12ms)
触发时机:标定流程结束、机器人非 EXT 外部模式时弹出
作用:展示标定前原始延时值,用于对比参考
2. 消息 2
弹窗文本:Totzeit Achse%d nach Testlauf= %d *12ms
翻译:轴 % d 测试后节拍延时 = % d (单位:12ms)
触发时机:和消息 1 成对弹出
作用:展示标定后新延时值,直观对比校准结果
3. 消息 3
弹窗文本:falsche Betriebsart - T2 oder EXT erforderlich
翻译:操作模式错误,需切换至 T2 或 外部 (EXT) 模式
触发条件:机器人当前为 T1 手动模式
逻辑:弹窗后循环等待,直到切换模式才继续执行
4. 消息 4
弹窗文本:Override auf 100% erforderlich
翻译:运行倍率 (Override) 必须设为 100%
触发条件:非 EXT 模式下,运行倍率 ≠ 100%
逻辑:弹窗阻塞,等待倍率改为 100% 后继续
5. 消息 5
弹窗文本:Externe Achse%1 folgt nicht
翻译:外部轴 %1 位置跟随异常
触发条件:轴实际位置与目标闭合位置偏差 >5
逻辑:弹窗告警,持续等待轴位置收敛,偏差合格后继续
6. 消息 6
弹窗文本:keine Zuordnung Antriebsschnittstelle - Zusatzachse
翻译:驱动接口未分配有效附加轴
触发条件:软 PLC 寄存器数值不在 7~12 合法区间
逻辑:弹窗 + 执行 HALT,机器人直接停机
7. 消息 7
弹窗文本:Version bootfile wird nicht unterstuetzt
翻译:Bootfile 版本不支持
触发条件:$softplcint[22] < 420(Bootfile 版本低于 4.2.0)
逻辑:弹窗 + 执行 HALT,机器人停机,需升级系统文件
8. 默认未知消息
弹窗文本:unbekannte Meldung
翻译:未知消息
触发:传入不存在的消息编号,兜底提示
钳子参数
根据数据表(速度、制动加速斜坡、传动比、软件限位开关),钳子的各个设置位于Tech call条目中相应的宏911-946中。
Makro911 | EZ1SP1KE1 Z1 Parameter |
Makro912 | EZ1SP1KE1 Z2 Parameter |
Makro913 | EZ1SP1KE1 Z3 Parameter |
Makro914 | EZ1SP1KE1 Z4 Parameter |
Makro918 | EZ2SP2KE2 Z1 Parameter |
Makro919 | EZ3SP3KE3 Z1 Parameter |
<o:p>
Makro921 | NZ1 Z1 Parameter |
Makro922 | NZ1 Z2 Parameter |
Makro923 | NZ1 Z3 Parameter |
Makro924 | NZ1 Z4 Parameter |
Makro929 | NZ2 Z1 Parameter |
Makro931 | CZ1 Z1 Parameter |
Makro932 | CZ1 Z2 Parameter |
Makro933 | CZ1 Z3 Parameter |
Makro934 | CZ1 Z4 Parameter |
Makro939 | CZ2 Z1 Parameter |
Makro941 | RW1 Z1 Parameter |
Makro942 | RW1 Z2 Parameter |
Makro943 | RW1 Z3 Parameter |
Makro944 | RW1 Z4 Parameter |
Makro949 | RW2 Z1 Parameter |
在该示例中,静止的KE1作为外部工具2。
Macro911
CASE 701 ;Hauptgruppe 7, Untergruppe 4
;FOLD Parameter virtuelle-Achse
虚拟轴参数 VA_Interface(USR_MAKRO,CMD_SEL,PAR1,PAR2,PAR3,PAR4,PAR5,PAR6,PAR7,PAR8,PAR9) 编号 | 轴代号 | 工艺类型 | 中文说明 |
1~3 | EZ/SP/KE1~3 | Spotwelding | 点焊轴 / 焊枪轴 |
4~5 | NZ1~NZ2 | Riveting | 铆接轴 |
6~7 | CZ1~CZ2 | Clinching | 电子压合 |
8~9 | RW1~RW2 | FricElemWelding | 摩擦点焊轴 |
PAR1轴类型选择码(1~9),决定当前配置哪一路工艺轴:1=EZ1、2=EZ2、3=EZ3、4=NZ1、5=NZ2、6=CZ1、7=CZ2、8=RW1、9=RW2
PAR2:枪号 / 扩展编号,下发给工艺枪结构体
PAR3:额定转速(U/min),参与速度、倍率计算
PAR4:加减速时间(ms),工艺枪参数
PAR5:减速比,速度、轴倍率换算核心因子
PAR6:轴正向软件限位数值
PAR7:轴反向软件限位数值
PAR8:工具号 ToolNo
PAR9:底座号 BaseNo
$RAT_MOT_AX[]:电机转速参数
$VEL_AXIS_MA[]:轴最大速度
$SOFTP_END / $SOFTN_END:软件限位(系统标准变量)
$TORQMON[]:扭矩监控(碰撞检测参数)
针对 9 路工艺轴(EZ1~EZ3、NZ1~NZ2、CZ1~CZ2、RW1~RW2)统一参数下发:
通讯地址解析
读取ExtServoPLC数据,解析每路轴对应的SoftPLC 寄存器地址。
物理轴绑定
匹配并绑定机器人 7~12 号外部轴,区分实际物理轴与可视化轴编号。
对接模式识别
识别轴Docking 对接模式,切换轴运动逻辑。
运动参数计算
计算 HMI 显示速度(单位 mm/s);
换算外部轴运行转速百分比(机器人倍率)。
软件限位设置
自动配置正负向软件限位,不同工艺轴区分默认下限(点焊轴 - 20,铆 / 压 / 摩擦轴 5)。
总线延时配置
设置伺服轴通讯总线延时,调用SZConfig完成轴组态。
工艺枪参数下发
调用sm_SetGunInfo,统一写入:轴号、IO 接口、额定转速、加减速时间、减速比、软件限位、工具号 / 底座号,区分四类工艺属性。
入参合法性校验
检测虚拟轴配置、转速、加减速、减速比等参数,非法则弹出阻塞报警。
下面把你这段程序里 VA_Msg (编号,类型) 所有具体报警 / 提示文本 + 编号 + 含义 + 触发位置完整列出来(只列程序里实际定义的)。
---
一、拖滞 / 跟随误差类(1~17)
1:EZ/SP/KE1: Schleppfehler im Programmbetrieb, Quit in Single-Step erforderlichEZ1 运行中拖滞故障,需单步确认
2:EZ/SP/KE2: 同上(EZ2)
3:EZ/SP/KE3: 同上(EZ3)
4:NZ1: 同上(NZ1)
5:NZ2: 同上(NZ2)
6:CZ1: 同上(CZ1)
7:CZ2: 同上(CZ2)
11:EZ/SP1: Schleppfehler im ProgrammbetriebEZ1 运行拖滞(简化版)
12:EZ/SP2: 同上(EZ2)
13:EZ/SP3: 同上(EZ3)
14:NZ1: 同上(NZ1)
15:NZ2: 同上(NZ2)
16:CZ1: 同上(CZ1)
17:CZ2: 同上(CZ2)
---
二、未回零类(21~27)
21:EZ/SP1: Zange nicht referenziertEZ1 未回零
22:EZ/SP2: 同上(EZ2)
23:EZ/SP3: 同上(EZ3)
24:NZ1: 同上(NZ1)
25:NZ2: 同上(NZ2)
26:CZ1: 同上(CZ1)
27:CZ2: 同上(CZ2)
---
三、等待回零 / 等待消除拖滞(30~47)
30:Wert$SoftPlcint [21] ungueltig$SoftPlcint [21] 值非法
31:EZ/SP/KE1: Schleppfehler, Warte bis kein SchleppfehlerEZ1 拖滞,等待消除
32:EZ/SP/KE2: 同上(EZ2)
33:EZ/SP/KE3: 同上(EZ3)
34:NZ1: 同上(NZ1)
35:NZ2: 同上(NZ2)
36:CZ1: 同上(CZ1)
37:CZ2: 同上(CZ2)
41:EZ/SP/KE1: Warten bis ReferenziertEZ1 等待回零完成
42:EZ/SP/KE2: 同上(EZ2)
43:EZ/SP/KE3: 同上(EZ3)
44:NZ1: 同上(NZ1)
45:NZ2: 同上(NZ2)
46:CZ1: 同上(CZ1)
47:CZ2, Warte bis Referenziert !CZ2 等待回零
---
四、非自动模式(51~57)
51:EZ/SP/KE1: Steuerung nicht in AutomatikEZ1 不在自动模式
52:EZ/SP/KE2: 同上(EZ2)
53:EZ/SP/KE3: 同上(EZ3)
54:NZ1: 同上(NZ1)
55:NZ2: 同上(NZ2)
56:CZ1: 同上(CZ1)
57:CZ2: 同上(CZ2)
---
五、位置无效(81~87)
81:EZ/SP/KE1: Istposition ungueltigEZ1 实际位置无效
82:EZ/SP/KE2: 同上(EZ2)
83:EZ/SP/KE3: 同上(EZ3)
84:NZ1: 同上(NZ1)
85:NZ2: 同上(NZ2)
86:CZ1: 同上(CZ1)
87:CZ2: 同上(CZ2)
---
六、配置 / 参数错误(88~92)
88:VA: In WorkVisual wurden keine virtuellen Achsen konfiguriertWorkVisual 未配置虚拟轴
89:VA: Wert fuer Drehzahl [U/min] ungueltig转速值非法(PAR3 ≤ 0)
90:VA: Wert fuer Brems-/Beschleunigungsrampe [ms] ungueltig加减速时间非法(PAR4 ≤ 0)
91:VA: Wert fuer Uebersetzung [U/m] ungueltig减速比非法(PAR5 ≤ 0)
92:VA: Wert fuer Tool-Nr/Base-Nr ungueltig工具号 / 底座号同时非零(冲突)
---
七、其他
71:Ungueltige Werkzeug Nummer工具号非法
默认:Undefinierter Schleppfehler未定义拖滞故障
---
八、按触发位置归类(方便你查)
1)USR_INIT 初始化时
51~57:轴不在自动
21~27:未回零且禁止自动回零
2)VA_SF_Interrupt 拖滞中断
1~7:运行拖滞(需单步确认)
11~17:运行拖滞(简化提示)
31~37:拖滞,等待消除
41~47:自动回零等待
81~87:位置无效
3)USR_MAKRO 配置参数校验
88:无虚拟轴配置
89:转速非法
90:加减速时间非法
91:减速比非法
92:Tool/Base 号冲突