众所周知,任何一种设备在出现故障都应该出现故障信息及故障代码,以便使用者进行故障排除及设备维护。否则,使用者在出现故障时则束手无策,只能等待设备原厂来处理,这样不仅不方便使用者,也不会给设备开放商提供远程排故带来便利。
1.库卡故障代码
库卡示教器SmartHMI上信息框全部展开可以显示4条信息,并且每条信息的结构都一样,包含如下内容元素:
信息元素、说明、信息类型
类型包括:确认/状态/提示/等待信息
时间日期 包含信息生成的时间及日期;
信息代号KSS15101表示:第15101条系统信息
2.库卡故障相关的系统变量:
DECL ERROR_T $ERR
该系统变量$ERR包含所出现的故障的所有信息,它允许依据故障的类型对具体的故障进行处理,该变量为结构体类型,包含以下元素:
$ERR元素 数据类型
意义
INT
当前故障的故障ID,比如:1422-值无效
Line_Nr
INT
KRL程序中触发故障的程序行
.Module[]
CHAR[24]
触发故障的KRL主程序名
.UP_Name[]
CHAR[24]
触发故障的KRL子程序名
.Interpreter
PROG_INT_E
触发故障的解释器
.Int_typ
INT_TYP_E
触发故障的中断类型
.Int_Prio
INT
触发故障的中断等级
对具体的故障进行处理需要使用指令:On_Error_Proceed
DEF MAIN ()
$Out[1]=FALSE
Interrupt DECL 10 When $Out[1] Do INT_UP($ERR)
Interrupt ON 10
Pulse ($Out[1], False, 0.2)
Wait Sec 10
END
DEF INT_UP (parERR : OUT)
DECL ERROR_T parERR
UP_2 (parErr)
END
DEF UP_2 (myERR : OUT)
DECL ERROR_T pareterERR, locErr
locErr = myErr
END
3.库卡故障相关的系统函数及子程序:
函数/子程序 说明
ERR_CLEAR(Error_T:OUT)
清除与$ERR相关的过程故障信息
ERR_RAISE(Error_T:OUT) 产生与$ERR相关的过程故障信息
INT MBX_REC(INT MBX_ID :IN,STOPMESS MESS:OUT) 读取信箱里Stopmess
INT GET_MSGBUFFER(MSGBUF_T MSGBUF[100] :OUT) 从信息缓存器获取信息
BOOL ISMESSAGESET(INT MESSAGENO :IN)
检查固定故障代码的故障是否位于信息缓存器内
其中结构体说明:
(1).Error_T结构如下:
STRUC ERROR_T INT NUMBER, PROG_INT_E INTERPRETER, INT_TYP_E INT_TYPE, INT INT_PRIO, LINE_NR, CHAR MODULE[24], UP_NAME[24], TRIGGER_UP_TYPE TRIGGER_TYPE
(2).Stopmess结构如下:
STRUC STOPMESS INT CONFNO,GRO,MESSNO,STATE,CAUSE_T CAUSE
(3).MsgBuf_T结构:
STRUC MSGBUF_T MSGBUFMSGTYPE_T TYPE, INT NR, CHAR MODUL[24], MSG_TXT[80], KRLMSGPARTYPE_T PAR_TYPE1, CHAR PAR_TXT1[40], KRLMSGPARTYPE_T PAR_TYPE2, CHAR PAR_TXT2[40], KRLMSGPARTYPE_T PAR_TYPE3, CHAR PAR_TXT3[40], INT HANDLE
4.总结:
利用这些较为系统的系统变量以及函数/子程序,用户可以依据故障的类型对具体的故障进行处理,此外,用户也可以将故障ID发送给外部设备(例如:PLC),外部设备收到故障ID,通过索引将故障ID与信息关联,显示在外部设备的人机界面上。
更多了解库卡机器人
- 下一篇:库卡机器人为何成为工业4.0的先锋
- 上一篇:库卡机器人的零点标定