| | |
| | | #pragma once |
| | | #include "CCLinkIEControl.h" |
| | | #include "CAttributeVector.h" |
| | | #include "ToolUnits.h" |
| | | #include <map> |
| | | |
| | | |
| | | namespace SERVO { |
| | | #define STEP_EVENT_READDATA 0x01 |
| | | #define STEP_EVENT_COMPLETE 0x02 |
| | | |
| | | class CEquipment; |
| | | class CStep |
| | | { |
| | | public: |
| | |
| | | virtual ~CStep(); |
| | | |
| | | public: |
| | | unsigned WorkingProc(); |
| | | void setCcLink(CCCLinkIEControl* pCcLink); |
| | | void setEquipment(CEquipment* pEquipment); |
| | | CEquipment* getEquipment(); |
| | | void setID(int id); |
| | | int getID(); |
| | | void setName(const char* pszName); |
| | | std::string& getName(); |
| | | CAttributeVector& attributeVector(); |
| | | virtual void getAttributeVector(CAttributeVector& attrubutes); |
| | | virtual void init(); |
| | | virtual void CStep::term(); |
| | | virtual void onSignal(BOOL bSignal); |
| | | virtual void term(); |
| | | void setProp(const char* pszKey, void* pValue); |
| | | void* getProp(const char* pszKey); |
| | | void addAttribute(CAttribute* pAttribute); |
| | | void addAttributeVector(CAttributeVector& attributeVector); |
| | | |
| | | protected: |
| | | inline void Lock() { EnterCriticalSection(&m_criticalSection); } |
| | | inline void Unlock() { LeaveCriticalSection(&m_criticalSection); } |
| | | inline void nextStep(); |
| | | inline void resetStep(); |
| | | void timeout(); |
| | | void convertString(const char* pszBuffer, int size, std::string& strOut); |
| | | |
| | | private: |
| | | protected: |
| | | int m_nID; |
| | | StationIdentifier m_station; |
| | | std::string m_strName; |
| | | CEquipment* m_pEquipment; |
| | | CCCLinkIEControl* m_pCclink; |
| | | CRITICAL_SECTION m_criticalSection; |
| | | std::string strName; |
| | | HANDLE m_hWorkThreadHandle; |
| | | unsigned m_nWordThreadAddr; |
| | | HANDLE m_hWorkStop; |
| | | HANDLE m_hSignalOn; |
| | | HANDLE m_hSignalOff; |
| | | int m_nCurStep; |
| | | std::map<std::string, void*> m_mapProp; |
| | | CAttributeVector m_attributeVector; |
| | | }; |
| | | } |
| | | |