chenluhua1980
5 天以前 43cd50ae5629f8e18c349fe5e9a58aac298df9f2
SourceCode/Bond/Servo/CMaster.h
@@ -59,6 +59,11 @@
        EmptyChamber
    };
    enum class SchedulingMode {
        Production = 0, // 生产模式(按客户指定Port映射)
        Tuning = 1      // 调机模式(原有调度逻辑)
    };
    typedef std::function<void(void* pMaster, MASTERSTATE state)> ONMASTERSTATECHANGED;
    typedef std::function<void(void* pMaster, CEquipment* pEiuipment, BOOL bAlive)> ONEQALIVE;
    typedef std::function<void(CStep* pStep, int code, void* pData)> ONEQSTEPEVENT;
@@ -72,7 +77,7 @@
    typedef std::function<void(void* pMaster, CEquipment* pEquipment, const std::vector<CParam>& params)> ONSVDATAREPORT;
    typedef std::function<void(void* pMaster, CEquipment* pEquipment, int port, CJobDataS* pJobDataS)> ONJOBRECEIVED;
    typedef std::function<void(void* pMaster, CEquipment* pEquipment, int port, CJobDataS* pJobDataS)> ONJOBSENTOUT;
    typedef std::function<void(void* pMaster, CEquipment* pEquipment, int unitId, int status, int reason)> ONEQSTATUSCHANGED;
    typedef std::function<void(void* pMaster, CEquipment* pEquipment, int unitId, int status, int reason)> ONEQSTATUSCHANGEDEX;
    typedef std::function<void(void* pMaster, int round)> ONCTROUNDEND;
    typedef std::function<void(void* pMaster, void* pj)> ONPJSTART;
    typedef std::function<void(void* pMaster)> ONCONTROLJOBCHANGED;
@@ -91,7 +96,7 @@
        ONPROCESSDATAREPORTEX   onProcessDataReport;
        ONJOBRECEIVED           onJobReceived;
        ONJOBSENTOUT            onJobSentOut;
        ONEQSTATUSCHANGED       onEqStatusChanged;
        ONEQSTATUSCHANGEDEX       onEqStatusChanged;
        ONCTROUNDEND            onCTRoundEnd;
        ONPJSTART               onCjStart;
        ONPJSTART               onCjEnd;
@@ -124,6 +129,9 @@
        MASTERSTATE getState();
        void setCurveMode(CurveMode mode);
        CurveMode getCurveMode() const;
        void setSchedulingMode(SchedulingMode mode);
        SchedulingMode getSchedulingMode() const;
        void applySchedulingModePortMapping();
        unsigned DispatchProc();
        unsigned ReadBitsProc();
        void onTimer(UINT nTimerid);
@@ -194,6 +202,7 @@
        CRobotTask* createTransferTask_bake_to_cooling(CEquipment* pSrcEq);
        CRobotTask* createTransferTask_bakecooling_to_measurement(CEquipment* pSrcEq, CEquipment* pTarEq);
        CRobotTask* createTransferTask_restore(CEquipment* pEqSrc, CLoadPort** pPorts);
        CRobotTask* createTransferTask_returnOrigin(CEquipment* pEqSrc, CLoadPort** pPorts);
        CRobotTask* createTransferTask_continuous_transfer(CEquipment* pSrcEq, int nSrcSlot,
            CEquipment* pTarEq, int nTarSlot, int armNo = 1);
@@ -278,6 +287,7 @@
        // 在开始工艺前是否需要先比较 map
        BOOL m_isCompareMapsBeforeProceeding;
        BOOL m_bJobMode;
        SchedulingMode m_schedulingMode;
        // 千传圈数计数
        int m_nContinuousTransferCount;