#pragma once #include "MotorControl.h" class AFX_EXT_CLASS CMotorControl_Umac : public CMotorControl { public: CMotorControl_Umac(int nIndex, DWORD dwPeriod=100, int nThreadCount = 1); virtual ~CMotorControl_Umac(void); public: // CMotorControl virtual int Connect(const CMotorControlInfo* pControlInfo); virtual void Disconnect(); virtual BOOL ReadAddressValue(int nAddress, long &nValue); virtual BOOL WriteAddressValue(int nAddress, long nValue); virtual BOOL ReadAddressValue(int nAddress, float &fValue); virtual BOOL WriteAddressValue(int nAddress, float fValue); virtual BOOL ReadAddressValue(int nAddress, double &dValue); virtual BOOL WriteAddressValue(int nAddress, double dValue); // gantry virtual BOOL GantryManualGo(int nGantryIdx, const VectorDouble& vectorPos, int nMoveType); // get status virtual int GetStatus( int& nStatusCode, CString& strStatusMessage ); protected: virtual BOOL ReadAxisPosition(float *pAxisPos, int nAxisCount); virtual BOOL ReadAddressValue(long nAddress, long *pArrayData, int nArrayCount); virtual BOOL WriteAddressValue(long nAddress, long *pArrayData, int nArrayCount); virtual BOOL ReadAddressValue(long nAddress, float *pArrayData, int nArrayCount); virtual BOOL WriteAddressValue(long nAddress, float *pArrayData, int nArrayCount); protected: UINT m_uDeviceID; };