| | |
| | | #include "CCollectionEvent.h" |
| | | #include "ProcessJob.h" |
| | | #include "CControlJob.h" |
| | | #include "CDataVariable.h" |
| | | |
| | | |
| | | #define EQCONSTANT_VALUE_MAX 64 |
| | |
| | | |
| | | |
| | | typedef std::function<void(void* pFrom)> SECSEQOFFLINE; |
| | | typedef std::function<void(void* pFrom, std::vector<EQConstant>&)> SECSEQCONSTANTREQUEST; |
| | | typedef std::function<void(void* pFrom, const char*, std::vector<CommandParameter>&)> SECSCommand; |
| | | typedef std::function<void(void* pFrom, SYSTEMTIME& time)> DATETIMESYNC; |
| | | typedef std::function<void(void* pFrom, bool bEnable, std::vector<unsigned int>& ids)> EDEVENTREPORT; |
| | |
| | | { |
| | | SECSEQOFFLINE onEQOffLine; |
| | | SECSEQOFFLINE onEQOnLine; |
| | | SECSEQCONSTANTREQUEST onEQConstantRequest; |
| | | SECSEQCONSTANTREQUEST onEQConstantSend; |
| | | SECSCommand onCommand; |
| | | DATETIMESYNC onDatetimeSync; |
| | | EDEVENTREPORT onEnableDisableEventReport; |
| | |
| | | |
| | | // 从文件中加载CVariable列表 |
| | | int loadVarialbles(const char* pszFilepath); |
| | | // 从文件中加载CDataVariable列表 |
| | | int loadDataVarialbles(const char* pszFilepath); |
| | | // 从文件中加载Equipment Constant列表 |
| | | int loadEquipmentConstants(const char* pszFilepath); |
| | | |
| | | // 取得CVariable列表 |
| | | std::vector<SERVO::CVariable*>& getVariables(); |
| | | unsigned int getMaxVariableId() const; |
| | | std::vector<SERVO::CDataVariable*>& getDataVariables(); |
| | | unsigned int getMaxDataVariableId() const; |
| | | |
| | | // 取得指定Variable |
| | | SERVO::CVariable* getVariable(int variableId); |
| | | SERVO::CVariable* getVariable(const char* pszName); |
| | | SERVO::CDataVariable* getDataVariable(int dvid); |
| | | SERVO::CDataVariable* getDataVariable(const char* pszName); |
| | | int getCurrentControlState(); |
| | | bool isHostCommandAllowed(); |
| | | int deleteVariable(int variableId); |
| | | int addVariable(const char* pszName, const char* pszFormat, const char* pszRemark, int& outId); |
| | | int updateVariable(int variableId, const char* pszName, const char* pszFormat, const char* pszRemark); |
| | | int deleteDataVariable(int dvid); |
| | | int addDataVariable(const char* pszName, const char* pszFormat, const char* pszRemark, int& outId); |
| | | int updateDataVariable(int dvid, const char* pszName, const char* pszFormat, const char* pszRemark); |
| | | |
| | | // 设置变量值 |
| | | void setVariableValue(const char* pszName, __int64 value); |
| | |
| | | int requestEventReportSend_Panel_Start(); |
| | | int requestEventReportSend_Panel_End(); |
| | | int requestEventReportSend_OCR_PanelID_Read_OK(); |
| | | int requestEventReportSend_OCR_PanelID_Read(short vcrResult); |
| | | int requestEventReportSend_LoadPortNotAssoc(); |
| | | int requestEventReportSend_ProcessDataReport(); |
| | | int requestEventReportSend_SubEqpStart(); |
| | |
| | | int replyEstablishCommunications(IMessage* pRecv); |
| | | int replySelectedEquipmentStatusData(IMessage* pRecv); |
| | | int replyStatusVariableNamelistRequest(IMessage* pRecv); // S1F11/S1F12 |
| | | int replyDataVariableNamelistRequest(IMessage* pRecv); // S1F21/S1F22 |
| | | int replyCollectionEventNamelistRequest(IMessage* pRecv); // S1F23/S1F24 |
| | | int replyOnLine(IMessage* pRecv); |
| | | int replyOffLine(IMessage* pRecv); |
| | |
| | | inline void Unlock() { LeaveCriticalSection(&m_criticalSection); } |
| | | int onRecvMsg(IMessage* pMessage); |
| | | void clearAllVariabel(); |
| | | void clearAllDataVariabel(); |
| | | std::vector<unsigned int> parseVidList(CString& strNums); |
| | | int writeVariablesToFile(const std::string& filepath); |
| | | int writeDataVariablesToFile(const std::string& filepath); |
| | | int writeEquipmentConstantsToFile(const std::string& filepath); |
| | | int writeReportsToFile(const std::string& filepath); |
| | | int writeCollectionEventsToFile(const std::string& filepath); |
| | | |
| | |
| | | std::string m_strVariableFilepath; |
| | | bool m_bVariableUtf8{ false }; |
| | | bool m_bVariableUtf8Bom{ false }; |
| | | std::string m_strDataVariableFilepath; |
| | | bool m_bDataVariableUtf8{ false }; |
| | | bool m_bDataVariableUtf8Bom{ false }; |
| | | std::string m_strReportFilepath; |
| | | bool m_bReportUtf8{ false }; |
| | | bool m_bReportUtf8Bom{ false }; |
| | | std::string m_strCollectionEventFilepath; |
| | | bool m_bCollectionUtf8{ false }; |
| | | bool m_bCollectionUtf8Bom{ false }; |
| | | std::string m_strEquipmentConstantFilepath; |
| | | bool m_bEquipmentConstantUtf8{ false }; |
| | | bool m_bEquipmentConstantUtf8Bom{ false }; |
| | | BOOL m_bCimWorking; |
| | | HANDLE m_hCimWorkEvent; |
| | | HANDLE m_hCimWorkThreadHandle; |
| | |
| | | private: |
| | | // CVariable vector |
| | | std::vector<SERVO::CVariable*> m_variabels; |
| | | // CDataVariable vector |
| | | std::vector<SERVO::CDataVariable*> m_dataVariabels; |
| | | // Equipment constants |
| | | struct EquipmentConstantEntry { |
| | | unsigned int id{ 0 }; |
| | | std::string name; |
| | | std::string format; |
| | | std::string remark; |
| | | std::string value; |
| | | }; |
| | | std::vector<EquipmentConstantEntry> m_equipmentConstants; |
| | | |
| | | // CReport vector |
| | | std::vector<SERVO::CReport*> m_reports; |