📄 datadef.h
字号:
BYTE CmdFlag; // 命令标志, 有效:TRUE/无效:FALSE
HWND hWnd; // 申请数据的窗口句柄
WORD Length; // 数据长度
WORD StartOffset; // 数据在缓冲区内的起始偏移量
BYTE Cmd[NETCMDSIZE-12]; // 命令内容
};
extern HGLOBAL hNetDataMem;
extern HGLOBAL hNetCmdMem;
//--------------------------------------------------------------------------
// 网络命令定义:
#define REGISTER 0 //登录
#define SETTIME 1 //对时
#define FREQUENCYDRF 2 //广播实时周波值
#define ATOB 3 //主备机切换
#define CANCEL 4 //结点撤消
//申请数据的命令码:
#define CMD_ASKSYSTEMPARA 0x101 // 请求系统参数
#define CMD_ASKSDPARA 0x102 // 请求时段参数
#define CMD_ASKUSERDEFINE 0x103 // 请求用户定义
#define CMD_ASKPLANVALUE 0x104 // 请求曲线计划值
#define CMD_ASKCURVEVALUE 0x105 // 请求曲线值
#define CMD_ASKDTJRESAULT 0x106 // 请求日统计结果
#define CMD_ASKMTJRESAULT 0x107 // 请求月统计结果
#define CMD_ASKDJFRECORD 0x108 // 请求日奖罚记录
//返回数据的命令码:
#define CMD_RETSYSTEMPARA 0x201 // 返回系统参数
#define CMD_RETSDPARA 0x202 // 返回时段参数
#define CMD_RETUSERDEFINE 0x203 // 返回用户定义
#define CMD_RETPLANVALUE 0x204 // 返回曲线计划值
#define CMD_RETCURVEVALUE 0x205 // 返回曲线值
#define CMD_RETDTJRESAULT 0x206 // 返回日统计结果
#define CMD_RETMTJRESAULT 0x207 // 返回月统计结果
#define CMD_RETDJFRECORD 0x208 // 返回日奖罚记录
/* *************************************************************************
申请数据的命令内容:
//===============================================================
命令码: CMD_ASKSYSTEMPARA // 请求系统参数
//---------------------------------------------------------------
命令码: CMD_ASKSDPARA // 请求时段参数
//---------------------------------------------------------------
命令码: CMD_ASKUSERDEFINE // 请求用户定义
命令内容:
int UserNo // 用户序号, 如果要所有用户=-1
//---------------------------------------------------------------
命令码: CMD_ASKPLANVALUE // 请求曲线计划值
命令内容:
WORD UserNo // 用户序号
WORD Year // 年
BYTE Month // 月
BYTE Day // 日
//===============================================================
命令码: CMD_ASKCURVEVALUE // 请求曲线值
命令内容:
WORD UserNo // 用户序号
WORD Year // 年
BYTE Month // 月
BYTE Day // 日
//===============================================================
命令码: CMD_ASKDTJRESAULT // 请求日统计结果
命令内容:
WORD UserNo // 用户序号
WORD Year // 年
BYTE Month // 月
BYTE Day // 日
//===============================================================
命令码: CMD_ASKMTJRESAULT // 请求月统计结果
命令内容:
WORD UserNo // 用户序号
WORD Year // 年
BYTE Month // 月
//===============================================================
命令码: CMD_ASKDTJRESAULT // 请求日奖罚记录
命令内容:
WORD UserNo // 用户序号
WORD Year // 年
BYTE Month // 月
BYTE Day // 日
//===============================================================
//返回数据的命令内容:
//===============================================================
命令码: CMD_RETSYSTEMPARA // 返回系统参数
//===============================================================
命令码: CMD_RETSDPARA // 返回时段参数
//===============================================================
命令码: CMD_RETUSERDEFINE // 返回用户定义
CmdFlag = TRUE, 返回的命令有效,否则无效。
命令内容:
int UserNo // 用户序号, 如果是所有用户=-1
//===============================================================
命令码: CMD_RETPLANVALUE // 返回曲线计划值
CmdFlag = TRUE, 返回的命令有效,否则无效。
命令内容:
WORD UserNo // 用户序号
WORD Year // 年
BYTE Month // 月
BYTE Day // 日
BYTE Density // 计划曲线密度
//===============================================================
命令码: CMD_RETCURVEVALUE // 返回曲线值
CmdFlag = TRUE, 返回的命令有效,否则无效。
命令内容:
WORD UserNo // 用户序号
WORD Year // 年
BYTE Month // 月
BYTE Day // 日
BYTE Density // 曲线密度
//===============================================================
命令码: CMD_RETDTJRESAULT // 返回日统计结果
CmdFlag = TRUE, 返回的命令有效,否则无效。
命令内容:
WORD UserNo // 用户序号
WORD Year // 年
BYTE Month // 月
BYTE Day // 日
//===============================================================
命令码: CMD_RETMTJRESAULT // 返回月统计结果
CmdFlag = TRUE, 返回的命令有效,否则无效。
命令内容:
WORD UserNo // 用户序号
WORD Year // 年
BYTE Month // 月
//===============================================================
命令码: CMD_RETDJFRECORD // 返回日奖罚记录
CmdFlag = TRUE, 返回的命令有效,否则无效。
命令内容:
WORD UserNo // 用户序号
WORD Year // 年
BYTE Month // 月
BYTE Day // 日
BYTE RcdNum // 记录数
*************************************************************************** */
// 其它网络参数在Novell.h中定义
//----------------------------------------------------------------------------//
//6. 消息的定义:
// 申请数据的消息:
// 申请数据时,由申请窗口向网络通信窗口 hNetWindow 发送消息 WM_SENDCMD。网络
// 通信窗口处理消息,根据本机是主机/客户机从本机/网络上取得数据,并将结果通过消息
// WM_RECVCMD返回申请窗口。
#define WM_SENDCMD WM_USER + 0x1 // 发送命令
#define WM_RECVCMD WM_USER + 0x2 // 收到命令
#define WM_RXDATA WM_USER + 0x3 // 网络收到数据消息
// 关闭子窗口的消息:
// 当显示子窗口关闭时,应发送消息通知其父窗口。
#define WM_CREATECOMM WM_USER + 0x11 // 生成串行通信窗口
#define WM_CLOSECOMM WM_USER + 0x12 // 关闭串行通信窗口
#define WM_CLOSESUB1 WM_USER + 0x13 // 关闭显示子窗口1
// 规约处理数据消息
// 当按选定规约处理接收数据后,将结果用消息方式传回。
#define WM_YCDATA WM_USER + 0x100 // 遥测数据
#define WM_PLANDATA WM_USER + 0x101 // 下发的计划曲线
#define WM_QUARYDATA WM_USER + 0x102 // 查询数据
// 消息内容的定义
//===============================================================
//Msg.MsgType = WM_YCDATA // 遥测数据
//Msg.LParam: 指针
// 内容: WORD yctype 遥测类型:0:WORD / 1:float
// WORD ycnum 遥测个数
// WORD ycstartno 遥测起始序号
// void ycdata 遥测数据
//----------------------------------------------------------------------------//
//7. 存取数据函数:
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 1). 取某日某条曲线的计划值
// 入口参数:struct date *dt //日期
// WORD CurveNo //曲线号(用户序号)
// float far **ValuePt //指向存放数据结果的缓冲区的指针的指针
// 返回值:为计划曲线密度. 如果=0,表示结果无效。数据结果存放在指定缓冲区内。
// -------------------------------------------------------------------
extern int GetJHQXValue(struct date *dt, WORD CurveNo, float far **ValuePt);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 存某日某条计划曲线值
// 入口参数: int serial //曲线序号
// date *dt //日期
// float far *ValuePt //数据
// 返回值:如果=0,表示无效。
// -------------------------------------------------------------------
extern int SaveJHQXDayValue(int serial, date *dt, float *ValuePt);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 2). 取某日某条曲线的曲线值
// 入口参数:struct date *dt //日期
// WORD CurveNo //曲线号(用户序号)
// float far * *ValuePt //指向存放数据结果的缓冲区的指针的指针
// 返回值:为曲线密度. 如果=0,表示结果无效。数据结果存放在指定缓冲区内。
// -------------------------------------------------------------------
extern int GetQXValue(struct date *dt, WORD CurveNo, float **ValuePt);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 存某日某条曲线值
// 入口参数: int serial //曲线序号
// date *dt //日期
// float far *ValuePt //数据结果
// 返回值:如果=0,表示无效。
// -------------------------------------------------------------------
extern int SaveQXDayValue(int serial, date *dt, float *ValuePt);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 存某日某分钟所有曲线值
// 入口参数:struct SAVEDISKTIME *dt //日期,TIME
// float *buffer //数据结果
// 返回值:如果=0,表示无效。
// -------------------------------------------------------------------
extern int SaveQXValue(struct SAVEDISKTIME *dt, float *buffer);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 3). 取某日某条曲线的运算结果
// 入口参数:struct date *dt //日期
// WORD CurveNo //曲线号(用户序号)
// float far *ValuePt //指向存放数据结果的缓冲区的指针
// 返回值:为返回结果的长度。数据结果存放在指定缓冲区内。
// -------------------------------------------------------------------
// extern int GetFinallyValue(struct date *dt, WORD CurveNo, FINALLYVALUE far *ValuePt);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 4). 取系统参数
// 入口参数:SYSTEMPARA *syspara
// 返回值: 成功:TRUE, 失败:FALSE。
// 此函数从系统参数定义文件中读出系统参数,数据结果存放在指定缓冲区内。
// -------------------------------------------------------------------
extern BOOL ReadSystemPara(SYSTEMPARA *syspara);
// -------------------------------------------------------------------
// 存系统参数
// 入口参数:SYSTEMPARA *syspara
// 返回值: 成功:TRUE, 失败:FALSE。
// 此函数将指定缓冲区内容存放到系统参数定义文件中。
// -------------------------------------------------------------------
extern BOOL WriteSystemPara(SYSTEMPARA *syspara);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 5). 取用户数
// 入口参数: 无
// 返回值: int // 用户数
// -------------------------------------------------------------------
extern int ReadUserNum();
// -------------------------------------------------------------------
// 取用户定义
// 入口参数: USER far * // 指针
// 返回值: 成功:TRUE, 失败:FALSE。
// 此函数从用户定义文件中读出用户的定义。
// -------------------------------------------------------------------
extern BOOL ReadUserDefine(USER far *);
// -------------------------------------------------------------------
// 存用户定义
// 入口参数: int // 序号
// USER far * // 指针
// 返回值: 成功:TRUE, 失败:FALSE。
// -------------------------------------------------------------------
extern BOOL SaveUserDefine(int, USER far *);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 6). 取串行口参数
// 入口参数: COMINF far * //指向串行通信参数的指针
// 返回值: 成功:TRUE, 失败:FALSE。
// 此函数从串行口定义文件中读出串行口的定义。
// -------------------------------------------------------------------
extern BOOL ReadCommInf(COMINF *);
// -------------------------------------------------------------------
// 存串行口参数
// 入口参数: COMINF far * //指向串行通信参数的指针
// 返回值: 成功:TRUE, 失败:FALSE。
// 此函数从串行口定义文件中读出串行口的定义。
// -------------------------------------------------------------------
extern BOOL WriteCommInf(COMINF *);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 7). 读规约参数
// 入口参数: 无
// 返回值: 成功:TRUE, 失败:FALSE。
// 此函数从规约说明文件中读出规约的名称及动态库名。
// -------------------------------------------------------------------
extern BOOL ReadProtocol();
//=========================================================================//
//8. 其它参数的定义
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// 显示窗口1类型定义
#define WNDTYPEMAXNUM1 5 // 显示子窗口1类型最大个数
#define COMMRECVWND 0 // 串行接收数据区
#define COMMSENDWND 1 // 串行发送数据区
#define NETCMDWND 2 // 网络命令区
#define NETDATAWND 3 // 网络数据区
#define REALDATAWND 4 // 实时数据区
#define PLANEXT 5 //在计划曲线后面缀附加量!!!
#define ALLKWH 0
#define JFKWH 1
#define DGKWH 2
#define JFBZ 3
#define DGBZ 4
//结果统计类型
#define RTYPE_JF 1
#define RTYPE_TJ 2
#define RKIND_HZ 1
#define RKIND_PQ 2
//-------------------------------------------------------------------------//
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -