LAPTOP-SNT8I5JK\Boounion
2025-03-21 d1fd8f9e1f5a012b301a6ce93c2ce7eb3c927e31
SourceCode/Bond/Servo/CEquipment.h
@@ -1,6 +1,8 @@
#pragma once
#include "Log.h"
#include "CCLinkIEControl.h"
#include "CSample.h"
#include "CPin.h"
#include "CEqModeStep.h"
#include "CEqStatusStep.h"
#include "CEqAlarmStep.h"
@@ -11,7 +13,10 @@
#include "CEqCimMessageClearStep.h"
#include "CEqDateTimeSetCmdStep.h"
#include "CEqVCREnableStep.h"
#include <vector>
#include <map>
#include <list>
#include "CPanel.h"
namespace SERVO {
@@ -75,10 +80,18 @@
      std::map<unsigned int, CStep*>& getSteps();
      virtual void init();
      virtual void term();
      virtual void initPins() = 0;
      virtual void onTimer(UINT nTimerid);
      virtual void serialize(CArchive& ar);
      virtual void onReceiveLBData(const char* pszData, size_t size);
      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(CPanel* pPanel);
      virtual int outputGlass(int port);
      virtual int glassArrived(CPanel* pPanel);
   // 以下为从CC-Link读取到的Bit标志位检测函数
   public:
@@ -98,6 +111,7 @@
   protected:
      inline void Lock() { EnterCriticalSection(&m_criticalSection); }
      inline void Unlock() { LeaveCriticalSection(&m_criticalSection); }
      void addPanelToList(CPanel* pPanel);
   protected:
      EquipmentListener m_listener;
@@ -108,6 +122,10 @@
      StationIdentifier m_station;
      MemoryBlock m_blockReadBit;
      MemoryBlock m_blockWriteBit;
      std::vector<CPin*> m_inputPins;
      std::vector<CPin*> m_outputPins;
      std::list<CPanel*> m_panelList;
      // 以下为从CC-Link读取到的Bit标志位
   private: