#pragma once //#pragma warning(disable:4251) #include <mutex> #include"CRS485.h" #ifdef ELEFORCE_EXPORTS #define ELEForce_DLL_API __declspec(dllexport) #else #define ELEForce_DLL_API //__declspec(dllimport) #endif #define FORCE_BASE_ERROR (MODBUS_BASE_ERROR+20000) //�豸���� enum Force_Ctltype {XJC_5100MF = 1, Other }; class ELEForce_DLL_API CEleForce { private: CRS485* m_ComPort; Force_Ctltype m_iForceType; bool m_bIsInitSuccess = false; static CEleForce *m_EleForce; static std::mutex m_EleMutex; std::mutex m_mutexReadWrite; //���ڶ�д�� long Init(string sport, Force_Ctltype iTemperType); //��ʼ�� void UnInit();//�ر� public: // ��ȡ��ʵ������ static long GetInstance(string strPort, Force_Ctltype iForceType, CEleForce **pForce); static string GetErrText(long errid); long GetEleForce(unsigned char rtuAddr, double& dValue, unsigned char iMaxSendNum = 3);//��ȡ���ӳƵ�ǰѹ�� long GetEleMaxForce(unsigned char rtuAddr, double& dValue, unsigned char iMaxSendNum = 3);//��ȡ���ӳƷ�ֵѹ�� };