#pragma once using namespace DIOS::Dev; namespace DIOS::Dev::Detail::MachineryECOM { class LogicDeviceMechCarm : public MotionControlUnit { public: LogicDeviceMechCarm(MachineryECOMDriver* pMachineryDriver); ~LogicDeviceMechCarm(); public: virtual nDev::RET_STATUS FramePrep(); virtual nDev::RET_STATUS FrameReady(); virtual nDev::RET_STATUS FrameStart(); virtual nDev::RET_STATUS FrameAcq(); virtual nDev::RET_STATUS FrameEnd(); virtual nDev::RET_STATUS FramePost(); virtual nDev::RET_STATUS FrameError(); virtual nDev::RET_STATUS SeqError(); virtual nDev::RET_STATUS SeqEnd(); //virtual nDev::RET_STATUS SelectExamMode(const char* pExamKey); //virtual nDev::RET_STATUS SetExamInfo(ResDataObject& ParamIn); virtual nDev::RET_STATUS SetExpMode(const char* pExpMode); virtual nDev::RET_STATUS StartMove(); virtual nDev::RET_STATUS StopMove(); virtual nDev::RET_STATUS SetFrameRate(FLOAT frameRate); virtual nDev::RET_STATUS SetTechParamsInfo(ResDataObject& ParamIn); virtual nDev::RET_STATUS NotifyMachineryReadyState(bool bMachineryReady); virtual bool GetMachineryReadyState(); virtual nDev::RET_STATUS GetTomoResult(ResDataObject& resultAngle, ResDataObject& resultHeight); virtual nDev::RET_STATUS ForceStopAllMotion(); //ÆÕͨAction //virtual RET_STATUS DATA_ACTION StopMech() override; virtual nDev::RET_STATUS EnterCalibration(); virtual nDev::RET_STATUS ExitCalibration(); virtual nDev::RET_STATUS CalMotionTubeLineV(ResDataObject& ParamIn); virtual nDev::RET_STATUS CalMotionTubeAngleRotate(ResDataObject& ParamIn); virtual nDev::RET_STATUS CalGetEncoderofTubeLineV(ResDataObject& ParamOut); virtual nDev::RET_STATUS CalGetEncoderofTubeAngle(ResDataObject& ParamOut); virtual nDev::RET_STATUS ActiveTubeAngleZAxisClear(); virtual nDev::RET_STATUS CancelTubeAngleZAxisClear(); virtual nDev::RET_STATUS ActiveTubeHeightZAxisClear(); virtual nDev::RET_STATUS CancelTubeHeightZAxisClear(); virtual nDev::RET_STATUS NotifyMachineryTechParams(float tid, float sid, int project, float angle, int direction, std::string geometry); private: EXAM_MODE m_Mode; }; }