12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #ifndef ICYLINDER_H
- #define ICYLINDER_H
- #include "IIO.h"
- /************************************************************************/
- //气缸
- //后续方法还需要定义
- class ICylinder
- {
- public:
- ICylinder(){};
- virtual ~ICylinder(){};
- virtual void Init(CDigitInput *pDI1, CDigitOutput *pDO1, CDigitInput *pDI2 = nullptr, CDigitOutput *pDO2 = nullptr) = 0;
- // {
- // m_cylinderOutput = pDO;
- // m_cylinderInput = pDI;
- // EnableArrivalCheck(false);
- // SetCheckTime(0.0);
- // }
- /**
- * @brief CylinderMove气缸运动
- * @param bDirection运动方向:true为正,false为负; bArrivalCheck为到位检查判断
- * @return 运动是否成功,0为成功,其余返回值为错误码;超时也会返回一个错误码
- */
- virtual int CylinderMove(bool bDirection, int nCheckTime = 0) = 0;
- virtual bool IsArrive(bool bDirection) = 0;
- // /**
- // * @brief EnableArrivalCheck运动到位检查
- // * @param bEnable使能判断到位,true则在每次气缸运动后在给定时间内阻塞判断是否到位;false则不阻塞判断
- // * @return
- // */
- // virtual void EnableArrivalCheck(bool bEnable = false)
- // {
- // m_bArrivalCheck = bEnable;
- // }
- // /**
- // * @brief SetCheckTime
- // * @param time 设置的到位判断时间
- // * @return
- // */
- // virtual void SetCheckTime(double time)
- // {
- // m_fCheckTime = time;
- // }
- protected:
- //1DO 2DI
- //DO输出
- CDigitOutput *m_cylinderOutput;
- //2个DI输入,判断输入位置
- CDigitInput *m_cylinderInput;
- // DIOData m_cylinderNegLimit;
- // //判断到位检查
- // bool m_bArrivalCheck;
- // //设置到位检查时间
- // double m_fCheckTime;
- };
- #endif // ICYLINDER_H
|