mrDarker
2025-06-06 2f0684bf01209b9ddfdc53da44fb85f4db6db326
SourceCode/Bond/Servo/CEquipment.h
@@ -38,7 +38,11 @@
namespace SERVO {
#define SLOT_MAX      12
#define SLOT_MAX            PATH_MAX
#define SIGNAL_UPSTREAM_INLINE   0
#define SIGNAL_UPSTREAM_TROUBLE   1
#define SIGNAL_INTERLOCK      2
#define SIGNAL_SEND_ABLE      3
   typedef std::function<void(void* pEiuipment, BOOL bAlive)> ONALIVE;
   typedef std::function<void(void* pEiuipment, int code)> ONDATACHANGED;
@@ -101,12 +105,13 @@
      virtual void onReceiveLBData(const char* pszData, size_t size);
      virtual int onStepEvent(CStep* pStep, int code);
      virtual CPin* addPin(PinType type, char* pszName);
      virtual short getSlotUnit(short slot) { return 0; };
      CPin* getPin(char* pszName);
      std::vector<CPin*>& CEquipment::getInputPins();
      std::vector<CPin*>& CEquipment::getOutputPins();
      virtual int recvIntent(CPin* pPin, CIntent* pIntent);
      virtual int fetchedOutJob(CJobDataB* pJobDataB);
      virtual int storedJob(CJobDataB* pJobDataB, short& putSlot);
      virtual int storedJob(CJobDataB* pJobDataB, short putSlot);
      virtual int onReceivedJob(int port, CJobDataS* pJobDataS);
      virtual int onSentOutJob(int port, CJobDataS* pJobDataS);
      virtual BOOL onPreFetchedOutJob(int port, CJobDataB* pJobDataB);
@@ -159,6 +164,7 @@
      // 获取一个指定物料类型(G1,G2,G1&G2)的且已经加工处理的槽位
      CSlot* getProcessedSlot(MaterialsType putSlotType);
      CSlot* getProcessedSlot2(MaterialsType putSlotType, const std::vector<int>& candidates);
      // 获取玻璃物料
      CGlass* getGlassFromSlot(int slotNo);
@@ -186,6 +192,11 @@
      BOOL isLocalAlarm();
      BOOL isAutoRecipeChange();
      BOOL isVCREnable(unsigned int index);
      BOOL isLinkSignalOn(unsigned int path, unsigned int signal);
      // 只在模拟测试时使用的函数,用于模拟信号
      void setLinkSignal(unsigned int path, unsigned int signal, BOOL bOn);
      void setLinkSignalBlock(unsigned int path, BOOL* pSignal);
   protected:
      inline void Lock() { EnterCriticalSection(&m_criticalSection); }
@@ -230,6 +241,7 @@
      BOOL m_bLocalAlarm;
      BOOL m_bAutoRecipeChange;
      BOOL m_bVCREnable[VCR_MAX];
      BOOL m_bLinkSignal[PATH_MAX][SIGNAL_MAX];
   protected:
      CCCLinkIEControl* m_pCclink;