#pragma once #include "CCLinkIEControl.h" namespace SERVO { class CStep { public: CStep(); virtual ~CStep(); public: unsigned WorkingProc(); void setCcLink(CCCLinkIEControl* pCcLink); virtual void setWriteSignalDev(int dev); virtual void init(); virtual void CStep::term(); virtual void onSignal(BOOL bSignal); virtual int onReadData(); virtual int onComplete(); virtual int onTimeout(); protected: inline void Lock() { EnterCriticalSection(&m_criticalSection); } inline void Unlock() { LeaveCriticalSection(&m_criticalSection); } inline void nextStep(); inline void resetStep(); protected: StationIdentifier m_station; 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; int m_nWriteSignalDev; // ¶Ô·½BITµØÖ· }; }