77 lines
2.2 KiB
C++
77 lines
2.2 KiB
C++
#pragma once
|
|
#include "BaseClient.h"
|
|
#include "../config/bean/AlarmCfg.h"
|
|
|
|
class CXLaserState {
|
|
public:
|
|
|
|
|
|
CXLaserState() {
|
|
m_Current3OverLimitAlarm = false;
|
|
m_QBHContactBadness = false;
|
|
m_ContinueLightAlarm = false;
|
|
m_BoardLowBattery = false;
|
|
m_InterLockAlarm = false;
|
|
m_EmergencyStopAlarm = false;
|
|
m_Current2OverLimitAlarm = false;
|
|
m_PumpTempOverLimitAlarm = false;
|
|
m_PowerTempOverLimit = false;
|
|
m_OpticalTempOverLimitAlarm = false;
|
|
m_LowVoltageAlarm = false;
|
|
m_ReturnLightAlarm = false;
|
|
m_ForwardLightAlarm = false;
|
|
m_Current1OverLimitAlarm = false;
|
|
m_HighVoltageAlarm = false;
|
|
m_Expire = false;
|
|
|
|
m_IsExtCtrl = false;
|
|
m_ExtPower = 0.0f;
|
|
m_IsLaserOutput = false;
|
|
}
|
|
~CXLaserState() {}
|
|
|
|
public:
|
|
BaseStat m_BaseStat;
|
|
bool m_Current3OverLimitAlarm; //电流3过流
|
|
bool m_QBHContactBadness; //QBH接触不良
|
|
bool m_ContinueLightAlarm; //连续前向光报警锁机
|
|
bool m_BoardLowBattery; //主板电池电量不足
|
|
bool m_InterLockAlarm; //互锁报警
|
|
bool m_EmergencyStopAlarm; //急停报警
|
|
bool m_Current2OverLimitAlarm; //电流2过流
|
|
bool m_PumpTempOverLimitAlarm; //泵源温度过高
|
|
bool m_PowerTempOverLimit; //电模块温度过高
|
|
bool m_OpticalTempOverLimitAlarm; //光模块温度过高
|
|
bool m_LowVoltageAlarm; //欠压报警
|
|
bool m_ReturnLightAlarm; //回光报警
|
|
bool m_ForwardLightAlarm; //前向光报警
|
|
bool m_Current1OverLimitAlarm; //电流1过流
|
|
bool m_HighVoltageAlarm; //过压报警
|
|
bool m_Expire; //加解到期
|
|
|
|
bool m_IsExtCtrl; //是否外控
|
|
float m_ExtPower; //外控功率
|
|
bool m_IsLaserOutput; //是否激光输出
|
|
};
|
|
|
|
class CXLaserClient :public TcpClient
|
|
{
|
|
public:
|
|
CXLaserClient(CommunicationCfg* pconfig, AlarmCfg* laserAlarm);
|
|
~CXLaserClient();
|
|
void InitCommand();
|
|
//void DrawClientState();
|
|
|
|
void GetState(CXLaserState& state);
|
|
private:
|
|
void static PorcReadAlarm(void* pobject, Command* pcommand);
|
|
void static PorcReadExtCtrl(void* pobject, Command* pcommand);
|
|
void static PorcReadExtPower(void* pobject, Command* pcommand);
|
|
void static PorcReadLaserState(void* pobject, Command* pcommand);
|
|
private:
|
|
CXLaserState m_State;
|
|
AlarmCfg* m_LaserAlarm;
|
|
AlarmCfgWrapper* m_AlarmCfgWrapper;
|
|
};
|
|
|