LogicDeviceMechTomo.h 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #pragma once
  2. #define ACTION_TIMEOUT_MECH (20000)
  3. using namespace DIOS::Dev;
  4. namespace DIOS::Dev::Detail::MachineryECOM
  5. {
  6. class LogicDeviceMechTomo : public MotionControlUnit
  7. {
  8. public:
  9. LogicDeviceMechTomo(MachineryECOMDriver* pMachineryDriver);
  10. ~LogicDeviceMechTomo();
  11. public:
  12. virtual nDev::RET_STATUS FramePrep();
  13. virtual nDev::RET_STATUS FrameReady();
  14. virtual nDev::RET_STATUS FrameStart();
  15. virtual nDev::RET_STATUS FrameAcq();
  16. virtual nDev::RET_STATUS FrameIn();
  17. virtual nDev::RET_STATUS FrameEnd();
  18. virtual nDev::RET_STATUS FramePost();
  19. virtual nDev::RET_STATUS FrameError();
  20. virtual nDev::RET_STATUS SeqError();
  21. virtual nDev::RET_STATUS SeqEnd();
  22. //virtual nDev::RET_STATUS SelectExamMode(const char* pExamKey);
  23. //virtual nDev::RET_STATUS SetExamInfo(ResDataObject &ParamIn);
  24. virtual nDev::RET_STATUS SetExpMode(const char* pExpMode);
  25. virtual nDev::RET_STATUS SetWorkStation(const char* pWorkStation);
  26. virtual nDev::RET_STATUS StartMove();
  27. virtual nDev::RET_STATUS StopMove();
  28. virtual nDev::RET_STATUS SetFrameRate(FLOAT frameRate);
  29. virtual nDev::RET_STATUS SetTechParamsInfo(ResDataObject &ParamIn);
  30. virtual nDev::RET_STATUS CenterAdjust(ResDataObject &ParamIn);
  31. virtual nDev::RET_STATUS QueryAlignStatus(ResDataObject &ParamIn);
  32. virtual bool GetMachineryReadyState();
  33. virtual int GetMachineryTomoMotionLimitationState();
  34. virtual nDev::RET_STATUS NotifyMachineryReadyState(bool bMachineryReady);
  35. virtual nDev::RET_STATUS NotifyMachineryAlignStatus(bool bSystemAlign);
  36. virtual nDev::RET_STATUS NotifyMachineryTechParams(float tid, float sid, int project, float angle, int direction, std::string geometry);
  37. virtual nDev::RET_STATUS EnterCalibration();
  38. virtual nDev::RET_STATUS CalMotionTubeLineV(ResDataObject &ParamIn);
  39. virtual nDev::RET_STATUS CalMotionTubeAngleRotate(ResDataObject &ParamIn);
  40. virtual nDev::RET_STATUS CalMotionTubeAngleFindeAxisZ(ResDataObject &ParamIn);
  41. virtual nDev::RET_STATUS CalGetADofTubeLineV(ResDataObject &ParamOut);
  42. virtual nDev::RET_STATUS CalGetADofDetector(ResDataObject &ParamOut);
  43. virtual nDev::RET_STATUS CalGetADofTubeAngle(ResDataObject &ParamOut);
  44. virtual nDev::RET_STATUS CalSaveParamsofTubeLiveV(ResDataObject &ParamIn, ResDataObject &ParamOut);
  45. virtual nDev::RET_STATUS CalSaveParamsofTubeAngle(ResDataObject &ParamIn, ResDataObject &ParamOut);
  46. virtual nDev::RET_STATUS CalSaveParamsofDetector(ResDataObject &ParamIn, ResDataObject &ParamOut);
  47. virtual nDev::RET_STATUS CalGetEncoderofTubeLineV(ResDataObject &ParamOut);
  48. virtual nDev::RET_STATUS CalGetEncoderofTubeAngle(ResDataObject &ParamOut);
  49. virtual nDev::RET_STATUS CalSaveEncoderCorrectonofTubeLiveV(ResDataObject &ParamIn, ResDataObject &ParamOut);
  50. virtual nDev::RET_STATUS CalSetADLimitationofEncoder(ResDataObject &ParamIn);
  51. virtual nDev::RET_STATUS SetSvoStatus(ResDataObject &ParamIn);
  52. virtual nDev::RET_STATUS AutoADCalibration(ResDataObject &ParamIn);
  53. virtual nDev::RET_STATUS ExitCalibration();
  54. virtual nDev::RET_STATUS EnterMechnicalSelfTest();
  55. virtual nDev::RET_STATUS ExitMechnicalSelfTest();
  56. virtual nDev::RET_STATUS StartSelfTest(ResDataObject &ParamIn);
  57. virtual nDev::RET_STATUS ParkingTo(ResDataObject &ParamIn);
  58. virtual nDev::RET_STATUS ActiveTubeAngleZAxisClear();
  59. virtual nDev::RET_STATUS CancelTubeAngleZAxisClear();
  60. virtual nDev::RET_STATUS ActiveTubeHeightZAxisClear();
  61. virtual nDev::RET_STATUS CancelTubeHeightZAxisClear();
  62. virtual nDev::RET_STATUS TubeAngleRotateToZAxis();
  63. virtual nDev::RET_STATUS TubeHeightMoveToZAxis();
  64. virtual nDev::RET_STATUS ForceStopAllMotion();
  65. virtual nDev::RET_STATUS MotionTest_StartTubeLineVMotion2Target(ResDataObject &ParamIn);
  66. virtual nDev::RET_STATUS MotionTest_StopLineVMotion(ResDataObject &ParamIn);
  67. virtual nDev::RET_STATUS MotionTest_TubeAngleRotate2Target(ResDataObject &ParamIn);
  68. virtual nDev::RET_STATUS MotionTest_StopRotation(ResDataObject &ParamIn);
  69. virtual nDev::RET_STATUS MotionTest_BindRotationEncoder(ResDataObject &ParamIn);
  70. virtual nDev::RET_STATUS MotionTest_UnbindRotationEncoder(ResDataObject &ParamIn);
  71. virtual nDev::RET_STATUS MotionTest_SystemInitial(ResDataObject &ParamIn);
  72. virtual nDev::RET_STATUS MotionTest_TubeCenterAlign(ResDataObject &ParamIn);
  73. virtual nDev::RET_STATUS MotionTest_Move2ParkingPosition(ResDataObject &ParamIn);
  74. virtual nDev::RET_STATUS GetTomoResult(ResDataObject& resultAngle, ResDataObject& resultHeight);
  75. virtual nDev::RET_STATUS RecalculateTomoMotionParam();
  76. virtual nDev::RET_STATUS CalMotionTubeLineH(ResDataObject& ParamIn);
  77. virtual nDev::RET_STATUS CalGetADofTubeLineH(ResDataObject& ParamOut);
  78. virtual nDev::RET_STATUS CalGetEncoderofTubeLineH(ResDataObject& ParamOut);
  79. virtual nDev::RET_STATUS CalGetADofHorizontalDetector(ResDataObject& ParamOut);
  80. virtual nDev::RET_STATUS CalSaveParamsofTubeLiveH(ResDataObject& ParamIn, ResDataObject& ParamOut);
  81. virtual nDev::RET_STATUS CalSaveParamsofDetectorHorizontal(ResDataObject& ParamIn, ResDataObject& ParamOut);
  82. virtual nDev::RET_STATUS CalSaveResetLowPosition(ResDataObject& ParamIn, ResDataObject& ParamOut);
  83. virtual nDev::RET_STATUS CalSaveResetEcoderZeroPosition(ResDataObject& ParamIn, ResDataObject& ParamOut);
  84. virtual nDev::RET_STATUS CalGetResetPosParam(ResDataObject& ParamIn, ResDataObject& ParamOut);
  85. private:
  86. EXAM_MODE m_Mode;
  87. private:
  88. };
  89. }