CStepBase.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #pragma once
  2. #pragma warning(disable:4251)
  3. #include <string>
  4. #include <map>
  5. #include <iostream>
  6. #include <mutex>
  7. #include <iostream>
  8. #include <sstream>
  9. #include <ctime>
  10. #include <random>
  11. #include "windows.h"
  12. #include "cereal/macros.hpp"
  13. #include "cereal/specialize.hpp"
  14. #include "cereal/version.hpp"
  15. #include "cereal/access.hpp"
  16. #include "cereal/cereal.hpp"
  17. #include "cereal/archives/binary.hpp"
  18. #include "cereal/archives/xml.hpp"
  19. #include "cereal/archives/json.hpp"
  20. #include "cereal/types/memory.hpp"
  21. #include "cereal/types/string.hpp"
  22. #include <cereal/types/vector.hpp>
  23. #include <cereal/types/complex.hpp>
  24. #include <cereal/types/map.hpp>
  25. #include "SystemResources.h"
  26. #include "CError.h"
  27. #include "Machine.h"
  28. #include "CStaticStepData.h"
  29. #include "CManageDB.h"
  30. #pragma comment(lib,"Module.lib")
  31. using namespace std;
  32. using namespace ns_db;
  33. enum ATTRIBUTE {
  34. ZERO = 0X0, L = 0X1/*华夫盒侧*/, R = 0X2/*晶圆台侧*/, B = 0X4/*固晶*/,
  35. LR = L | R, LB = L | B, RB = R | B, LRB = L | R | B
  36. };
  37. //#define SET_STEP_STATUS SetStatus
  38. //#define WAIT_STEP_STATUS WaitStatus
  39. //#define BOND_TABLE_ID 1
  40. class __declspec(dllexport) CStepBase
  41. {
  42. private:
  43. protected:
  44. bool m_bIsInitSuccess = false;
  45. string m_sStepName = "";
  46. CStaticStepData* m_pStepPublicData; //保存Step运行过程中的数据操作
  47. Machine* m_pMachine = nullptr;
  48. CResources* m_pResources = nullptr;
  49. CBondMatrix* m_pBondMatrix = nullptr;
  50. //检测参数
  51. virtual LONG CheckParameter();
  52. //预处理,用于检测Step运行前的前置条件
  53. virtual LONG Pretreatment();
  54. //运行Step动作
  55. virtual LONG Run() = 0;
  56. //数据保存,用于Step运行后的数据保存
  57. virtual LONG PostData();
  58. string m_mapParameter = ""; //Step输入参数
  59. CStepBase();
  60. public:
  61. //设置参数
  62. LONG SetParameter(string mapParameter);
  63. //执行Step
  64. LONG Execute();
  65. ////设置Step执行过程中状态
  66. //LONG SetStatus(PARAM_NAME_ID id,bool bStatus);
  67. ////等待状态
  68. //LONG WaitStatus(PARAM_NAME_ID id, bool bStatus);
  69. };