GrpcPrint/PrintS/Communication/TempCtrlClient.h

82 lines
2.1 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
#include "BaseClient.h"
#pragma pack(1)
struct TempAlarm
{
char m_startFlag; //开始标记
BoolData* isOverLimit; //上限报警
BoolData* isLowerLimit; //下限报警
BoolData* isActiveAlarm; //正偏差报警
BoolData* isInactiveAlarm; //负偏差报警
BoolData* isInputLimit; //超量程报警
BoolData* al1; //AL1状态0为动作
BoolData* al2; //AL2状态0为动作
char m_endFlag; //结束标记
TempAlarm()
: isOverLimit(new BoolData("isOverLimit", u8"上限报警"))
, isLowerLimit(new BoolData("isLowerLimit", u8"下限报警"))
, isActiveAlarm(new BoolData("isActiveAlarm", u8"正偏差报警"))
, isInactiveAlarm(new BoolData("isInactiveAlarm", u8"负偏差报警"))
, isInputLimit(new BoolData("isInputLimit", u8"超量程报警"))
, al1(new BoolData("al1", u8"AL1状态0为动作"))
, al2(new BoolData("al2", u8"AL2状态0为动作")){
//isOverLimit = false;
//isLowerLimit = false;
//isActiveAlarm = false;
//isInactiveAlarm = false;
//isInputLimit = false;
//al1 = false;
//al2 = false;
}
};
class TempStat
{
public:
TempStat()
: measuredValue(new FloatData("measuredValue", u8"测量值"))
, settingValue(new FloatData("settingValue", u8"给定值"))
, outputValue(new UcharData("outputValue", u8"输出值MV"))
, scale(new IntData("scale", u8"数值放大倍数")){
//measuredValue = 0;
//settingValue = 0;
//outputValue = 0;
//scale = 0;
}
~TempStat(){}
public:
BaseStat baseStat;
char m_startFlag; //开始标记
FloatData* measuredValue; //测量值
FloatData* settingValue; //给定值
UcharData* outputValue; //输出值MV
IntData* scale; //数值放大倍数
char m_endFlag; //开始标记
TempAlarm alarm; //报警信息
};
#pragma pack()
class TempCtrlClient :public TcpClient
{
public:
TempCtrlClient(CommunicationCfg* pconfig);
~TempCtrlClient();
void SetTargeValue(float value);
//void GetStat(TempStat& stat);
private:
void InitCommand();
void static ProcTempInfo(void* pobject, Command* pcommand);
void static ProcSetTemp(void* pobject, Command* pcommand);
private:
TempStat m_Stat;
};