⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datadef.h

📁 这是一个在正实际应用当中运行的电力监控系统软件源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
    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 + -