62 lines
1.2 KiB
C++
62 lines
1.2 KiB
C++
#pragma once
|
||
#include "BaseClient.h"
|
||
|
||
struct TempAlarm
|
||
{
|
||
bool isOverLimit; //上限报警
|
||
bool isLowerLimit; //下限报警
|
||
bool isActiveAlarm; //正偏差报警
|
||
bool isInactiveAlarm; //负偏差报警
|
||
bool isInputLimit; //超量程报警
|
||
bool al1; //AL1状态,0为动作
|
||
bool al2; //AL2状态,0为动作
|
||
TempAlarm() {
|
||
isOverLimit = false;
|
||
isLowerLimit = false;
|
||
isActiveAlarm = false;
|
||
isInactiveAlarm = false;
|
||
isInputLimit = false;
|
||
al1 = false;
|
||
al2 = false;
|
||
}
|
||
};
|
||
|
||
class TempStat
|
||
{
|
||
public:
|
||
TempStat() {
|
||
measuredValue = 0;
|
||
settingValue = 0;
|
||
outputValue = 0;
|
||
scale = 0;
|
||
}
|
||
~TempStat(){}
|
||
public:
|
||
BaseStat baseStat;
|
||
float measuredValue; //测量值
|
||
float settingValue; //给定值
|
||
unsigned char outputValue; //输出值MV
|
||
TempAlarm alarm; //报警信息
|
||
int scale; //数值放大倍数
|
||
};
|
||
|
||
|
||
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;
|
||
};
|