// Device Number, Function Number, Alarm Number, Error level, Show info level, Alarm describe, Alarm describe(detail)
// Error Level -1 - Warning (No stop)
// Error Level 0 - Warning
// Error Level 1 - Alarm
// Error Level 2 - Driver Alarm
// Show info level 1(low)~5(high)

/*
*  Robot system software - device 0x01
*/

// System error - function 0x01
DEF(0x01, 0x01, 0x10, 1, 4, "System error", "System initialization failure" );
DEF(0x01, 0x01, 0x11, 1, 4, "Motion library error", "Motion library load failure" );
DEF(0x01, 0x01, 0x12, 1, 4, "Motion library error", "Motion library initialization failure" );
DEF(0x01, 0x01, 0x13, 1, 4, "Motion library error", "Motion library memory initialization failure" );
DEF(0x01, 0x01, 0x14, 1, 4, "Motion library error", "Motion library start failure" );
DEF(0x01, 0x01, 0x20, 2, 4, "E-CAT error", "EtherCAT library loading failure" );
DEF(0x01, 0x01, 0x21, 2, 4, "E-CAT error", "EtherCAT disconnection" );
DEF(0x01, 0x01, 0x22, 2, 4, "E-CAT error", "EtherCAT initialization failure" );
DEF(0x01, 0x01, 0x23, 2, 4, "E-CAT error", "EtherCAT line crossing alarm" );
DEF(0x01, 0x01, 0x24, 2, 4, "E-CAT error", "EtherCAT none slave alarm" );
DEF(0x01, 0x01, 0x25, 2, 4, "E-CAT error", "EtherCAT can't check slave" );
DEF(0x01, 0x01, 0x26, 2, 4, "E-CAT error", "EtherCAT slave none response" );
DEF(0x01, 0x01, 0x27, 2, 4, "E-CAT error", "EtherCAT cycle alarm" );
DEF(0x01, 0x01, 0x28, 2, 4, "E-CAT error", "EtherCAT cycle jitter" );
DEF(0x01, 0x01, 0x29, 2, 4, "E-CAT error", "EtherCAT cycle counter error" );
DEF(0x01, 0x01, 0x2A, 2, 4, "E-CAT error", "EtherCAT cycle watchdog error" );
DEF(0x01, 0x01, 0x2B, 2, 4, "E-CAT error", "EtherCAT INIT changing error" );
DEF(0x01, 0x01, 0x2C, 2, 4, "E-CAT error", "EtherCAT PREOP changing error" );
DEF(0x01, 0x01, 0x2D, 2, 4, "E-CAT error", "EtherCAT SAFEOP changing error" );
DEF(0x01, 0x01, 0x2E, 2, 4, "E-CAT error", "EtherCAT OP changing error" );
DEF(0x01, 0x01, 0x2F, 2, 4, "E-CAT error", "EtherCAT master none response" );
DEF(0x01, 0x01, 0x30, 2, 4, "E-CAT error", "EtherCAT master initialization error" );
DEF(0x01, 0x01, 0x31, 2, 4, "E-CAT error", "EtherCAT busbar scan error" );
DEF(0x01, 0x01, 0x32, -1, 4, "E-CAT error", "EtherCAT frame response error" );
DEF(0x01, 0x01, 0x33, -1, 4, "E-CAT error", "EtherCAT frame lost" );
DEF(0x01, 0x01, 0x34, 2, 4, "E-CAT error", "EtherCAT master counter error of initialization command" );
DEF(0x01, 0x01, 0x35, 2, 4, "E-CAT error", "EtherCAT master response error of initialization command" );
DEF(0x01, 0x01, 0x36, 2, 4, "E-CAT error", "EtherCAT slave counter error of initialization command" );
DEF(0x01, 0x01, 0x37, 2, 4, "E-CAT error", "EtherCAT slave response error of initialization command" );
DEF(0x01, 0x01, 0x38, 2, 4, "E-CAT error", "EtherCAT mailbox time out" );
DEF(0x01, 0x01, 0x39, 2, 4, "E-CAT error", "EtherCAT mailbox SDO cancel" );
DEF(0x01, 0x01, 0x3A, 2, 4, "E-CAT error", "EtherCAT mailbox COE counter recive error" );
DEF(0x01, 0x01, 0x3B, 2, 4, "E-CAT error", "EtherCAT mailbox COE counter send error" );
DEF(0x01, 0x01, 0x3C, 2, 4, "E-CAT error", "EtherCAT mailbox recive invaild data" );
DEF(0x01, 0x01, 0x3D, 2, 4, "E-CAT error", "EtherCAT master alarm" );
DEF(0x01, 0x01, 0x3E, 2, 4, "System error", "Memory allocate error" );
DEF(0x01, 0x01, 0x40, 1, 4, "A1 parameter set fail", "Axis 1 parameter setting fail" );
DEF(0x01, 0x01, 0x41, 1, 4, "A2 parameter set fail", "Axis 2 parameter setting fail" );
DEF(0x01, 0x01, 0x42, 1, 4, "A3 parameter set fail", "Axis 3 parameter setting fail" );
DEF(0x01, 0x01, 0x43, 1, 4, "A4 parameter set fail", "Axis 4 parameter setting fail" );
DEF(0x01, 0x01, 0x44, 1, 4, "A5 parameter set fail", "Axis 5 parameter setting fail" );
DEF(0x01, 0x01, 0x45, 1, 4, "A6 parameter set fail", "Axis 6 parameter setting fail" );
DEF(0x01, 0x01, 0x50, 1, 4, "Cnv 1 encoder error", "Conveyor 1 encoder initial fail" );
DEF(0x01, 0x01, 0x51, 1, 4, "Cnv 2 encoder error", "Conveyor 2 encoder initial fail" );
DEF(0x01, 0x01, 0x52, 1, 4, "Cnv 3 encoder error", "Conveyor 3 encoder initial fail" );
DEF(0x01, 0x01, 0x53, 1, 4, "Cnv 4 encoder error", "Conveyor 4 encoder initial fail" );
DEF(0x01, 0x01, 0x54, 1, 4, "Extra parameter initial fail", "Extra parameter initial fail");
DEF(0x01, 0x01, 0x55, 1, 4, "HRSS Loading fail", "HRSS Loading fail");
DEF(0x01, 0x01, 0x56, 0, 2, "TeamViewer open error", "TeamViewer open error");
DEF(0x01, 0x01, 0x57, 0, 2, "HRSS last shutdown error", "HRSS last shutdown abnormality" );
DEF(0x01, 0x01, 0x58, 0, 3, "FBWF Memory consumed 128 MB", "FBWF Memory consumed 128 MB" );
DEF(0x01, 0x01, 0x59, 0, 3, "FBWF Memory consumed 512 MB", "FBWF Memory consumed 512 MB" );
DEF(0x01, 0x01, 0x5A, 0, 3, "Open file of FBWF is failed", "Open file of FBWF is failed" );
DEF(0x01, 0x01, 0x60, 2, 3, "E-CAT Device error", "EtherCAT Input Device amount inconsistent" );
DEF(0x01, 0x01, 0x61, 2, 3, "E-CAT Device error", "EtherCAT Input Device sequence inconsistent" );
DEF(0x01, 0x01, 0x62, 2, 3, "E-CAT Device error", "EtherCAT Device input size inconsistent" );
DEF(0x01, 0x01, 0x63, 2, 3, "E-CAT Device error", "EtherCAT Output Device amount inconsistent" );
DEF(0x01, 0x01, 0x64, 2, 3, "E-CAT Device error", "EtherCAT Output Device sequence inconsistent" );
DEF(0x01, 0x01, 0x65, 2, 3, "E-CAT Device error", "EtherCAT Device output size inconsistent" );

DEF(0x01, 0x01, 0x70, 2, 3, "E-CAT A1 disconnect", "EtherCAT Axis1 driver disconnect" );
DEF(0x01, 0x01, 0x71, 2, 3, "E-CAT A2 disconnect", "EtherCAT Axis2 driver disconnect" );
DEF(0x01, 0x01, 0x72, 2, 3, "E-CAT A3 disconnect", "EtherCAT Axis3 driver disconnect" );
DEF(0x01, 0x01, 0x73, 2, 3, "E-CAT A4 disconnect", "EtherCAT Axis4 driver disconnect" );
DEF(0x01, 0x01, 0x74, 2, 3, "E-CAT A5 disconnect", "EtherCAT Axis5 driver disconnect" );
DEF(0x01, 0x01, 0x75, 2, 3, "E-CAT A6 disconnect", "EtherCAT Axis6 driver disconnect" );
DEF(0x01, 0x01, 0x76, 2, 3, "E-CAT E1 disconnect", "EtherCAT E1 driver disconnect" );
DEF(0x01, 0x01, 0x77, 2, 3, "E-CAT E2 disconnect", "EtherCAT E2 driver disconnect" );
DEF(0x01, 0x01, 0x78, 2, 3, "E-CAT E3 disconnect", "EtherCAT E3 driver disconnect" );

DEF(0x01, 0x01, 0x80, 0, 3, "Set ext axis infinite turn fail", "Set external axis infinite turn fail");
DEF(0x01, 0x01, 0x81, 0, 3, "Ext axis must be synchronize mode", "Ext axis must be synchronize mode");
DEF(0x01, 0x01, 0x82, 0, 3, "Ext axis must be asynchronize mode", "Ext axis must be asynchronize mode");
DEF(0x01, 0x01, 0x83, 0, 3, "Ext axis motion type error", "Ext axis motion type error");
DEF(0x01, 0x01, 0x84, 0, 3, "Ext axis tracking ID error", "Ext axis tracking ID error");
DEF(0x01, 0x01, 0x85, 0, 3, "Ext axis moving base error", "Ext axis moving base error");
// Program error - function 0x02
DEF(0x01, 0x02, 0x10, 0, 3, "Program code incorrect", "Program code incorrectness" );
DEF(0x01, 0x02, 0x11, 0, 3, "Fix corrupted file. Check content.", "Try to repair the corrupted file. Please confirm the program content is correct before execute." );
DEF(0x01, 0x02, 0x12, 0, 3, "Program copy error", "Program copy error");
DEF(0x01, 0x02, 0x13, 0, 3, "Undefined label name", "Undefined label name" );

// Motion error - function 0x03
DEF(0x01, 0x03, 0x10, 0, 3, "A1 following error", "Axis 1 following error too big" );
DEF(0x01, 0x03, 0x11, 0, 3, "A2 following error", "Axis 2 following error too big" );
DEF(0x01, 0x03, 0x12, 0, 3, "A3 following error", "Axis 3 following error too big" );
DEF(0x01, 0x03, 0x13, 0, 3, "A4 following error", "Axis 4 following error too big" );
DEF(0x01, 0x03, 0x14, 0, 3, "A5 following error", "Axis 5 following error too big" );
DEF(0x01, 0x03, 0x15, 0, 3, "A6 following error", "Axis 6 following error too big" );
DEF(0x01, 0x03, 0x16, 0, 2, "A1 position overlimit", "Axis 1 position overlimit of positive" );
DEF(0x01, 0x03, 0x17, 0, 2, "A1 position overlimit", "Axis 1 position overlimit of negative" );
DEF(0x01, 0x03, 0x18, 0, 2, "A2 position overlimit", "Axis 2 position overlimit of positive" );
DEF(0x01, 0x03, 0x19, 0, 2, "A2 position overlimit", "Axis 2 position overlimit of negative" );
DEF(0x01, 0x03, 0x1A, 0, 2, "A3 position overlimit", "Axis 3 position overlimit of positive" );
DEF(0x01, 0x03, 0x1B, 0, 2, "A3 position overlimit", "Axis 3 position overlimit of negative" );
DEF(0x01, 0x03, 0x1C, 0, 2, "A4 position overlimit", "Axis 4 position overlimit of positive" );
DEF(0x01, 0x03, 0x1D, 0, 2, "A4 position overlimit", "Axis 4 position overlimit of negative" );
DEF(0x01, 0x03, 0x1E, 0, 2, "A5 position overlimit", "Axis 5 position overlimit of positive" );
DEF(0x01, 0x03, 0x1F, 0, 2, "A5 position overlimit", "Axis 5 position overlimit of negative" );
DEF(0x01, 0x03, 0x20, 0, 2, "A6 position overlimit", "Axis 6 position overlimit of positive" );
DEF(0x01, 0x03, 0x21, 0, 2, "A6 position overlimit", "Axis 6 position overlimit of negative" );
DEF(0x01, 0x03, 0x30, 0, 2, "XY coor overlimit", "XY coordinate overlimit of software" );
DEF(0x01, 0x03, 0x31, 0, 2, "Joint overspeed", "Joint overspeed" );
DEF(0x01, 0x03, 0x32, 0, 2, "Wrist singularity", "Wrist singularity" );
DEF(0x01, 0x03, 0x33, 0, 2, "Shoulder singularity", "Shoulder singularity" );
DEF(0x01, 0x03, 0x34, 0, 2, "Elbow singularity", "Elbow singularity" );
DEF(0x01, 0x03, 0x40, 0, 2, "Circle comm error", "Circle command 3 reference points on the same line" );
DEF(0x01, 0x03, 0x41, 0, 2, "Circle comm error", "Circle comm can't found center point" );
DEF(0x01, 0x03, 0x42, 0, 2, "Circle comm error", "Circle comm can't calculate transpose matrix" );
DEF(0x01, 0x03, 0x50, 0, 2, "Syn output queue overflow", "Synchronize output queue overflow" );
DEF(0x01, 0x03, 0x51, 0, 2, "Syn output overlimit", "Synchronize output overlimit" );
DEF(0x01, 0x03, 0x52, 0, 2, "Compliance teaching motion error", "Found motion command when compliance teaching" );

DEF(0x01, 0x03, 0x53, 1, 2, "A1 collision detected", "Collision detected from Axis 1" );
DEF(0x01, 0x03, 0x54, 1, 2, "A2 collision detected", "Collision detected from Axis 2" );
DEF(0x01, 0x03, 0x55, 1, 2, "A3 collision detected", "Collision detected from Axis 3" );
DEF(0x01, 0x03, 0x56, 1, 2, "A4 collision detected", "Collision detected from Axis 4" );
DEF(0x01, 0x03, 0x57, 1, 2, "A5 collision detected", "Collision detected from Axis 5" );
DEF(0x01, 0x03, 0x58, 1, 2, "A6 collision detected", "Collision detected from Axis 6" );
DEF(0x01, 0x03, 0x59, 1, 2, "E1 collision detected", "Collision detected from Axis E1" );
DEF(0x01, 0x03, 0x5A, 1, 2, "E2 collision detected", "Collision detected from Axis E2" );
DEF(0x01, 0x03, 0x5B, 1, 2, "E3 collision detected", "Collision detected from Axis E3" );
DEF(0x01, 0x03, 0x60, 1, 2, "Payload data processing file error", "Payload data processing file error" );
DEF(0x01, 0x03, 0x61, 1, 2, "Payload identification file error", "Payload identification file error" );
DEF(0x01, 0x03, 0x62, 1, 2, "Parameter conversion file error", "Parameter conversion file error" );

DEF(0x01, 0x03, 0x70, 0, 2, "A1 under low soft limit", "Axis 1 position under low soft limit value" );
DEF(0x01, 0x03, 0x71, 0, 2, "A1 over high soft limit", "Axis 1 position over high soft limit value" );
DEF(0x01, 0x03, 0x72, 0, 2, "A2 under low soft limit", "Axis 2 position under low soft limit value" );
DEF(0x01, 0x03, 0x73, 0, 2, "A2 over high soft limit", "Axis 2 position over high soft limit value" );
DEF(0x01, 0x03, 0x74, 0, 2, "A3 under low soft limit", "Axis 3 position under low soft limit value" );
DEF(0x01, 0x03, 0x75, 0, 2, "A3 over high soft limit", "Axis 3 position over high soft limit value" );
DEF(0x01, 0x03, 0x76, 0, 2, "A4 under low soft limit", "Axis 4 position under low soft limit value" );
DEF(0x01, 0x03, 0x77, 0, 2, "A4 over high soft limit", "Axis 4 position over high soft limit value" );
DEF(0x01, 0x03, 0x78, 0, 2, "A5 under low soft limit", "Axis 5 position under low soft limit value" );
DEF(0x01, 0x03, 0x79, 0, 2, "A5 over high soft limit", "Axis 5 position over high soft limit value" );
DEF(0x01, 0x03, 0x7A, 0, 2, "A6 under low soft limit", "Axis 6 position under low soft limit value" );
DEF(0x01, 0x03, 0x7B, 0, 2, "A6 over high soft limit", "Axis 6 position over high soft limit value" );

DEF(0x01, 0x03, 0x7C, 0, 2, "TCP under X low soft limit", "Tool center position under X low soft limit value" );
DEF(0x01, 0x03, 0x7D, 0, 2, "TCP over X high soft limit", "Tool center position over X high soft limit value" );
DEF(0x01, 0x03, 0x7E, 0, 2, "TCP under Y low soft limit", "Tool center position under Y low soft limit value" );
DEF(0x01, 0x03, 0x7F, 0, 2, "TCP over Y high soft limit", "Tool center position over Y high soft limit value" );
DEF(0x01, 0x03, 0x80, 0, 2, "TCP under Z low soft limit", "Tool center position under Z low soft limit value" );
DEF(0x01, 0x03, 0x81, 0, 2, "TCP over Z high soft limit", "Tool center position over Z high soft limit value" );
DEF(0x01, 0x03, 0x82, 0, 2, "TCP under Radius low soft limit", "Tool center position under Radius low soft limit value" );
DEF(0x01, 0x03, 0x83, 0, 2, "TCP over Radius high soft limit", "Tool center position over Radius high soft limit value" );
DEF(0x01, 0x03, 0x84, 0, 2, "TL SET command error", "TL SET command error");
DEF(0x01, 0x03, 0x85, 0, 2, "TL START command error", "TL START command error");

// Operation error - function 0x04
DEF(0x01, 0x04, 0x10, 1, 3, "Read driver 1 encoder error", "Read driver 1 encoder is abnormality" );
DEF(0x01, 0x04, 0x11, 1, 3, "Read driver 2 encoder error", "Read driver 2 encoder is abnormality" );
DEF(0x01, 0x04, 0x12, 1, 3, "Read driver 3 encoder error", "Read driver 3 encoder is abnormality" );
DEF(0x01, 0x04, 0x13, 1, 3, "Read driver 4 encoder error", "Read driver 4 encoder is abnormality" );
DEF(0x01, 0x04, 0x14, 1, 3, "Read driver 5 encoder error", "Read driver 5 encoder is abnormality" );
DEF(0x01, 0x04, 0x15, 1, 3, "Read driver 6 encoder error", "Read driver 6 encoder is abnormality" );
DEF(0x01, 0x04, 0x16, 1, 3, "Write data to driver 1 error", "Write data to driver 1 is abnormality" );
DEF(0x01, 0x04, 0x17, 1, 3, "Write data to driver 2 error", "Write data to driver 2 is abnormality" );
DEF(0x01, 0x04, 0x18, 1, 3, "Write data to driver 3 error", "Write data to driver 3 is abnormality" );
DEF(0x01, 0x04, 0x19, 1, 3, "Write data to driver 4 error", "Write data to driver 4 is abnormality" );
DEF(0x01, 0x04, 0x1A, 1, 3, "Write data to driver 5 error", "Write data to driver 5 is abnormality" );
DEF(0x01, 0x04, 0x1B, 1, 3, "Write data to driver 6 error", "Write data to driver 6 is abnormality" );
DEF(0x01, 0x04, 0x1C, 1, 3, "Clear driver 1 encoder error", "Clear driver 1 encoder is abnormality" );
DEF(0x01, 0x04, 0x1D, 1, 3, "Clear driver 2 encoder error", "Clear driver 2 encoder is abnormality" );
DEF(0x01, 0x04, 0x1E, 1, 3, "Clear driver 3 encoder error", "Clear driver 3 encoder is abnormality" );
DEF(0x01, 0x04, 0x1F, 1, 3, "Clear driver 4 encoder error", "Clear driver 4 encoder is abnormality" );
DEF(0x01, 0x04, 0x20, 1, 3, "Clear driver 5 encoder error", "Clear driver 5 encoder is abnormality" );
DEF(0x01, 0x04, 0x21, 1, 3, "Clear driver 6 encoder error", "Clear driver 6 encoder is abnormality" );
DEF(0x01, 0x04, 0x30, 0, 1, "Start pos declination error", "Start position declination is abnormality" );
DEF(0x01, 0x04, 0x31, 0, 1, "A1 declination error", "A1 declination is abnormality" );
DEF(0x01, 0x04, 0x32, 0, 1, "A2 declination error", "A2 declination is abnormality" );
DEF(0x01, 0x04, 0x33, 0, 1, "A3 declination error", "A3 declination is abnormality" );
DEF(0x01, 0x04, 0x34, 0, 1, "A4 declination error", "A4 declination is abnormality" );
DEF(0x01, 0x04, 0x35, 0, 1, "A5 declination error", "A5 declination is abnormality" );
DEF(0x01, 0x04, 0x36, 0, 1, "A6 declination error", "A6 declination is abnormality" );
DEF(0x01, 0x04, 0x37, 0, 1, "E1 declination error", "E1 declination is abnormality" );
DEF(0x01, 0x04, 0x38, 0, 1, "E2 declination error", "E2 declination is abnormality" );
DEF(0x01, 0x04, 0x39, 0, 1, "E3 declination error", "E3 declination is abnormality" );
DEF(0x01, 0x04, 0x40, 0, 1, "RSR(&NUM) no file", "RSR(&NUM) no file" );
DEF(0x01, 0x04, 0x41, 0, 1, "PNS(&NUM) no file", "PNS(&NUM) no file" );
DEF(0x01, 0x04, 0x50, 0, 1, "ISR delay overflow", "ISR delay stack overflow" );
DEF(0x01, 0x04, 0x51, 0, 2, "Motion command queue overflow", "Motion command queue overflow" );
DEF(0x01, 0x04, 0x52, 0, 2, "Jog queue overflow", "Jog queue overflow" );
DEF(0x01, 0x04, 0x53, 0, 2, "Interpolation buffer overflow", "Interpolation buffer overflow" );
DEF(0x01, 0x04, 0x60, -1, 2, "Modify Time Setting ", "Modify Time Setting" );
DEF(0x01, 0x04, 0x61, -1, 2, "Modify NTP Setting ", "Modify NTP Setting" );
DEF(0x01, 0x04, 0x70, 0, 2, "Continuous turn is disabled", "Continuous turn is disabled" );
DEF(0x01, 0x04, 0x71, -1, 2, "Record torque data overlimit", "Record torque data overlimit" );
DEF(0x01, 0x04, 0x72, 0, 2, "SET LATCH PARAM command error", "SET LATCH PARAM command error" );
DEF(0x01, 0x04, 0x73, 0, 2, "LATCH START command error", "LATCH START command error" );
DEF(0x01, 0x04, 0x74, 0, 2, "GET LATCH RESULT command error", "GET LATCH RESULT command error" );
DEF(0x01, 0x04, 0x75, 0, 2, "LATCH END command error", "LATCH END command error" );

// IO and communication error - function 0x05
DEF(0x01, 0x05, 0x10, 1, 3, "TP connection error", "Teach Pendant connection error" );
DEF(0x01, 0x05, 0x20, 1, 3, "RIO connection error", "ROBOT IO connection error" );
DEF(0x01, 0x05, 0x21, 1, 3, "RIO disconnection", "ROBOT IO disconnection" );
DEF(0x01, 0x05, 0x30, 0, 3, "Network disconnect", "Network disconnection" );
DEF(0x01, 0x05, 0x31, 0, 3, "Network connect failure", "Network connect failure" );
DEF(0x01, 0x05, 0x32, 0, 3, "Server opened failure", "Server opened failure" );
DEF(0x01, 0x05, 0x33, 0, 3, "Server closed", "Server closed the connection" );
DEF(0x01, 0x05, 0x34, 0, 3, "Network port setting error", "Network port setting error" );
DEF(0x01, 0x05, 0x35, 0, 3, "Network client disconnect time out", "Network client disconnect time out" );
DEF(0x01, 0x05, 0x36, 0, 3, "Fieldbus channel1 connection failed", "Fieldbus channel1 open failed" );
DEF(0x01, 0x05, 0x37, 0, 3, "Fieldbus channel2 connection failed", "Fieldbus channel2 open failed" );
DEF(0x01, 0x05, 0x38, 0, 3, "Fieldbus channel1 connection failed", "Fieldbus channel1 communication error" );
DEF(0x01, 0x05, 0x39, 0, 3, "Fieldbus channel2 connection failed", "Fieldbus channel2 communication error" );
DEF(0x01, 0x05, 0x40, 0, 3, "Fieldbus channel1 connection failed", "Fieldbus channel1 connection time out" );
DEF(0x01, 0x05, 0x41, 0, 3, "Fieldbus channel2 connection failed", "Fieldbus channel2 connection time out" );
DEF(0x01, 0x05, 0x42, 1, 3, "Serial IO disconnection", "Serial IO disconnection" );
DEF(0x01, 0x05, 0x50, 0, 3, "Welder communication error", "Welder communication error" );
DEF(0x01, 0x05, 0x51, 1, 3, "Pulse number out of limit", "Pulse number out of limit" );      
DEF(0x01, 0x05, 0x52, 0, 3, "Serialport open error", "Serialport open error" );
DEF(0x01, 0x05, 0x60, 0, 2, "Modbus RTU client open failed", "Modbus RTU client open failed" );
DEF(0x01, 0x05, 0x61, 0, 2, "Modbus TCP client open failed", "Modbus TCP client open failed" );
DEF(0x01, 0x05, 0x62, 0, 2, "Modbus read discrete input failed", "Modbus client read discrete input failed" );
DEF(0x01, 0x05, 0x63, 0, 2, "Modbus read coil failed", "Modbus client read coil failed" );
DEF(0x01, 0x05, 0x64, 0, 2, "Modbus write coil failed", "Modbus client write coil failed" );
DEF(0x01, 0x05, 0x65, 0, 2, "Modbus read input register failed", "Modbus client read input register failed" );
DEF(0x01, 0x05, 0x66, 0, 2, "Modbus read holding register failed", "Modbus client read holding register failed" );
DEF(0x01, 0x05, 0x67, 0, 2, "Modbus write holding register failed", "Modbus client write holding register failed" );
                                                                               
// Operator error - function 0x06
DEF(0x01, 0x06, 0x10, 0, 2, "Motion delay command error", "Motion delay command abnormality" );
DEF(0x01, 0x06, 0x11, 0, 2, "Acc set command error", "Acceleration setting command abnormality" );
DEF(0x01, 0x06, 0x12, 0, 2, "PTP motion command error", "PTP motion command abnormality" );
DEF(0x01, 0x06, 0x13, 0, 2, "Cir motion command error", "Circle motion command abnormality" );
DEF(0x01, 0x06, 0x14, 0, 2, "Lin motion command error", "Line motion command abnormality" );
DEF(0x01, 0x06, 0x15, 0, 2, "Feedspeed set command error", "Feedspeed setting command abnormality" );
DEF(0x01, 0x06, 0x16, 0, 2, "Path error", "Path abnormality" );
DEF(0x01, 0x06, 0x17, 0, 2, "Set cnv track acc error", "Setting conveyor tracking acceleration error" );
DEF(0x01, 0x06, 0x18, 0, 2, "Set cnv pick acc error", "Setting conveyor pick acceleration error" );
DEF(0x01, 0x06, 0x19, 0, 2, "Enable smooth error", "Enable smooth motion error" );
DEF(0x01, 0x06, 0x1A, 0, 2, "Disable smooth error", "Disable smooth motion error" );
DEF(0x01, 0x06, 0x20, 0, 2, "Counter index error", "Counter index abnormality" );
DEF(0x01, 0x06, 0x21, 0, 2, "Timer index error", "Timer index abnormality" );
DEF(0x01, 0x06, 0x22, 0, 2, "Counter stop num error", "Counter stop number abnormality" );
DEF(0x01, 0x06, 0x23, 0, 2, "DI index error", "DI index abnormality" );
DEF(0x01, 0x06, 0x24, 0, 2, "DO index error", "DO index abnormality" );
DEF(0x01, 0x06, 0x25, 0, 2, "RI index error", "RI index abnormality" );
DEF(0x01, 0x06, 0x26, 0, 2, "RO index error", "RO index abnormality" );
DEF(0x01, 0x06, 0x27, 0, 2, "VI index error", "VI index abnormality" );
DEF(0x01, 0x06, 0x28, 0, 2, "VO index error", "VO index abnormality" );
DEF(0x01, 0x06, 0x29, 0, 2, "SI index error", "SI index abnormality" );
DEF(0x01, 0x06, 0x2A, 0, 2, "SO index error", "SO index abnormality" );
DEF(0x01, 0x06, 0x2B, 0, 2, "SRR index error", "SRR index abnormality" );
DEF(0x01, 0x06, 0x2C, 0, 2, "SRW index error", "SRW index abnormality" );
DEF(0x01, 0x06, 0x30, 0, 2, "DI can't be set", "DI can't be setting" );
DEF(0x01, 0x06, 0x31, 0, 2, "RI can't be set", "RI can't be setting" );
DEF(0x01, 0x06, 0x32, 0, 2, "SI can't be set", "SI can't be setting" );
DEF(0x01, 0x06, 0x33, 0, 2, "SO can't be set", "SO can't be setting" );
DEF(0x01, 0x06, 0x34, 0, 2, "SRR can't be set", "SRR can't be setting" );
DEF(0x01, 0x06, 0x35, 0, 2, "SRW value error", "SRW value abnormality" );
DEF(0x01, 0x06, 0x36, 0, 2, "FieldBus disconnected", "FieldBus Slot1 disconnected" );
DEF(0x01, 0x06, 0x37, 0, 2, "FieldBus disconnected", "FieldBus Slot2 disconnected" );
DEF(0x01, 0x06, 0x40, 0, 2, "MI index error", "MI index error" );
DEF(0x01, 0x06, 0x41, 0, 2, "MO index error", "MO index error" );
DEF(0x01, 0x06, 0x42, 0, 2, "MI can't be set", "MI can't be set" );
DEF(0x01, 0x06, 0x60, 0, 2, "No input to stop motion", "No input to stop motion" );
DEF(0x01, 0x06, 0x70, 0, 2, "Weaving motion error", "Weaving frequency is out of range" );
DEF(0x01, 0x06, 0x71, 0, 2, "Weaving motion error", "Weaving dwell time is out of range" );
DEF(0x01, 0x06, 0x72, 0, 2, "Weaving motion error", "Weaving mode error" );
DEF(0x01, 0x06, 0x73, 1, 3, "Weaving motion error", "Weaving acceleration is too fast" );
DEF(0x01, 0x06, 0x74, 1, 3, "Weaving motion error", "Weaving acceleration is too slow" );
DEF(0x01, 0x06, 0x75, 1, 3, "Weaving motion error", "Weaving plane error" );

// Extra Axis - function 0x07
DEF(0x01, 0x07, 0x10, 0, 3, "E1 axis following error", "E1 axis following error overlimit" );
DEF(0x01, 0x07, 0x11, 0, 3, "E2 axis following error", "E2 axis following error overlimit" );
DEF(0x01, 0x07, 0x12, 0, 3, "E3 axis following error", "E3 axis following error overlimit" );
DEF(0x01, 0x07, 0x13, 0, 2, "E1 axis position overlimit", "E1 axis position overlimit of positive" );
DEF(0x01, 0x07, 0x14, 0, 2, "E1 axis position overlimit", "E1 axis position overlimit of negative" );
DEF(0x01, 0x07, 0x15, 0, 2, "E2 axis position overlimit", "E2 axis position overlimit of positive" );
DEF(0x01, 0x07, 0x16, 0, 2, "E2 axis position overlimit", "E2 axis position overlimit of negative" );
DEF(0x01, 0x07, 0x17, 0, 2, "E3 axis position overlimit", "E3 axis position overlimit of positive" );
DEF(0x01, 0x07, 0x18, 0, 2, "E3 axis position overlimit", "E3 axis position overlimit of negative" );
DEF(0x01, 0x07, 0x19, 0, 2, "E1 axis clear encoder error", "E1 axis clear encoder error" );
DEF(0x01, 0x07, 0x1A, 0, 2, "E2 axis clear encoder error", "E2 axis clear encoder error" );
DEF(0x01, 0x07, 0x1B, 0, 2, "E3 axis clear encoder error", "E3 axis clear encoder error" );

// Conveyor tracking error - function 0x08
DEF(0x01, 0x08, 0x10, 0, 2, "Cam connect fail", "Camera connection failure" );
DEF(0x01, 0x08, 0x11, 0, 2, "Cam connect abnormality", "Camera connection abnormality" );
DEF(0x01, 0x08, 0x12, 0, 2, "Came disconnect fail", "Camera disconnect fail" );
DEF(0x01, 0x08, 0x13, 0, 2, "Pick command error", "Pick command error" );
DEF(0x01, 0x08, 0x14, 0, 2, "Place command error", "Place command error" );
DEF(0x01, 0x08, 0x15, 0, 2, "Cnv encoder clear error", "Conveyor encoder clear error" );
DEF(0x01, 0x08, 0x16, 0, 2, "Set latch source error", "Setting latch source error" );
DEF(0x01, 0x08, 0x17, 0, 2, "Start cnv command error", "Start conveyor command error" );
DEF(0x01, 0x08, 0x18, 0, 2, "Read encoder count error", "Read encoder count error" );
DEF(0x01, 0x08, 0x19, 0, 2, "Clear place data error", "Clear place data error" );
DEF(0x01, 0x08, 0x1A, 0, 2, "CNV OBJECT can't be set", "CNV OBJECT can't be setting" );
DEF(0x01, 0x08, 0x1B, 0, 2, "CNV FULL can't be set", "CNV FULL can't be setting" );
DEF(0x01, 0x08, 0x1C, 0, 2, "CNV EMPTY can't be set", "CNV EMPTY can't be setting" );
DEF(0x01, 0x08, 0x1D, 0, 2, "Get tracking data error", "Get tracking data error" );
DEF(0x01, 0x08, 0x1E, 0, 2, "Encoder latch error", "Encoder latch value inconsistent" );

// User define alarm - function 0x09

// Dio setting alarm - function 0x0A

// Pay money function error - function 0x0B
DEF(0x01, 0x0B, 0x10, 0, 2, "You have no license of HRSK", "You have no license of HRSDK" );
DEF(0x01, 0x0B, 0x11, 0, 2, "You have no license of Fieldbus", "You have no license of Fieldbus" );
DEF(0x01, 0x0B, 0x12, 0, 2, "You have no license of External Axis", "You have no license of External Axis" );
DEF(0x01, 0x0B, 0x13, 0, 2, "You have no license of External TCP", "You have no license of External TCP" );
DEF(0x01, 0x0B, 0x14, 0, 2, "You have no license of Continuous Turn", "You have no license of Continuous Turn" );

// Weld function error 0x0C
DEF(0x01, 0x0C, 0x10, 1, 3, "Arc on error", "Arc on error" );
DEF(0x01, 0x0C, 0x11, 1, 3, "Welding tool not ready", "Welding tool not ready" );
DEF(0x01, 0x0C, 0x12, 1, 3, "Wire sticked", "Wire sticked" );
DEF(0x01, 0x0C, 0x13, 1, 3, "No gas", "No gas" );
DEF(0x01, 0x0C, 0x14, 1, 3, "No water", "No water" );
DEF(0x01, 0x0C, 0x15, 1, 3, "Piece touched", "Piece touched" );
DEF(0x01, 0x0C, 0x16, 1, 3, "Safety limit no active", "Safety limit no active" );
DEF(0x01, 0x0C, 0x17, 1, 3, "Antishock alarm", "Antishock alarm" );

DEF(0x01, 0x0C, 0x20, 1, 3, "Arc detect", "Arc detect" );
DEF(0x01, 0x0C, 0x21, 1, 3, "Touch sensed", "Touch sensed" );
DEF(0x01, 0x0C, 0x22, 1, 3, "Gas fault", "Gas fault" );
DEF(0x01, 0x0C, 0x23, 1, 3, "Wire fault", "Wire fault" );
DEF(0x01, 0x0C, 0x24, 1, 3, "Water fault", "Water fault" );
DEF(0x01, 0x0C, 0x25, 1, 3, "Inverter fault", "Inverter fault" );
DEF(0x01, 0x0C, 0x26, 1, 3, "Wire stick", "Wire stick" );
DEF(0x01, 0x0C, 0x27, 1, 3, "DN fault", "DN fault" );
DEF(0x01, 0x0C, 0x28, 1, 3, "Process select no ack", "Process select no ack" );
DEF(0x01, 0x0C, 0x29, 1, 3, "Limit error", "Limit error" );
DEF(0x01, 0x0C, 0x2A, 1, 3, "Weld not complete", "Weld not complete" );
DEF(0x01, 0x0C, 0x2B, 1, 3, "Busy rep", "Busy rep" );
DEF(0x01, 0x0C, 0x2C, 1, 3, "Gas purge on", "Gas purge on" );
DEF(0x01, 0x0C, 0x2D, 1, 3, "Active feed head", "Active feed head" );
DEF(0x01, 0x0C, 0x2E, 1, 3, "Toggle bit", "Toggle bit" );
DEF(0x01, 0x0C, 0x2F, 1, 3, "Attribute response", "Attribute response" );

DEF(0x01, 0x0C, 0x30, 1, 3, "Weld command timeout", "Weld command timeout" );
DEF(0x01, 0x0C, 0x31, 1, 3, "Torch collided", "Torch collided" );
DEF(0x01, 0x0C, 0x32, 1, 3, "Weld down slope error", "Weld down slope error" );

// Data Base error - function 0x0D
DEF(0x01, 0x0D, 0x10, 1, 3, "Data Base Version error", "Data Base Version error" );

// SIO Default index error - function 0x0E
DEF(0x01, 0x0E, 0x10, 0, 3, "SIO Default index error", "SIO Default index error" );

/*
*  HIWIN Robot controller - device 0x02
*/

// Safety input - function 0x01
DEF(0x02, 0x01, 0x10, 1, 5, "Emergency input", "Emergency input" );
DEF(0x02, 0x01, 0x11, 0, 1, "Enable switch down", "Enable switch down" );

// Hardware error - function 0x02
DEF(0x02, 0x02, 0x10, 1, 3, "Driver brake trip", "Driver brake trip" );
DEF(0x02, 0x02, 0x11, 1, 3, "No motor brake signal", "No motor brake signal" );

/*
*  Axis amplifier - device 0x03
*/

// Axis 1 - function 0x01
DEF(0x03, 0x01, 0x21, 2, 3, "A1 error", "Axis 1 overcurrent" );
DEF(0x03, 0x01, 0x25, 1, 3, "A1 error", "Axis 1 STO" );
DEF(0x03, 0x01, 0x26, 2, 3, "A1 error", "Axis 1 safe torque off error" );
DEF(0x03, 0x01, 0x27, 2, 3, "A1 error", "Axis 1 single STO" );
DEF(0x03, 0x01, 0x30, 2, 3, "A1 error", "Axis 1 current control error" );
DEF(0x03, 0x01, 0x31, 2, 3, "A1 error", "Axis 1 hybrid deviation too big" );
DEF(0x03, 0x01, 0x32, 2, 3, "A1 error", "Axis 1 HFLT inconsistent error" );
DEF(0x03, 0x01, 0x33, 2, 3, "A1 error", "Axis 1 auto phase center not complete" );
DEF(0x03, 0x01, 0x34, 2, 3, "A1 error", "Axis 1 DC bus volt abnormal" );
DEF(0x03, 0x01, 0x35, 2, 3, "A1 error", "Axis 1 ECAT interface not detected" );
DEF(0x03, 0x01, 0x36, 2, 3, "A1 error", "Axis 1 CiA-402 homing error" );
DEF(0x03, 0x01, 0x37, 2, 3, "A1 error", "Axis 1 fan fault error" );
DEF(0x03, 0x01, 0x38, 2, 3, "A1 error", "Axis 1 absolute serial encoder error" );
DEF(0x03, 0x01, 0x41, 1, 3, "A1 error", "Axis 1 overload" );
DEF(0x03, 0x01, 0x43, 1, 3, "A1 error", "Axis 1 regenerative resistor overload" );
DEF(0x03, 0x01, 0x45, 1, 3, "A1 error", "Axis 1 overspeed" );
DEF(0x03, 0x01, 0x51, 1, 3, "A1 error", "Axis 1 amplifier thermal abnormality" );
DEF(0x03, 0x01, 0x52, 1, 3, "A1 error", "Axis 1 anti surge resistor overheat" );
DEF(0x03, 0x01, 0x53, 1, 3, "A1 error", "Axis 1 dynamic brake resistor overheat" );
DEF(0x03, 0x01, 0x58, 1, 3, "A1 error", "Axis 1 motor overheat" );
DEF(0x03, 0x01, 0x61, 1, 3, "A1 error", "Axis 1 overvoltage" );
DEF(0x03, 0x01, 0x62, 1, 3, "A1 error", "Axis 1 undervoltage" );
DEF(0x03, 0x01, 0x71, 1, 3, "A1 error", "Axis 1 control power source voltage shortage" );
DEF(0x03, 0x01, 0x72, 1, 3, "A1 error", "Axis 1 control circuit voltage shortage" );
DEF(0x03, 0x01, 0x81, 2, 3, "A1 error", "Axis 1 encoder disconnect" );
DEF(0x03, 0x01, 0x84, 2, 3, "A1 error", "Axis 1 encoder communcation abnormality" );
DEF(0x03, 0x01, 0x85, 2, 3, "A1 error", "Axis 1 encoder initial error(5V abnormality)" );
DEF(0x03, 0x01, 0x87, 2, 3, "A1 error", "Axis 1 encoder CS abnormality" );
DEF(0x03, 0x01, 0xA1, 2, 3, "A1 error", "Axis 1 encoder multiturn data error (battery abnormality)" );
DEF(0x03, 0x01, 0xA3, 2, 3, "A1 error", "Axis 1 encoder overspeed" );
DEF(0x03, 0x01, 0xA5, 2, 3, "A1 error", "Axis 1 encoder singleturn error" );
DEF(0x03, 0x01, 0xA6, 2, 3, "A1 error", "Axis 1 encoder multiturn error" );
DEF(0x03, 0x01, 0xA9, 2, 3, "A1 error", "Axis 1 encoder overheat" );
DEF(0x03, 0x01, 0xAB, 2, 3, "A1 error", "Axis 1 encoder error" );
DEF(0x03, 0x01, 0xC1, 0, 3, "A1 error", "Axis 1 speed overlimit" );
DEF(0x03, 0x01, 0xD1, 2, 3, "A1 error", "Axis 1 position error too big" );
DEF(0x03, 0x01, 0xE1, 2, 3, "A1 error", "Axis 1 EEPROM abnormality" );
DEF(0x03, 0x01, 0xE2, 2, 3, "A1 error", "Axis 1 EEPROM check is abnormality" );
DEF(0x03, 0x01, 0xEF, 2, 3, "A1 error", "Axis 1 not matching" );
DEF(0x03, 0x01, 0xF3, 1, 3, "A1 error", "Axis 1 amplifier error" );
DEF(0x03, 0x01, 0xF4, 1, 3, "A1 error", "Axis 1 soft thermal reach limit" );
DEF(0x03, 0x01, 0xF5, 2, 3, "A1 error", "Axis 1 motor disconnect" );
DEF(0x03, 0x01, 0xF6, 2, 3, "A1 error", "Axis 1 amplifier phase initial error" );
DEF(0x03, 0x01, 0xF7, 2, 3, "A1 error", "Axis 1 Hall sensor error" );
DEF(0x03, 0x01, 0xF8, 2, 3, "A1 error", "Axis 1 Hall phase error" );
DEF(0x03, 0x01, 0xF9, -1, 1, "A1 error", "Axis 1 overload warning" );
DEF(0x03, 0x01, 0xFA, -1, 1, "A1 error", "Axis 1 amplifier overheating warning" );
DEF(0x03, 0x01, 0xFB, -1, 1, "A1 error", "Axis 1 regenerated overload warning" );
DEF(0x03, 0x01, 0xFC, -1, 1, "A1 error", "Axis 1 detecting power failure" );
DEF(0x03, 0x01, 0xFD, -1, 1, "A1 error", "Axis 1 main circuit is charging" );
DEF(0x03, 0x01, 0xFE, -1, 1, "A1 error", "Axis 1 battery insufficient" );
DEF(0x03, 0x01, 0xFF, 2, 4, "A1 error", "Axis 1 battery empty" );

// Axis 2 - function 0x02
DEF(0x03, 0x02, 0x21, 2, 3, "A2 error", "Axis 2 overcurrent" );
DEF(0x03, 0x02, 0x25, 1, 3, "A2 error", "Axis 2 STO" );
DEF(0x03, 0x02, 0x26, 2, 3, "A2 error", "Axis 2 safe torque off error" );
DEF(0x03, 0x02, 0x27, 2, 3, "A2 error", "Axis 2 single STO" );
DEF(0x03, 0x02, 0x30, 2, 3, "A2 error", "Axis 2 current control error" );
DEF(0x03, 0x02, 0x31, 2, 3, "A2 error", "Axis 2 hybrid deviation too big" );
DEF(0x03, 0x02, 0x32, 2, 3, "A2 error", "Axis 2 HFLT inconsistent error" );
DEF(0x03, 0x02, 0x33, 2, 3, "A2 error", "Axis 2 auto phase center not complete" );
DEF(0x03, 0x02, 0x34, 2, 3, "A2 error", "Axis 2 DC bus volt abnormal" );
DEF(0x03, 0x02, 0x35, 2, 3, "A2 error", "Axis 2 ECAT interface not detected" );
DEF(0x03, 0x02, 0x36, 2, 3, "A2 error", "Axis 2 CiA-402 homing error" );
DEF(0x03, 0x02, 0x37, 2, 3, "A2 error", "Axis 2 fan fault error" );
DEF(0x03, 0x02, 0x38, 2, 3, "A2 error", "Axis 2 absolute serial encoder error" );
DEF(0x03, 0x02, 0x41, 1, 3, "A2 error", "Axis 2 overload" );
DEF(0x03, 0x02, 0x43, 1, 3, "A2 error", "Axis 2 regenerative resistor overload" );
DEF(0x03, 0x02, 0x45, 1, 3, "A2 error", "Axis 2 overspeed" );
DEF(0x03, 0x02, 0x51, 1, 3, "A2 error", "Axis 2 amplifier thermal abnormality" );
DEF(0x03, 0x02, 0x52, 1, 3, "A2 error", "Axis 2 anti surge resistor overheat" );
DEF(0x03, 0x02, 0x53, 1, 3, "A2 error", "Axis 2 dynamic brake resistor overheat" );
DEF(0x03, 0x02, 0x58, 1, 3, "A2 error", "Axis 2 motor overheat" );
DEF(0x03, 0x02, 0x61, 1, 3, "A2 error", "Axis 2 overvoltage" );
DEF(0x03, 0x02, 0x62, 1, 3, "A2 error", "Axis 2 undervoltage" );
DEF(0x03, 0x02, 0x71, 1, 3, "A2 error", "Axis 2 control power source voltage shortage" );
DEF(0x03, 0x02, 0x72, 1, 3, "A2 error", "Axis 2 control circuit voltage shortage" );
DEF(0x03, 0x02, 0x81, 2, 3, "A2 error", "Axis 2 encoder disconnect" );
DEF(0x03, 0x02, 0x84, 2, 3, "A2 error", "Axis 2 encoder communcation abnormality" );
DEF(0x03, 0x02, 0x85, 2, 3, "A2 error", "Axis 2 encoder initial error(5V abnormality)" );
DEF(0x03, 0x02, 0x87, 2, 3, "A2 error", "Axis 2 encoder CS abnormality" );
DEF(0x03, 0x02, 0xA1, 2, 3, "A2 error", "Axis 2 encoder multiturn data error (battery abnormality)" );
DEF(0x03, 0x02, 0xA3, 2, 3, "A2 error", "Axis 2 encoder overspeed" );
DEF(0x03, 0x02, 0xA5, 2, 3, "A2 error", "Axis 2 encoder singleturn error" );
DEF(0x03, 0x02, 0xA6, 2, 3, "A2 error", "Axis 2 encoder multiturn error" );
DEF(0x03, 0x02, 0xA9, 2, 3, "A2 error", "Axis 2 encoder overheat" );
DEF(0x03, 0x02, 0xAB, 2, 3, "A2 error", "Axis 2 encoder error" );
DEF(0x03, 0x02, 0xC1, 0, 3, "A2 error", "Axis 2 speed overlimit" );
DEF(0x03, 0x02, 0xD1, 2, 3, "A2 error", "Axis 2 position error too big" );
DEF(0x03, 0x02, 0xE1, 2, 3, "A2 error", "Axis 2 EEPROM abnormality" );
DEF(0x03, 0x02, 0xE2, 2, 3, "A2 error", "Axis 2 EEPROM check is abnormality" );
DEF(0x03, 0x02, 0xEF, 2, 3, "A2 error", "Axis 2 not matching" );
DEF(0x03, 0x02, 0xF3, 1, 3, "A2 error", "Axis 2 amplifier error" );
DEF(0x03, 0x02, 0xF4, 1, 3, "A2 error", "Axis 2 soft thermal reach limit" );
DEF(0x03, 0x02, 0xF5, 2, 3, "A2 error", "Axis 2 motor disconnect" );
DEF(0x03, 0x02, 0xF6, 2, 3, "A2 error", "Axis 2 amplifier phase initial error" );
DEF(0x03, 0x02, 0xF7, 2, 3, "A2 error", "Axis 2 Hall sensor error" );
DEF(0x03, 0x02, 0xF8, 2, 3, "A2 error", "Axis 2 Hall phase error" );
DEF(0x03, 0x02, 0xF9, -1, 1, "A2 error", "Axis 2 overload warning" );
DEF(0x03, 0x02, 0xFA, -1, 1, "A2 error", "Axis 2 amplifier overheating warning" );
DEF(0x03, 0x02, 0xFB, -1, 1, "A2 error", "Axis 2 regenerated overload warning" );
DEF(0x03, 0x02, 0xFC, -1, 1, "A2 error", "Axis 2 detecting power failure" );
DEF(0x03, 0x02, 0xFD, -1, 1, "A2 error", "Axis 2 main circuit is charging" );
DEF(0x03, 0x02, 0xFE, -1, 1, "A2 error", "Axis 2 battery insufficient" );
DEF(0x03, 0x02, 0xFF, 2, 4, "A2 error", "Axis 2 battery empty" );

// Axis 3 - function 0x03
DEF(0x03, 0x03, 0x21, 2, 3, "A3 error", "Axis 3 overcurrent" );
DEF(0x03, 0x03, 0x25, 1, 3, "A3 error", "Axis 3 STO" );
DEF(0x03, 0x03, 0x26, 2, 3, "A3 error", "Axis 3 safe torque off error" );
DEF(0x03, 0x03, 0x27, 2, 3, "A3 error", "Axis 3 single STO" );
DEF(0x03, 0x03, 0x30, 2, 3, "A3 error", "Axis 3 current control error" );
DEF(0x03, 0x03, 0x31, 2, 3, "A3 error", "Axis 3 hybrid deviation too big" );
DEF(0x03, 0x03, 0x32, 2, 3, "A3 error", "Axis 3 HFLT inconsistent error" );
DEF(0x03, 0x03, 0x33, 2, 3, "A3 error", "Axis 3 auto phase center not complete" );
DEF(0x03, 0x03, 0x34, 2, 3, "A3 error", "Axis 3 DC bus volt abnormal" );
DEF(0x03, 0x03, 0x35, 2, 3, "A3 error", "Axis 3 ECAT interface not detected" );
DEF(0x03, 0x03, 0x36, 2, 3, "A3 error", "Axis 3 CiA-402 homing error" );
DEF(0x03, 0x03, 0x37, 2, 3, "A3 error", "Axis 3 fan fault error" );
DEF(0x03, 0x03, 0x38, 2, 3, "A3 error", "Axis 3 absolute serial encoder error" );
DEF(0x03, 0x03, 0x41, 1, 3, "A3 error", "Axis 3 overload" );
DEF(0x03, 0x03, 0x43, 1, 3, "A3 error", "Axis 3 regenerative resistor overload" );
DEF(0x03, 0x03, 0x45, 1, 3, "A3 error", "Axis 3 overspeed" );
DEF(0x03, 0x03, 0x51, 1, 3, "A3 error", "Axis 3 amplifier thermal abnormality" );
DEF(0x03, 0x03, 0x52, 1, 3, "A3 error", "Axis 3 anti surge resistor overheat" );
DEF(0x03, 0x03, 0x53, 1, 3, "A3 error", "Axis 3 dynamic brake resistor overheat" );
DEF(0x03, 0x03, 0x58, 1, 3, "A3 error", "Axis 3 motor overheat" );
DEF(0x03, 0x03, 0x61, 1, 3, "A3 error", "Axis 3 overvoltage" );
DEF(0x03, 0x03, 0x62, 1, 3, "A3 error", "Axis 3 undervoltage" );
DEF(0x03, 0x03, 0x71, 1, 3, "A3 error", "Axis 3 control power source voltage shortage" );
DEF(0x03, 0x03, 0x72, 1, 3, "A3 error", "Axis 3 control circuit voltage shortage" );
DEF(0x03, 0x03, 0x81, 2, 3, "A3 error", "Axis 3 encoder disconnect" );
DEF(0x03, 0x03, 0x84, 2, 3, "A3 error", "Axis 3 encoder communcation abnormality" );
DEF(0x03, 0x03, 0x85, 2, 3, "A3 error", "Axis 3 encoder initial error(5V abnormality)" );
DEF(0x03, 0x03, 0x87, 2, 3, "A3 error", "Axis 3 encoder CS abnormality" );
DEF(0x03, 0x03, 0xA1, 2, 3, "A3 error", "Axis 3 encoder multiturn data error (battery abnormality)" );
DEF(0x03, 0x03, 0xA3, 2, 3, "A3 error", "Axis 3 encoder overspeed" );
DEF(0x03, 0x03, 0xA5, 2, 3, "A3 error", "Axis 3 encoder singleturn error" );
DEF(0x03, 0x03, 0xA6, 2, 3, "A3 error", "Axis 3 encoder multiturn error" );
DEF(0x03, 0x03, 0xA9, 2, 3, "A3 error", "Axis 3 encoder overheat" );
DEF(0x03, 0x03, 0xAB, 2, 3, "A3 error", "Axis 3 encoder error" );
DEF(0x03, 0x03, 0xC1, 0, 3, "A3 error", "Axis 3 speed overlimit" );
DEF(0x03, 0x03, 0xD1, 2, 3, "A3 error", "Axis 3 position error too big" );
DEF(0x03, 0x03, 0xE1, 2, 3, "A3 error", "Axis 3 EEPROM abnormality" );
DEF(0x03, 0x03, 0xE2, 2, 3, "A3 error", "Axis 3 EEPROM check is abnormality" );
DEF(0x03, 0x03, 0xEF, 2, 3, "A3 error", "Axis 3 not matching" );
DEF(0x03, 0x03, 0xF3, 1, 3, "A3 error", "Axis 3 amplifier error" );
DEF(0x03, 0x03, 0xF4, 1, 3, "A3 error", "Axis 3 soft thermal reach limit" );
DEF(0x03, 0x03, 0xF5, 2, 3, "A3 error", "Axis 3 motor disconnect" );
DEF(0x03, 0x03, 0xF6, 2, 3, "A3 error", "Axis 3 amplifier phase initial error" );
DEF(0x03, 0x03, 0xF7, 2, 3, "A3 error", "Axis 3 Hall sensor error" );
DEF(0x03, 0x03, 0xF8, 2, 3, "A3 error", "Axis 3 Hall phase error" );
DEF(0x03, 0x03, 0xF9, -1, 1, "A3 error", "Axis 3 overload warning" );
DEF(0x03, 0x03, 0xFA, -1, 1, "A3 error", "Axis 3 amplifier overheating warning" );
DEF(0x03, 0x03, 0xFB, -1, 1, "A3 error", "Axis 3 regenerated overload warning" );
DEF(0x03, 0x03, 0xFC, -1, 1, "A3 error", "Axis 3 detecting power failure" );
DEF(0x03, 0x03, 0xFD, -1, 1, "A3 error", "Axis 3 main circuit is charging" );
DEF(0x03, 0x03, 0xFE, -1, 1, "A3 error", "Axis 3 battery insufficient" );
DEF(0x03, 0x03, 0xFF, 2, 4, "A3 error", "Axis 3 battery empty" );

// Axis 4 - function 0x04
DEF(0x03, 0x04, 0x21, 2, 3, "A4 error", "Axis 4 overcurrent" );
DEF(0x03, 0x04, 0x25, 1, 3, "A4 error", "Axis 4 STO" );
DEF(0x03, 0x04, 0x26, 2, 3, "A4 error", "Axis 4 safe torque off error" );
DEF(0x03, 0x04, 0x27, 2, 3, "A4 error", "Axis 4 single STO" );
DEF(0x03, 0x04, 0x30, 2, 3, "A4 error", "Axis 4 current control error" );
DEF(0x03, 0x04, 0x31, 2, 3, "A4 error", "Axis 4 hybrid deviation too big" );
DEF(0x03, 0x04, 0x32, 2, 3, "A4 error", "Axis 4 HFLT inconsistent error" );
DEF(0x03, 0x04, 0x33, 2, 3, "A4 error", "Axis 4 auto phase center not complete" );
DEF(0x03, 0x04, 0x34, 2, 3, "A4 error", "Axis 4 DC bus volt abnormal" );
DEF(0x03, 0x04, 0x35, 2, 3, "A4 error", "Axis 4 ECAT interface not detected" );
DEF(0x03, 0x04, 0x36, 2, 3, "A4 error", "Axis 4 CiA-402 homing error" );
DEF(0x03, 0x04, 0x37, 2, 3, "A4 error", "Axis 4 fan fault error" );
DEF(0x03, 0x04, 0x38, 2, 3, "A4 error", "Axis 4 absolute serial encoder error" );
DEF(0x03, 0x04, 0x41, 1, 3, "A4 error", "Axis 4 overload" );
DEF(0x03, 0x04, 0x43, 1, 3, "A4 error", "Axis 4 regenerative resistor overload" );
DEF(0x03, 0x04, 0x45, 1, 3, "A4 error", "Axis 4 overspeed" );
DEF(0x03, 0x04, 0x51, 1, 3, "A4 error", "Axis 4 amplifier thermal abnormality" );
DEF(0x03, 0x04, 0x52, 1, 3, "A4 error", "Axis 4 anti surge resistor overheat" );
DEF(0x03, 0x04, 0x53, 1, 3, "A4 error", "Axis 4 dynamic brake resistor overheat" );
DEF(0x03, 0x04, 0x58, 1, 3, "A4 error", "Axis 4 motor overheat" );
DEF(0x03, 0x04, 0x61, 1, 3, "A4 error", "Axis 4 overvoltage" );
DEF(0x03, 0x04, 0x62, 1, 3, "A4 error", "Axis 4 undervoltage" );
DEF(0x03, 0x04, 0x71, 1, 3, "A4 error", "Axis 4 control power source voltage shortage" );
DEF(0x03, 0x04, 0x72, 1, 3, "A4 error", "Axis 4 control circuit voltage shortage" );
DEF(0x03, 0x04, 0x81, 2, 3, "A4 error", "Axis 4 encoder disconnect" );
DEF(0x03, 0x04, 0x84, 2, 3, "A4 error", "Axis 4 encoder communcation abnormality" );
DEF(0x03, 0x04, 0x85, 2, 3, "A4 error", "Axis 4 encoder initial error(5V abnormality)" );
DEF(0x03, 0x04, 0x87, 2, 3, "A4 error", "Axis 4 encoder CS abnormality" );
DEF(0x03, 0x04, 0xA1, 2, 3, "A4 error", "Axis 4 encoder multiturn data error (battery abnormality)" );
DEF(0x03, 0x04, 0xA3, 2, 3, "A4 error", "Axis 4 encoder overspeed" );
DEF(0x03, 0x04, 0xA5, 2, 3, "A4 error", "Axis 4 encoder singleturn error" );
DEF(0x03, 0x04, 0xA6, 2, 3, "A4 error", "Axis 4 encoder multiturn error" );
DEF(0x03, 0x04, 0xA9, 2, 3, "A4 error", "Axis 4 encoder overheat" );
DEF(0x03, 0x04, 0xAB, 2, 3, "A4 error", "Axis 4 encoder error" );
DEF(0x03, 0x04, 0xC1, 0, 3, "A4 error", "Axis 4 speed overlimit" );
DEF(0x03, 0x04, 0xD1, 2, 3, "A4 error", "Axis 4 position error too big" );
DEF(0x03, 0x04, 0xE1, 2, 3, "A4 error", "Axis 4 EEPROM abnormality" );
DEF(0x03, 0x04, 0xE2, 2, 3, "A4 error", "Axis 4 EEPROM check is abnormality" );
DEF(0x03, 0x04, 0xEF, 2, 3, "A4 error", "Axis 4 not matching" );
DEF(0x03, 0x04, 0xF3, 1, 3, "A4 error", "Axis 4 amplifier error" );
DEF(0x03, 0x04, 0xF4, 1, 3, "A4 error", "Axis 4 soft thermal reach limit" );
DEF(0x03, 0x04, 0xF5, 2, 3, "A4 error", "Axis 4 motor disconnect" );
DEF(0x03, 0x04, 0xF6, 2, 3, "A4 error", "Axis 4 amplifier phase initial error" );
DEF(0x03, 0x04, 0xF7, 2, 3, "A4 error", "Axis 4 Hall sensor error" );
DEF(0x03, 0x04, 0xF8, 2, 3, "A4 error", "Axis 4 Hall phase error" );
DEF(0x03, 0x04, 0xF9, -1, 1, "A4 error", "Axis 4 overload warning" );
DEF(0x03, 0x04, 0xFA, -1, 1, "A4 error", "Axis 4 amplifier overheating warning" );
DEF(0x03, 0x04, 0xFB, -1, 1, "A4 error", "Axis 4 regenerated overload warning" );
DEF(0x03, 0x04, 0xFC, -1, 1, "A4 error", "Axis 4 detecting power failure" );
DEF(0x03, 0x04, 0xFD, -1, 1, "A4 error", "Axis 4 main circuit is charging" );
DEF(0x03, 0x04, 0xFE, -1, 1, "A4 error", "Axis 4 battery insufficient" );
DEF(0x03, 0x04, 0xFF, 2, 4, "A4 error", "Axis 4 battery empty" );

// Axis 5 - function 0x05
DEF(0x03, 0x05, 0x21, 2, 3, "A5 error", "Axis 5 overcurrent" );
DEF(0x03, 0x05, 0x25, 1, 3, "A5 error", "Axis 5 STO" );
DEF(0x03, 0x05, 0x26, 2, 3, "A5 error", "Axis 5 safe torque off error" );
DEF(0x03, 0x05, 0x27, 2, 3, "A5 error", "Axis 5 single STO" );
DEF(0x03, 0x05, 0x30, 2, 3, "A5 error", "Axis 5 current control error" );
DEF(0x03, 0x05, 0x31, 2, 3, "A5 error", "Axis 5 hybrid deviation too big" );
DEF(0x03, 0x05, 0x32, 2, 3, "A5 error", "Axis 5 HFLT inconsistent error" );
DEF(0x03, 0x05, 0x33, 2, 3, "A5 error", "Axis 5 auto phase center not complete" );
DEF(0x03, 0x05, 0x34, 2, 3, "A5 error", "Axis 5 DC bus volt abnormal" );
DEF(0x03, 0x05, 0x35, 2, 3, "A5 error", "Axis 5 ECAT interface not detected" );
DEF(0x03, 0x05, 0x36, 2, 3, "A5 error", "Axis 5 CiA-402 homing error" );
DEF(0x03, 0x05, 0x37, 2, 3, "A5 error", "Axis 5 fan fault error" );
DEF(0x03, 0x05, 0x38, 2, 3, "A5 error", "Axis 5 absolute serial encoder error" );
DEF(0x03, 0x05, 0x41, 1, 3, "A5 error", "Axis 5 overload" );
DEF(0x03, 0x05, 0x43, 1, 3, "A5 error", "Axis 5 regenerative resistor overload" );
DEF(0x03, 0x05, 0x45, 1, 3, "A5 error", "Axis 5 overspeed" );
DEF(0x03, 0x05, 0x51, 1, 3, "A5 error", "Axis 5 amplifier thermal abnormality" );
DEF(0x03, 0x05, 0x52, 1, 3, "A5 error", "Axis 5 anti surge resistor overheat" );
DEF(0x03, 0x05, 0x53, 1, 3, "A5 error", "Axis 5 dynamic brake resistor overheat" );
DEF(0x03, 0x05, 0x58, 1, 3, "A5 error", "Axis 5 motor overheat" );
DEF(0x03, 0x05, 0x61, 1, 3, "A5 error", "Axis 5 overvoltage" );
DEF(0x03, 0x05, 0x62, 1, 3, "A5 error", "Axis 5 undervoltage" );
DEF(0x03, 0x05, 0x71, 1, 3, "A5 error", "Axis 5 control power source voltage shortage" );
DEF(0x03, 0x05, 0x72, 1, 3, "A5 error", "Axis 5 control circuit voltage shortage" );
DEF(0x03, 0x05, 0x81, 2, 3, "A5 error", "Axis 5 encoder disconnect" );
DEF(0x03, 0x05, 0x84, 2, 3, "A5 error", "Axis 5 encoder communcation abnormality" );
DEF(0x03, 0x05, 0x85, 2, 3, "A5 error", "Axis 5 encoder initial error(5V abnormality)" );
DEF(0x03, 0x05, 0x87, 2, 3, "A5 error", "Axis 5 encoder CS abnormality" );
DEF(0x03, 0x05, 0xA1, 2, 3, "A5 error", "Axis 5 encoder multiturn data error (battery abnormality)" );
DEF(0x03, 0x05, 0xA3, 2, 3, "A5 error", "Axis 5 encoder overspeed" );
DEF(0x03, 0x05, 0xA5, 2, 3, "A5 error", "Axis 5 encoder singleturn error" );
DEF(0x03, 0x05, 0xA6, 2, 3, "A5 error", "Axis 5 encoder multiturn error" );
DEF(0x03, 0x05, 0xA9, 2, 3, "A5 error", "Axis 5 encoder overheat" );
DEF(0x03, 0x05, 0xAB, 2, 3, "A5 error", "Axis 5 encoder error" );
DEF(0x03, 0x05, 0xC1, 0, 3, "A5 error", "Axis 5 speed overlimit" );
DEF(0x03, 0x05, 0xD1, 2, 3, "A5 error", "Axis 5 position error too big" );
DEF(0x03, 0x05, 0xE1, 2, 3, "A5 error", "Axis 5 EEPROM abnormality" );
DEF(0x03, 0x05, 0xE2, 2, 3, "A5 error", "Axis 5 EEPROM check is abnormality" );
DEF(0x03, 0x05, 0xEF, 2, 3, "A5 error", "Axis 5 not matching" );
DEF(0x03, 0x05, 0xF3, 1, 3, "A5 error", "Axis 5 amplifier error" );
DEF(0x03, 0x05, 0xF4, 1, 3, "A5 error", "Axis 5 soft thermal reach limit" );
DEF(0x03, 0x05, 0xF5, 2, 3, "A5 error", "Axis 5 motor disconnect" );
DEF(0x03, 0x05, 0xF6, 2, 3, "A5 error", "Axis 5 amplifier phase initial error" );
DEF(0x03, 0x05, 0xF7, 2, 3, "A5 error", "Axis 5 Hall sensor error" );
DEF(0x03, 0x05, 0xF8, 2, 3, "A5 error", "Axis 5 Hall phase error" );
DEF(0x03, 0x05, 0xF9, -1, 1, "A5 error", "Axis 5 overload warning" );
DEF(0x03, 0x05, 0xFA, -1, 1, "A5 error", "Axis 5 amplifier overheating warning" );
DEF(0x03, 0x05, 0xFB, -1, 1, "A5 error", "Axis 5 regenerated overload warning" );
DEF(0x03, 0x05, 0xFC, -1, 1, "A5 error", "Axis 5 detecting power failure" );
DEF(0x03, 0x05, 0xFD, -1, 1, "A5 error", "Axis 5 main circuit is charging" );
DEF(0x03, 0x05, 0xFE, -1, 1, "A5 error", "Axis 5 battery insufficient" );
DEF(0x03, 0x05, 0xFF, 2, 4, "A5 error", "Axis 5 battery empty" );

// Axis 6 - function 0x06
DEF(0x03, 0x06, 0x21, 2, 3, "A6 error", "Axis 6 overcurrent" );
DEF(0x03, 0x06, 0x25, 1, 3, "A6 error", "Axis 6 STO" );
DEF(0x03, 0x06, 0x26, 2, 3, "A6 error", "Axis 6 safe torque off error" );
DEF(0x03, 0x06, 0x27, 2, 3, "A6 error", "Axis 6 single STO" );
DEF(0x03, 0x06, 0x30, 2, 3, "A6 error", "Axis 6 current control error" );
DEF(0x03, 0x06, 0x31, 2, 3, "A6 error", "Axis 6 hybrid deviation too big" );
DEF(0x03, 0x06, 0x32, 2, 3, "A6 error", "Axis 6 HFLT inconsistent error" );
DEF(0x03, 0x06, 0x33, 2, 3, "A6 error", "Axis 6 auto phase center not complete" );
DEF(0x03, 0x06, 0x34, 2, 3, "A6 error", "Axis 6 DC bus volt abnormal" );
DEF(0x03, 0x06, 0x35, 2, 3, "A6 error", "Axis 6 ECAT interface not detected" );
DEF(0x03, 0x06, 0x36, 2, 3, "A6 error", "Axis 6 CiA-402 homing error" );
DEF(0x03, 0x06, 0x37, 2, 3, "A6 error", "Axis 6 fan fault error" );
DEF(0x03, 0x06, 0x38, 2, 3, "A6 error", "Axis 6 absolute serial encoder error" );
DEF(0x03, 0x06, 0x41, 1, 3, "A6 error", "Axis 6 overload" );
DEF(0x03, 0x06, 0x43, 1, 3, "A6 error", "Axis 6 regenerative resistor overload" );
DEF(0x03, 0x06, 0x45, 1, 3, "A6 error", "Axis 6 overspeed" );
DEF(0x03, 0x06, 0x51, 1, 3, "A6 error", "Axis 6 amplifier thermal abnormality" );
DEF(0x03, 0x06, 0x52, 1, 3, "A6 error", "Axis 6 anti surge resistor overheat" );
DEF(0x03, 0x06, 0x53, 1, 3, "A6 error", "Axis 6 dynamic brake resistor overheat" );
DEF(0x03, 0x06, 0x58, 1, 3, "A6 error", "Axis 6 motor overheat" );
DEF(0x03, 0x06, 0x61, 1, 3, "A6 error", "Axis 6 overvoltage" );
DEF(0x03, 0x06, 0x62, 1, 3, "A6 error", "Axis 6 undervoltage" );
DEF(0x03, 0x06, 0x71, 1, 3, "A6 error", "Axis 6 control power source voltage shortage" );
DEF(0x03, 0x06, 0x72, 1, 3, "A6 error", "Axis 6 control circuit voltage shortage" );
DEF(0x03, 0x06, 0x81, 2, 3, "A6 error", "Axis 6 encoder disconnect" );
DEF(0x03, 0x06, 0x84, 2, 3, "A6 error", "Axis 6 encoder communcation abnormality" );
DEF(0x03, 0x06, 0x85, 2, 3, "A6 error", "Axis 6 encoder initial error(5V abnormality)" );
DEF(0x03, 0x06, 0x87, 2, 3, "A6 error", "Axis 6 encoder CS abnormality" );
DEF(0x03, 0x06, 0xA1, 2, 3, "A6 error", "Axis 6 encoder multiturn data error (battery abnormality)" );
DEF(0x03, 0x06, 0xA3, 2, 3, "A6 error", "Axis 6 encoder overspeed" );
DEF(0x03, 0x06, 0xA5, 2, 3, "A6 error", "Axis 6 encoder singleturn error" );
DEF(0x03, 0x06, 0xA6, 2, 3, "A6 error", "Axis 6 encoder multiturn error" );
DEF(0x03, 0x06, 0xA9, 2, 3, "A6 error", "Axis 6 encoder overheat" );
DEF(0x03, 0x06, 0xAB, 2, 3, "A6 error", "Axis 6 encoder error" );
DEF(0x03, 0x06, 0xC1, 0, 3, "A6 error", "Axis 6 speed overlimit" );
DEF(0x03, 0x06, 0xD1, 2, 3, "A6 error", "Axis 6 position error too big" );
DEF(0x03, 0x06, 0xE1, 2, 3, "A6 error", "Axis 6 EEPROM abnormality" );
DEF(0x03, 0x06, 0xE2, 2, 3, "A6 error", "Axis 6 EEPROM check is abnormality" );
DEF(0x03, 0x06, 0xEF, 2, 3, "A6 error", "Axis 6 not matching" );
DEF(0x03, 0x06, 0xF3, 1, 3, "A6 error", "Axis 6 amplifier error" );
DEF(0x03, 0x06, 0xF4, 1, 3, "A6 error", "Axis 6 soft thermal reach limit" );
DEF(0x03, 0x06, 0xF5, 2, 3, "A6 error", "Axis 6 motor disconnect" );
DEF(0x03, 0x06, 0xF6, 2, 3, "A6 error", "Axis 6 amplifier phase initial error" );
DEF(0x03, 0x06, 0xF7, 2, 3, "A6 error", "Axis 6 Hall sensor error" );
DEF(0x03, 0x06, 0xF8, 2, 3, "A6 error", "Axis 6 Hall phase error" );
DEF(0x03, 0x06, 0xF9, -1, 1, "A6 error", "Axis 6 overload warning" );
DEF(0x03, 0x06, 0xFA, -1, 1, "A6 error", "Axis 6 amplifier overheating warning" );
DEF(0x03, 0x06, 0xFB, -1, 1, "A6 error", "Axis 6 regenerated overload warning" );
DEF(0x03, 0x06, 0xFC, -1, 1, "A6 error", "Axis 6 detecting power failure" );
DEF(0x03, 0x06, 0xFD, -1, 1, "A6 error", "Axis 6 main circuit is charging" );
DEF(0x03, 0x06, 0xFE, -1, 1, "A6 error", "Axis 6 battery insufficient" );
DEF(0x03, 0x06, 0xFF, 2, 4, "A6 error", "Axis 6 battery empty" );

