123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- #ifndef _DATA_H_
- #define _DATA_H_
- #include <list>
- using namespace std;
- //---------------------------------------------- CBaseVar ----------
- class CBaseVar:public CObject
- {
- #define SPECIAL_VAR_TYPE_MIN_ID 10000
- #define SPECIAL_VAR_TYPE_MAX_ID 11000
- protected:
- DECLARE_SERIAL(CBaseVar);
- CBaseVar();
- public:
- CBaseVar &operator=(CBaseVar& member);
- virtual void Serialize(CArchive& ar);
- virtual void Fresh(bool bAlarm = true){};
- public:
- int m_nVarID; // 变量ID
- int m_nVarChildID; // 变量子ID(用于告警信息;比如空调设备:1内机;2外机;)
- int m_nVarItemID; // 变量相应bit位的ID
- int m_nVarTypeID; // 变量类型ID
- int m_nDevID; // 厂家设备ID
- CString m_strVarUID; // 变量UID
- CString m_strName; // 名称;
- CString m_strDesc; // 描述;
- int m_nMinValues; // 最小范围值
- int m_nMaxValues; // 最大范围值
- int m_nMaxConvtRate; // 最大转换比例
- int m_nMinConvtRate; // 最小转换比例
- //===========================================================
- // 新版本转换系数,改成浮点型
- //int m_nCoefficient; // 转换系数,用于各种需要转换系数来计算得到数据的功能;比如:漏水中的读电缆长度的功能中,
- // // 电缆长度是根据转换系数来计算后得到的电缆长度数据;电缆长度=读到的数据/10;它的系数是10。
- int m_nUpperLimit; // 上限阀值
- int m_nLowerLimit; // 下限阀值
- int m_nNormalState; // 正常状态
- int m_nCollectFreq; // 采集频率
- int m_nRearm; // 校正值
- int m_nOffset; // 偏移量
- int m_nPurview; // 读写权限,0:只读,1:只写,2:读写
- BOOL m_bIsDDE; // 是否允许DDE访问
- BOOL m_bRecCurve; // 记载历史曲线记录
- BOOL m_bRealtimeFlag; // 是否实时去采集数据,TURE 实时采集,FALSE 只采集一次
- BOOL m_bIsSave; // 是否保存历史记录
- int m_nFuncCode; // 功能码
- int m_nRegStartAddr; // 寄存器起始地址
- int m_nRegNum; // 请求寄存器的个数
- int m_nDataLen; // 变量的数据长度
- int m_nWaringLevel; // 报警级别
- CString m_strSetValue; // 设定值
- CString m_strUnit; // 单位
- CString m_strOnDesc; // 开的描述
- CString m_strOffDesc; // 关的描述
- CString m_strRelatePage; // 关联Web页面
- CString m_strFields; // SNMP域
- CString m_strSnmpOid; // SNMP对象OID
- CString m_strRs232Cmd; // 串口232请求命令
- CString m_strRs232Type; // 串口232请求类型
- int m_nRs232Index; // 串口232数据索引
- //===============================================
- // 新增成员变量 in 2010-04-07
- float m_fCoef; // 转换系数,用于各种需要转换系数来计算得到数据的功能;比如:漏水中的读电缆长度的功能中,
- // 电缆长度是根据转换系数来计算后得到的电缆长度数据;电缆长度=读到的数据/10;它的系数是10。
- int m_nIdentifyTime; // 辨识时间
- int m_nRedetectTime; // 重新检测等待时间
- BOOL m_bIsNormalAlarm; // 恢复正常是否触发远程报警
-
- int m_nStartBit; // 变量Bit起始位
- int m_nEndBit; // 变量Bit终止位
- int m_nStatusListNum; // 变量状态的size
- list<int> m_listStatusID; // 状态ID列表
- list<CString> m_listStatusDesc; // 报警状态描述
- CString m_strReserved1; // 预留1
- CString m_strReserved2; // 预留2
- CString m_strReserved3; // 预留3
- CString m_strReserved4; // 预留4
- CString m_strReserved5; // 预留5
- CString m_strReserved6; // 预留6
- CString m_strReserved7; // 预留7
- CString m_strReserved8; // 预留8
- CString m_strReserved9; // 预留9
- CString m_strReserved10; // 预留10
- int m_nReserved1; // 预留1
- int m_nReserved2; // 预留2
- int m_nReserved3; // 预留3
- int m_nReserved4; // 预留4
- int m_nReserved5; // 预留5
- int m_nReserved6; // 预留6
- int m_nReserved7; // 预留7
- int m_nReserved8; // 预留8
- int m_nReserved9; // 预留9
- int m_nReserved10; // 预留10
- bool m_bReserved1; // 预留1
- bool m_bReserved2; // 预留2
- bool m_bReserved3; // 预留3
- bool m_bReserved4; // 预留4
- bool m_bReserved5; // 预留5
- bool m_bReserved6; // 预留6
- bool m_bReserved7; // 预留7
- bool m_bReserved8; // 预留8
- bool m_bReserved9; // 预留9
- bool m_bReserved10; // 预留10
- };
- typedef CTypedPtrArray<CObArray, CBaseVar*> CBaseVarArray;
- //---------------------------------------------- CAnalog ----------
- class USCADADLLEXPORT CAnalog:public CBaseVar
- {
- protected:
- DECLARE_SERIAL(CAnalog);
- CAnalog();
- public:
- CAnalog &operator=(CAnalog& analog);
- virtual void Serialize(CArchive& ar);
- virtual void Fresh();
- virtual void SetValue(float fValue);
- private:
- void GetVarContent();
- void GetSpecialVarContent();
- unsigned int CalcCheckSum( void *pData, unsigned int nSize );
- public:
- CDevice* m_pDevice; //所属设备
- float m_fData; // 当前运行值;
- BOOL m_bSave; // 存盘否;
- BYTE* addr;
- BOOL bConfirm;
- // 历史数据
- int m_nMonth;
- int m_nDay;
- int m_nMinCount;
- int m_nMinutes;
- float m_fDayMax;
- float m_fDayAvg;
- float m_fDayMin;
- };
- typedef CTypedPtrArray<CObArray, CAnalog*> CAnalogArray;
- #endif
|