📄 glovar.h
字号:
#ifndef GLOVAR_ZDP
#define GLOVAR_ZDP
#include "stdafx.h"
// ListCtrl 常量
#define COLUMN_NUMBER 4 // 列总数
#define COLUMN_CDNAME 0 // 列 "测点名称" 索引
#define COLUMN_CSNAME 1 // 列 "参数名称" 索引
#define COLUMN_DATA 2 // 列 "数据值" 索引
#define COLUMN_DWMC 3 // 列 "单位" 索引
#define COLUMN_WARN 4 // 列 "警告" 索引
#define READ_NO 1 // 消息未读
#define READ_YES 2 // 消息已读
extern CString SYS_PATH;
extern int GlastLine;
#define DMPcomERR(e) dmpCOMerr(e,__LINE__,__FILE__);
extern void dmpCOMerr( _com_error &e, int line, char *file, bool traceOnly=false );
inline void TESTHR(HRESULT x) {if FAILED(x) _com_issue_error(x);};
#define TRYTESTHR(x) try{TESTHR(x);}catch(_com_error &e){DMPcomERR(e);}
#define TRYCOME(x) try{x;}catch(_com_error &e){DMPcomERR(e);}
#define rsstr(R,X) (R->EoF?CString(""):(R->Fields->Item[_variant_t(X)]->Value.vt == VT_NULL ? CString(""):CString((char *)(_bstr_t)(R->Fields->Item[_variant_t(X)]->Value))))
#define rsi2(R,X) (R->EoF?0:(R->Fields->Item[_variant_t(X)]->Value.vt == VT_NULL ? 0:(short)(R->Fields->Item[_variant_t(X)]->Value)))
#define rsi4(R,X) (R->EoF?0:(R->Fields->Item[_variant_t(X)]->Value.vt == VT_NULL ? 0:(long)(R->Fields->Item[_variant_t(X)]->Value)))
#define rsif(R,X) (R->EoF?0:(R->Fields->Item[_variant_t(X)]->Value.vt == VT_NULL ? 0:(float)(R->Fields->Item[_variant_t(X)]->Value)))
#define rstime(R,X) (R->EoF?0:(R->Fields->Item[_variant_t(X)]->Value.vt == VT_NULL ? 0:(DATE)(R->Fields->Item[_variant_t(X)]->Value)))
#define TRIM(X) {X.TrimLeft();X.TrimRight();}
extern const TCHAR gcszWindowName[];
extern const TCHAR gcszWindowClass[];
extern BOOL m_bShutDown; // 本次退出是否因为系统 ShutDown
extern COLORREF grgbArray[16];
extern LPTSTR grgbtextArray[16];
//CStringArray split(CString str,CString delimiter)
//str:source,delimiter:切分符
CStringArray * split(CString str,CString delimiter);
CStringArray * GetLineFromFile(CString filename);
typedef struct
{
int ybid; //int 仪表ID
long ybbaud; //CString Com波特率
CString ybname; //CString 仪表名称
CString ybtype; //CString 仪表类型
CString comport; //CString 连接COM口
CString ybaddr; //CString 仪表地址
CString AnZDD; //CString 安装地点
}YB,NEAR * NPYB; //现场仪表分布情况
extern CTypedPtrArray < CPtrArray, NPYB > arrYB;
typedef struct
{
int cdid; //int 测点ID
CString cdname; //CString 测点名称
int ybid; //int 仪表ID
int chanal; //int 通道号
}CD,NEAR * NPCD; //现场测点分布情况
extern CTypedPtrArray < CPtrArray, NPCD > arrCD;
typedef struct
{
int csid; //参数ID
CString ybtype; //CString 仪表类型
CString csname; //CString 参数名称
CString csdz; //CString 参数地址
CString cstype; //CString 参数数据类型
}CS,NEAR * NPCS; //各种仪表参数名称、地址对照表
extern CTypedPtrArray < CPtrArray, NPCS > arrCS;
typedef struct
{
int rtid; //int 信号ID
int cdid; //int 测点ID
int csid; //int 参数ID
CString dw; //CString 信号单位
bool eanble; //bool 是否启用
bool warn_enble; //bool 是否启用报警
double warn_low; //double 报警下限
double warn_hi; //double 报警上限
double range_low; //double 量程下限
double range_hi; //double 量程上限
bool warn;
int saving_cycle; //int 保存周期 0:不保存 1:一分钟 2:五分钟 3:十五分钟 4:一小时 5:六小时 6:十二小时 7:二十四小时
float hisory[200]; //过去200秒数据
long hendp; //当前数据头
bool view; //是否显示曲线
}RT,NEAR *NPRT; //数据实时采集配置表
extern CTypedPtrArray < CPtrArray, NPRT > arrRT;
void deleteyb();
void deletecd();
void deletecs();
void deletert();
void readyb();
void readcd();
void readcs();
void readrt();
void writeyb();
void writecd();
void writecs();
void writert();
typedef struct
{
long rtid; //信号ID
long comport; //COM口号
long ybaddr; //仪表地址
long ybtype; //仪表类型 0:XLF
long csaddr; //参数地址
long cstype; //参数类型 0:long 1:short 2:fval
char cdmc[50]; //测点名称
long lval; //长整数值
long sval; //短整数值
double dval; //浮点值
long valuestate; //数据有效性;0:无效 1:有效 -1:超时 /数据写入是否成功 0:还没写 -1:不成功 1:成功
long trytimes; //重试次数
long readwrite; //读写 0:读,1:写
long baud;
}XLFDATA;
extern XLFDATA xlfdata[100];
extern HRESULT PASCAL L_InitPara(long xx);
extern HRESULT PASCAL Init_Active(XLFDATA * xlfdata,long number);
extern HRESULT PASCAL Close_Active(long xx);
extern HRESULT PASCAL ReadWrite_Para(long readnum,long writenum);
extern long RTCount;
bool BeginRT();
bool EndRT();
extern bool canread;
#define WM_SHOWVALUE ( WM_USER + 1001 )
#define WM_INITITEM ( WM_USER + 1002 )
extern int m_autoRun;
#pragma pack(1)
typedef struct
{
char flag[2];
long tail;
long head;
COleDateTime begindate;
COleDateTime enddate;
}HISTORY_FILEHEAD;
typedef struct
{
char state;
float value;
}HISTORY_DATA,NEAR * NPHISTORY_DATA;
#pragma pack()
void WriteDataToFile(int rtid,double value,int state);
HISTORY_DATA * ReadDataFromFile(int rtid,COleDateTime &dt1,COleDateTime &dt2,int &count);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -