148 lines
5.6 KiB
C++
148 lines
5.6 KiB
C++
#pragma once
|
|
#include "BaseClient.h"
|
|
#include "../config/bean/AlarmCfg.h"
|
|
|
|
|
|
class CXFlatLaserState {
|
|
public:
|
|
CXFlatLaserState() {
|
|
m_PumpSourceTemperatureAlarm = false; //泵源温度报警
|
|
m_OpticalPathTemperatureAlarm = false; //光路温度报警
|
|
m_CircuitTemperatureAlarm = false; //电路温度报警
|
|
m_EncryptionExpirationAlarm = false; //加密过期报警
|
|
m_DriveBoard1OvercurrentAlarm = false; //驱动板1过流报警
|
|
m_DriveBoard2OvercurrentAlarm = false; //驱动板2过流报警
|
|
m_DriveBoard3OvercurrentAlarm = false; //驱动板3过流报警
|
|
m_DriveBoard4OvercurrentAlarm = false; //驱动板4过流报警
|
|
m_QbhTemperatureAlarm = false; //QBH温度报警
|
|
m_ExternalBeamCombinerTemperatureAlarm = false; //外合束器温度报警
|
|
m_WaterFlowMeterAlarm = false; //水流量计报警
|
|
m_PumpSourceTemperature = 0; //泵源温度
|
|
m_OpticalPathTemperature = 0; //光路温度
|
|
m_CircuitTemperature = 0; //电路温度
|
|
m_DriveBoard1Current = 0.0f; //驱动板1电流
|
|
m_DriveBoard2Current = 0.0f; //驱动板2电流
|
|
m_DriveBoard3Current = 0.0f; //驱动板3电流
|
|
m_DriveBoard4Current = 0.0f; //驱动板4电流
|
|
m_SensorHumidity = 0; //传感器湿度
|
|
m_InternalControlPower = 0.0f; //内控功率
|
|
m_PwmFrequency = 0; //PWM频率
|
|
m_PwmDutyCycle = 0.0f; //PWM占空比
|
|
m_PwmPower = 0.0f; //PWM功率
|
|
m_InternalPd1Alarm = false; //内部PD1报警
|
|
m_Interna2Pd1Alarm = false; //内部PD2报警
|
|
m_PulseEnergyAlarm = false; //脉冲能量报警
|
|
m_QbhContactAlarm = false; //QBH触点报警
|
|
m_EmergencyStopAlarm = false; //急停报警
|
|
m_WaterFlowSwitchAlarm = false; //水流量开关报警
|
|
m_InterlockAlarm = false; //互锁报警
|
|
m_AveragePowerAlarm = false; //平均功率报警
|
|
m_MAlarm = false; //M报警
|
|
m_ExternalBeamCombinerPdAlarm = false; //外合束器PD报警
|
|
m_ExternalAnalogAlarm = false; //外部模拟量报警
|
|
m_AbnormalLaserEmissionAlarm = false; //异常出光报警
|
|
m_UpperEmergencyStopAlarm = false; //上位机急停报警
|
|
m_PowerAlarm = false; //功率报警
|
|
m_MainPowerSupply1Alarm = false; //主电源1报警
|
|
m_MainPowerSupply2Alarm = false; //主电源2报警
|
|
m_IoEN = false;
|
|
m_IoPWM = false;
|
|
m_IoStop = false;
|
|
m_IoRed = false;
|
|
m_LaserState = false; //激光状态
|
|
m_RedLightState = false; //红光状态
|
|
m_IoStart = false;
|
|
m_IoControl = false;
|
|
m_PwmStartError = false; //PWM开启报警
|
|
m_PdPowerError = false; //PD电源报警
|
|
m_AnalogPower = 0.0f;
|
|
m_PwmFrequencyAssist = 0;
|
|
m_PwmDutyCycleAssist = 0.0f;
|
|
m_PwmPowerAssist = 0.0f;
|
|
|
|
}
|
|
~CXFlatLaserState() {
|
|
|
|
}
|
|
|
|
public:
|
|
bool m_PumpSourceTemperatureAlarm; //泵源温度报警
|
|
bool m_OpticalPathTemperatureAlarm; //光路温度报警
|
|
bool m_CircuitTemperatureAlarm; //电路温度报警
|
|
bool m_EncryptionExpirationAlarm; //加密过期报警
|
|
bool m_DriveBoard1OvercurrentAlarm; //驱动板1过流报警
|
|
bool m_DriveBoard2OvercurrentAlarm; //驱动板2过流报警
|
|
bool m_DriveBoard3OvercurrentAlarm; //驱动板3过流报警
|
|
bool m_DriveBoard4OvercurrentAlarm; //驱动板4过流报警
|
|
bool m_QbhTemperatureAlarm; //QBH温度报警
|
|
bool m_ExternalBeamCombinerTemperatureAlarm; //外合束器温度报警
|
|
bool m_WaterFlowMeterAlarm; //水流量计报警
|
|
int m_PumpSourceTemperature; //泵源温度
|
|
int m_OpticalPathTemperature; //光路温度
|
|
int m_CircuitTemperature; //电路温度
|
|
float m_DriveBoard1Current; //驱动板1电流
|
|
float m_DriveBoard2Current; //驱动板2电流
|
|
float m_DriveBoard3Current; //驱动板3电流
|
|
float m_DriveBoard4Current; //驱动板4电流
|
|
int m_SensorHumidity; //传感器湿度
|
|
float m_InternalControlPower; //内控功率
|
|
unsigned short m_PwmFrequency; //PWM频率
|
|
float m_PwmDutyCycle; //PWM占空比
|
|
float m_PwmPower; //PWM功率
|
|
bool m_InternalPd1Alarm; //内部PD1报警
|
|
bool m_Interna2Pd1Alarm; //内部PD2报警
|
|
bool m_PulseEnergyAlarm; //脉冲能量报警
|
|
bool m_QbhContactAlarm; //QBH触点报警
|
|
bool m_EmergencyStopAlarm; //急停报警
|
|
bool m_WaterFlowSwitchAlarm; //水流量开关报警
|
|
bool m_InterlockAlarm; //互锁报警
|
|
bool m_AveragePowerAlarm; //平均功率报警
|
|
bool m_MAlarm; //M报警
|
|
bool m_ExternalBeamCombinerPdAlarm; //外合束器PD报警
|
|
bool m_ExternalAnalogAlarm; //外部模拟量报警
|
|
bool m_AbnormalLaserEmissionAlarm; //异常出光报警
|
|
bool m_UpperEmergencyStopAlarm; //上位机急停报警
|
|
bool m_PowerAlarm; //功率报警
|
|
bool m_MainPowerSupply1Alarm; //主电源1报警
|
|
bool m_MainPowerSupply2Alarm; //主电源2报警
|
|
bool m_IoEN;
|
|
bool m_IoPWM;
|
|
bool m_IoStop;
|
|
bool m_IoRed;
|
|
bool m_LaserState; //激光状态
|
|
bool m_RedLightState; //红光状态
|
|
bool m_IoStart;
|
|
bool m_IoControl;
|
|
bool m_PwmStartError; //PWM开启报警
|
|
bool m_PdPowerError; //PD电源报警
|
|
float m_AnalogPower;
|
|
|
|
unsigned short m_PwmFrequencyAssist;
|
|
float m_PwmDutyCycleAssist;
|
|
float m_PwmPowerAssist;
|
|
};
|
|
|
|
|
|
class CXFlatLaserClient :public TcpClient
|
|
{
|
|
public:
|
|
CXFlatLaserClient(CommunicationCfg* cfg, AlarmCfg* alarm);
|
|
~CXFlatLaserClient();
|
|
void GetState(CXFlatLaserState& state);
|
|
//void DrawClientState()override;
|
|
|
|
void SetPwmFrequency(unsigned short pwmf);
|
|
void SetPwmDutyCycle(float fvalue);
|
|
void SetPwmPower(float fvalue);
|
|
private:
|
|
void InitCommand();
|
|
void static PorcReadInfo1(void* pobject, Command* pcommand);
|
|
void static PorcReadInfo2(void* pobject, Command* pcommand);
|
|
void static PorcReadInfo3(void* pobject, Command* pcommand);
|
|
void static ProcWrite(void* pobject, Command* pcommand) {}
|
|
private:
|
|
CXFlatLaserState m_CXFlatLaserState;
|
|
AlarmCfg* m_LaserAlarm;
|
|
};
|
|
|