| | |
| | | STARTING, |
| | | RUNNING, |
| | | RUNNING_CONTINUOUS_TRANSFER, |
| | | RUNNING_BATCH, |
| | | STOPPING, |
| | | MSERROR |
| | | }; |
| | |
| | | typedef std::function<void(void* pMaster, CRobotTask* pTask, int code)> ONROBOTTASKEVENT; |
| | | typedef std::function<void(void* pMaster, CEquipment* pEquipment, short status, __int64 data)> ONLOADPORTSTATUSCHANGED; |
| | | typedef std::function<void(void* pMaster, int round)> ONCTROUNDEND; |
| | | typedef std::function<void(void* pMaster, void* pj)> ONPJSTART; |
| | | typedef struct _MasterListener |
| | | { |
| | | ONMASTERSTATECHANGED onMasterStateChanged; |
| | |
| | | ONROBOTTASKEVENT onRobotTaskEvent; |
| | | ONLOADPORTSTATUSCHANGED onLoadPortStatusChanged; |
| | | ONCTROUNDEND onCTRoundEnd; |
| | | ONPJSTART onPjStart; |
| | | ONPJSTART onPjEnd; |
| | | } MasterListener; |
| | | |
| | | class CMaster : public IResourceView |
| | |
| | | int term(); |
| | | int start(); |
| | | int startContinuousTransfer(); |
| | | int startBatch(); |
| | | int stop(); |
| | | void clearError(); |
| | | ULONGLONG getRunTime(); |
| | |
| | | bool slotUsable(const std::string& carrierId, uint16_t slot) const override; |
| | | bool ceidDefined(uint32_t ceid) const override; |
| | | |
| | | public: |
| | | // 新增函数 |
| | | CProcessJob* acquireNextProcessJob(); |
| | | CGlass* acquireNextGlass(); |
| | | int acquireGlassToQueue(); |
| | | bool addGlassToQueue(CGlass* pGlass); |
| | | bool glassFromQueueToInPorcess(CGlass* pGlass); |
| | | bool glassFromInPorcessToComplete(CGlass* pGlass); |
| | | bool checkAndUpdatePjComplete(CProcessJob* pJob); |
| | | CProcessJob* getGlassProcessJob(CGlass* pGlass); |
| | | |
| | | |
| | | private: |
| | | CRITICAL_SECTION m_criticalSection; |
| | | MasterListener m_listener; |
| | |
| | | std::string m_strFilepath; |
| | | BOOL m_bDataModify; |
| | | bool m_bContinuousTransfer; |
| | | bool m_bBatch; |
| | | |
| | | private: |
| | | /* 监控比特位的线程*/ |
| | |
| | | int m_nContinuousTransferCount; |
| | | int m_nContinuousTransferStep; |
| | | |
| | | // 新增已经开始处理的ProcessJob列表 |
| | | std::vector<CProcessJob*> m_inProcesJobs; |
| | | std::vector<CGlass*> m_queueGlasses; |
| | | std::vector<CGlass*> m_inProcesGlasses; |
| | | std::vector<CGlass*> m_completeGlasses; |
| | | |
| | | private: |
| | | bool m_bEnableEventReport; |
| | | bool m_bEnableAlarmReport; |