LAPTOP-SNT8I5JK\Boounion
2025-06-16 fd1333fbf52e00ff8f0b0d51ec0d707a66cc9141
SourceCode/Bond/Servo/CStep.h
@@ -1,8 +1,15 @@
#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:
@@ -10,34 +17,35 @@
      virtual ~CStep();
   public:
      unsigned WorkingProc();
      void setCcLink(CCCLinkIEControl* pCcLink);
      virtual void setWriteSignalDev(int dev);
      void setEquipment(CEquipment* pEquipment);
      CEquipment* getEquipment();
      void setID(int id);
      int getID();
      void setName(const char* pszName);
      std::string& getName();
      virtual void getAttributeVector(CAttributeVector& attrubutes);
      virtual void init();
      virtual void CStep::term();
      virtual void onSignal(BOOL bSignal);
      virtual int onReadData();
      virtual int onComplete();
      virtual int onTimeout();
      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 convertString(const char* pszBuffer, int size, std::string& strOut);
   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;
      int m_nWriteSignalDev;         // 对方BIT地址
      std::map<std::string, void*> m_mapProp;
      CAttributeVector m_attributeVector;
   };
}