📄 numdef.h
字号:
/******************************************************************
* Copyright (c) 2004-2005, 许继日立公司
* All rights reserved.
*
* 文件名称:numdef.h
* 文件标识:
* 摘 要:枚举变量、常量的定义
*
* 当前版本:1.0
* 作 者:李龙伟 <lilongwei1@hotmail.com>
* 完成日期:2004年11月24日
*
* 取代版本:1.0
* 原作者 :李龙伟
* 完成日期:2004年11月24日
******************************************************************/
#ifndef _NUMDEF_H
#define _NUMDEF_H
const unsigned short NAME_LEN256 = 256;
//最大线程个数
const unsigned char MAX_RULE = 4;
const unsigned char TIMEOUT = 15; //遥控超时时间
//TCP103规约控制方向类别标识
const unsigned char CMDCODE_GI_103 = 7; //总召唤
const unsigned char CMDCODE_TIME_103 = 6; //时间同步
const unsigned char CMDCODE_NORMAL_103 = 20; //一般命令
const unsigned char CMDCODE_AMMETER_103 = 36; //电度信息
const unsigned char CMDCODE_BREAK_103 = 64; //断路器控制
const unsigned char CMDCODE_SWITCH_103 = 65; //调压开关升降
const unsigned char CMDCODE_FREEZE_103 = 88; //电度冻结
const unsigned char CMDCODE_VALUE_103 = 61; //定值命令
const unsigned char CMDCODE_REPORT_103 = 62; //故障报告
const unsigned char CMDCODE_CHECK_103 = 94; //自检与运行事件信息
//104规约控制方向类别标识
const unsigned char CMDCODE_GI_104 = 100;//总召唤
const unsigned char CMDCODE_TIME_104 = 103;//时间同步
const unsigned char CMDCODE_BREAK_104 = 45; //断路器控制
const unsigned char CMDCODE_SWITCH_104 = 47; //调压开关升降
const unsigned char CMDCODE_FREEZE_104 = 101;//电度冻结
const unsigned char CMDCODE_VALUE_104 = 102;//定值命令
//CDT规约帧类别(上行)
const unsigned char FRAME_A = 0x61; //重要遥测,A帧
const unsigned char FRAME_B = 0xC2; //次要遥测,B帧
const unsigned char FRAME_C = 0xB3; //一般遥测,C帧
const unsigned char FRAME_D1 = 0xF4; //遥信状态,D1帧
const unsigned char FRAME_D2 = 0x85; //电能脉冲,D2帧
const unsigned char FRAME_E = 0X26; //SOE,E 帧
//CDT规约帧类别(下行)
const unsigned char FRAME_SELECT = 0x61; //遥控选择
const unsigned char FRAME_EXECUTE = 0xC2; //遥控执行
const unsigned char FRAME_CANCEL = 0xB3; //遥控撤消
const unsigned char FRAME_SETTIME = 0x7A; //设置时钟
const unsigned char FRAME_TIMECALI = 0x0B; //设置时钟校正值
const unsigned char FRAME_GETTIME = 0x4C; //召唤子站时钟
const unsigned char FRAME_RESET = 0x3D; //复归命令
//规约类型
enum RULE_TYPE
{
RULE_CDT = 0, //CDT规约
RULE_ENGINEER, //103规约,工程师站
RULE_REMOTE, //104规约,远动站
RULE_OPERATER //104规约,操作员站
};
// 设备/通道的状态
enum GateDevStatus
{
GATE_UNKNOW = 0x01, //状态未明
GATE_CLOSE, //通
GATE_UNCLOSE //不通
};
//通道类型
enum CHANNEL_TYPE
{
CHANNEL_SOCK = 0, //终端服务器(TCP/IP协议)、路由器方式通讯
CHANNEL_RS232, //RS-232智能多串口卡
CHANNEL_LON, //现场总线(LON网)设备方式通讯
CHANNEL_NETBIOS //终端服务NetBIOS
};
// 站类型
enum GateStation
{
GATE_REMOTESTATION = 0x01, //远动站
GATE_OPERATERSTATION, //操作员站
GATE_ENGINEERSTATION //工程师站
};
//命令类型
enum CMD_TYPE
{
COMMAND_NONE = 0, //空命令
COMMAND_SEL_CTRL, //控制选择
COMMAND_EXE_CTRL, //控制执行
COMMAND_CANCEL_CTRL, //控制撤消
// COMMAND_SEL_SETTING, //定值选择
// COMMAND_EXE_SETTING, //定值执行
// COMMAND_GET_BAOHU, //读保护定值
// COMMAND_SET_BHSWITCH, //修改定值区选择
// COMMAND_EXE_BHSWITCH, //修改定值区执行
COMMAND_BAOHU_RESET, //保护复归
COMMAND_AMMETER, //冻结电度
COMMAND_CALI_TIME, //对时
COMMAND_SET_RYB //软压板
};
//上送类型
enum INFO_TYPE
{
INFDATA_NO = 0, //空
INFDATA_YX, //遥信
INFDATA_SOE, //soe
INFDATA_YK_SEL, //遥控返校,选择
INFDATA_YK_EXE //遥控返校,执行
};
/* 数据分类 */
enum DATA_TYPE
{
DATA_YC = 0x01, //遥测
DATA_YX, //遥信
DATA_SOE, //SOE
DATA_DD, //电度
DATA_HZ //频率
};
//信息字功能
enum FUNC_TYPE
{
FUNC_NONE = 0x00, //空信息
FUNC_YC, //遥测
FUNC_YX, //遥信
FUNC_SOE, //事件顺序纪录
FUNC_DD, //电能脉冲计数值
FUNC_YK_UP, //遥控返校
FUNC_YT_UP, //升降返校
FUNC_HZ, //频率
FUNC_WHITE, //水位
FUNC_YC_ADD //总加遥测
};
/* IP和端口号对 */
struct GateIpPort
{
enum GateStation eStation; //站类型
char bNetIp[16]; //网络IP地址
unsigned int iPport; //端口号
enum GateDevStatus eNetState; //网络状态
};
//所有的网络地址
struct GateNetAddr
{
struct GateIpPort ENGINEERNet; //工程师站网络 103规约
// struct GateIpPort ENGINEERNet2; //工程师站网络二
struct GateIpPort REMOTENet; //远动站网络
// struct GateIpPort REMOTENet2; //远动站网络二
struct GateIpPort OPERATERNet; //操作员站网络
// struct GateIpPort OPERATENet2; //操作员站网络二
};
//装置地址
//struct GateDevAddr
//{
// unsigned int no; //装置序号
// char name[NAME_LEN256]; //装置名称
// unsigned int addr; //装置地址
// enum GateDevStatus state; //装置状态(起初设置的时候置为ACIE_UNKNOW)
//};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -