From 829fe6c6bc33d53fda9c31fd45a37e1df87befff Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期五, 30 一月 2026 11:16:24 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang

---
 SourceCode/Bond/Servo/Common.h |  328 +++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 259 insertions(+), 69 deletions(-)

diff --git a/SourceCode/Bond/Servo/Common.h b/SourceCode/Bond/Servo/Common.h
index 5cf76f2..41b56e7 100644
--- a/SourceCode/Bond/Servo/Common.h
+++ b/SourceCode/Bond/Servo/Common.h
@@ -1,6 +1,8 @@
 #pragma once
 
 
+#define TESTMODE						1
+
 /* Rx Code */
 #define RX_CODE_TEST					0
 #define RX_CODE_LOG						1000
@@ -14,7 +16,15 @@
 #define RX_CODE_ALARM_SET				1008
 #define RX_CODE_ALARM_CLEAR				1009
 #define RX_CODE_EQ_DATA_CHANGED			1010
+#define RX_CODE_MASTER_STATE_CHANGED	1011
+#define RX_CODE_EQ_ROBOT_TASK			1012
+#define RX_CODE_LOADPORT_STATUS_CHANGED	1014
+#define RX_CODE_CONTROL_STATE_CHANGED	1015
+#define RX_CODE_CONTROLJOB_CHANGED		1016
 
+/* 软件侧 ALID */
+#define ALID_SOFTWARE_PAUSE_EVENT		9000
+#define ALID_SOFTWARE_TEST_ALARM		9099
 
 /* Channel Name */
 #define MC_CHANNEL1_NAME		"McChannel1"
@@ -24,15 +34,26 @@
 #define APPDLG_BACKGROUND_COLOR				RGB(255, 255, 255)
 #define LOGDLG_BACKGROUND_COLOR				RGB(255, 255, 255)
 #define PANEL_MASTER_BACKGROUND_COLOR		RGB(255, 255, 255)
+#define PANEL_PRODUCTION_BACKGROUND_COLOR	RGB(255, 255, 255)
 #define PANEL_ATTRIBUTES_BACKGROUND_COLOR	RGB(255, 255, 255)
 #define PANEL_EQUIPMENT_BACKGROUND_COLOR	RGB(255, 255, 255)
 #define PAGE_GRPAH1_BACKGROUND_COLOR		RGB(255, 255, 255)
 #define PAGE_GRPAH2_BACKGROUND_COLOR		RGB(255, 255, 255)
 #define EQ_BOX_OFFLINE						RGB(222, 222, 222)
 #define EQ_BOX_ONLINE						RGB(0, 176, 80)
+#define EQ_BOX_OCCUPIED                     RGB(255, 127, 39)
 #define EQ_BOX_FRAME1						RGB(22, 22, 22)
 #define EQ_BOX_FRAME2						RGB(255, 127, 39)
-
+#define CR_MSGBOX_BKGND						RGB(7, 71, 166)
+#define CR_MSGBOX_TITLE						RGB(200, 216, 246)
+#define CR_MSGBOX_MESSAGE					RGB(200, 216, 246)
+#define TOP_TOOLBAR_BACKGROUND				RGB(240, 240, 240)	
+#define STATUSBAR_BK_NORMAL					RGB(195, 195, 195)
+#define STATUSBAR_BK_STARTING				RGB(58, 127, 78)
+#define STATUSBAR_BK_RUNNING				RGB(34, 177, 76)
+#define STATUSBAR_BK_ALARM					RGB(255, 127, 39)
+#define CIM_STATUS_BK_SELECTED				STATUSBAR_BK_RUNNING
+#define CIM_STATUS_BK_DISCONNECTED			STATUSBAR_BK_NORMAL
 
 /* LOG BTN */
 #define BTN_LOG_FRAME_NORMAL			RGB(88, 88, 88)
@@ -51,22 +72,66 @@
 #define BTN_ALARM_BKGND_PRESS			RGB(133, 203, 225)
 
 /* Equipment ID */
-#define EQ_ID_EFEM				1
-#define EQ_ID_Bonder1			2
-#define EQ_ID_Bonder2			3
-#define EQ_ID_LOADPORT1			4
-#define EQ_ID_LOADPORT2			5
-#define EQ_ID_LOADPORT3			6
-#define EQ_ID_LOADPORT4			7
+#define EQ_ID_LOADPORT1			1
+#define EQ_ID_LOADPORT2			2
+#define EQ_ID_LOADPORT3			3
+#define EQ_ID_LOADPORT4			4
+#define EQ_ID_ARM_TRAY1			5
+#define EQ_ID_ARM_TRAY2			6
+#define EQ_ID_ALIGNER			7
 #define EQ_ID_FLIPER			8
 #define EQ_ID_VACUUMBAKE		9
-#define EQ_ID_ALIGNER			10
-#define EQ_ID_BAKE_COOLING		11
-#define EQ_ID_ARM				12
-#define EQ_ID_ARM_TRAY1			13
-#define EQ_ID_ARM_TRAY2			14
-#define EQ_ID_OPERATOR_REMOVE	999
+#define EQ_ID_Bonder1			10
+#define EQ_ID_Bonder2			11
+#define EQ_ID_BAKE_COOLING		12
+#define EQ_ID_MEASUREMENT		13
+#define EQ_ID_EFEM				100
+#define EQ_ID_ARM				101
+#define EQ_ID_OPERATOR_REMOVE	102
 
+/* Equipment Name */
+#define EQ_NAME_LOADPORT1			"LoadPort1"
+#define EQ_NAME_LOADPORT2			"LoadPort2"
+#define EQ_NAME_LOADPORT3			"LoadPort3"
+#define EQ_NAME_LOADPORT4			"LoadPort4"
+#define EQ_NAME_ARM_TRAY1			"ArmTray1"
+#define EQ_NAME_ARM_TRAY2			"ArmTray2"
+#define EQ_NAME_ALIGNER				"Aligner"
+#define EQ_NAME_FLIPER				"Fliper"
+#define EQ_NAME_VACUUMBAKE			"VacuumBake"
+#define EQ_NAME_BONDER1				"Bonder1"
+#define EQ_NAME_BONDER2				"Bonder2"
+#define EQ_NAME_BAKE_COOLING		"BakeCooling"
+#define EQ_NAME_MEASUREMENT			"Measurement"
+#define EQ_NAME_EFEM				"EFEM"
+#define EQ_NAME_ARM					"Arm"
+#define EQ_NAME_OPERATOR_REMOVE		"OperatorRemove"
+
+// 设备元信息结构体
+struct DeviceMetaInfo {
+	int nDeviceID;
+	const char* strDeviceName;  // 指针,仅指向常量字符串
+};
+
+// 全局设备元信息列表
+static const DeviceMetaInfo g_allDeviceMetaInfos[] = {
+	{EQ_ID_LOADPORT1, EQ_NAME_LOADPORT1},
+	{EQ_ID_LOADPORT2, EQ_NAME_LOADPORT2},
+	{EQ_ID_LOADPORT3, EQ_NAME_LOADPORT3},
+	{EQ_ID_LOADPORT4, EQ_NAME_LOADPORT4},
+	{EQ_ID_ARM_TRAY1, EQ_NAME_ARM_TRAY1},
+	{EQ_ID_ARM_TRAY2, EQ_NAME_ARM_TRAY2},
+	{EQ_ID_ALIGNER,   EQ_NAME_ALIGNER},
+	{EQ_ID_FLIPER,    EQ_NAME_FLIPER},
+	{EQ_ID_VACUUMBAKE, EQ_NAME_VACUUMBAKE},
+	{EQ_ID_Bonder1, EQ_NAME_BONDER1},
+	{EQ_ID_Bonder2, EQ_NAME_BONDER2},
+	{EQ_ID_BAKE_COOLING, EQ_NAME_BAKE_COOLING},
+	{EQ_ID_MEASUREMENT, EQ_NAME_MEASUREMENT},
+	{EQ_ID_EFEM, EQ_NAME_EFEM},
+	{EQ_ID_ARM, EQ_NAME_ARM},
+	{EQ_ID_OPERATOR_REMOVE, EQ_NAME_OPERATOR_REMOVE},
+};
 
 /* step name */
 #define STEP_MODE						_T("EQMode")
@@ -108,39 +173,55 @@
 #define STEP_EQ_PORT4_TRANSFER_MODE		_T("EQPort4TransferMode")
 #define STEP_EQ_PORT4_ENABLE			_T("EQPort4Enable")
 #define STEP_EQ_PORT4_TYPE_ATUO			_T("EQPort4TypeAuto")
-#define STEP_EQ_P1_CASSETTE_EMPTY		_T("EQPort1CassetteEmpty")
-#define STEP_EQ_P1_CASSETTE_LOAD_EADY	_T("EQPort1CassetteLoadReady")
-#define STEP_EQ_P1_CASSETTE_LOADED		_T("EQPort1CassetteLoaded")
-#define STEP_EQ_P1_CASSETTE_INUSE		_T("EQPort1CassetteInUse")
-#define STEP_EQ_P1_CASSETTE_UNLOAD_EADY	_T("EQPort1CassetteUnloadReady")
-#define STEP_EQ_P1_CASSETTE_BLOCKED		_T("EQPort1CassetteBlocked")
-#define STEP_EQ_P2_CASSETTE_EMPTY		_T("EQPort2CassetteEmpty")
-#define STEP_EQ_P2_CASSETTE_LOAD_EADY	_T("EQPort2CassetteLoadReady")
-#define STEP_EQ_P2_CASSETTE_LOADED		_T("EQPort2CassetteLoaded")
-#define STEP_EQ_P2_CASSETTE_INUSE		_T("EQPort2CassetteInUse")
-#define STEP_EQ_P2_CASSETTE_UNLOAD_EADY	_T("EQPort2CassetteUnloadReady")
-#define STEP_EQ_P2_CASSETTE_BLOCKED		_T("EQPort2CassetteBlocked")
-#define STEP_EQ_P3_CASSETTE_EMPTY		_T("EQPort3CassetteEmpty")
-#define STEP_EQ_P3_CASSETTE_LOAD_EADY	_T("EQPort3CassetteLoadReady")
-#define STEP_EQ_P3_CASSETTE_LOADED		_T("EQPort3CassetteLoaded")
-#define STEP_EQ_P3_CASSETTE_INUSE		_T("EQPort3CassetteInUse")
-#define STEP_EQ_P3_CASSETTE_UNLOAD_EADY	_T("EQPort3CassetteUnloadReady")
-#define STEP_EQ_P3_CASSETTE_BLOCKED		_T("EQPort3CassetteBlocked")
-#define STEP_EQ_P4_CASSETTE_EMPTY		_T("EQPort4CassetteEmpty")
-#define STEP_EQ_P4_CASSETTE_LOAD_EADY	_T("EQPort4CassetteLoadReady")
-#define STEP_EQ_P4_CASSETTE_LOADED		_T("EQPort4CassetteLoaded")
-#define STEP_EQ_P4_CASSETTE_INUSE		_T("EQPort4CassetteInUse")
-#define STEP_EQ_P4_CASSETTE_UNLOAD_EADY	_T("EQPort4CassetteUnloadReady")
-#define STEP_EQ_P4_CASSETTE_BLOCKED		_T("EQPort4CassetteBlocked")
+#define STEP_EQ_PORT1_EMPTY				_T("EQPort1Empty")
+#define STEP_EQ_PORT1_LOAD_EADY			_T("EQPort1LoadReady")
+#define STEP_EQ_PORT1_LOADED			_T("EQPort1Loaded")
+#define STEP_EQ_PORT1_INUSE				_T("EQPort1InUse")
+#define STEP_EQ_PORT1_UNLOAD_EADY		_T("EQPort1UnloadReady")
+#define STEP_EQ_PORT1_BLOCKED			_T("EQPort1Blocked")
+#define STEP_EQ_PORT2_EMPTY				_T("EQPort2Empty")
+#define STEP_EQ_PORT2_LOAD_EADY			_T("EQPort2LoadReady")
+#define STEP_EQ_PORT2_LOADED			_T("EQPort2Loaded")
+#define STEP_EQ_PORT2_INUSE				_T("EQPort2InUse")
+#define STEP_EQ_PORT2_UNLOAD_EADY		_T("EQPort2UnloadReady")
+#define STEP_EQ_PORT2_BLOCKED			_T("EQPort2Blocked")
+#define STEP_EQ_PORT3_EMPTY				_T("EQPort3Empty")
+#define STEP_EQ_PORT3_LOAD_EADY			_T("EQPort3LoadReady")
+#define STEP_EQ_PORT3_LOADED			_T("EQPort3Loaded")
+#define STEP_EQ_PORT3_INUSE				_T("EQPort3InUse")
+#define STEP_EQ_PORT3_UNLOAD_EADY		_T("EQPort3UnloadReady")
+#define STEP_EQ_PORT3_BLOCKED			_T("EQPort3Blocked")
+#define STEP_EQ_PORT4_EMPTY				_T("EQPort4Empty")
+#define STEP_EQ_PORT4_LOAD_EADY			_T("EQPort4LoadReady")
+#define STEP_EQ_PORT4_LOADED			_T("EQPort4Loaded")
+#define STEP_EQ_PORT4_INUSE				_T("EQPort4InUse")
+#define STEP_EQ_PORT4_UNLOAD_EADY		_T("EQPort4UnloadReady")
+#define STEP_EQ_PORT4_BLOCKED			_T("EQPort4Blocked")
 #define STEP_EQ_P1_CASSETTE_CTRL_CMD	_T("EQPort1CassetteCtrlCmd")
 #define STEP_EQ_P2_CASSETTE_CTRL_CMD	_T("EQPort2CassetteCtrlCmd")
 #define STEP_EQ_P3_CASSETTE_CTRL_CMD	_T("EQPort3CassetteCtrlCmd")
 #define STEP_EQ_P4_CASSETTE_CTRL_CMD	_T("EQPort4CassetteCtrlCmd")
 #define STEP_EQ_CIM_MESSAGE_CONFIRM		_T("EQCimMessageConfirm")
+#define STEP_EQ_RECEIVED_JOB_UPSn		_T("EQJEReceivedJobUps")
 #define STEP_EQ_RECEIVED_JOB_UPS1		_T("EQJEReceivedJobUps1")
 #define STEP_EQ_RECEIVED_JOB_UPS2		_T("EQJEReceivedJobUps2")
+#define STEP_EQ_RECEIVED_JOB_UPS3		_T("EQJEReceivedJobUps3")
+#define STEP_EQ_RECEIVED_JOB_UPS4		_T("EQJEReceivedJobUps4")
+#define STEP_EQ_RECEIVED_JOB_UPS5		_T("EQJEReceivedJobUps5")
+#define STEP_EQ_RECEIVED_JOB_UPS6		_T("EQJEReceivedJobUps6")
+#define STEP_EQ_RECEIVED_JOB_UPS7		_T("EQJEReceivedJobUps7")
+#define STEP_EQ_RECEIVED_JOB_UPS8		_T("EQJEReceivedJobUps8")
+#define STEP_EQ_RECEIVED_JOB_UPS9		_T("EQJEReceivedJobUps9")
+#define STEP_EQ_SENT_OUT_JOB_DOWNSn		_T("EQJESentOutJobDowns")
 #define STEP_EQ_SENT_OUT_JOB_DOWNS1		_T("EQJESentOutJobDowns1")
 #define STEP_EQ_SENT_OUT_JOB_DOWNS2		_T("EQJESentOutJobDowns2")
+#define STEP_EQ_SENT_OUT_JOB_DOWNS3		_T("EQJESentOutJobDowns3")
+#define STEP_EQ_SENT_OUT_JOB_DOWNS4		_T("EQJESentOutJobDowns4")
+#define STEP_EQ_SENT_OUT_JOB_DOWNS5		_T("EQJESentOutJobDowns5")
+#define STEP_EQ_SENT_OUT_JOB_DOWNS6		_T("EQJESentOutJobDowns6")
+#define STEP_EQ_SENT_OUT_JOB_DOWNS7		_T("EQJESentOutJobDowns7")
+#define STEP_EQ_SENT_OUT_JOB_DOWNS8		_T("EQJESentOutJobDowns8")
+#define STEP_EQ_SENT_OUT_JOB_DOWNS9		_T("EQJESentOutJobDowns9")
 #define STEP_EQ_VCR1_EVENT_REPORT		_T("EQVcr1EventReport")
 #define STEP_EQ_RURRENT_RECIPE_CHANGE	_T("EQCurrentRecipeChange")
 #define STEP_EQ_MASTER_RECIPE_LIST_REQ	_T("EQMasterRecipeListReq")
@@ -189,8 +270,38 @@
 #define STEP_EQ_STORED_JOB13			_T("EQStoredJobReport13")
 #define STEP_EQ_STORED_JOB14			_T("EQStoredJobReport14")
 #define STEP_EQ_STORED_JOB15			_T("EQStoredJobReport15")
-
-
+#define STEP_EQ_DISPATCHINT_MODE_CHANGE	_T("EQDispatchingModeChangeCommand")
+#define STEP_EFEM_ROBOT_CMD				_T("EFEMRobotCmd")
+#define STEP_EQ_IN_OP_MODE_CHANGE		_T("EQIndexerOperationModeChangeCommand")
+#define STEP_PORT1_TYPE_CHANGE			_T("Port1TypeChange")
+#define STEP_PORT2_TYPE_CHANGE			_T("Port2TypeChange")
+#define STEP_PORT3_TYPE_CHANGE			_T("Port3TypeChange")
+#define STEP_PORT4_TYPE_CHANGE			_T("Port4TypeChange")
+#define STEP_PORT1_MODE_CHANGE			_T("Port1ModeChange")
+#define STEP_PORT2_MODE_CHANGE			_T("Port2ModeChange")
+#define STEP_PORT3_MODE_CHANGE			_T("Port3ModeChange")
+#define STEP_PORT4_MODE_CHANGE			_T("Port4ModeChange")
+#define STEP_PORT1_TRANSFER_MODE_CHANGE	_T("Port1TransferModeChange")
+#define STEP_PORT2_TRANSFER_MODE_CHANGE	_T("Port2TransferModeChange")
+#define STEP_PORT3_TRANSFER_MODE_CHANGE	_T("Port3TransferModeChange")
+#define STEP_PORT4_TRANSFER_MODE_CHANGE	_T("Port4TransferModeChange")
+#define STEP_PORT1_ENABLE_MODE_CHANGE	_T("Port1EnableModeChange")
+#define STEP_PORT2_ENABLE_MODE_CHANGE	_T("Port2EnableModeChange")
+#define STEP_PORT3_ENABLE_MODE_CHANGE	_T("Port3EnableModeChange")
+#define STEP_PORT4_ENABLE_MODE_CHANGE	_T("Port4EnableModeChange")
+#define STEP_PORT1_TYPE_AUTO_CHANGE		_T("Port1TypeAutoChange")
+#define STEP_PORT2_TYPE_AUTO_CHANGE		_T("Port2TypeAutoChange")
+#define STEP_PORT3_TYPE_AUTO_CHANGE		_T("Port3TypeAutoChange")
+#define STEP_PORT4_TYPE_AUTO_CHANGE		_T("Port4TypeAutoChange")
+#define STEP_PORT1_CASSETTE_TYPE_CHANGE	_T("Port1CassetteTypeChange")
+#define STEP_PORT2_CASSETTE_TYPE_CHANGE	_T("Port2CassetteTypeChange")
+#define STEP_PORT3_CASSETTE_TYPE_CHANGE	_T("Port3CassetteTypeChange")
+#define STEP_PORT4_CASSETTE_TYPE_CHANGE	_T("Port4CassetteTypeChange")
+#define STEP_EQ_PANEL_DATA_REPORT		_T("EQPanelDataReport")
+#define STEP_EQ_FAC_DATA_REPORT			_T("EQFacDataReport")
+#define STEP_EFEM_PANEL_DATA_REQUEST	_T("EFEMPanelDataRequest")
+#define STEP_EQ_JOB_PROCESS_START_REPORT	_T("EQJobProcessStartReport")
+#define STEP_EQ_JOB_PROCESS_END_REPORT		_T("EQJobProcessEndReport")
 
 /* Step ID */
 #define STEP_ID_CIMMODE_CHANGED_CMD_REPLY		0x550
@@ -214,10 +325,25 @@
 #define STEP_ID_VCR1_EVENT_REPORT				0x56A
 #define STEP_ID_MASTER_RECIPE_LIST_REPORT		0x56B
 #define STEP_ID_RECIPE_PARAMETER_REPORT			0x56C
