📄 datadef.h
字号:
/******************************************************************
* Copyright (c) 2004-2005, 许继日立公司
* All rights reserved.
*
* 文件名称:datadef.h
* 文件标识:
* 摘 要:枚举类型和结构定义
*
* 当前版本:1.0
* 作 者:李龙伟 <lilongwei1@hotmail.com>
* 完成日期:2004年11月03日
*
* 取代版本:1.0
* 原作者 :李龙伟
* 完成日期:2004年11月03日
******************************************************************/
#ifndef _DATADEF_H
#define _DATADEF_H
#if _MSC_VER>1000
#pragma warning(disable: 4786)
#endif
#include <vector>
#include "numdef.h"
using namespace std;
const unsigned char MAXCOMCOUNT = 24; //串口的最大个数
//串口信息
typedef struct COMINFO
{
char name[20]; //串口名称
HANDLE hcom; //句柄
// sem_t semcom; //串口锁
BYTE flag; //有效标志
}COMINFO;
//SOE_STATUS队列结构体,存储状态变化信息、SOE事件。
typedef struct SOE_STATUS
{
unsigned char bAddress; //装置地址
enum GateStation eStation; //通道类型
int nPot; //信息点号
unsigned char bStatus; //状态
unsigned char bDay; //日
unsigned char bHour; //时
unsigned char bMinute; //分
unsigned short wMilliseconds; //毫秒
enum INFO_TYPE eType; //上送类型
// unsigned short wSerial; //soe对象号
}SOE_STATUS;
//链路层前六个字节
struct APDUHEAD
{
unsigned char bStartCode; //启动字符
unsigned char bApduLength; //长度
unsigned char bControlCode1; //控制域1
unsigned char bControlCode2; //控制域2
unsigned char bControlCode3; //控制域3
unsigned char bControlCode4; //控制域4
};
//应用层前六个字节
struct ASDUHEAD
{
unsigned char bAsduType; //类型标示
unsigned char bAsduVsq; //可变结构限定词
unsigned short nAsduCot; //传送原因
unsigned short nAsduComAddr; //应用服务数据单元公共地址
unsigned char bAsduFun; //功能类型,104没有此位
unsigned char bAsduInf; //信息序号
};
//上送报文结构
typedef struct _tagDATASTR
{
struct APDUHEAD ApduHead; //链路层
struct ASDUHEAD AsduHead; //应用层前六个字节
vector <unsigned char> bDataVec; //数据
}DATA_STR;
//命令结构体
typedef struct _tagCtrlValue
{
// unsigned int nPortno; //装置序号
// unsigned int nPortno103; //后台序号
unsigned char bAddress; //装置地址
unsigned char bSwitch; //定值区号
unsigned int iValue; //值
unsigned short nPotValue; //信息地址
// unsigned char bCpu; //cpu号
enum CMD_TYPE eCmdType; //命令类型
}CTRL_VALUE;
//在内存中存储装置的一些信息,包括遥测、遥信、事件、定值区、定值
typedef struct _tagDataGroup
{
unsigned int nPortNo; //装置序号
unsigned int nSerial; //序号
unsigned int nAddress; //装置地址
unsigned char bLocal; //远方就地,0远方,1就地
// unsigned int nSize; //长度
enum DATA_TYPE eType; //遥测/遥信/SOE/电度
unsigned short nValue; //存储装置信息
}DATAGROUP;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -