82 lines
2.1 KiB
C++
82 lines
2.1 KiB
C++
#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;
|
||
};
|