#pragma once #pragma warning(disable:4251) #include #include #include #include #include #include #include #include #include "windows.h" #include "cereal/macros.hpp" #include "cereal/specialize.hpp" #include "cereal/version.hpp" #include "cereal/access.hpp" #include "cereal/cereal.hpp" #include "cereal/archives/binary.hpp" #include "cereal/archives/xml.hpp" #include "cereal/archives/json.hpp" #include "cereal/types/memory.hpp" #include "cereal/types/string.hpp" #include #include #include #include "SystemResources.h" #include "CError.h" #include "Machine.h" #include "CStaticStepData.h" #include "CManageDB.h" #pragma comment(lib,"Module.lib") using namespace std; using namespace ns_db; enum ATTRIBUTE { ZERO = 0X0, L = 0X1/*华夫盒侧*/, R = 0X2/*晶圆台侧*/, B = 0X4/*固晶*/, LR = L | R, LB = L | B, RB = R | B, LRB = L | R | B }; //#define SET_STEP_STATUS SetStatus //#define WAIT_STEP_STATUS WaitStatus //#define BOND_TABLE_ID 1 class __declspec(dllexport) CStepBase { private: protected: bool m_bIsInitSuccess = false; string m_sStepName = ""; CStaticStepData* m_pStepPublicData; //保存Step运行过程中的数据操作 Machine* m_pMachine = nullptr; CResources* m_pResources = nullptr; CBondMatrix* m_pBondMatrix = nullptr; //检测参数 virtual LONG CheckParameter(); //预处理,用于检测Step运行前的前置条件 virtual LONG Pretreatment(); //运行Step动作 virtual LONG Run() = 0; //数据保存,用于Step运行后的数据保存 virtual LONG PostData(); string m_mapParameter = ""; //Step输入参数 CStepBase(); public: //设置参数 LONG SetParameter(string mapParameter); //执行Step LONG Execute(); ////设置Step执行过程中状态 //LONG SetStatus(PARAM_NAME_ID id,bool bStatus); ////等待状态 //LONG WaitStatus(PARAM_NAME_ID id, bool bStatus); };