DEF(0x03, 0xE0, 0x01, 0, 3, "Ext axis number error", "Ext axis number error" );
// Axis E1 - function 0xE1
DEF(0x03, 0xE1, 0x01, 0, 3, "E1 is disable", "E1 is disable" );
DEF(0x03, 0xE1, 0x21, 2, 3, "E1 error", "Axis E1 overcurrent" );
DEF(0x03, 0xE1, 0x25, 1, 3, "E1 error", "Axis E1 STO" );
DEF(0x03, 0xE1, 0x26, 2, 3, "E1 error", "Axis E1 safe torque off error" );
DEF(0x03, 0xE1, 0x27, 2, 3, "E1 error", "Axis E1 single STO" );
DEF(0x03, 0xE1, 0x30, 2, 3, "E1 error", "Axis E1 current control error" );
DEF(0x03, 0xE1, 0x31, 2, 3, "E1 error", "Axis E1 hybrid deviation too big" );
DEF(0x03, 0xE1, 0x32, 2, 3, "E1 error", "Axis E1 HFLT inconsistent error" );
DEF(0x03, 0xE1, 0x33, 2, 3, "E1 error", "Axis E1 auto phase center not complete" );
DEF(0x03, 0xE1, 0x34, 2, 3, "E1 error", "Axis E1 DC bus volt abnormal" );
DEF(0x03, 0xE1, 0x35, 2, 3, "E1 error", "Axis E1 ECAT interface not detected" );
DEF(0x03, 0xE1, 0x36, 2, 3, "E1 error", "Axis E1 CiA-402 homing error" );
DEF(0x03, 0xE1, 0x37, 2, 3, "E1 error", "Axis E1 fan fault error" );
DEF(0x03, 0xE1, 0x38, 2, 3, "E1 error", "Axis E1 absolute serial encoder error" );
DEF(0x03, 0xE1, 0x41, 1, 3, "E1 error", "Axis E1 overload" );
DEF(0x03, 0xE1, 0x43, 1, 3, "E1 error", "Axis E1 regenerative resistor overload" );
DEF(0x03, 0xE1, 0x45, 1, 3, "E1 error", "Axis E1 overspeed" );
DEF(0x03, 0xE1, 0x51, 1, 3, "E1 error", "Axis E1 amplifier thermal abnormality" );
DEF(0x03, 0xE1, 0x52, 1, 3, "E1 error", "Axis E1 anti surge resistor overheat" );
DEF(0x03, 0xE1, 0x53, 1, 3, "E1 error", "Axis E1 dynamic brake resistor overheat" );
DEF(0x03, 0xE1, 0x58, 1, 3, "E1 error", "Axis E1 motor overheat" );
DEF(0x03, 0xE1, 0x61, 1, 3, "E1 error", "Axis E1 overvoltage" );
DEF(0x03, 0xE1, 0x62, 1, 3, "E1 error", "Axis E1 undervoltage" );
DEF(0x03, 0xE1, 0x71, 1, 3, "E1 error", "Axis E1 control power source voltage shortage" );
DEF(0x03, 0xE1, 0x72, 1, 3, "E1 error", "Axis E1 control circuit voltage shortage" );
DEF(0x03, 0xE1, 0x81, 2, 3, "E1 error", "Axis E1 encoder disconnect" );
DEF(0x03, 0xE1, 0x84, 2, 3, "E1 error", "Axis E1 encoder communcation abnormality" );
DEF(0x03, 0xE1, 0x85, 2, 3, "E1 error", "Axis E1 encoder initial error(5V abnormality)" );
DEF(0x03, 0xE1, 0x87, 2, 3, "E1 error", "Axis E1 encoder CS abnormality" );
DEF(0x03, 0xE1, 0xA1, 2, 3, "E1 error", "Axis E1 encoder multiturn data error (battery abnormality)" );
DEF(0x03, 0xE1, 0xA3, 2, 3, "E1 error", "Axis E1 encoder overspeed" );
DEF(0x03, 0xE1, 0xA5, 2, 3, "E1 error", "Axis E1 encoder singleturn error" );
DEF(0x03, 0xE1, 0xA6, 2, 3, "E1 error", "Axis E1 encoder multiturn error" );
DEF(0x03, 0xE1, 0xA9, 2, 3, "E1 error", "Axis E1 encoder overheat" );
DEF(0x03, 0xE1, 0xAB, 2, 3, "E1 error", "Axis E1 encoder error" );
DEF(0x03, 0xE1, 0xC1, 0, 3, "E1 error", "Axis E1 speed overlimit" );
DEF(0x03, 0xE1, 0xD1, 2, 3, "E1 error", "Axis E1 position error too big" );
DEF(0x03, 0xE1, 0xD2, 1, 4, "E1 error", "Axis E1 reach positive limit" );
DEF(0x03, 0xE1, 0xD3, 1, 4, "E1 error", "Axis E1 reach negative limit" );
DEF(0x03, 0xE1, 0xE1, 2, 3, "E1 error", "Axis E1 EEPROM abnormality" );
DEF(0x03, 0xE1, 0xE2, 2, 3, "E1 error", "Axis E1 EEPROM check is abnormality" );
DEF(0x03, 0xE1, 0xEF, 2, 3, "E1 error", "Axis E1 not matching" );
DEF(0x03, 0xE1, 0xF1, 1, 3, "E1 error", "Axis E1 position check error" );
DEF(0x03, 0xE1, 0xF2, 1, 3, "E1 error", "Axis E1 servo lag too big" );
DEF(0x03, 0xE1, 0xF3, 1, 3, "E1 error", "Axis E1 amplifier error" );
DEF(0x03, 0xE1, 0xF4, 1, 3, "E1 error", "Axis E1 soft thermal reach limit" );
DEF(0x03, 0xE1, 0xF5, 2, 3, "E1 error", "Axis E1 motor disconnect" );
DEF(0x03, 0xE1, 0xF6, 2, 3, "E1 error", "Axis E1 amplifier phase initial error" );
DEF(0x03, 0xE1, 0xF7, 2, 3, "E1 error", "Axis E1 Hall sensor error" );
DEF(0x03, 0xE1, 0xF8, 2, 3, "E1 error", "Axis E1 Hall phase error" );
DEF(0x03, 0xE1, 0xF9, -1, 1, "E1 error", "Axis E1 overload warning" );
DEF(0x03, 0xE1, 0xFA, -1, 1, "E1 error", "Axis E1 amplifier overheating warning" );
DEF(0x03, 0xE1, 0xFB, -1, 1, "E1 error", "Axis E1 regenerated overload warning" );
DEF(0x03, 0xE1, 0xFC, -1, 1, "E1 error", "Axis E1 detecting power failure" );
DEF(0x03, 0xE1, 0xFD, -1, 1, "E1 error", "Axis E1 main circuit is charging" );
DEF(0x03, 0xE1, 0xFE, -1, 1, "E1 error", "Axis E1 battery insufficient" );
DEF(0x03, 0xE1, 0xFF, 2, 4, "E1 error", "Axis E1 battery empty" );

// Axis E2 - function 0xE2
DEF(0x03, 0xE2, 0x01, 0, 3, "E2 is disable", "E2 is disable" );
DEF(0x03, 0xE2, 0x21, 2, 3, "E2 error", "Axis E2 overcurrent" );
DEF(0x03, 0xE2, 0x25, 1, 3, "E2 error", "Axis E2 STO" );
DEF(0x03, 0xE2, 0x26, 2, 3, "E2 error", "Axis E2 safe torque off error" );
DEF(0x03, 0xE2, 0x27, 2, 3, "E2 error", "Axis E2 single STO" );
DEF(0x03, 0xE2, 0x30, 2, 3, "E2 error", "Axis E2 current control error" );
DEF(0x03, 0xE2, 0x31, 2, 3, "E2 error", "Axis E2 hybrid deviation too big" );
DEF(0x03, 0xE2, 0x32, 2, 3, "E2 error", "Axis E2 HFLT inconsistent error" );
DEF(0x03, 0xE2, 0x33, 2, 3, "E2 error", "Axis E2 auto phase center not complete" );
DEF(0x03, 0xE2, 0x34, 2, 3, "E2 error", "Axis E2 DC bus volt abnormal" );
DEF(0x03, 0xE2, 0x35, 2, 3, "E2 error", "Axis E2 ECAT interface not detected" );
DEF(0x03, 0xE2, 0x36, 2, 3, "E2 error", "Axis E2 CiA-402 homing error" );
DEF(0x03, 0xE2, 0x37, 2, 3, "E2 error", "Axis E2 fan fault error" );
DEF(0x03, 0xE2, 0x38, 2, 3, "E2 error", "Axis E2 absolute serial encoder error" );
DEF(0x03, 0xE2, 0x41, 1, 3, "E2 error", "Axis E2 overload" );
DEF(0x03, 0xE2, 0x43, 1, 3, "E2 error", "Axis E2 regenerative resistor overload" );
DEF(0x03, 0xE2, 0x45, 1, 3, "E2 error", "Axis E2 overspeed" );
DEF(0x03, 0xE2, 0x51, 1, 3, "E2 error", "Axis E2 amplifier thermal abnormality" );
DEF(0x03, 0xE2, 0x52, 1, 3, "E2 error", "Axis E2 anti surge resistor overheat" );
DEF(0x03, 0xE2, 0x53, 1, 3, "E2 error", "Axis E2 dynamic brake resistor overheat" );
DEF(0x03, 0xE2, 0x58, 1, 3, "E2 error", "Axis E2 motor overheat" );
DEF(0x03, 0xE2, 0x61, 1, 3, "E2 error", "Axis E2 overvoltage" );
DEF(0x03, 0xE2, 0x62, 1, 3, "E2 error", "Axis E2 undervoltage" );
DEF(0x03, 0xE2, 0x71, 1, 3, "E2 error", "Axis E2 control power source voltage shortage" );
DEF(0x03, 0xE2, 0x72, 1, 3, "E2 error", "Axis E2 control circuit voltage shortage" );
DEF(0x03, 0xE2, 0x81, 2, 3, "E2 error", "Axis E2 encoder disconnect" );
DEF(0x03, 0xE2, 0x84, 2, 3, "E2 error", "Axis E2 encoder communcation abnormality" );
DEF(0x03, 0xE2, 0x85, 2, 3, "E2 error", "Axis E2 encoder initial error(5V abnormality)" );
DEF(0x03, 0xE2, 0x87, 2, 3, "E2 error", "Axis E2 encoder CS abnormality" );
DEF(0x03, 0xE2, 0xA1, 2, 3, "E2 error", "Axis E2 encoder multiturn data error (battery abnormality)" );
DEF(0x03, 0xE2, 0xA3, 2, 3, "E2 error", "Axis E2 encoder overspeed" );
DEF(0x03, 0xE2, 0xA5, 2, 3, "E2 error", "Axis E2 encoder singleturn error" );
DEF(0x03, 0xE2, 0xA6, 2, 3, "E2 error", "Axis E2 encoder multiturn error" );
DEF(0x03, 0xE2, 0xA9, 2, 3, "E2 error", "Axis E2 encoder overheat" );
DEF(0x03, 0xE2, 0xAB, 2, 3, "E2 error", "Axis E2 encoder error" );
DEF(0x03, 0xE2, 0xC1, 0, 3, "E2 error", "Axis E2 speed overlimit" );
DEF(0x03, 0xE2, 0xD1, 2, 3, "E2 error", "Axis E2 position error too big" );
DEF(0x03, 0xE2, 0xD2, 1, 4, "E2 error", "Axis E2 reach positive limit" );
DEF(0x03, 0xE2, 0xD3, 1, 4, "E2 error", "Axis E2 reach negative limit" );
DEF(0x03, 0xE2, 0xE1, 2, 3, "E2 error", "Axis E2 EEPROM abnormality" );
DEF(0x03, 0xE2, 0xE2, 2, 3, "E2 error", "Axis E2 EEPROM check is abnormality" );
DEF(0x03, 0xE2, 0xEF, 2, 3, "E2 error", "Axis E2 not matching" );
DEF(0x03, 0xE2, 0xF1, 1, 3, "E2 error", "Axis E2 position check error" );
DEF(0x03, 0xE2, 0xF2, 1, 3, "E2 error", "Axis E2 servo lag too big" );
DEF(0x03, 0xE2, 0xF3, 1, 3, "E2 error", "Axis E2 amplifier error" );
DEF(0x03, 0xE2, 0xF4, 1, 3, "E2 error", "Axis E2 soft thermal reach limit" );
DEF(0x03, 0xE2, 0xF5, 2, 3, "E2 error", "Axis E2 motor disconnect" );
DEF(0x03, 0xE2, 0xF6, 2, 3, "E2 error", "Axis E2 amplifier phase initial error" );
DEF(0x03, 0xE2, 0xF7, 2, 3, "E2 error", "Axis E2 Hall sensor error" );
DEF(0x03, 0xE2, 0xF8, 2, 3, "E2 error", "Axis E2 Hall phase error" );
DEF(0x03, 0xE2, 0xF9, -1, 1, "E2 error", "Axis E2 overload warning" );
DEF(0x03, 0xE2, 0xFA, -1, 1, "E2 error", "Axis E2 amplifier overheating warning" );
DEF(0x03, 0xE2, 0xFB, -1, 1, "E2 error", "Axis E2 regenerated overload warning" );
DEF(0x03, 0xE2, 0xFC, -1, 1, "E2 error", "Axis E2 detecting power failure" );
DEF(0x03, 0xE2, 0xFD, -1, 1, "E2 error", "Axis E2 main circuit is charging" );
DEF(0x03, 0xE2, 0xFE, -1, 1, "E2 error", "Axis E2 battery insufficient" );
DEF(0x03, 0xE2, 0xFF, 2, 4, "E2 error", "Axis E2 battery empty" );

