GrpcPrint/PrintS/Communication/TempCtrlClient.h

82 lines
2.1 KiB
C
Raw Normal View History

2024-04-12 15:51:41 +08:00
#pragma once
2024-03-19 17:45:12 +08:00
#include "BaseClient.h"
2024-04-12 15:51:41 +08:00
#pragma pack(1)
2024-03-19 17:45:12 +08:00
struct TempAlarm
{
2024-04-12 15:51:41 +08:00
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;
2024-03-19 17:45:12 +08:00
}
};
2024-04-12 15:51:41 +08:00
2024-03-19 17:45:12 +08:00
class TempStat
{
public:
2024-04-12 15:51:41 +08:00
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;
2024-03-19 17:45:12 +08:00
}
~TempStat(){}
public:
BaseStat baseStat;
2024-04-12 15:51:41 +08:00
char m_startFlag; //开始标记
FloatData* measuredValue; //测量值
FloatData* settingValue; //给定值
UcharData* outputValue; //输出值MV
IntData* scale; //数值放大倍数
char m_endFlag; //开始标记
TempAlarm alarm; //报警信息
};
#pragma pack()
2024-03-19 17:45:12 +08:00
class TempCtrlClient :public TcpClient
{
public:
TempCtrlClient(CommunicationCfg* pconfig);
~TempCtrlClient();
void SetTargeValue(float value);
2024-04-12 15:51:41 +08:00
//void GetStat(TempStat& stat);
2024-03-19 17:45:12 +08:00
private:
void InitCommand();
void static ProcTempInfo(void* pobject, Command* pcommand);
void static ProcSetTemp(void* pobject, Command* pcommand);
private:
TempStat m_Stat;
};