+#define STEP_ID_FAC_DATA_REPORT					0x56D
 #define STEP_ID_RECIVE_JOB_UPS1					0x580
 #define STEP_ID_RECIVE_JOB_UPS2					0x581
+#define STEP_ID_RECIVE_JOB_UPS3					0x582
+#define STEP_ID_RECIVE_JOB_UPS4					0x583
+#define STEP_ID_RECIVE_JOB_UPS5					0x584
+#define STEP_ID_RECIVE_JOB_UPS6					0x585
+#define STEP_ID_RECIVE_JOB_UPS7					0x586
+#define STEP_ID_RECIVE_JOB_UPS8					0x587
+#define STEP_ID_RECIVE_JOB_UPS9					0x588
 #define STEP_ID_SENT_OUT_JOB_DOWNS1				0x590
 #define STEP_ID_SENT_OUT_JOB_DOWNS2				0x591
+#define STEP_ID_SENT_OUT_JOB_DOWNS3				0x592
+#define STEP_ID_SENT_OUT_JOB_DOWNS4				0x593
+#define STEP_ID_SENT_OUT_JOB_DOWNS5				0x594
+#define STEP_ID_SENT_OUT_JOB_DOWNS6				0x595
+#define STEP_ID_SENT_OUT_JOB_DOWNS7				0x596
+#define STEP_ID_SENT_OUT_JOB_DOWNS8				0x597
+#define STEP_ID_SENT_OUT_JOB_DOWNS9				0x598
 #define STEP_ID_STORE_JOB_REPORT1				0x5A0
 #define STEP_ID_STORE_JOB_REPORT2				0x5A1
 #define STEP_ID_STORE_JOB_REPORT3				0x5A2
@@ -248,6 +374,13 @@
 #define STEP_ID_FETCHED_OUT_JOB_REPORT13		0x5BB
 #define STEP_ID_FETCHED_OUT_JOB_REPORT14		0x5BC
 #define STEP_ID_FETCHED_OUT_JOB_REPORT15		0x5BD
+#define STEP_ID_JOB_PROCESS_START_REPORT		0x5BF
+#define STEP_ID_JOB_PROCESS_END_REPORT			0x5C0
+#define STEP_ID_JOB_DATA_REQUEST				0x5C1
+#define STEP_ID_PANEL_DATA_REQUEST				0x5D0
+#define STEP_ID_PANEL_DATA_REPORT				0x5D1
+#define STEP_ID_IN_OP_CMD_REPLY					0x5F0
+#define STEP_ID_DISPATCHING_MODE_CHANGE_REPLY	0x5F1
 #define STEP_ID_PORT1_TYPE_CHANGE				0x600
 #define STEP_ID_PORT2_TYPE_CHANGE				0x601
 #define STEP_ID_PORT3_TYPE_CHANGE				0x602
@@ -272,30 +405,60 @@
 #define STEP_ID_PORT2_TYPE_AUTO_CHANGE			0x629
 #define STEP_ID_PORT3_TYPE_AUTO_CHANGE			0x62A
 #define STEP_ID_PORT4_TYPE_AUTO_CHANGE			0x62B
