众所周知,任何一种设备在出现故障都应该出现故障信息及故障代码,以便使用者进行故障排除及设备维护。否则,使用者在出现故障时则束手无策,只能等待设备原厂专家来处理,这样不仅不方便使用者,也不会给设备开放商提供远程排故带来便利。
1.库卡故障代码
如下图为部分KSS信息及代号,比如00001为紧急停止:
DECL ERROR_T $ERR
该系统变量$ERR包含所出现的故障的所有信息,它允许依据故障的类型对具体的故障进行处理,该变量为结构体类型,包含以下元素:
对具体的故障进行处理需要使用指令: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.库卡故障相关的系统函数及子程序:
其中结构体说明:
(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与信息关联,显示在外部设备的人机界面上。
了解更多:cc-