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;
|
|
|
|
|
};
|