-#define STEP_ID_PORT1_CASSETTIE_EMPTY			0x638
-#define STEP_ID_PORT1_CASSETTIE_LOAD_READY		0x640
-#define STEP_ID_PORT1_CASSETTIE_LOADED			0x648
-#define STEP_ID_PORT1_CASSETTIE_INUSE			0x650
-#define STEP_ID_PORT1_CASSETTIE_UNLOAD_READY	0x658
-#define STEP_ID_PORT1_CASSETTIE_BLOCKED			0x660
-#define STEP_ID_PORT2_CASSETTIE_EMPTY			0x639
-#define STEP_ID_PORT2_CASSETTIE_LOAD_READY		0x641
-#define STEP_ID_PORT2_CASSETTIE_LOADED			0x649
-#define STEP_ID_PORT2_CASSETTIE_INUSE			0x651
-#define STEP_ID_PORT2_CASSETTIE_UNLOAD_READY	0x659
-#define STEP_ID_PORT2_CASSETTIE_BLOCKED			0x661
-#define STEP_ID_PORT3_CASSETTIE_EMPTY			0x63a
-#define STEP_ID_PORT3_CASSETTIE_LOAD_READY		0x642
-#define STEP_ID_PORT3_CASSETTIE_LOADED			0x64a
-#define STEP_ID_PORT3_CASSETTIE_INUSE			0x652
-#define STEP_ID_PORT3_CASSETTIE_UNLOAD_READY	0x65a
-#define STEP_ID_PORT3_CASSETTIE_BLOCKED			0x662
-#define STEP_ID_PORT4_CASSETTIE_EMPTY			0x63b
-#define STEP_ID_PORT4_CASSETTIE_LOAD_READY		0x643
-#define STEP_ID_PORT4_CASSETTIE_LOADED			0x64b
-#define STEP_ID_PORT4_CASSETTIE_INUSE			0x653
-#define STEP_ID_PORT4_CASSETTIE_UNLOAD_READY	0x65b
-#define STEP_ID_PORT4_CASSETTIE_BLOCKED			0x663
+#define STEP_ID_PORT1_EMPTY						0x638
+#define STEP_ID_PORT1_LOAD_READY				0x640
+#define STEP_ID_PORT1_LOADED					0x648
+#define STEP_ID_PORT1_INUSE						0x650
+#define STEP_ID_PORT1_UNLOAD_READY				0x658
+#define STEP_ID_PORT1_BLOCKED					0x660
+#define STEP_ID_PORT2_EMPTY						0x639
+#define STEP_ID_PORT2_LOAD_READY				0x641
+#define STEP_ID_PORT2_LOADED					0x649
+#define STEP_ID_PORT2_INUSE						0x651
+#define STEP_ID_PORT2_UNLOAD_READY				0x659
+#define STEP_ID_PORT2_BLOCKED					0x661
+#define STEP_ID_PORT3_EMPTY						0x63a
+#define STEP_ID_PORT3_LOAD_READY				0x642
+#define STEP_ID_PORT3_LOADED					0x64a
+#define STEP_ID_PORT3_INUSE						0x652
+#define STEP_ID_PORT3_UNLOAD_READY				0x65a
+#define STEP_ID_PORT3_BLOCKED					0x662
+#define STEP_ID_PORT4_EMPTY						0x63b
+#define STEP_ID_PORT4_LOAD_READY				0x643
+#define STEP_ID_PORT4_LOADED					0x64b
+#define STEP_ID_PORT4_INUSE						0x653
+#define STEP_ID_PORT4_UNLOAD_READY				0x65b
+#define STEP_ID_PORT4_BLOCKED					0x663
+#define STEP_ID_PROT1_TYPE_CHANGE_REPLY			0x670
+#define STEP_ID_PROT2_TYPE_CHANGE_REPLY			0x671
+#define STEP_ID_PROT3_TYPE_CHANGE_REPLY			0x672
+#define STEP_ID_PROT4_TYPE_CHANGE_REPLY			0x673
+#define STEP_ID_PROT1_MODE_CHANGE_REPLY			0x678
+#define STEP_ID_PROT2_MODE_CHANGE_REPLY			0x679
+#define STEP_ID_PROT3_MODE_CHANGE_REPLY			0x67A
+#define STEP_ID_PROT4_MODE_CHANGE_REPLY			0x67B
+#define STEP_ID_PROT1_TRANSFER_MODE_CHANGE_REPLY	0x680
+#define STEP_ID_PROT2_TRANSFER_MODE_CHANGE_REPLY	0x681
+#define STEP_ID_PROT3_TRANSFER_MODE_CHANGE_REPLY	0x682
+#define STEP_ID_PROT4_TRANSFER_MODE_CHANGE_REPLY	0x683
+#define STEP_ID_PROT1_ENABLE_MODE_CHANGE_REPLY		0x688
+#define STEP_ID_PROT2_ENABLE_MODE_CHANGE_REPLY		0x689
+#define STEP_ID_PROT3_ENABLE_MODE_CHANGE_REPLY		0x68A
+#define STEP_ID_PROT4_ENABLE_MODE_CHANGE_REPLY		0x68B
+#define STEP_ID_PROT1_TYPE_AUTO_CHANGE_REPLY		0x690
+#define STEP_ID_PROT2_TYPE_AUTO_CHANGE_REPLY		0x691
+#define STEP_ID_PROT3_TYPE_AUTO_CHANGE_REPLY		0x692
+#define STEP_ID_PROT4_TYPE_AUTO_CHANGE_REPLY		0x693
+#define STEP_ID_PROT1_CASSETTE_TYPE_CHANGE_REPLY	0x698
+#define STEP_ID_PROT2_CASSETTE_TYPE_CHANGE_REPLY	0x699
+#define STEP_ID_PROT3_CASSETTE_TYPE_CHANGE_REPLY	0x69A
+#define STEP_ID_PROT4_CASSETTE_TYPE_CHANGE_REPLY	0x69B
+#define STEP_ID_PROT1_CASSETTE_CTR_CMD_REPLY		0x6A0
+#define STEP_ID_PROT2_CASSETTE_CTR_CMD_REPLY		0x6A1
+#define STEP_ID_PROT3_CASSETTE_CTR_CMD_REPLY		0x6A2
+#define STEP_ID_PROT4_CASSETTE_CTR_CMD_REPLY		0x6A3
+#define STEP_ID_ROBOT_CMD_REPLY						0x6b0
+
 
 
 /* base alarm */
@@ -315,16 +478,12 @@
 
 
 /* 流程控制相关代码 */
-#define FLOW_REJECT					0x0
-#define FLOW_ACCEPT					0x1
 #define FLOW_TEST					0x1000
-#define FLOW_SIGNAL					0x1001
-#define FLOW_DATA					0x1002
-#define FLOW_MOVE_MATERIAL			0x1003
 
 
 /* Port Status */
 #define PORT_LOAD_READY				1
+#define PORT_LOAD_REQUEST			PORT_LOAD_READY
 #define PORT_LOADED					2
 #define PORT_INUSE					3
 #define PORT_LOAD_COMPLETE			PORT_INUSE
@@ -392,3 +551,34 @@
 #define RT_REQUEST_FROM_EAS		4
 
 
+ /* Robot Task Status */
+#define ROBOT_EVENT_CREATE		0   // 新任务创建
+#define ROBOT_EVENT_FINISH		1   // 正常完成
+#define ROBOT_EVENT_ERROR		2   // 出现错误
+#define ROBOT_EVENT_ABORT		3   // 人为中止
+#define ROBOT_EVENT_RESTORE		4   // 回撤
+
+
+/* PPID名字最大长度 */
+#define PPID_NAME_MAX			80
+
+
+/* 解除警告 按钮 */
+#define BTN_ALARM_OFF_FRAME_NORMAL		RGB(88, 88, 88)
+#define BTN_ALARM_OFF_FRAME_HOVER		RGB(88, 88, 88)
+#define BTN_ALARM_OFF_FRAME_PRESS		RGB(88, 88, 88)
+#define BTN_ALARM_OFF_BKGND_NORMAL		RGB(255, 127, 39)
+#define BTN_ALARM_OFF_BKGND_HOVER		RGB(255, 157, 59)
+#define BTN_ALARM_OFF_BKGND_PRESS		RGB(255, 100, 29)
+
+/* 静音按钮 */
+#define BTN_SOUND_OFF_FRAME_NORMAL		RGB(88, 88, 88)
+#define BTN_SOUND_OFF_FRAME_HOVER		RGB(88, 88, 88)
+#define BTN_SOUND_OFF_FRAME_PRESS		RGB(88, 88, 88)
+#define BTN_SOUND_OFF_BKGND_NORMAL		RGB(255, 127, 39)
+#define BTN_SOUND_OFF_BKGND_HOVER		RGB(255, 157, 59)
+#define BTN_SOUND_OFF_BKGND_PRESS		RGB(255, 100, 29)
+#define BTN_SOUND_ON_BKGND_NORMAL		RGB(100, 200, 100)
+#define BTN_SOUND_ON_BKGND_HOVER		RGB(150, 250, 150)
+#define BTN_SOUND_ON_BKGND_PRESS		RGB(50, 150, 50)
+

--
Gitblit v1.9.3