LAPTOP-SNT8I5JK\Boounion
2025-03-26 8942dacbc2bfaf8aec6a360671de20b0fbf32273
SourceCode/Bond/Servo/CEquipment.h
@@ -13,7 +13,10 @@
#include "CEqCimMessageClearStep.h"
#include "CEqDateTimeSetCmdStep.h"
#include "CEqVCREnableStep.h"
#include <vector>
#include <map>
#include <list>
#include "CGlass.h"
namespace SERVO {
@@ -22,10 +25,12 @@
#define VCR_MAX                  1
   typedef std::function<void(void* pEiuipment, BOOL bAlive)> ONALIVE;
   typedef std::function<void(void* pEiuipment, int code)> ONDATACHANGED;
   typedef struct _EquipmentListener
   {
      ONALIVE            onAlive;
      ONALIVE            onCimStateChanged;
      ONDATACHANGED      onDataChanged;
   } EquipmentListener;
   // Memory Block 结构体定义
@@ -81,8 +86,15 @@
      virtual void onTimer(UINT nTimerid);
      virtual void serialize(CArchive& ar);
      virtual void onReceiveLBData(const char* pszData, size_t size);
      virtual int recvSample(CPin* pPin, CSample* pSample);
      virtual CPin* addPin(PinType type, char* pszName);
      CPin* getPin(char* pszName);
      std::vector<CPin*>& CEquipment::getInputPins();
      std::vector<CPin*>& CEquipment::getOutputPins();
      virtual int recvIntent(CPin* pPin, CIntent* pIntent);
      virtual BOOL glassWillArrive(CGlass* pGlass);
      virtual int outputGlass(int port);
      virtual int glassArrived(CGlass* pGlass);
      CGlass* getFrontGlass();
   // 以下为从CC-Link读取到的Bit标志位检测函数
   public:
@@ -102,6 +114,7 @@
   protected:
      inline void Lock() { EnterCriticalSection(&m_criticalSection); }
      inline void Unlock() { LeaveCriticalSection(&m_criticalSection); }
      void addGlassToList(CGlass* pGlass);
   protected:
      EquipmentListener m_listener;
@@ -112,6 +125,10 @@
      StationIdentifier m_station;
      MemoryBlock m_blockReadBit;
      MemoryBlock m_blockWriteBit;
      std::vector<CPin*> m_inputPins;
      std::vector<CPin*> m_outputPins;
      std::list<CGlass*> m_glassList;
      // 以下为从CC-Link读取到的Bit标志位
   private: