| | |
| | | |
| | | |
| | | namespace SERVO { |
| | | enum MASTERSTATE { |
| | | READY = 0, |
| | | STARTING, |
| | | RUNNING, |
| | | STOPPING |
| | | }; |
| | | |
| | | typedef std::function<void(void* pMaster, MASTERSTATE state)> ONMASTERSTATECHANGED; |
| | | typedef std::function<void(void* pMaster, CEquipment* pEiuipment, BOOL bAlive)> ONEQALIVE; |
| | | typedef std::function<void(CStep* pStep, int code, void* pData)> ONEQSTEPEVENT; |
| | | typedef std::function<void(void* pMaster, CEquipment* pEquipment, int state, int alarmId, int unitId, int level)> ONEQALARM; |
| | |
| | | typedef std::function<void(void* pMaster, CEquipment* pEquipment, int code)> ONEQDATACHANGED; |
| | | typedef struct _MasterListener |
| | | { |
| | | ONMASTERSTATECHANGED onMasterStateChanged; |
| | | ONEQALIVE onEqAlive; |
| | | ONEQALIVE onEqCimStateChanged; |
| | | ONEQALARM onEqAlarm; |
| | |
| | | int term(); |
| | | int start(); |
| | | int stop(); |
| | | ULONGLONG getRunTime(); |
| | | MASTERSTATE getState(); |
| | | unsigned DispatchProc(); |
| | | unsigned ReadBitsProc(); |
| | | void onTimer(UINT nTimerid); |
| | | std::list<CEquipment*>& getEquipmentList(); |
| | |
| | | void setCacheFilepath(const char* pszFilepath); |
| | | |
| | | private: |
| | | inline void lock() { EnterCriticalSection(&m_criticalSection); } |
| | | inline void unlock() { LeaveCriticalSection(&m_criticalSection); } |
| | | int addToEquipmentList(CEquipment* pEquipment); |
| | | CLoadPort* addLoadPort(int index); |
| | | CFliper* addFliper(); |
| | |
| | | int saveCacheAndBackups(); |
| | | int readCache(); |
| | | void serialize(CArchive& ar); |
| | | void setState(MASTERSTATE state); |
| | | |
| | | private: |
| | | CRITICAL_SECTION m_criticalSection; |
| | | MasterListener m_listener; |
| | | CCCLinkIEControl m_cclink; |
| | | std::list<CEquipment*> m_listEquipment; |
| | |
| | | BOOL m_bDataModify; |
| | | |
| | | private: |
| | | /* 监控比特位的线程*/ |
| | | HANDLE m_hEventReadBitsThreadExit[2]; |
| | | HANDLE m_hReadBitsThreadHandle; |
| | | unsigned m_nReadBitsThreadAddr; |
| | | |
| | | // 调度线程 |
| | | HANDLE m_hDispatchEvent; |
| | | HANDLE m_hEventDispatchThreadExit[2]; |
| | | HANDLE m_hDispatchThreadHandle; |
| | | unsigned m_nDispatchThreadAddr; |
| | | |
| | | // 启动时间,运行时间,状态 |
| | | ULONGLONG m_ullStartTime; |
| | | ULONGLONG m_ullRunTime; |
| | | MASTERSTATE m_state; |
| | | }; |
| | | } |
| | | |