#pragma once //#pragma warning(disable:4251) #include #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);//获取电子称峰值压力 };