1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #pragma once
- #include "IExamHandler.h"
- namespace DIOS::Dev::Detail::MachineryECOM
- {
- class ResetHandler : public IExamHandler
- {
- public:
- ResetHandler();
- ~ResetHandler();
- public:
- virtual void OnModelLoaded(IMotionModelManager *modelManager) override;
- virtual void OnCoordinatesLoaded(IPositionManager *coordinates) override;
- virtual RET_STATUS OnReset(DOF_MECH mech) override;
- virtual RET_STATUS OnCenterAdjust(DOF_MECH mech) override;
- virtual RET_STATUS OnSelectExamMode(const char *pExamKey) override;
- virtual RET_STATUS OnSetTechParamsInfo(ResDataObject &pParam) override;
- virtual RET_STATUS OnStopMech() override;
- virtual RET_STATUS OnStartMove(DOF_MECH mech, int nOrientation) override;
- virtual RET_STATUS OnStopMove(DOF_MECH mech) override;
- virtual void OnMotionEvent(const std::string &motionEventName) override;
- virtual void OnHandSwitchGearFirstPressed() override;
- virtual void OnHandSwitchGearFirstReleased() override;
- virtual void OnTubeAngleLowLimitPos() override;
- virtual void OnTubeAngleHighLimitPos() override;
- virtual void OnTubeHeightLowLimitPos() override;
- virtual void OnTubeHeightHighLimitPos() override;
- virtual void OnTubeAngleLeaveLowLimitPos()override;
- virtual void OnTubeAngleLeaveHighLimitPos()override;
- virtual void OnTubeHeightLeaveLowLimitPos()override;
- virtual void OnTubeHeightLeaveHighLimitPos()override;
- virtual void OnTubeAngleEncoderZPos() override;
- virtual void OnTubeHeightEncoderZPos() override;
- virtual void OnTubeHorizontalLeftLimitPos() override;
- virtual void OnTubeHorizontalRightLimitPos() override;
- virtual void OnTubeHorizontalLeaveLeftLimitPos() override;
- virtual void OnTubeHorizontalLeaveRightLimitPos() override;
- virtual void OnTubeHorizontalEncoderZPos() override;
- virtual void OnExit() override;
- private:
- void ChangeMotionModelStage(const std::string& stageName);
- void DoOnTubeAngleLandmarkPos();
- void DoOnTubHeightLandmarkPos();
- void DoStartReset();
- void OnMotionEventTubeAngleStop();
- void OnMotionEventTubeHeightStop();
- void OnMotionEventMotionStoped();
- void OnJudgeResetFinished();
- BOOL IsMovingEnable();
- void DoStartTubeHorizontalReset();
- void DoOnTubeHorizontalLandMarkPos();
- void OnMotionEventTubeHorizontalStop();
- void DoTubeAligntoDetector();
- private:
- BOOL m_modelLoaded;
- BOOL m_useTubeHeightLandmarkAD;
- BOOL m_useTubeAngleLandmarkAD;
- BOOL m_useTubeHorizontalLandmarkAD;
- BOOL m_useHandSwitchControlReset;
- BOOL m_bRestWorking;
- BOOL m_isResetting;
- BOOL m_bStopAtLowLimitPos;
- std::string m_currentWaitingTubeAngeStage;
- std::string m_currentWaitingTubeHeightStage;
- std::string m_currentWaitingTubeHorizontalStage;
- int m_ResetFinishedAxisCount;
- IPositionManager *m_postionManager;
- IMotionModelManager *m_modelManager;
- };
- }
|