// Axis E3 - function 0xE3
DEF(0x03, 0xE3, 0x01, 0, 3, "E3 is disable", "E3 is disable" );
DEF(0x03, 0xE3, 0x21, 2, 3, "E3 error", "Axis E3 overcurrent" );
DEF(0x03, 0xE3, 0x25, 1, 3, "E3 error", "Axis E3 STO" );
DEF(0x03, 0xE3, 0x26, 2, 3, "E3 error", "Axis E3 safe torque off error" );
DEF(0x03, 0xE3, 0x27, 2, 3, "E3 error", "Axis E3 single STO" );
DEF(0x03, 0xE3, 0x30, 2, 3, "E3 error", "Axis E3 current control error" );
DEF(0x03, 0xE3, 0x31, 2, 3, "E3 error", "Axis E3 hybrid deviation too big" );
DEF(0x03, 0xE3, 0x32, 2, 3, "E3 error", "Axis E3 HFLT inconsistent error" );
DEF(0x03, 0xE3, 0x33, 2, 3, "E3 error", "Axis E3 auto phase center not complete" );
DEF(0x03, 0xE3, 0x34, 2, 3, "E3 error", "Axis E3 DC bus volt abnormal" );
DEF(0x03, 0xE3, 0x35, 2, 3, "E3 error", "Axis E3 ECAT interface not detected" );
DEF(0x03, 0xE3, 0x36, 2, 3, "E3 error", "Axis E3 CiA-402 homing error" );
DEF(0x03, 0xE3, 0x37, 2, 3, "E3 error", "Axis E3 fan fault error" );
DEF(0x03, 0xE3, 0x38, 2, 3, "E3 error", "Axis E3 absolute serial encoder error" );
DEF(0x03, 0xE3, 0x41, 1, 3, "E3 error", "Axis E3 overload" );
DEF(0x03, 0xE3, 0x43, 1, 3, "E3 error", "Axis E3 regenerative resistor overload" );
DEF(0x03, 0xE3, 0x45, 1, 3, "E3 error", "Axis E3 overspeed" );
DEF(0x03, 0xE3, 0x51, 1, 3, "E3 error", "Axis E3 amplifier thermal abnormality" );
DEF(0x03, 0xE3, 0x52, 1, 3, "E3 error", "Axis E3 anti surge resistor overheat" );
DEF(0x03, 0xE3, 0x53, 1, 3, "E3 error", "Axis E3 dynamic brake resistor overheat" );
DEF(0x03, 0xE3, 0x58, 1, 3, "E3 error", "Axis E3 motor overheat" );
DEF(0x03, 0xE3, 0x61, 1, 3, "E3 error", "Axis E3 overvoltage" );
DEF(0x03, 0xE3, 0x62, 1, 3, "E3 error", "Axis E3 undervoltage" );
DEF(0x03, 0xE3, 0x71, 1, 3, "E3 error", "Axis E3 control power source voltage shortage" );
DEF(0x03, 0xE3, 0x72, 1, 3, "E3 error", "Axis E3 control circuit voltage shortage" );
DEF(0x03, 0xE3, 0x81, 2, 3, "E3 error", "Axis E3 encoder disconnect" );
DEF(0x03, 0xE3, 0x84, 2, 3, "E3 error", "Axis E3 encoder communcation abnormality" );
DEF(0x03, 0xE3, 0x85, 2, 3, "E3 error", "Axis E3 encoder initial error(5V abnormality)" );
DEF(0x03, 0xE3, 0x87, 2, 3, "E3 error", "Axis E3 encoder CS abnormality" );
DEF(0x03, 0xE3, 0xA1, 2, 3, "E3 error", "Axis E3 encoder multiturn data error (battery abnormality)" );
DEF(0x03, 0xE3, 0xA3, 2, 3, "E3 error", "Axis E3 encoder overspeed" );
DEF(0x03, 0xE3, 0xA5, 2, 3, "E3 error", "Axis E3 encoder singleturn error" );
DEF(0x03, 0xE3, 0xA6, 2, 3, "E3 error", "Axis E3 encoder multiturn error" );
DEF(0x03, 0xE3, 0xA9, 2, 3, "E3 error", "Axis E3 encoder overheat" );
DEF(0x03, 0xE3, 0xAB, 2, 3, "E3 error", "Axis E3 encoder error" );
DEF(0x03, 0xE3, 0xC1, 0, 3, "E3 error", "Axis E3 speed overlimit" );
DEF(0x03, 0xE3, 0xD1, 2, 3, "E3 error", "Axis E3 position error too big" );
DEF(0x03, 0xE3, 0xD2, 1, 4, "E3 error", "Axis E3 reach positive limit" );
DEF(0x03, 0xE3, 0xD3, 1, 4, "E3 error", "Axis E3 reach negative limit" );
DEF(0x03, 0xE3, 0xE1, 2, 3, "E3 error", "Axis E3 EEPROM abnormality" );
DEF(0x03, 0xE3, 0xE2, 2, 3, "E3 error", "Axis E3 EEPROM check is abnormality" );
DEF(0x03, 0xE3, 0xEF, 2, 3, "E3 error", "Axis E3 not matching" );
DEF(0x03, 0xE3, 0xF1, 1, 3, "E3 error", "Axis E3 position check error" );
DEF(0x03, 0xE3, 0xF2, 1, 3, "E3 error", "Axis E3 servo lag too big" );
DEF(0x03, 0xE3, 0xF3, 1, 3, "E3 error", "Axis E3 amplifier error" );
DEF(0x03, 0xE3, 0xF4, 1, 3, "E3 error", "Axis E3 soft thermal reach limit" );
DEF(0x03, 0xE3, 0xF5, 2, 3, "E3 error", "Axis E3 motor disconnect" );
DEF(0x03, 0xE3, 0xF6, 2, 3, "E3 error", "Axis E3 amplifier phase initial error" );
DEF(0x03, 0xE3, 0xF7, 2, 3, "E3 error", "Axis E3 Hall sensor error" );
DEF(0x03, 0xE3, 0xF8, 2, 3, "E3 error", "Axis E3 Hall phase error" );
DEF(0x03, 0xE3, 0xF9, -1, 1, "E3 error", "Axis E3 overload warning" );
DEF(0x03, 0xE3, 0xFA, -1, 1, "E3 error", "Axis E3 amplifier overheating warning" );
DEF(0x03, 0xE3, 0xFB, -1, 1, "E3 error", "Axis E3 regenerated overload warning" );
DEF(0x03, 0xE3, 0xFC, -1, 1, "E3 error", "Axis E3 detecting power failure" );
DEF(0x03, 0xE3, 0xFD, -1, 1, "E3 error", "Axis E3 main circuit is charging" );
DEF(0x03, 0xE3, 0xFE, -1, 1, "E3 error", "Axis E3 battery insufficient" );
DEF(0x03, 0xE3, 0xFF, 2, 4, "E3 error", "Axis E3 battery empty" );

/*
*  Electric Gripper - device 0x04
*/

// EG1 - function 0x01
DEF(0x04, 0x01, 0x11, 0, 3, "EG data error", "Electric gripper data return error" );
DEF(0x04, 0x01, 0x12, 0, 3, "EG comport over limit", "Electric gripper comport number over limit" );
DEF(0x04, 0x01, 0x13, 0, 3, "EG hardware disconnected", "Electric gripper hardware disconnected" );
DEF(0x04, 0x01, 0x14, 0, 3, "EG comport close", "Electric gripper comport close" );
DEF(0x04, 0x01, 0x15, 0, 3, "EG comport not available", "Electric gripper comport not available" );
DEF(0x04, 0x01, 0x16, 0, 3, "EG retry connect fail", "Electric gripper retry connect fail" );
DEF(0x04, 0x01, 0x17, 0, 3, "EG comport connect repeated", "Electric gripper comport connect repeated" );

DEF(0x04, 0x01, 0x20, 0, 3, "EG type error", "Electric gripper setting type error" );
DEF(0x04, 0x01, 0x21, 0, 3, "EG id error", "Electric gripper id error" );
DEF(0x04, 0x01, 0x22, 0, 3, "EG command repeated", "Electric gripper command repeated" );
DEF(0x04, 0x01, 0x23, 0, 3, "EG pos set error", "Electric gripper position setting over stroke" );
DEF(0x04, 0x01, 0x24, 0, 3, "EG pos set error", "Electric gripper position setting less than zero" );
DEF(0x04, 0x01, 0x25, 0, 3, "EG vel set error", "Electric gripper velocity setting over default range" );
DEF(0x04, 0x01, 0x26, 0, 3, "EG vel set error", "Electric gripper velocity setting less than default range" );
DEF(0x04, 0x01, 0x27, 0, 3, "EG pos direction set error", "Electric gripper position direction setting error" );
DEF(0x04, 0x01, 0x28, 0, 3, "EG disp set error", "Electric gripper displacement setting over stroke" );
DEF(0x04, 0x01, 0x29, 0, 3, "EG disp set error", "Electric gripper displacement setting less than stroke" );
DEF(0x04, 0x01, 0x2A, 0, 3, "EG vel set error", "Electric gripper  velocity setting over default range" );
DEF(0x04, 0x01, 0x2B, 0, 3, "EG vel set error", "Electric gripper velocity setting less than default range" );
DEF(0x04, 0x01, 0x2C, 0, 3, "EG force set error", "Electric gripper force setting over default range" );
DEF(0x04, 0x01, 0x2D, 0, 3, "EG force set error", "Electric gripper force setting less than default range" );
DEF(0x04, 0x01, 0x2E, 0, 3, "EG gripping failure", "Electric gripper gripping failure" );
DEF(0x04, 0x01, 0x2F, 0, 3, "EG relative stroke set error", "Electric gripper relative stroke over movable range" );
DEF(0x04, 0x01, 0x80, 0, 3, "EG relative stroke set error", "Electric gripper relative stroke less than movable range" );
DEF(0x04, 0x01, 0x81, 0, 3, "EG vel set error", "Electric gripper velocity setting less than gripping velocity" );

DEF(0x04, 0x01, 0x30, 0, 3, "EG reset error", "Electric gripper reset error" );
DEF(0x04, 0x01, 0x31, 0, 3, "EG position error", "Electric gripper position error" );
DEF(0x04, 0x01, 0x32, 0, 3, "EG over stroke", "Electric gripper over stroke" );
DEF(0x04, 0x01, 0x33, 0, 3, "EG HOME error", "Electric gripper back to HOME error" );

DEF(0x04, 0x01, 0x41, 0, 3, "EG connect timeout", "Electric gripper connect timeout" );
DEF(0x04, 0x01, 0x42, 0, 3, "EG get firmware version timeout", "Electric gripper get firmware version timeout" );
DEF(0x04, 0x01, 0x43, 0, 3, "EG stop motion timeout", "Electric gripper stop motion timeout" );
DEF(0x04, 0x01, 0x44, 0, 3, "EG reset motion timeout", "Electric gripper reset motion timeout" );
DEF(0x04, 0x01, 0x45, 0, 3, "EG run move timeout", "Electric gripper run move timeout" );
DEF(0x04, 0x01, 0x46, 0, 3, "EG run grip timeout", "Electric gripper run grip timeout" );
DEF(0x04, 0x01, 0x47, 0, 3, "EG run expert timeout", "Electric gripper run expert timeout" );
DEF(0x04, 0x01, 0x48, 0, 3, "EG work state timeout", "Electric gripper work state timeout" );

// EG2 - function 0x02
DEF(0x04, 0x02, 0x11, 0, 3, "EG2 data error", "Electric gripper 2 data return error" );
DEF(0x04, 0x02, 0x12, 0, 3, "EG2 comport over limit", "Electric gripper 2 comport number over limit" );
DEF(0x04, 0x02, 0x13, 0, 3, "EG2 hardware disconnected", "Electric gripper 2 hardware disconnected" );
DEF(0x04, 0x02, 0x14, 0, 3, "EG2 comport close", "Electric gripper 2 comport close" );
DEF(0x04, 0x02, 0x15, 0, 3, "EG2 comport not available", "Electric gripper 2 comport not available" );
DEF(0x04, 0x02, 0x16, 0, 3, "EG2 retry connect fail", "Electric gripper 2 retry connect fail" );
DEF(0x04, 0x02, 0x17, 0, 3, "EG2 comport connect repeated", "Electric gripper 2 comport connect repeated" );

DEF(0x04, 0x02, 0x20, 0, 3, "EG2 type error", "Electric gripper 2 setting type error" );
DEF(0x04, 0x02, 0x21, 0, 3, "EG2 id error", "Electric gripper 2 id error" );
DEF(0x04, 0x02, 0x22, 0, 3, "EG2 command repeated", "Electric gripper 2 command repeated" );
DEF(0x04, 0x02, 0x23, 0, 3, "EG2 pos set error", "Electric gripper 2 position setting over stroke" );
DEF(0x04, 0x02, 0x24, 0, 3, "EG2 pos set error", "Electric gripper 2 position setting less than zero" );
DEF(0x04, 0x02, 0x25, 0, 3, "EG2 vel set error", "Electric gripper 2 velocity setting over default range" );
DEF(0x04, 0x02, 0x26, 0, 3, "EG2 vel set error", "Electric gripper 2 velocity setting less than default range" );
DEF(0x04, 0x02, 0x27, 0, 3, "EG2 pos direction set error", "Electric gripper 2 position direction setting error" );
DEF(0x04, 0x02, 0x28, 0, 3, "EG2 disp set error", "Electric gripper 2 displacement setting over stroke" );
DEF(0x04, 0x02, 0x29, 0, 3, "EG2 disp set error", "Electric gripper 2 displacement setting less than stroke" );
DEF(0x04, 0x02, 0x2A, 0, 3, "EG2 vel set error", "Electric gripper  2 velocity setting over default range" );
DEF(0x04, 0x02, 0x2B, 0, 3, "EG2 vel set error", "Electric gripper 2 velocity setting less than default range" );
DEF(0x04, 0x02, 0x2C, 0, 3, "EG2 force set error", "Electric gripper 2 force setting over default range" );
DEF(0x04, 0x02, 0x2D, 0, 3, "EG2 force set error", "Electric gripper 2 force setting less than default range" );
DEF(0x04, 0x02, 0x2E, 0, 3, "EG2 gripping failure", "Electric gripper 2 gripping failure" );
DEF(0x04, 0x02, 0x2F, 0, 3, "EG2 relative stroke set error", "Electric gripper 2 relative stroke over movable range" );
DEF(0x04, 0x02, 0x80, 0, 3, "EG2 relative stroke set error", "Electric gripper 2 relative stroke less than movable range" );
DEF(0x04, 0x02, 0x81, 0, 3, "EG2 vel set error", "Electric gripper 2 velocity setting less than gripping velocity" );

DEF(0x04, 0x02, 0x30, 0, 3, "EG2 reset error", "Electric gripper 2 reset error" );
DEF(0x04, 0x02, 0x31, 0, 3, "EG2 position error", "Electric gripper 2 position error" );
DEF(0x04, 0x02, 0x32, 0, 3, "EG2 over stroke", "Electric gripper 2 over stroke" );
DEF(0x04, 0x02, 0x33, 0, 3, "EG2 HOME error", "Electric gripper 2 back to HOME error" );

DEF(0x04, 0x02, 0x41, 0, 3, "EG2 connect timeout", "Electric gripper 2 connect timeout" );
DEF(0x04, 0x02, 0x42, 0, 3, "EG2 get firmware version timeout", "Electric gripper 2 get firmware version timeout" );
DEF(0x04, 0x02, 0x43, 0, 3, "EG2 stop motion timeout", "Electric gripper 2 stop motion timeout" );
DEF(0x04, 0x02, 0x44, 0, 3, "EG2 reset motion timeout", "Electric gripper 2 reset motion timeout" );
DEF(0x04, 0x02, 0x45, 0, 3, "EG2 run move timeout", "Electric gripper 2 run move timeout" );
DEF(0x04, 0x02, 0x46, 0, 3, "EG2 run grip timeout", "Electric gripper 2 run grip timeout" );
DEF(0x04, 0x02, 0x47, 0, 3, "EG2 run expert timeout", "Electric gripper 2 run expert timeout" );
DEF(0x04, 0x02, 0x48, 0, 3, "EG2 work state timeout", "Electric gripper 2 work state timeout" );

// EG3 - function 0x03
DEF(0x04, 0x03, 0x11, 0, 3, "EG3 data error", "Electric gripper 3 data return error" );
DEF(0x04, 0x03, 0x12, 0, 3, "EG3 comport over limit", "Electric gripper 3 comport number over limit" );
DEF(0x04, 0x03, 0x13, 0, 3, "EG3 hardware disconnected", "Electric gripper 3 hardware disconnected" );
DEF(0x04, 0x03, 0x14, 0, 3, "EG3 comport close", "Electric gripper 3 comport close" );
DEF(0x04, 0x03, 0x15, 0, 3, "EG3 comport not available", "Electric gripper 3 comport not available" );
DEF(0x04, 0x03, 0x16, 0, 3, "EG3 retry connect fail", "Electric gripper 3 retry connect fail" );
DEF(0x04, 0x03, 0x17, 0, 3, "EG3 comport connect repeated", "Electric gripper 3 comport connect repeated" );

DEF(0x04, 0x03, 0x20, 0, 3, "EG3 type error", "Electric gripper 3 setting type error" );
DEF(0x04, 0x03, 0x21, 0, 3, "EG3 id error", "Electric gripper 3 id error" );
DEF(0x04, 0x03, 0x22, 0, 3, "EG3 command repeated", "Electric gripper 3 command repeated" );
DEF(0x04, 0x03, 0x23, 0, 3, "EG3 pos set error", "Electric gripper 3 position setting over stroke" );
DEF(0x04, 0x03, 0x24, 0, 3, "EG3 pos set error", "Electric gripper 3 position setting less than zero" );
DEF(0x04, 0x03, 0x25, 0, 3, "EG3 vel set error", "Electric gripper 3 velocity setting over default range" );
DEF(0x04, 0x03, 0x26, 0, 3, "EG3 vel set error", "Electric gripper 3 velocity setting less than default range" );
DEF(0x04, 0x03, 0x27, 0, 3, "EG3 pos direction set error", "Electric gripper 3 position direction setting error" );
DEF(0x04, 0x03, 0x28, 0, 3, "EG3 disp set error", "Electric gripper 3 displacement setting over stroke" );
DEF(0x04, 0x03, 0x29, 0, 3, "EG3 disp set error", "Electric gripper 3 displacement setting less than stroke" );
DEF(0x04, 0x03, 0x2A, 0, 3, "EG3 vel set error", "Electric gripper  3 velocity setting over default range" );
DEF(0x04, 0x03, 0x2B, 0, 3, "EG3 vel set error", "Electric gripper 3 velocity setting less than default range" );
DEF(0x04, 0x03, 0x2C, 0, 3, "EG3 force set error", "Electric gripper 3 force setting over default range" );
DEF(0x04, 0x03, 0x2D, 0, 3, "EG3 force set error", "Electric gripper 3 force setting less than default range" );
DEF(0x04, 0x03, 0x2E, 0, 3, "EG3 gripping failure", "Electric gripper 3 gripping failure" );
DEF(0x04, 0x03, 0x2F, 0, 3, "EG3 relative stroke set error", "Electric gripper 3 relative stroke over movable range" );
DEF(0x04, 0x03, 0x80, 0, 3, "EG3 relative stroke set error", "Electric gripper 3 relative stroke less than movable range" );
DEF(0x04, 0x03, 0x81, 0, 3, "EG3 vel set error", "Electric gripper 3 velocity setting less than gripping velocity" );

DEF(0x04, 0x03, 0x30, 0, 3, "EG3 reset error", "Electric gripper 3 reset error" );
DEF(0x04, 0x03, 0x31, 0, 3, "EG3 position error", "Electric gripper 3 position error" );
DEF(0x04, 0x03, 0x32, 0, 3, "EG3 over stroke", "Electric gripper 3 over stroke" );
DEF(0x04, 0x03, 0x33, 0, 3, "EG3 HOME error", "Electric gripper 3 back to HOME error" );

DEF(0x04, 0x03, 0x41, 0, 3, "EG3 connect timeout", "Electric gripper 3 connect timeout" );
DEF(0x04, 0x03, 0x42, 0, 3, "EG3 get firmware version timeout", "Electric gripper 3 get firmware version timeout" );
DEF(0x04, 0x03, 0x43, 0, 3, "EG3 stop motion timeout", "Electric gripper 3 stop motion timeout" );
DEF(0x04, 0x03, 0x44, 0, 3, "EG3 reset motion timeout", "Electric gripper 3 reset motion timeout" );
DEF(0x04, 0x03, 0x45, 0, 3, "EG3 run move timeout", "Electric gripper 3 run move timeout" );
DEF(0x04, 0x03, 0x46, 0, 3, "EG3 run grip timeout", "Electric gripper 3 run grip timeout" );
DEF(0x04, 0x03, 0x47, 0, 3, "EG3 run expert timeout", "Electric gripper 3 run expert timeout" );
DEF(0x04, 0x03, 0x48, 0, 3, "EG3 work state timeout", "Electric gripper 3 work state timeout" );

// EG4 - function 0x04
DEF(0x04, 0x04, 0x11, 0, 3, "EG4 data error", "Electric gripper 4 data return error" );
DEF(0x04, 0x04, 0x12, 0, 3, "EG4 comport over limit", "Electric gripper 4 comport number over limit" );
DEF(0x04, 0x04, 0x13, 0, 3, "EG4 hardware disconnected", "Electric gripper 4 hardware disconnected" );
DEF(0x04, 0x04, 0x14, 0, 3, "EG4 comport close", "Electric gripper 4 comport close" );
DEF(0x04, 0x04, 0x15, 0, 3, "EG4 comport not available", "Electric gripper 4 comport not available" );
DEF(0x04, 0x04, 0x16, 0, 3, "EG4 retry connect fail", "Electric gripper 4 retry connect fail" );
DEF(0x04, 0x04, 0x17, 0, 3, "EG4 comport connect repeated", "Electric gripper 4 comport connect repeated" );

DEF(0x04, 0x04, 0x20, 0, 3, "EG4 type error", "Electric gripper 4 setting type error" );
DEF(0x04, 0x04, 0x21, 0, 3, "EG4 id error", "Electric gripper 4 id error" );
DEF(0x04, 0x04, 0x22, 0, 3, "EG4 command repeated", "Electric gripper 4 command repeated" );
DEF(0x04, 0x04, 0x23, 0, 3, "EG4 pos set error", "Electric gripper 4 position setting over stroke" );
DEF(0x04, 0x04, 0x24, 0, 3, "EG4 pos set error", "Electric gripper 4 position setting less than zero" );
DEF(0x04, 0x04, 0x25, 0, 3, "EG4 vel set error", "Electric gripper 4 velocity setting over default range" );
DEF(0x04, 0x04, 0x26, 0, 3, "EG4 vel set error", "Electric gripper 4 velocity setting less than default range" );
DEF(0x04, 0x04, 0x27, 0, 3, "EG4 pos direction set error", "Electric gripper 4 position direction setting error" );
DEF(0x04, 0x04, 0x28, 0, 3, "EG4 disp set error", "Electric gripper 4 displacement setting over stroke" );
DEF(0x04, 0x04, 0x29, 0, 3, "EG4 disp set error", "Electric gripper 4 displacement setting less than stroke" );
DEF(0x04, 0x04, 0x2A, 0, 3, "EG4 vel set error", "Electric gripper  4 velocity setting over default range" );
DEF(0x04, 0x04, 0x2B, 0, 3, "EG4 vel set error", "Electric gripper 4 velocity setting less than default range" );
DEF(0x04, 0x04, 0x2C, 0, 3, "EG4 force set error", "Electric gripper 4 force setting over default range" );
DEF(0x04, 0x04, 0x2D, 0, 3, "EG4 force set error", "Electric gripper 4 force setting less than default range" );
DEF(0x04, 0x04, 0x2E, 0, 3, "EG4 gripping failure", "Electric gripper 4 gripping failure" );
DEF(0x04, 0x04, 0x2F, 0, 3, "EG4 relative stroke set error", "Electric gripper 4 relative stroke over movable range" );
DEF(0x04, 0x04, 0x80, 0, 3, "EG4 relative stroke set error", "Electric gripper 4 relative stroke less than movable range" );
DEF(0x04, 0x04, 0x81, 0, 3, "EG4 vel set error", "Electric gripper 4 velocity setting less than gripping velocity" );

DEF(0x04, 0x04, 0x30, 0, 3, "EG4 reset error", "Electric gripper 4 reset error" );
DEF(0x04, 0x04, 0x31, 0, 3, "EG4 position error", "Electric gripper 4 position error" );
DEF(0x04, 0x04, 0x32, 0, 3, "EG4 over stroke", "Electric gripper 4 over stroke" );
DEF(0x04, 0x04, 0x33, 0, 3, "EG4 HOME error", "Electric gripper 4 back to HOME error" );

DEF(0x04, 0x04, 0x41, 0, 3, "EG4 connect timeout", "Electric gripper 4 connect timeout" );
DEF(0x04, 0x04, 0x42, 0, 3, "EG4 get firmware version timeout", "Electric gripper 4 get firmware version timeout" );
DEF(0x04, 0x04, 0x43, 0, 3, "EG4 stop motion timeout", "Electric gripper 4 stop motion timeout" );
DEF(0x04, 0x04, 0x44, 0, 3, "EG4 reset motion timeout", "Electric gripper 4 reset motion timeout" );
DEF(0x04, 0x04, 0x45, 0, 3, "EG4 run move timeout", "Electric gripper 4 run move timeout" );
DEF(0x04, 0x04, 0x46, 0, 3, "EG4 run grip timeout", "Electric gripper 4 run grip timeout" );
DEF(0x04, 0x04, 0x47, 0, 3, "EG4 run expert timeout", "Electric gripper 4 run expert timeout" );
DEF(0x04, 0x04, 0x48, 0, 3, "EG4 work state timeout", "Electric gripper 4 work state timeout" );

// EG5 - function 0x05
DEF(0x04, 0x05, 0x11, 0, 3, "EG5 data error", "Electric gripper 5 data return error" );
DEF(0x04, 0x05, 0x12, 0, 3, "EG5 comport over limit", "Electric gripper 5 comport number over limit" );
DEF(0x04, 0x05, 0x13, 0, 3, "EG5 hardware disconnected", "Electric gripper 5 hardware disconnected" );
DEF(0x04, 0x05, 0x14, 0, 3, "EG5 comport close", "Electric gripper 5 comport close" );
DEF(0x04, 0x05, 0x15, 0, 3, "EG5 comport not available", "Electric gripper 5 comport not available" );
DEF(0x04, 0x05, 0x16, 0, 3, "EG5 retry connect fail", "Electric gripper 5 retry connect fail" );
DEF(0x04, 0x05, 0x17, 0, 3, "EG5 comport connect repeated", "Electric gripper 5 comport connect repeated" );

DEF(0x04, 0x05, 0x20, 0, 3, "EG5 type error", "Electric gripper 5 setting type error" );
DEF(0x04, 0x05, 0x21, 0, 3, "EG5 id error", "Electric gripper 5 id error" );
DEF(0x04, 0x05, 0x22, 0, 3, "EG5 command repeated", "Electric gripper 5 command repeated" );
DEF(0x04, 0x05, 0x23, 0, 3, "EG5 pos set error", "Electric gripper 5 position setting over stroke" );
DEF(0x04, 0x05, 0x24, 0, 3, "EG5 pos set error", "Electric gripper 5 position setting less than zero" );
DEF(0x04, 0x05, 0x25, 0, 3, "EG5 vel set error", "Electric gripper 5 velocity setting over default range" );
DEF(0x04, 0x05, 0x26, 0, 3, "EG5 vel set error", "Electric gripper 5 velocity setting less than default range" );
DEF(0x04, 0x05, 0x27, 0, 3, "EG5 pos direction set error", "Electric gripper 5 position direction setting error" );
DEF(0x04, 0x05, 0x28, 0, 3, "EG5 disp set error", "Electric gripper 5 displacement setting over stroke" );
DEF(0x04, 0x05, 0x29, 0, 3, "EG5 disp set error", "Electric gripper 5 displacement setting less than stroke" );
DEF(0x04, 0x05, 0x2A, 0, 3, "EG5 vel set error", "Electric gripper 5 velocity setting over default range" );
DEF(0x04, 0x05, 0x2B, 0, 3, "EG5 vel set error", "Electric gripper 5 velocity setting less than default range" );
DEF(0x04, 0x05, 0x2C, 0, 3, "EG5 force set error", "Electric gripper 5 force setting over default range" );
DEF(0x04, 0x05, 0x2D, 0, 3, "EG5 force set error", "Electric gripper 5 force setting less than default range" );
DEF(0x04, 0x05, 0x2E, 0, 3, "EG5 gripping failure", "Electric gripper 5 gripping failure" );
DEF(0x04, 0x05, 0x2F, 0, 3, "EG5 relative stroke set error", "Electric gripper 5 relative stroke over movable range" );
DEF(0x04, 0x05, 0x80, 0, 3, "EG5 relative stroke set error", "Electric gripper 5 relative stroke less than movable range" );
DEF(0x04, 0x05, 0x81, 0, 3, "EG5 vel set error", "Electric gripper 5 velocity setting less than gripping velocity" );

DEF(0x04, 0x05, 0x30, 0, 3, "EG5 reset error", "Electric gripper 5 reset error" );
DEF(0x04, 0x05, 0x31, 0, 3, "EG5 position error", "Electric gripper 5 position error" );
DEF(0x04, 0x05, 0x32, 0, 3, "EG5 over stroke", "Electric gripper 5 over stroke" );
DEF(0x04, 0x05, 0x33, 0, 3, "EG5 HOME error", "Electric gripper 5 back to HOME error" );

DEF(0x04, 0x05, 0x41, 0, 3, "EG5 connect timeout", "Electric gripper 5 connect timeout" );
DEF(0x04, 0x05, 0x42, 0, 3, "EG5 get firmware version timeout", "Electric gripper 5 get firmware version timeout" );
DEF(0x04, 0x05, 0x43, 0, 3, "EG5 stop motion timeout", "Electric gripper 5 stop motion timeout" );
DEF(0x04, 0x05, 0x44, 0, 3, "EG5 reset motion timeout", "Electric gripper 5 reset motion timeout" );
DEF(0x04, 0x05, 0x45, 0, 3, "EG5 run move timeout", "Electric gripper 5 run move timeout" );
DEF(0x04, 0x05, 0x46, 0, 3, "EG5 run grip timeout", "Electric gripper 5 run grip timeout" );
DEF(0x04, 0x05, 0x47, 0, 3, "EG5 run expert timeout", "Electric gripper 5 run expert timeout" );
DEF(0x04, 0x05, 0x48, 0, 3, "EG5 work state timeout", "Electric gripper 5 work state timeout" );

// SDK error - function 0x05
DEF(0x05, 0x01, 0x10, 0, 3, "SDK server abnormal disconnect", "SDK server abnormal disconnect" );

// if defined new alarm code, must be before "unknown error code".
DEF(0x99, 0x99, 0x99, 0, 3, "Unknown kernel error", "Unknown kernel error code");
DEF(0xFF, 0xFF, 0xFF, 0, 3, "Unknown error code", "Unknown error code");
