1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #pragma once
- #include "ITubeHeightController.h"
- namespace DIOS::Dev::Detail::MachineryECOM
- {
- struct RS232_PARAM;
- class TubeHeightController : public ITubeHeightController
- {
- public:
- TubeHeightController();
- ~TubeHeightController();
- public:
- static std::string CLASSID();
- public:
- virtual void Initialize(const std::string &name) override;
- virtual void AttachServoDrive(IServoDrive *servodrive) override;
- virtual void SetPulseOneCircle(unsigned short pulseonecircle) override;
- virtual void SetPulseDutyCycle(float dutyCycle) override;
- virtual void OnCommunicationEstablished(ICommunicateEntity *communicate) override;
- virtual void StopMove() override;
- virtual void Move(int direction, int steps, int pwmperiod, float pulseDutyCycle = 0.0f) override;
- virtual void SetServoStatus(int svostatus) override;
- protected:
- virtual void InitializeServo();
- private:
- void DoWrite485(RS232_PARAM ¶m);
- void ServoOn(BOOL servoon);
- void SetDirection(int direction);
- void ClearServoDriveWarning();
- bool IsBrakeOpening();
- private:
- ICommunicateEntity *m_communicate;
- int m_driveNumber;
- int m_pulseInOneCircle;
- float m_pulseDutyCycle;
- IServoDrive *m_servo;
- };
- }
|