|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
#include <iostream>
|
|
|
|
|
|
#include <map>
|
|
|
|
|
|
#include <string>
|
|
|
|
|
|
#include <list>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20>궨<EFBFBD><EAB6A8>
|
|
|
|
|
|
#define MDLN_MAXLEN 20
|
|
|
|
|
|
#define SOFTREV_MAXLEN 20
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>״̬ģ<CCAC><C4A3>
|
|
|
|
|
|
enum CONTROL_MODE
|
|
|
|
|
|
{
|
|
|
|
|
|
eCONTROL_MODE_OFFLINE = 0, /* <20><><EFBFBD><EFBFBD> */
|
|
|
|
|
|
eCONTROL_MODE_ONLINE_LOCAL, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
eCONTROL_MODE_ONLINE_REMOTE, /* Զ<><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
enum CONTROL_STATE
|
|
|
|
|
|
{
|
|
|
|
|
|
eCONTROL_OFFLINE_EQUIPMENT = 1, /* <20><><EFBFBD>ߣ<EFBFBD><DFA3>豸 */
|
|
|
|
|
|
eCONTROL_OFFLINE_ATTEMPT_ONLINE, /* <20><><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
eCONTROL_OFFLINE_HOST, /* <20><><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
eCONTROL_ONLINE_LOCAL, /* <20><><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
eCONTROL_ONLINE_REMOTE, /* <20><><EFBFBD>ߣ<EFBFBD>Զ<EFBFBD><D4B6> */
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
enum CONNECT_STATE
|
|
|
|
|
|
{
|
|
|
|
|
|
eCONNECT_DISCONNECT = 0, /* <20>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
eCONNECT_LISTEN, /* <20><><EFBFBD><EFBFBD>,<2C>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
eCONNECT_CONNECT, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
eCONNECT_SELECT, /* ѡ<><D1A1><EFBFBD>ɹ<EFBFBD> */
|
|
|
|
|
|
eCONNECT_COMMUNICATING, /* ͨѶ<CDA8><D1B6> */
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// ͨѶ״̬
|
|
|
|
|
|
enum COMM_STATE
|
|
|
|
|
|
{
|
|
|
|
|
|
eCOMM_DISABLED = 0, /* û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨѶ */
|
|
|
|
|
|
eCOMM_ENABLED_NOT_COMMUNICATING, /* <20><><EFBFBD>ã<EFBFBD>û<EFBFBD><C3BB>ͨѶ */
|
|
|
|
|
|
eCOMM_COMMUNICATING, /* ͨѶ<CDA8><D1B6> */
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// Զ<>̿<EFBFBD><CCBF>Ʒ<EFBFBD><C6B7><EFBFBD>
|
|
|
|
|
|
enum REMOTE_REPLY
|
|
|
|
|
|
{
|
|
|
|
|
|
eCOMMAND_PERFORMED = 0, /* ִ<><D6B4> */
|
|
|
|
|
|
eCOMMAND_NOT_EXIST, /* <20><><EFBFBD><EFBFBD><EEB2BB><EFBFBD><EFBFBD> */
|
|
|
|
|
|
eCOMMAND_CANNOT_PERFORM_NOW, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>ִ<EFBFBD><D6B4> */
|
|
|
|
|
|
eCOMMAND_PARAMETER_IS_INVALID, /* <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч */
|
|
|
|
|
|
eCOMMAND_ACK_AND_WITH_SIGNAL, /* ȷ<>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD><EEBDAB><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ɺ<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>ź<EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD> */
|
|
|
|
|
|
eCOMMAND_REJECTED, /* <20>ܾ<EFBFBD><DCBE><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬ */
|
|
|
|
|
|
eCOMMAND_NO_SUCH_OBJECT_EXIST, /* <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
eCOMMAND_OTHER, /* <20><><EFBFBD><EFBFBD> */
|
|
|
|
|
|
eCOMMAND_THIS_IS_YOUR_DEFINE, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>壬<EFBFBD><E5A3AC><EFBFBD>ϱߵ<CFB1><DFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// <20>ն<EFBFBD><D5B6><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
|
enum TERMINAL_REPLY
|
|
|
|
|
|
{
|
|
|
|
|
|
eDISPLAY_IN_WINDOW = 0, /* <20><>ʾ<EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD> */
|
|
|
|
|
|
eMESSAGE_WILL_NOT_BE_DISPLAY, /* <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ */
|
|
|
|
|
|
eTERMINAL_NOT_AVAILABLE, /* <20>ն˲<D5B6><CBB2><EFBFBD><EFBFBD>ã<EFBFBD>û<EFBFBD>иù<D0B8><C3B9><EFBFBD> */
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// pp <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
// <20><>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>
|
|
|
|
|
|
enum PP_FORMAT_CMD
|
|
|
|
|
|
{
|
|
|
|
|
|
eLOAD_TMP_PPID, /* <20><><EFBFBD><EFBFBD>PPID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PPID<49><EFBFBD><F2B7B5BB>ַ<EFBFBD>0 */
|
|
|
|
|
|
eGET_PPID_VALUE, /* <20><>ȡ<EFBFBD><C8A1>PPID<49><44>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD> */
|
|
|
|
|
|
eGET_PPID_VALUE_FINSH, /* <20><>ȡ<EFBFBD><C8A1>PPID<49><44>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
|
eSET_PPID_VALUE_BEGIN, /* <20><><EFBFBD>õ<EFBFBD>PPID<49><44>ֵ<EFBFBD><D6B5>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PPID<49><44><EFBFBD><EFBFBD> */
|
|
|
|
|
|
eSET_PPID_VALUE, /* <20><><EFBFBD>õ<EFBFBD>PPID<49><44>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Code<64><65>ֵ */
|
|
|
|
|
|
eSET_PPID_VALUE_FINSH, /* <20><><EFBFBD>õ<EFBFBD>PPID<49><44>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// PP<50><50><EFBFBD><EFBFBD>ģʽ
|
|
|
|
|
|
// <20><>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>
|
|
|
|
|
|
enum PP_HANDLE_MODE
|
|
|
|
|
|
{
|
|
|
|
|
|
eSystemBuiltIn = 0, // SECSϵͳ<CFB5><CDB3><EFBFBD>÷<EFBFBD><C3B7><EFBFBD>
|
|
|
|
|
|
eCostomizeHandle, // <20>Զ<EFBFBD><D4B6>崦<EFBFBD><E5B4A6>
|
|
|
|
|
|
// eCostomizeHandlePpidList, // <20>Զ<EFBFBD><D4B6>崦<EFBFBD><E5B4A6>:PPID<49>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>.
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// PP<50>Զ<EFBFBD><D4B6>幦<EFBFBD><E5B9A6>:PP<50><50><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>ö<EFBFBD><C3B6>
|
|
|
|
|
|
enum PP_HANDLE_EVENT
|
|
|
|
|
|
{
|
|
|
|
|
|
ePPEventDelete = 0, // ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ppid
|
|
|
|
|
|
ePPEventDeleteAll, // ɾ<><C9BE>ȫ<EFBFBD><C8AB>ppid
|
|
|
|
|
|
ePPEventLoadData, // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|
|
|
|
|
ePPEventDownData, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
ePPEventLoadInquire, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// PP<50>Զ<EFBFBD><D4B6>幦<EFBFBD><E5B9A6>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
enum PP_HANDLE_REPLY
|
|
|
|
|
|
{
|
|
|
|
|
|
ePPSuccess = 0, // <20><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
|
|
|
|
|
|
ePPPermissionNotGranted, // Ȩ<><EFBFBD><DEB2><EFBFBD>
|
|
|
|
|
|
ePPLengthError, // <20><><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD>
|
|
|
|
|
|
ePPMatrixOverflow, // <20><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>
|
|
|
|
|
|
ePPRecipeNameNotFound, // <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ҵ<EFBFBD>
|
|
|
|
|
|
ePPModeUnsupported, // <20><>֧<EFBFBD><D6A7>
|
|
|
|
|
|
ePPOtherError, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// PP<50><50><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>֪ͨ<CDA8>¼<EFBFBD>
|
|
|
|
|
|
enum PP_CHANGE_NOTIFY
|
|
|
|
|
|
{
|
|
|
|
|
|
ePPDeleteChangeNotify = 0, // PP<50><50><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>Ѿ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>recipe
|
|
|
|
|
|
ePPDownChangeNotify, // PP<50><50><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>recipe
|
|
|
|
|
|
ePPLoadChangeNotify, // PP<50><50><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE>ϴ<EFBFBD><CFB4><EFBFBD>recipe
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>֪ͨģʽ
|
|
|
|
|
|
enum ALARM_NOTIFY_EVENT_MODE
|
|
|
|
|
|
{
|
|
|
|
|
|
eAlarmNotEvent = 0, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>¼<EFBFBD>֪ͨ
|
|
|
|
|
|
eAlarmUnifyEvent, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳһһ<D2BB><D2BB><EFBFBD>¼<EFBFBD>֪ͨ
|
|
|
|
|
|
eAlarmEveryEvent, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>¼<EFBFBD>֪ͨ
|
|
|
|
|
|
eAlarmEveryAndUnifyEvent, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>¼<EFBFBD>֪ͨ<CDA8><D6AA>ͬʱҲͳһ<CDB3>¼<EFBFBD>֪ͨ
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// PP Format<61><74><EFBFBD><EFBFBD>ģʽ
|
|
|
|
|
|
enum PP_FORMAT_MODE
|
|
|
|
|
|
{
|
|
|
|
|
|
ePPFormatFixedCode = 0, // <20>̶<EFBFBD>CCode
|
|
|
|
|
|
ePPFormatDynamicCode, // <20><>̬CCode
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
enum ALARM_CATEGORY
|
|
|
|
|
|
{
|
|
|
|
|
|
eCategoryNoUser = 0, // <20><>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
eCategoryPersonalSafety = 1, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><CEA3>
|
|
|
|
|
|
eCategoryEquipmentSafety = 2, // <20><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
eCategoryParameterControlWarning = 3, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ
|
|
|
|
|
|
eCategoryParameterControlError = 4, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>ֵ<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD>仯<EFBFBD><E4BBAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|
|
|
|
|
eCategoryIrrecoverableError = 5, // <20><><EFBFBD>ɻָ<C9BB><D6B8><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>Ҫ<EFBFBD><D2AA>Ϊ<EFBFBD><CEAA>Ԥ
|
|
|
|
|
|
eCategoryEquipmentStatusWarning = 6, // <20>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>
|
|
|
|
|
|
eCategoryAttentionFlags = 7, // ע<><D7A2><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD>豸<EFBFBD><E8B1B8>ҵָʾ<D6B8>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><D8B6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
eCategoryDataIntegrity = 8, // <20><><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD>ʧ
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ID<49><44><EFBFBD><EFBFBD>
|
|
|
|
|
|
namespace MATERIAL_ID_TYPE
|
|
|
|
|
|
{
|
|
|
|
|
|
enum ENUM
|
|
|
|
|
|
{
|
|
|
|
|
|
Wafer = 0,
|
|
|
|
|
|
WaferCassette = 1,
|
|
|
|
|
|
FilmFrame = 2, // wafer<65><72><EFBFBD>ڱ<EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>Բ<EFBFBD><D4B2>ƽ<EFBFBD>ߡ<EFBFBD><DFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Եײ<D4B5><D7B2><EFBFBD>˳ʱ<CBB3><CAB1><EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
|
namespace WAFER_FLAT_NOTCH_ANGLE
|
|
|
|
|
|
{
|
|
|
|
|
|
enum ENUM
|
|
|
|
|
|
{
|
|
|
|
|
|
ANGLE0 = 0, // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
ANGLE90, // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
ANGLE180, // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
ANGLE270, // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>Բ<EFBFBD><D4B2>ƽ<EFBFBD>ߡ<EFBFBD><DFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȱ<EFBFBD><C8B1>"<22><>˳ʱ<CBB3><CAB1><EFBFBD>Ƕ<EFBFBD>
|
|
|
|
|
|
namespace WAFER_FILM_FRAME_ANGLE
|
|
|
|
|
|
{
|
|
|
|
|
|
enum ENUM
|
|
|
|
|
|
{
|
|
|
|
|
|
ANGLE0 = 0, // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
ANGLE90, // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
ANGLE180, // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
ANGLE270, // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
namespace WAFER_MAP_FT
|
|
|
|
|
|
{
|
|
|
|
|
|
enum ENUM
|
|
|
|
|
|
{
|
|
|
|
|
|
Row = 0,
|
|
|
|
|
|
Array = 1,
|
|
|
|
|
|
Coordinate = 2
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// map<61><70><EFBFBD><EFBFBD>ϵԭ<CFB5><D4AD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
namespace ORIGIN_LOCATION
|
|
|
|
|
|
{
|
|
|
|
|
|
enum ENUM
|
|
|
|
|
|
{
|
|
|
|
|
|
Center = 0,
|
|
|
|
|
|
UpperRight = 1,
|
|
|
|
|
|
UpperLeft = 2,
|
|
|
|
|
|
LowerLeft = 3,
|
|
|
|
|
|
LowerRight = 4,
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
namespace PROCESS_AXIS
|
|
|
|
|
|
{
|
|
|
|
|
|
enum ENUM
|
|
|
|
|
|
{
|
|
|
|
|
|
XAxisTopIncreasing = 0,
|
|
|
|
|
|
XAxisTopDecreasing = 1,
|
|
|
|
|
|
XAxisBottomIncreasing = 2,
|
|
|
|
|
|
XAxisBottomDecreasing = 3,
|
|
|
|
|
|
YAxisLeftIncreasing = 4,
|
|
|
|
|
|
YAxisLeftDecreasing = 5,
|
|
|
|
|
|
YAxisRightIncreasing = 6,
|
|
|
|
|
|
YAxisRightDecreasing = 7,
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>ö<EFBFBD><C3B6>
|
|
|
|
|
|
namespace S9_ERROR
|
|
|
|
|
|
{
|
|
|
|
|
|
enum ENUM
|
|
|
|
|
|
{
|
|
|
|
|
|
UnrecognizedStreamType = 2, // <20><>֧<EFBFBD><D6A7>Stream
|
|
|
|
|
|
UnrecognizedFunctionType = 3, // <20><>֧<EFBFBD><D6A7>Function
|
|
|
|
|
|
IllegalData = 4,
|
|
|
|
|
|
TransactionTimerTimeout = 5, // <20>Ự<EFBFBD><E1BBB0>ʱ
|
|
|
|
|
|
DataTooLong = 6, // <20><><EFBFBD><EFBFBD>̫<EFBFBD><CCAB>
|
|
|
|
|
|
ConversationTimeout = 7, // <20>Ự<EFBFBD><E1BBB0>ʱ
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>ͷ<EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
struct EVENT_DATA
|
|
|
|
|
|
{
|
|
|
|
|
|
int nCEID;
|
|
|
|
|
|
std::string pName;
|
|
|
|
|
|
std::string pDescription;
|
|
|
|
|
|
|
|
|
|
|
|
EVENT_DATA();
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
// DVVAL, SV, ECV
|
|
|
|
|
|
struct VARIABLE_DATA
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string VID;
|
|
|
|
|
|
std::string VarName; // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
std::string Description; // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
std::string Value; // <20><>ֵ
|
|
|
|
|
|
std::string Type; // <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
|
std::string VarClass; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
std::string Units; // <20><>λ
|
|
|
|
|
|
std::string MinValue; // <20><>Сֵ
|
|
|
|
|
|
std::string MaxValue; // <20><><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
std::string DefValue; // Ĭ<><C4AC>ֵ
|
|
|
|
|
|
bool bInside; // <20><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
VARIABLE_DATA();
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Alarm<72><6D><EFBFBD><EFBFBD>
|
|
|
|
|
|
struct ALARM_DATA
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string ALID;
|
|
|
|
|
|
std::string ALTX; // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
std::string SetCEID; // <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|
|
|
|
|
std::string ClearCEID; // <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|
|
|
|
|
int nCategory; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
bool bEnable; // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
bool bSet; // ʹ<><CAB9>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALARM_DATA();
|
|
|
|
|
|
ALARM_DATA(const ALARM_DATA& des);
|
|
|
|
|
|
void operator = (const ALARM_DATA& des);
|
|
|
|
|
|
void copy(const ALARM_DATA& des);
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
struct ERROR_CODE_DESCRIPTION
|
|
|
|
|
|
{
|
|
|
|
|
|
int nCode;
|
|
|
|
|
|
std::string pDescription;
|
|
|
|
|
|
|
|
|
|
|
|
ERROR_CODE_DESCRIPTION();
|
|
|
|
|
|
ERROR_CODE_DESCRIPTION(int nCode, std::string pDescription);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// Զ<>̿<EFBFBD><CCBF><EFBFBD><EFBFBD><EFBFBD>Ϣ, <20>·<EFBFBD><C2B7><EFBFBD>
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD> string recipe = svParam["recipe"] <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
struct REMOTE_DATA
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string pRCMD;
|
|
|
|
|
|
std::map<std::string, std::string> mapParam;
|
|
|
|
|
|
std::list<ERROR_CODE_DESCRIPTION> listErrorCode;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>ؿմ<D8BF><D5B4><EFBFBD>û<EFBFBD>иò<D0B8><C3B2><EFBFBD>
|
|
|
|
|
|
const char* GetValue(std::string pName);
|
|
|
|
|
|
void AddErrorCode(int nCode, std::string pDescription);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Զ<>̿<EFBFBD><CCBF>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
struct REMOTE_PARAM_DATA
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string pName;
|
|
|
|
|
|
std::string pValue;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// Զ<>̿<EFBFBD><CCBF><EFBFBD><EFBFBD><EFBFBD>Ϣ,<2C><>ģʽ
|
|
|
|
|
|
// <20><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
|
|
|
|
|
|
// <20><>һ<EFBFBD><D2BB> REMOTE_DATA <20>ı<EFBFBD><C4B1><EFBFBD>rd<72><64><EFBFBD><EFBFBD>
|
|
|
|
|
|
// REMOTE_DATA_OLD rdo = rd; <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>ģʽ
|
|
|
|
|
|
struct REMOTE_DATA_OLD
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string pRCMD;
|
|
|
|
|
|
std::vector<REMOTE_PARAM_DATA> svParam;
|
|
|
|
|
|
|
|
|
|
|
|
REMOTE_DATA_OLD(){}
|
|
|
|
|
|
REMOTE_DATA_OLD(REMOTE_DATA_OLD& rdo);
|
|
|
|
|
|
REMOTE_DATA_OLD(REMOTE_DATA& rd);
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// <20>ն<EFBFBD><D5B6><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
|
struct TERMINAL_DATA
|
|
|
|
|
|
{
|
|
|
|
|
|
int nTid; // ָ<><D6B8><EFBFBD><EFBFBD>ʾ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>á<EFBFBD>
|
|
|
|
|
|
int nSize; // <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
|
const char* pText; // <20><>Ϣ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>ĺ<EFBFBD>ASCII
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>HostЭ<74><D0AD>
|
|
|
|
|
|
// ASCII<49>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD> string text = pText; <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>nSize
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>pp<70><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
struct PP_HANDLE_DATA
|
|
|
|
|
|
{
|
|
|
|
|
|
PP_HANDLE_EVENT nEvent; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
const char* pPPID; // PP<50><50><EFBFBD><EFBFBD>
|
|
|
|
|
|
const char* pPPData; // PP<50><50><EFBFBD><EFBFBD>
|
|
|
|
|
|
int nLength; // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
PP_HANDLE_REPLY nAck; // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
PP_HANDLE_DATA();
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// pp <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
struct PP_FORMAT_HANDLE
|
|
|
|
|
|
{
|
|
|
|
|
|
PP_FORMAT_CMD nEvent; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
std::string pPPID; // PP<50><50><EFBFBD>ƣ<EFBFBD>recipe<70><65><EFBFBD>ƣ<EFBFBD>
|
|
|
|
|
|
std::string pCCode; // PP<50><50>CCODE<44><45><EFBFBD><EFBFBD>
|
|
|
|
|
|
std::vector<std::string> vecParamValue; // PP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
PP_HANDLE_REPLY nAck; // <20><><EFBFBD><EFBFBD>, Host<73><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PPֵʱ<D6B5><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
PP_FORMAT_HANDLE();
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// pp <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
struct PP_FORMAT_PARAMENT
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string pType; // ֵ<><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
std::string pValue; // PP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
|
|
|
|
|
|
PP_FORMAT_PARAMENT();
|
|
|
|
|
|
PP_FORMAT_PARAMENT(std::string pType, std::string pValue);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// pp <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
struct PP_FORMAT_DYNAMIC_HANDLE
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string pCCode; // PP<50><50>CCODE<44><45><EFBFBD><EFBFBD>
|
|
|
|
|
|
std::vector<PP_FORMAT_PARAMENT> vecParam; // PP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// pp <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>չ<EFBFBD><D5B9>
|
|
|
|
|
|
struct PP_FORMAT_HANDLE_EX
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string pPPID; // PP<50><50><EFBFBD>ƣ<EFBFBD>recipe<70><65><EFBFBD>ƣ<EFBFBD>
|
|
|
|
|
|
std::map<std::string, std::vector<std::string>> mapParamValue; // PP<50><50>CCODE<44><45><EFBFBD>룬PP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
PP_HANDLE_REPLY nAck; // <20><><EFBFBD><EFBFBD>, Host<73><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PPֵʱ<D6B5><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
PP_FORMAT_HANDLE_EX();
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
struct WAFER_MAP_REFERENCE_POINT
|
|
|
|
|
|
{
|
|
|
|
|
|
int nX;
|
|
|
|
|
|
int nY;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
struct WAFER_MAP
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string pMID; // <20><><EFBFBD><EFBFBD>ID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>롢<EFBFBD><EBA1A2>ά<EFBFBD><CEAC>
|
|
|
|
|
|
MATERIAL_ID_TYPE::ENUM nIDTYP; // <20><><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
WAFER_FLAT_NOTCH_ANGLE::ENUM nFNLOC; // Waferƽ<72><C6BD>/ȱ<>ڵĽǶ<C4BD>
|
|
|
|
|
|
WAFER_FILM_FRAME_ANGLE::ENUM nFFROT; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD>Ƕ<EFBFBD>,<2C><><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0
|
|
|
|
|
|
ORIGIN_LOCATION::ENUM nORLOC; // ԭ<><D4AD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
int nRPSEL; // <20>ο<EFBFBD>λ<EFBFBD>ã<EFBFBD>һ<EFBFBD><D2BB>0
|
|
|
|
|
|
std::vector<WAFER_MAP_REFERENCE_POINT> listReferPoint; // wafer map <20><>2D<32><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
std::string pDUTMS; // <20><><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>λ(um<75><6D>mm<6D><6D>nm<6E><6D>)
|
|
|
|
|
|
double dbXDies; // <20><><EFBFBD><EFBFBD>X<EFBFBD>᳤<EFBFBD><E1B3A4>
|
|
|
|
|
|
double dbYDies; // <20><><EFBFBD><EFBFBD>Y<EFBFBD>᳤<EFBFBD><E1B3A4>
|
|
|
|
|
|
int nROWCT; // <20><><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
|
|
|
|
|
int nCOLCT; // <20><><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD><D0B8><EFBFBD>
|
|
|
|
|
|
std::string pNULBC; // map<61><70>ֵ
|
|
|
|
|
|
std::string pMapBin; // <20><>Բ<EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>1~XΪ<58>ȼ<EFBFBD><C8BC><EFBFBD>X<EFBFBD>ɿͻ<C9BF><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<C5B2><EEBCB6><EFBFBD><EFBFBD>S12F3<46><33>S12F4<46><34>BCEQUֵ<55><D6B5>S12F9<46><39>BINLT
|
|
|
|
|
|
std::string pBINLT;
|
|
|
|
|
|
int nPRDCT; // <20>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<D0BE><C6AC><EFBFBD><EFBFBD>
|
|
|
|
|
|
PROCESS_AXIS::ENUM nPRAXI; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int nMLCL;
|
|
|
|
|
|
|
|
|
|
|
|
WAFER_MAP();
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
struct STRIP_MAP
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string pMID;
|
|
|
|
|
|
std::string pMapDataByXml; // <20><><EFBFBD>ݣ<EFBFBD>XML<4D><4C>ʽ
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
class CSecsEquip;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ߲<DAB8>SECS<43>¼<EFBFBD>
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
|
|
|
|
|
|
typedef void (SecsStateChangeProc)(CSecsEquip*, const char* pStateType, int nState); // ״̬<D7B4>ı䣺ͨѶ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
typedef TERMINAL_REPLY (SecsTerminalProc)(CSecsEquip*, TERMINAL_DATA td); // <20>ն<EFBFBD>֪ͨ
|
|
|
|
|
|
typedef REMOTE_REPLY (SecsRemoteProc)(CSecsEquip*, REMOTE_DATA* pRD); // Զ<>̿<EFBFBD><CCBF><EFBFBD>,<2C><>Ϊָ<CEAA>룺<EFBFBD><EBA3BA>Ҫ<EFBFBD>ش<EFBFBD>listErrorCode<64><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><E0B9A6>
|
|
|
|
|
|
typedef const char* (SecsVarValueProc)(CSecsEquip*, int nVarID); // <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>ȡ
|
|
|
|
|
|
typedef const char* (SecsConstantValueProc)(CSecsEquip*, int nECID); // <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>ȡ
|
|
|
|
|
|
typedef void (SecsConstantsChangeProc)(CSecsEquip*, int nID, const char* pValue); // <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>,host<73><EFBFBD><DEB8><EFBFBD>ֵ
|
|
|
|
|
|
typedef void (SecsPPChangeNotifyProc)(CSecsEquip*, PP_CHANGE_NOTIFY nEvent, const char* ppid); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>֪ͨ
|
|
|
|
|
|
typedef void (SecsPPFormatValueProc)(CSecsEquip*, PP_FORMAT_HANDLE* pPpFormat); // PP<50><50>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ
|
|
|
|
|
|
typedef void (SecsPPFormatChangeProc)(CSecsEquip*, PP_FORMAT_HANDLE* pPpFormat); // PP<50><50>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PP<50><50>ֵ
|
|
|
|
|
|
typedef void (SecsClockProc)(CSecsEquip*, const char* second_offset, SYSTEMTIME time); // ʱ<><CAB1><EFBFBD>ı<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
|
|
|
|
|
|
typedef void (SecsRemoteProcEx)(CSecsEquip*, std::string pReplyMailbox, REMOTE_DATA rd); // Զ<>̿<EFBFBD><CCBF><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9>,<2C><><EFBFBD>д<D0B4><F0B8B4BD><EFBFBD>,<2C><>ѡһ
|
|
|
|
|
|
typedef std::list<std::string> (SecsPPNameListProc)(CSecsEquip*); // PP<50>б<EFBFBD><D0B1><EFBFBD>ȡ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
typedef void (SecsPPEventProc)(CSecsEquip*, PP_HANDLE_DATA* pPpHandle); // <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>PP<50><50><EFBFBD><EFBFBD>
|
|
|
|
|
|
typedef PP_HANDLE_REPLY (SecsPPFormatValueDynamicProc)(CSecsEquip*, const char* pPPID, std::list<PP_FORMAT_DYNAMIC_HANDLE>& listParam); // PP<50><50>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ,<2C><>̬<EFBFBD><CCAC>
|
|
|
|
|
|
typedef PP_HANDLE_REPLY (SecsPPFormatChangeDynamicProc)(CSecsEquip*, const char* pPPID, std::list<PP_FORMAT_DYNAMIC_HANDLE>& listParam); // PP<50><50>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ,<2C><>̬<EFBFBD><CCAC>
|
|
|
|
|
|
|
|
|
|
|
|
// S9<53><39><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK<44>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD>֪ͨ<CDA8>û<EFBFBD>
|
|
|
|
|
|
typedef void (SecsS9ErrorNotifyProc)(CSecsEquip*, S9_ERROR::ENUM nType); // <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>PP<50><50><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
// WaferMap
|
|
|
|
|
|
typedef STRIP_MAP (SecsWaferMapSubstrateProc)(CSecsEquip*, const char* pID); // StripMap
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|