171 lines
5.2 KiB
C
171 lines
5.2 KiB
C
|
#pragma once
|
|||
|
#include "BaseClient.h"
|
|||
|
#include "../config/bean/AlarmCfg.h"
|
|||
|
class IPGLaserState {
|
|||
|
public:
|
|||
|
IPGLaserState() {
|
|||
|
currentSetpoint=0.0f;
|
|||
|
laserTemperature=0.0f;
|
|||
|
moduleErrorCode=0;
|
|||
|
outputPower = "OFF";
|
|||
|
isOverheat=false;
|
|||
|
isEmissionOn = false;
|
|||
|
isHighBackReflectionLevel = false;
|
|||
|
isExtCtrlEnable = false;
|
|||
|
isModuleDisconnected = false;
|
|||
|
isAimingBeamON = false;
|
|||
|
isModuleAlarm = false;
|
|||
|
// isPulseTooShort = false;
|
|||
|
// isPulseMode = false;
|
|||
|
isPowerSupplyOff = false;
|
|||
|
isModulationEnabled = false;
|
|||
|
isEmission = false;
|
|||
|
// isGateModeEnabled = false;
|
|||
|
// isHighPulseEnergy = false;
|
|||
|
isExtEmissionCtrlEnabled = false;
|
|||
|
isPowerSupplyFailure = false;
|
|||
|
// isLockFrontPanel = false;
|
|||
|
// isKeyswitchInREMPosition = false;
|
|||
|
// isWaveformPulseModeEnabled = false;
|
|||
|
// isHighDutyCycle = false;
|
|||
|
isLeakageCurrentTooHigh = false;
|
|||
|
isLowTemperature = false;
|
|||
|
isPowerSupplyVotageAlarm = false;
|
|||
|
isExtRedLightCtrlEnabled = false;
|
|||
|
isCritialError = false;
|
|||
|
isOpticalInterlockActive = false;
|
|||
|
//isAveragePowerTooHigh = false;
|
|||
|
}
|
|||
|
|
|||
|
public:
|
|||
|
float currentSetpoint; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
float laserTemperature; //<2F>ڲ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>¶<EFBFBD>
|
|||
|
string outputPower; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>W
|
|||
|
int moduleErrorCode; //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bool isOverheat; //<2F>¶ȹ<C2B6><C8B9><EFBFBD>
|
|||
|
bool isEmissionOn; //ʹ<><CAB9>
|
|||
|
bool isHighBackReflectionLevel; //<2F>߷<EFBFBD><DFB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bool isExtCtrlEnable; //<2F>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD>ģʽ
|
|||
|
bool isModuleDisconnected; //<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>ʧ<EFBFBD><CAA7>
|
|||
|
bool isModuleAlarm; //<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bool isAimingBeamON; //<2F><><EFBFBD>
|
|||
|
//bool isPulseTooShort; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̫С
|
|||
|
//bool isPulseMode; //<2F><><EFBFBD><EFBFBD>ģʽ
|
|||
|
bool isPowerSupplyOff; //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>ر<EFBFBD>
|
|||
|
bool isModulationEnabled; //<2F><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>
|
|||
|
bool isEmission; //<2F><><EFBFBD>ⷢ<EFBFBD><E2B7A2>
|
|||
|
// bool isGateModeEnabled; //Gateģʽ<C4A3><CABD><EFBFBD><EFBFBD>
|
|||
|
// bool isHighPulseEnergy; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̫<EFBFBD><CCAB>
|
|||
|
bool isExtEmissionCtrlEnabled; //<2F>ⲿEmission<6F><6E><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>
|
|||
|
bool isPowerSupplyFailure; //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|||
|
//bool isLockFrontPanel; //ǰ<><C7B0>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//bool isKeyswitchInREMPosition; //Կ<><EFBFBD><D7BF><EFBFBD>REMλ<4D><CEBB>
|
|||
|
//bool isWaveformPulseModeEnabled;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>
|
|||
|
//bool isHighDutyCycle; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̫<EFBFBD><CCAB>
|
|||
|
bool isLowTemperature; //<2F>¶ȹ<C2B6><C8B9><EFBFBD>
|
|||
|
bool isPowerSupplyVotageAlarm; //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>Χ
|
|||
|
bool isLeakageCurrentTooHigh; //©<><C2A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bool isExtRedLightCtrlEnabled; //<2F>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>
|
|||
|
bool isCritialError; //<2F>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bool isOpticalInterlockActive; //<2F><>ѧ<EFBFBD><D1A7>·<EFBFBD><C2B7>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·
|
|||
|
//bool isAveragePowerTooHigh; //ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̫<EFBFBD><CCAB>
|
|||
|
};
|
|||
|
|
|||
|
class IPGLaserClient:public TcpClient
|
|||
|
{
|
|||
|
public:
|
|||
|
IPGLaserClient(CommunicationCfg* pconfig, AlarmCfg* laserAlarm, int freq = 100);
|
|||
|
~IPGLaserClient();
|
|||
|
void InitCommand();
|
|||
|
void ResetAlarm();
|
|||
|
|
|||
|
void GetState(IPGLaserState& state);
|
|||
|
|
|||
|
private:
|
|||
|
void static PorcReadCurrentSetpoint(void* pobject, Command* pcommand);
|
|||
|
void static PorcReadLaserTemp(void* pobject, Command* pcommand);
|
|||
|
void static PorcReadOutputPower(void* pobject, Command* pcommand);
|
|||
|
void static PorcModuleErrorCode(void* pobject, Command* pcommand);
|
|||
|
void static PorcDeviceStatus(void* pobject, Command* pcommand);
|
|||
|
|
|||
|
private:
|
|||
|
IPGLaserState m_State;
|
|||
|
AlarmCfg* m_LaserAlarm;
|
|||
|
};
|
|||
|
|
|||
|
class IPGLaserStateV1 {
|
|||
|
public:
|
|||
|
IPGLaserStateV1() {
|
|||
|
currentSetpoint = 0.0f;
|
|||
|
laserTemperature = 0.0f;
|
|||
|
moduleErrorCode = 0;
|
|||
|
outputPower = "OFF";
|
|||
|
isCommandBufferOverload = false;
|
|||
|
isOverheat = false;
|
|||
|
isEmissionOn = false;
|
|||
|
isHighBackReflectionLevel = false;
|
|||
|
isAnalogPowerControlEnable = false;
|
|||
|
isAimingBeamON = false;
|
|||
|
isPowerSupplyOff = false;
|
|||
|
isModulationEnabled = false;
|
|||
|
isEmission = false;
|
|||
|
isGateModeEnable = false;
|
|||
|
isHardwareEmissionCtrlEnabled = false;
|
|||
|
isPowerSupplyFailure = false;
|
|||
|
isLowTemperature = false;
|
|||
|
isPowerSupplyAlarm = false;
|
|||
|
isHardwareAimingBeanControlEnable = false;
|
|||
|
isCritialError = false;
|
|||
|
isFiberInterlockActive = false;
|
|||
|
//isAveragePowerTooHigh = false;
|
|||
|
}
|
|||
|
|
|||
|
public:
|
|||
|
float currentSetpoint; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
float laserTemperature; //<2F>ڲ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>¶<EFBFBD>
|
|||
|
string outputPower; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>W
|
|||
|
int moduleErrorCode; //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bool isCommandBufferOverload; //ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bool isOverheat; //<2F>¶ȹ<C2B6><C8B9><EFBFBD>
|
|||
|
bool isEmissionOn; //ʹ<><CAB9>
|
|||
|
bool isHighBackReflectionLevel; //<2F>߷<EFBFBD><DFB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bool isAnalogPowerControlEnable; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bool isAimingBeamON; //<2F><><EFBFBD>
|
|||
|
bool isPowerSupplyOff; //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>ر<EFBFBD>
|
|||
|
bool isModulationEnabled; //<2F><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>
|
|||
|
bool isEmission; //<2F><><EFBFBD>ⷢ<EFBFBD><E2B7A2>
|
|||
|
bool isGateModeEnable; //<2F><>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>
|
|||
|
bool isHardwareEmissionCtrlEnabled; //Ӳ<>ط<EFBFBD><D8B7>俪<EFBFBD><E4BFAA>
|
|||
|
bool isPowerSupplyFailure; //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|||
|
bool isLowTemperature; //<2F>¶ȹ<C2B6><C8B9><EFBFBD>
|
|||
|
bool isPowerSupplyAlarm; //<2F><><EFBFBD>籨<EFBFBD><E7B1A8>
|
|||
|
bool isHardwareAimingBeanControlEnable; //Ӳ<>غ<EFBFBD><D8BA><EFBFBD><E2BFAA>
|
|||
|
bool isCritialError; //<2F>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bool isFiberInterlockActive; //<2F><>·<EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
};
|
|||
|
|
|||
|
class IPGLaserClientV1 :public TcpClient
|
|||
|
{
|
|||
|
public:
|
|||
|
IPGLaserClientV1(CommunicationCfg* pconfig, AlarmCfg* laserAlarm);
|
|||
|
~IPGLaserClientV1();
|
|||
|
//void Init();
|
|||
|
void InitCommand();
|
|||
|
void ResetAlarm();
|
|||
|
|
|||
|
void GetState(IPGLaserStateV1& state);
|
|||
|
|
|||
|
void DrawClientState();
|
|||
|
private:
|
|||
|
void static PorcReadCurrentSetpoint(void* pobject, Command* pcommand);
|
|||
|
void static PorcReadLaserTemp(void* pobject, Command* pcommand);
|
|||
|
void static PorcReadOutputPower(void* pobject, Command* pcommand);
|
|||
|
void static PorcModuleErrorCode(void* pobject, Command* pcommand);
|
|||
|
void static PorcDeviceStatus(void* pobject, Command* pcommand);
|
|||
|
|
|||
|
private:
|
|||
|
IPGLaserStateV1 m_State;
|
|||
|
AlarmCfg* m_LaserAlarm;
|
|||
|
AlarmCfgWrapper* m_AlarmCfgWrapper;
|
|||
|
};
|