#ifndef TDH_DEFINE_H #define TDH_DEFINE_H #include #define ENTRY_HALF_REJECT 100 #define ENTRY_WHOLE_REJECT 200 #define EXIT_WELD_CUT 300 #define EXIT_LENGTH_CUT 400 #define REJECT_LENGTH 200 #define ENTRY_SIDE 0 #define EXIT_SIDE 1 #define TAKE_OUT_EX 2 #define EXTIDCHARLEN 14 #define EXTIDLENGTH 20 #define STATE_INCONSIST 1 #define MAX_NO_FUNC 30 #define MAX_NO_SEQ_STEPS 20 typedef struct FUNC_DESC { char ch_func[40]; short w_func_id; void* p_desc_alt; void* p_desc_sub; }FUNC_DESC; struct DESC { FUNC_DESC func_desc[MAX_NO_FUNC]; }; #define FUNC_NAME_END "End" #define FUNC_ID_END 9999 #define FUNC_ID_NEXT -1 /* no more substitution of function lists */ #define P_NO_MORE_DESC_SUB NULL /* no alternative function list */ #define P_NO_ALT_DESC NULL #define MTF_FUNC_NAME_SEND_PROD_MAT_INFO "Send product material info" #define MTF_FUNC_ID_SEND_PROD_MAT_INFO 12 #define MTF_FUNC_NAME_SET_NEXT_MAT "Set next material" #define MTF_FUNC_ID_SET_NEXT_MAT 13 #define MTF_FUNC_NAME_TAKE_OUT_MAT "Take out material" #define MTF_FUNC_ID_TAKE_OUT_MAT 20 #define MTF_FUNC_NAME_MAT_DIVISION_ENTRY "Material division entry side" #define MTF_FUNC_ID_MAT_DIVISION_ENTRY 21 #define MTF_FUNC_NAME_MAT_DIVISION_EXIT "Material division exit side" #define MTF_FUNC_ID_MAT_DIVISION_EXIT 22 #define MTF_FUNC_NAME_CREATE_NEW_MAT_UNIT "Create new material unit" #define MTF_FUNC_ID_CREATE_NEW_MAT_UNIT 24 #define MTF_FUNC_NAME_MAT_DIVISION_PHY_ENTRY "PHY-Material division entry side" #define MTF_FUNC_ID_MAT_DIVISION_PHY_ENTRY 25 #define MTF_FUNC_NAME_NEW_EXTID_UNIT "Create new extId - new mat. unit" #define MTF_FUNC_ID_NEW_EXTID_UNIT 30 #define MTF_FUNC_NAME_NEW_EXTID_ENTRY "Create new extId - entry division" #define MTF_FUNC_ID_NEW_EXTID_ENTRY 31 #define MTF_FUNC_NAME_NEW_EXTID_EXIT "Create new extId - exit division" #define MTF_FUNC_ID_NEW_EXTID_EXIT 32 #define MTF_FUNC_NAME_NEW_EXTID_BREAK "Create new extId - material break" #define MTF_FUNC_ID_NEW_EXTID_BREAK 33 #define CUS_MTF_FUNC_NAME_NEW_EXTID_UNIT "Create new extId - new material unit" #define CUS_MTF_FUNC_ID_NEW_EXTID_UNIT 60 #define CUS_MTF_FUNC_NAME_NEW_EXTID_ENTRY "Create new extId - entry division" #define CUS_MTF_FUNC_ID_NEW_EXTID_ENTRY 61 #define CUS_MTF_FUNC_NAME_NEW_EXTID_EXIT "Create new extId - exit division" #define CUS_MTF_FUNC_ID_NEW_EXTID_EXIT 62 #define MTF_FUNC_NAME_L3_MSG "Level3 message - material take out" #define MTF_FUNC_ID_L3_MSG 90 #define CUS_MTF_FUNC_NAME_L3_RENAME_COIL "Level3 message - Rename Coil" #define CUS_MTF_FUNC_ID_L3_MSG_RENAME_COIL 175 #define CUS_MTF_FUNC_NAME_L3_MSG_INLINE "Level3 message - material inline" #define CUS_MTF_FUNC_ID_L3_MSG_INLINE 152 #define CUS_MTF_FUNC_NAME_L3_MSG_TAKEOUT "Level3 message - Handle Takeout" #define CUS_MTF_FUNC_ID_L3_MSG_TAKEOUT 174 // function description list to handle error case of "new material unit" static DESC errorNewMaterialUnit = { // function name function ID pointer to alternative list pointer to fault reaction list MTF_FUNC_NAME_SEND_PROD_MAT_INFO, MTF_FUNC_ID_SEND_PROD_MAT_INFO, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB, FUNC_NAME_END, FUNC_ID_END, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB }; // function description list to handle error case of "material division entry side" static DESC errorMatPhyDivEntry = { // function name function ID pointer to alternative list pointer to fault reaction list MTF_FUNC_NAME_MAT_DIVISION_PHY_ENTRY, MTF_FUNC_ID_MAT_DIVISION_PHY_ENTRY, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB, FUNC_NAME_END, FUNC_ID_END, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB }; // function description list to handle error case of "material division entry side" static DESC errorMatDivEntry = { // function name function ID pointer to alternative list pointer to fault reaction list MTF_FUNC_NAME_MAT_DIVISION_ENTRY, MTF_FUNC_ID_MAT_DIVISION_ENTRY, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB, FUNC_NAME_END, FUNC_ID_END, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB }; // function description list to handle error case of "material division exit side" static DESC errorMatDivExit = { // function name function ID pointer to alternative list pointer to fault reaction list MTF_FUNC_NAME_MAT_DIVISION_EXIT, MTF_FUNC_ID_MAT_DIVISION_EXIT, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB, FUNC_NAME_END, FUNC_ID_END, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB }; // function description list for "take out material" ///////////////////////////////////////////////////////////////////////////////////// static DESC materialTakeOut = { // function name function ID pointer to alternative list pointer for fault reaction list MTF_FUNC_NAME_TAKE_OUT_MAT, MTF_FUNC_ID_TAKE_OUT_MAT, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB, CUS_MTF_FUNC_NAME_L3_RENAME_COIL, CUS_MTF_FUNC_ID_L3_MSG_RENAME_COIL, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB, CUS_MTF_FUNC_NAME_L3_MSG_TAKEOUT, CUS_MTF_FUNC_ID_L3_MSG_TAKEOUT, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB, FUNC_NAME_END, FUNC_ID_END, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB }; // function description list for "new material unit" ///////////////////////////////////////////////////////////////////////////////////// static DESC createNewMaterialUnit = { // function name function ID pointer to alternative list pointer for fault reaction list CUS_MTF_FUNC_NAME_NEW_EXTID_UNIT, CUS_MTF_FUNC_ID_NEW_EXTID_UNIT, P_NO_ALT_DESC, &errorNewMaterialUnit, MTF_FUNC_NAME_CREATE_NEW_MAT_UNIT, MTF_FUNC_ID_CREATE_NEW_MAT_UNIT, P_NO_ALT_DESC, &errorNewMaterialUnit, FUNC_NAME_END, FUNC_ID_END, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB }; // function description list for "material division entry side" ///////////////////////////////////////////////////////////////////////////////////// static DESC materialDivisionEntry = { // function name function ID pointer to alternative list pointer for fault reaction list MTF_FUNC_NAME_NEW_EXTID_ENTRY, MTF_FUNC_ID_NEW_EXTID_ENTRY , P_NO_ALT_DESC, &errorMatDivEntry, MTF_FUNC_NAME_MAT_DIVISION_ENTRY, MTF_FUNC_ID_MAT_DIVISION_ENTRY, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB, FUNC_NAME_END, FUNC_ID_END, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB }; // function description list for "physical material division entry side" ///////////////////////////////////////////////////////////////////////////////////// static DESC materialPhyDivisionEntry = { // function name function ID pointer to alternative list pointer for fault reaction list MTF_FUNC_NAME_NEW_EXTID_ENTRY, MTF_FUNC_ID_NEW_EXTID_ENTRY , P_NO_ALT_DESC, &errorMatPhyDivEntry, MTF_FUNC_NAME_MAT_DIVISION_PHY_ENTRY, MTF_FUNC_ID_MAT_DIVISION_PHY_ENTRY, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB, FUNC_NAME_END, FUNC_ID_END, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB }; // function description list for "material division exit side" ///////////////////////////////////////////////////////////////////////////////////// static DESC materialDivisionExit = { // function name function ID pointer to alternative list pointer for fault reaction list MTF_FUNC_NAME_NEW_EXTID_EXIT, MTF_FUNC_ID_NEW_EXTID_EXIT, P_NO_ALT_DESC, &errorMatDivExit, MTF_FUNC_NAME_MAT_DIVISION_EXIT, MTF_FUNC_ID_MAT_DIVISION_EXIT, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB, FUNC_NAME_END, FUNC_ID_END, P_NO_ALT_DESC, P_NO_MORE_DESC_SUB }; #endif