123456789101112131415161718192021222324252627282930313233343536373839 |
- #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);//获取电子称峰值压力
- };
|