Q/GDW
Q/GDW
国 家 电 网 有 限 公 司 企 业 标 准
Q/GDW 11778—2017
面向对象的用电信息数据交换协议
Object oriented electric data exchange protocol
2018 - 09 - 07 发布 2018 - 09- 07 实施
国家电网有限公司 发 布
I
目 次
8.3 对象标识 97
附录 A(规范性附录) 对象标识定义 110
附录 B(规范性附录) 物理单位枚举定义及数值举例 179
附录 C(规范性附录) 有关一致性协商 182
附录 D(资料性附录) 校验算法 184
附录 E(规范性附录) 安全认证说明 187
附录 F(资料性附录) 安全模式参数 189
附录 G(资料性附录) 状态字、特征字、模式字 192
附录 H(资料性附录) APDU 编码举例 197
编制说明 213
为提高用电信息采集系统的业务适应性、采集效率、安全性和数据溯源性,规范用电信息数据交换协议的通信架构、数据链路层、应用层、接口类与对象标识,制定本标准。
本标准由国家电网有限公司营销部提出并解释。本标准由国家电网有限公司科技部归口。
本标准起草单位:中国电力科学研究院、国网浙江省电力公司、国网湖南省电力公司、国网冀北电力有限公司、国网福建省电力有限公司、国网安徽省电力公司。
本标准主要起草人:xxx、xxx、xx、xxx、xxx·x、xx、xxx、xx、xxx、xxx、xxx、xxx、xxx、xxx、xxx、xx、xx、xx、xxx、xx、xxx、xx、xxx、xxx、xxx、xx、xxx、xx、xxx、xxx、xxx、xxx、xx、xxx、xxx、xx、xxx、xxx、旁xx、xxx、xx、xxx、xxx、xxx、xxx、xx、xx、xxx。
本标准为首次发布。
本标准在执行过程中的意见或建议反馈至国家电网有限公司科技部。
面向对象的用电信息数据交换协议
1 范围
x标准规定了用电信息数据交换协议的通信架构、数据链路层、应用层、接口类与对象标识。
本标准适用于用电信息采集系统主站(以下简称“主站”)、采集终端、电能表之间的通信数据交换。水、气、热等表计的数据采集可参照使用。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 16262.1—2006 信息技术 抽象语法记法(ASN.1) 第1部分 基本记法规范 GB/T 17966—2000 微处理器系统的二进制浮点运算
CJ/T 188—2004 户用计量仪表数据传输技术条件
DL/T 645—2007 多功能电能表通信协议
DL/T 790.6—2010 采用配电线载波系统的配电自动化 第6部分 A-XDR编码规则
3 术语和定义
下列术语和定义适用于本文件。
3.1
面向对象的用电信息数据交换协议 object oriented electric data exchange protocol
基于面向对象建模方法建立的一套适用于用电信息采集系统的互操作性数据交换通信协议。面向对象建模以接口类实现继承关系,以对象来封装数据及操作,以对象为互操作的基本要素。
3.2
对象标识 object identification
标识终端中对象唯一名称的编码。
3.3
逻辑名 logical name
用于标识接口类的实例,它是接口类的第一个属性,它的值与对象标识一致。
3.4
类标识码 class_id
用于区别对象接口类的标识码,即接口类的名称。
3.5
服务器地址 server address
客户机/服务器(Client/Server)访问模型中的服务器(Server)的通信地址。
3.6
逻辑地址 logic address
服务器模型中逻辑设备的地址。
3.7
客户机地址 client address
客户机/服务器(Client/Server)访问模型中的客户机(Client)的通信地址。
注:主站访问采集终端时,采集终端为服务器,主站为客户机;主站访问电能表时,电能表为服务器,主站为客户机;采集终端访问电能表时,电能表为服务器,采集终端为客户机。
3.8
采集启动时标 acquisition start time
启动采集任务时的设备时钟当前值,其值只与启动时刻有关,与执行的时间长短无关。
3.9
采集成功时标 acquisition time
客户机成功接收到服务器响应时的设备时钟当前值。
3.10
采集存储时标 acquisition storage time
采集到的数据进行存储的时间。
3.11
组地址 group address
具有某一相同属性的设备群组编码,如属于同一行业,同一变电站,同一线路,可以响应同一个命令。
3.12
通配地址 the wildcard address
在十进制编码表示的地址码中出现一位或多位采用了通配符的地址码。
消息鉴别码 Message Authentication Code
用于鉴别消息的完整性的固定长度的认证标识。
4 符号和缩略语
4.1 符号
下列符号适用于本文件。
∷=:定义为
4.2 缩略语
下列缩略语适用于本文件。 A:地址域(Address)
ACD:请求访问标识(Ask Call Demand) AD:采集数据(Acquired Data)
APDU:应用层数据单元(APplication layer Data Unit)
A-XDR:抽象的外部数据表示(Abstract eXternal Data Representation) B:二进制(Binary)
CA:客户机通信地址(Client Address)
CSD:列选择描述符(Column Selection Descriptor) DAR:数据访问结果(Data Access Result)
DIR:传输方向位(Direction)
ESAM:嵌入式安全控制模块(Embedded Secure Access Module) FCS:帧校验(Frame Check Sum)
H:十六进制(Hex)
HCS:帧头校验(Head Check Sum) IC:接口类(Interface Class)
LSB:最低有效位( Least Significant bit) MAC:消息鉴别码(Message Authentication Code) MS:表计集合(Meter Set)
OAD:对象属性描述符(Object Attribute Descriptor) OI:对象标识(Object Identify)
OMD:对象方法描述符(Object Method Descriptor) PIID:序号及优先标志(Priority and Invoke ID)
PIID-ACD:带请求访问标识的序号及优先标志(Priority and Invoke ID with ACD) PRM:启动标识位(Primary Request Message)
RCSD:记录列选择描述符(Record Column Selection Descriptor) RN:随机数(Random Numbers)
ROAD:记录型对象属性描述符(Record Object Attribute Descriptor) RSD:记录选择描述符(Record Selection Descriptor)
SA:服务器通信地址(Server Address) SC:扰码(Scrambling Code)
TI:时间间隔(Time Interval)
TSA:目标服务器地址(Target Server Address)
5 通信架构
5.1 信息交换模型
x标准信息交换模型见图1 。
客户机 | 数据交换 | 服务器 | |
应用层 | ||||
物理层(透明通道接口) | ||||
物理通道 |
协议
图1 信息交换模型
客户机和服务器之间的信息交换借助于通信协议实现。客户机和服务器的应用进程使用协议应用层的服务,应用层是唯一包含服务组件的协议层,应用层数据单元(APDU)通过数据链路层协议传输帧的链路用户数据域传输。
5.2 基于应用连接的数据交换
x标准中服务器和客户机之间是基于应用连接的数据交换,见图2 。
图2 基于应用连接的数据交换
客户机和服务器在开始通信前,通信信道必须先完成预连接。预连接建立后,默认具有一个最低权限的应用连接,客户机和服务器之间可直接进行数据交换。当客户机需要得到更高权限的服务器服务时,客户机必须发起建立更高权限的应用连接。
5.3 请求/响应类型的数据交换
x标准支持客户机应用进程向服务器应用进程提出服务请求,服务器应用进程向客户机应用进程提供远程服务响应,见图3 。
客户机应用 服务器应用
服务器
客户机
服务请求
服务响应
图3 请求/响应类型数据交换
5.4 通知/确认类型的数据交换
x标准支持服务器应用进程根据客户机预先定制的主动上报内容,向客户机应用进程提供远程主动上报数据服务,客户机应用进程向服务器应用进程回复服务确认,见图4 。
服务器
客户机应用
客户机
服务提供服务确认
服务器应用
图4 通知/确认类型数据交换
5.5 服务器模型
服务器模型见图5 。
图5 服务器模型
服务器模型要求如下:
a) 物理设备由若干逻辑设备构成,逻辑设备 0 为必须具备的逻辑设备;
b) 每个逻辑设备由若干可访问的接口类对象构成,包括一个预先建立的应用连接对象、若干个按需建立的应用连接对象、若干个其他接口类对象;
c) 预先建立的应用连接对象为逻辑设备必须具备的对象;
d) 按需建立的应用连接对象为可选对象,根据所需的访问权限进行配置;
e) 其他接口类对象为可选对象,根据设备功能所需进行配置。
6.1 字节格式
链路层帧的基本单元为8位字节,传输顺序为低位在前,高位在后;低字节在前,高字节在后。
6.2 帧格式
6.2.1 帧结构
起始字符(68H) |
长度域 L |
控制域 C |
地址域 A |
帧头校验 HCS |
链路用户数据 |
帧校验 FCS |
结束字符(16H) |
本标准采用的帧格式见图6 。
帧头
APDU 或
APDU 分帧片段帧尾
图6 帧格式
6.2.2 长度域 L
bit15 | bit14 | bit13 | bit12 | bit11 | bit10 | bit9 | bit8 | bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
保留 | 帧数据长度 |
图7 长度域 L 定义
其中:
a) bit0…bit13:帧数据长度,是传输帧中不包含起始字符和结束字符的字节数;
b) bit14…bit15:保留。
6.2.3 控制域 C
6.2.3.1 控制域 C 定义
bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
传输方向 DIR | 启动标志 PRM | 分帧标志 | 保留 | 扰码标志 SC | 功能码 |
图8 控制域 C 定义
6.2.3.2 传输方向及启动标志位
传输方向位及启动标志位定义:
a) 传输方向位:bit7=0 表示此帧是由客户机发出的;bit7=1 表示此帧是由服务器发出的;
b) 启动标志位:bit6=0 表示此帧是由服务器发起的;bit6=1 表示此帧是由客户机发起的。传输方向位DIR和启动标志位PRM组合意义见表1 。
表1 传输方向位 DIR 和启动标志位 PRM 组合意义
DIR | PRM | 组合意义 |
0 | 0 | 客户机对服务器上报的响应 |
0 | 1 | 客户机发起的请求 |
1 | 0 | 服务器发起的上报 |
1 | 1 | 服务器对客户机请求的响应 |
6.2.3.3 分帧标志位
分帧标志位: bit5=0,表示此帧链路用户数据为完整APDU;bit5=1,表示此帧链路用户数据为APDU片段。
6.2.3.4 扰码标志位
扰码标志位: bit3=0,表示此帧链路用户数据不加扰码;bit3=1,表示此帧链路用户数据加扰码,发送时链路用户数据按字节加33H。
6.2.3.5 功能码
功能码采用BIN编码,定义见表2 。
表2 功能码定义
功能码 | 服务类型 | 应用说明 |
0 | 保留 | |
1 | 链路管理 | 链路连接管理(登录,心跳,退出登录) |
2 | 保留 | |
3 | 用户数据 | 应用连接管理及数据交换服务 |
4…7 | 保留 |
6.2.4 地址域 A
6.2.4.1 地址域组成
地址域A由可变字节数的服务器地址SA和1字节的客户机地址CA组成,定义见图9 。
服务器地址 SA |
客户机地址 CA |
图9 地址域定义
6.2.4.2 服务器地址 SA
6.2.4.2.1 服务器地址定义
服务器地址SA由1字节地址特征和N个字节地址组成。定义见图10 。
bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 | |
地址类型 | 逻辑地址 | 地址长度 | 1 字节地址特征 | |||||
地址 | N 字节地址 |
图10 服务器地址 SA 定义
地址特征定义:
a) bit0…bit3:为地址的字节数,取值范围:0…15,对应表示 1…16 个字节长度;
b) bit4…bit5:逻辑地址;
c) bit6…bit7:为服务器地址的地址类型,0 表示单地址,1 表示通配地址,2 表示组地址,3表示广播地址。
地址要求如下:
a) 编码方式为压缩 BCD 码,0 保留;
b) 当服务器地址的十进制位数为奇数时,最后字节的 bit3…bit0 用 FH 表示。
6.2.4.2.2 单地址
单地址的长度为可变字节。
6.2.4.2.3 组地址
组地址的长度为可变字节。组地址对系统中属于该群组的服务器有效,无需应答。
6.2.4.2.4 通配地址
通配地址的长度为可变字节。每字节二进制高低各4位分别编码表示两个0到9的十进制数或通配符 AH。通配符按十进制位使用,对应的十进制位为AH时,表示该十进制位可为0到9的任意值。
6.2.4.2.5 广播地址
广播地址的长度固定为1字节,广播地址=AAH。广播地址对系统所有服务器有效,无需应答。
6.2.4.3 客户机地址 CA
客户机地址CA用1字节表示,0表示不关注客户机地址。
6.2.5 帧头校验 HCS
帧头校验HCS为2字节,是对帧头部分不包含起始字符和HCS本身的所有字节的校验,校验算法见附录 D。
6.2.6 链路用户数据
链路用户数据包含一个APDU或APDU分帧片段,APDU(应用层数据单元)见7.4 。
6.2.7 帧校验 FCS
帧校验FCS为2字节,是对整帧不包含起始字符、结束字符和FCS本身的所有字节的校验,校验算法见附 录 D。
6.3 传输规则
6.3.1 字节规则
采用串行通信方式发送数据时:
a) 线路空闲状态为二进制 1;
b) 在有效数据帧前加 4 个 FEH 作为前导码;
c) 数据链路层帧的字节之间无线路空闲间隔;两帧之间的线路空闲间隔至少 33 位。
6.3.2 分帧传输
6.3.2.1 分帧传输规则
当一个APDU数据组帧的长度超过协商的最大帧长度时,采用分帧传输。采用分帧传输时,控制域中分帧标志位置1。数据接收端应对分帧进行逐条确认。
6.3.2.2 分帧传输格式定义
分帧传输时,数据链路层的链路用户数据为分帧传输帧,分为数据帧和确认帧;分帧传输的数据帧包含分帧格式域和APDU片段,格式定义见图11 。分帧传输的确认帧仅包含分帧格式域,不含APDU片段。
分帧格式 |
链路用户数据 |
APDU 片段 |
图11 分帧传输帧格式定义
bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
bit15…bit14 | bit13 | bit12 | bit11 | bit10 | bit9 | bit8 |
图12 分帧格式域定义
位定义如下:
a) bit0…bit11:表示分帧传输的帧序号,取值范围 0…4095,循环使用;
b) bit12…bit13:保留;
c) bit14…bit15:表示分帧类型,定义见表 3 。
表3 分帧类型定义
分帧类型 | 意义 |
0 | 表示分帧传输起始帧 |
1 | 表示分帧传输末尾帧 |
2 | 表示分帧传输确认帧 |
3 | 表示分帧传输中间帧 |
6.3.2.3 分帧传输交互规则
分帧传输交互可由服务器或客户机任意一侧发起,适用于主动发起的数据服务或者被动应答的数据服务,发送方将APDU应用数据单元分割成若干个片段,通过分帧方式依次发送;分帧传输交互过程如下:
启动分帧传输
block = 0
分帧类型=00
APDU(Fragment)
block = 0
分帧类型=00
分帧传输帧
XX-Request/ REPORT-Notification
block = N
分帧类型=01
分帧传输最后帧
APDU(Fragment)
block = N
分帧类型=01
分帧传输最后帧
中间传输过程
分帧传输确认
block = 0
分帧类型=10
Data
分帧传输确认
block = 0
分帧类型=10
XX-Request/ REPORT-Notification
服务器//客户机 应用进程
服务器//客户机 应用层
服务器//客户机 数据链路层
客户机//服务器 数据链路层
客户机//服务器 应用层
客户机//服务器 应用进程
图13 服务器/客户机启动传输的数据请求服务的分帧过程
客户机
应用进程
客户机
应用层
客户机
数据链路层
服务器
数据链路层
服务器
应用层
服务器
应用进程
XX-Request
DATA(APDU)
DATA(APDU)
XX-Request
block = 0
分帧类型=00
分帧传输
block = 0
分帧类型=00
发起分帧传输
XX-Response
APDU(Fragment)
block = 0
分帧类型=10
分帧传输确认
Data
block = 0
分帧类型=10
分帧传输确认
中间传输过程
block = N
分帧类型=01
分帧传输最后帧
APDU(Fragment)
block = N
分帧类型=01
分帧传输最后帧
XX-Response
图14 服务器响应数据请求的服务分帧过程
分帧过程如下:
a) 分帧的第一帧数据,帧序号(block)=0,分帧类型=0;
b) 分帧传输确认,分帧类型=2,block 值为最近一次收到正确的帧序号;
c) 分帧的发送方在接收到确认帧后传输下一个数据帧,分帧类型=3,分帧序号 block=接收到确认帧的帧序号+1,重复 b)和 c);
d) 分帧的最后一帧,block=最后一帧的帧序号,分帧类型=1,发送方在接收到最后一个确认帧后,分帧传输过程完成。
7 应用层
7.1 标记规则和编码规则
应用层数据单元(APDU)的标记规则遵循ASN.1的抽象语法,详见GB/T 16262.1—2006。应用层数据单元(APDU)的编码规则遵循A-XDR,详见DL/T 790.6—2010。
7.2 通用数据类型
接口类及对象实例使用的数据类型见表4 。
表4 接口类及对象实例使用的数据类型定义
类型描述 | 标记 | 定义 | 数值范围 |
NULL | 0 | 空 |
类型描述 | 标记 | 定义 | 数值范围 |
array | 1 | SEQUENCE OF Data(见 7.3.1 ) 数组的元素在对象属性或方法的描述中定义 | |
structure | 2 | SEQUENCE OF Data(见 7.3.1 ) 结构的元素在对象属性或方法的描述中定义 | |
bool | 3 | 布尔值 | 1 或 0 |
bit-string | 4 | 位串 | |
double-long | 5 | 32 位整数 | -231…231-1 |
double-long-unsigned | 6 | 32 位正整数 | 0…232-1 |
保留 | 7-8 | ||
octet-string | 9 | 8 位字节串 | |
visible-string | 10 | ASCII 字符串 | |
保留 | 11 | ||
UTF8-string | 12 | UTF-8 编码的字符串 | |
保留 | 13-14 | ||
integer | 15 | 8 位整数 | -128…127 |
long | 16 | 16 位整数 | -32768…32767 |
unsigned | 17 | 8 位正整数 | 0…255 |
long-unsigned | 18 | 16 位正整数 | 0…65535 |
保留 | 19 | ||
long64 | 20 | 64 位整数 | -263…263-1 |
long64-unsigned | 21 | 64 位正整数 | 0…264-1 |
enum | 22 | 枚举的元素在对象属性或方法的描述中定义 | 0…255 |
float32 | 23 | 32 位浮点数 | |
float64 | 24 | 64 位浮点数 | |
date_time | 25 | octet-string(SIZE(10)) | |
date | 26 | octet-string(SIZE(5)) | |
time | 27 | octet-string(SIZE(3)) | |
date_time_s | 28 | octet-string(SIZE(7)) | |
保留 | 29-79 | ||
OI | 80 | ||
OAD | 81 | ||
ROAD | 82 | ||
OMD | 83 | ||
TI | 84 | ||
TSA | 85 | ||
MAC | 86 | ||
RN | 87 | ||
Region | 88 | ||
Scaler_Unit | 89 | ||
RSD | 90 | ||
CSD | 91 | ||
MS | 92 | ||
SID | 93 | ||
SID_MAC | 94 | ||
COMDCB | 95 |
类型描述 | 标记 | 定义 | 数值范围 |
RCSD | 96 | ||
保留 | 97-255 | ||
注:表中的“位”表示1个二进制信息单位(bit)。 |
7.3 数据类型定义
7.3.1 Data 数据类型
Data的数据类型定义见表5 。
表5 Data 数据类型定义
数据类型定义 | 说明 |
Data∷=CHOICE { NULL [0], array [1], structure [2], bool [3], bit-string [4], double-long [5], double-long-unsigned [6], octet-string [9], visible-string [10], UTF8-string [12], integer [15], long [16], unsigned [17], long-unsigned [18], long64 [20], long64-unsigned [21], enum [22], float32 [23], float64 [24], date_time [25], date [26], time [27], date_time_s [28], OI [80], OAD [81], ROAD [82], OMD [83], | 见 7.2 。 |
表 5 (续)
数据类型定义 | 说明 |
TI [84], TSA [85], MAC [86], RN [87], Region [88], Scaler_Unit [89], RSD [90], CSD [91], MS [92], SID [93], SID_MAC [94], COMDCB [95], RCSD [96] } |
7.3.2 浮点数据类型
浮点数据类型包括float32以及float64,格式定义见GB/T 17966—2000。
7.3.3 PIID 数据类型
服务序号及优先标志PIID(Priority and Invoke ID)的数据类型定义见表6 。
表6 PIID 数据类型定义
数据类型定义 | 说明 |
PIID∷=unsigned | PIID 用于客户机APDU(Client-APDU)的服务数据类型中,其中: bit7(服务优先级)——0:普通优先级,1:高优先级,在应答 APDU中,其值与请求的 APDU 相同。 bit6(保留)。 bit0…bit5(服务序号)——二进制编码表示 0…63,在应答 APDU 中,其值与请求的 APDU 相同。 |
7.3.4 PIID-ACD 数据类型
带ACD标志位的服务序号及优先标志PIID-ACD(Priority and Invoke ID with ACD)的数据类型定义见表7 。
表7 PIID-ACD 数据类型定义
数据类型定义 | 说明 |
PIID-ACD∷=unsigned | PIID-ACD 用于服务器APDU(Server-APDU)的服务数据类型中,其中: |
表 7 (续)
数据类型定义 | 说明 |
bit7(服务优先级)——见表6 。 bit6(请求访问ACD)——0:不请求,1:请求。 bit0…bit5(服务序号)——见表 6 。 |
7.3.5 OI 数据类型
对象标识数据类型OI定义见表8 。
表8 OI 数据类型定义
数据类型定义 | 说明 |
OI∷=long-unsigned |
7.3.6 OAD 数据类型
对象属性描述符OAD(Object Attribute Descriptor)的数据类型定义见表9 。
表9 OAD 数据类型定义
数据类型定义 | 说明 |
OAD∷=SEQUENCE { 对象标识 OI, 属性标识及其特征 unsigned, 属性内元素索引 unsigned(1…255) } | 对象标识——见 8.3 。 属性标识及其特征,其中: 1) bit0…bit4 编码表示对象属性编号,取值 0…31,其中 0 表示整个对象属性,即对象的所有属性,见 8.2.1 ; 2) bit5…bit7 编码表示属性特征,属性特征是对象同一个属性在不同快照环境下取值模式,取值 0…7,特征含义在具体类属性中描述。 属性内元素索引——00H 表示整个属性全部内容。如果属性是结构 或数组,01H 指向对象属性的第一个元素;如果属性是记录型的存储区,非 0 值n 表示最近第n 次的记录。 |
7.3.7 ROAD 数据类型
记录型对象属性描述符ROAD(Record Object Attribute Descriptor)的数据类型定义见表10 。
表10 ROAD 数据类型定义
数据类型定义 | 说明 |
ROAD∷=SEQUENCE { 对象属性描述符 OAD, 关联对象属性描述符 SEQUENCE OF OAD } |
7.3.8 OMD 数据类型
对象方法描述符OMD(Object Method Descriptor)的数据类型定义见表11 。
表11 OMD 数据类型定义
数据类型定义 | 说明 |
OMD∷=SEQUENCE { 对象标识 OI, 方法标识 unsigned(1…255),操作模式 unsigned(0) } | OMD 用于描述对象的方法。对象标识——见 8.3 。 方法标识——对象方法编号,见 8.2.1 。操作模式——值默认为 0。 |
7.3.9 TI 数据类型
时间间隔TI(Time Interval)的数据类型定义见表12 。
表12 TI 数据类型定义
数据类型定义 | 说明 |
TI∷=SEQUENCE { 单位 ENUMERATED { 秒 (0), 分 (1), 时 (2), 日 (3), 月 (4), 年 (5) }, 间隔值 long-unsigned } | TI 用于表示时间间隔的间隔值及时间单位,间隔值为 0 表示无间隔。 |
7.3.10 TSA 数据类型
目标服务器地址TSA(Target Server Address)的数据类型定义见表13 。
表13 TSA 数据类型定义
数据类型定义 | 说明 |
TSA∷=octet-string(SIZE(2…17)) | 见 6.2.4.2.1 。 |
7.3.11 MAC 数据类型
数据安全MAC(Message Authentication Code)的数据类型定义见表14 。
表14 MAC 数据类型定义
数据类型定义 | 说明 |
MAC∷=octet-string | 见 3.13 。 |
7.3.12 RN 数据类型
随机数RN(Xxxxxxx Xxxxxxx)的数据类型定义见表15 。
表15 RN 数据类型定义
数据类型定义 | 说明 |
RN∷=octet-string | ESAM 生成的用于加密的信息串。 |
7.3.13 Region 区间类型
区间类型Region的数据类型定义见表16 。
表16 Region 数据类型定义
数据类型定义 | 说明 |
Region∷=SEQUENCE { 单位 ENUMERATED { 前闭后开 (0), 前开后闭 (1), 前闭后闭 (2), 前开后开 (3) }, 起始值 Data,结束值 Data } | Region 用于描述数据的区间范围,包括以下四种:(起始值,结束值)、 [起始值,结束值)、(起始值,结束值]、[起始值,结束值]。 |
7.3.14 Scaler_Unit 数据类型
表17 Scaler_Unit 数据类型定义
数据类型定义 | 说明 |
Scaler_Unit∷=SEQUENCE { 换算 integer, | 换算——倍数因子的指数,基数为 10;如数值不是数字的,则换算应被置 0。 单位——枚举类型定义物理单位,见附 录 B。 |
表 17 (续)
数据类型定义 | 说明 |
单位 ENUMERATED } |
7.3.15 RSD 数据类型
记录行选择描述符RSD(Record Selection Descriptor)的数据类型定义见表18 。
表18 RSD 数据类型定义
数据类型定义 | 说明 |
RSD∷=CHOICE { 不选择 [0] NULL, 选择方法 1 [1] Selector1, 选择方法 2 [2] Selector2, 选择方法 3 [3] Selector3, 选择方法 4 [4] Selector4, 选择方法 5 [5] Selector5, 选择方法 6 [6] Selector6, 选择方法 7 [7] Selector7, 选择方法 8 [8] Selector8, 选择方法 9 [9] Selector9, 选择方法 10 [10] Selector10 } | RSD 用于选择记录型对象属性的记录,即二维记录表的行选择,其通过对构成记录的对象属性数值进行选择,范围选择区间:前闭后开,即[起始值,结束值)。 |
Selector1∷=SEQUENCE { 对象属性描述符 OAD,数值 Data } | Selector1 为选择对象的指定值。 |
Selector2∷=SEQUENCE { 对象属性描述符 OAD,起始值 Data, 结束值 Data, 数据间隔 Data } | Selector2 为选择对象区间内连续间隔值。 数据间隔——是和 OAD 相关的类型,=NULL 表示无间隔(即:指定区间内全部)。 当对象属性描述符的数值类型为 date_time 或date_time_s 类型时,其间隔的数据类型为 TI;其他类型下通常间隔数据类型与数值类型相同。 |
Selector3∷=SEQUENCE OF Selector2 | Selector3 为多个选择对象区间内连续间隔值的并集。 |
Selector4∷=SEQUENCE { 采集启动时间 date_time_s, | Selector4 为指定表计集合、指定采集启动时间。 MS——见 7.3.17 。 |
表 18 (续)
数据类型定义 | 说明 |
表计集合 MS } | |
Selector5∷=SEQUENCE { 采集存储时间 date_time_s,表计集合 MS } | Selector5 为指定表计集合、指定采集存储时间。 MS——见 7.3.17 。 |
Selector6∷=SEQUENCE { 采集启动时间起始值 date_time_s,采集启动时间结束值 date_time_s,时间间隔 TI, 表计集合 MS } | |
Selector7∷=SEQUENCE { 采集存储时间起始值 date_time_s,采集存储时间结束值 date_time_s,时间间隔 TI, 表计集合 MS } | |
Selector8∷=SEQUENCE { 采集成功时间起始值 date_time_s,采集成功时间结束值 date_time_s,时间间隔 TI, 表计集合 MS } | |
Selector9∷=SEQUENCE { 上第n 次记录 unsigned } | Selector9 为指定选取上第n 次记录。 |
Selector10∷=SEQUENCE { 上 n 条记录 unsigned,表计集合 MS } | Select10 为指定选取最新的n 条记录。 MS——见 7.3.17 。 |
7.3.16 CSD 数据类型
列选择描述符CSD(Column Selection Descriptor)的数据类型定义见表19 。
表19 CSD 数据类型定义
数据类型定义 | 说明 |
CSD∷=CHOICE | CSD 用于描述记录型对象中记录的列关联对象属性。 |
{ 对象属性描述符 [0] OAD, 记录型对象属性描述符 [1] ROAD } | OAD——见 7.3.6 。 ROAD——见 7.3.7 。 |
7.3.17 MS 数据类型
表计集合MS(Meter Set)的数据类型定义见表20 。
表20 MS 数据类型定义
数据类型定义 | 说明 |
MS∷=CHOICE { 无表计 [0], 全部用户地址 [1], 一组用户类型 [2] SEQUENCE OF unsigned,一组用户地址 [3] SEQUENCE OF TSA, 一组配置序号 [4] SEQUENCE OF long-unsigned,一组用户类型区间 [5] SEQUENCE OF Region, 一组用户地址区间 [6] SEQUENCE OF Region,一组配置序号区间 [7] SEQUENCE OF Region } | 无表计——相当于无效配置。 全部用户地址——全部可采集的表计。 一组用户类型——指定的若干用户类型的表计。 一组用户地址——指定的若干表计通信地址的表计。 一组配置序号——指定的若干表计配置序号的表计。 一组用户类型区间——按数组形式给出用户类型范围。 一组用户地址区间——按数组形式给出表计通信地址范围。一组配置序号区间——按数组形式给出表计档案配置序号范围。 |
7.3.18 SID 安全标识类型
安全标识SID(Security Identifier)的数据类型定义见表21 。
表21 SID 数据类型定义
数据类型定义 | 说明 |
SID∷=SEQUENCE { 标识 double-long-unsigned,附加数据 octet-string } | ESAM 所属安全标识。 |
7.3.19 SID_MAC 标识类型
SID_MAC的数据类型定义见表22 。
表22 SID_MAC 数据类型定义
数据类型定义 | 说明 |
SID_MAC∷=SEQUENCE { 安全标识 SID, 消息鉴别码 MAC } | ESAM 所属安全标识以及消息鉴别码。 |
7.3.20 COMDCB 数据类型
串口控制块COMDCB的数据类型定义见表23 。
表23 COMDCB 数据类型定义
数据类型定义 | 说明 |
COMDCB∷=SEQUENCE | |
{ | |
xx率 ENUMERATED | |
{ | |
300bps(0), 000xxx(0), 0000xxx(0), | |
0000xxx(3), 4800bps(4), 7200bps(5), | |
9600bps(6), 19200bps(7), 38400bps(8), | |
57600bps(9), 115200bps(10), 自适应(255) | |
}, | |
校验位 ENUMERATED {无校验(0),奇校验(1),偶校验(2)}, | |
数据位 ENUMERATED {5(5),6(6),7(7),8(8)}, | |
停止位 ENUMERATED {1(1),2(2)}, | |
流控 ENUMERATED {无(0),硬件(1),软件(2)} | |
} |
7.3.21 RCSD 数据类型
记录列选择描述符RCSD(Record Column Selection Descriptor)的数据类型定义见表24 。
表24 RCSD 数据类型定义
数据类型定义 | 说明 |
RCSD∷=SEQUENCE OF CSD | RCSD 用于选择记录型对象属性中记录的某列或某几列内容,即二维记录表的列选择。 当无 OAD 时,RCSD=0,即SEQUENCE OF 的数据 项个数为 0,表示全选。 |
7.3.22 DAR 数据类型
数据访问结果DAR(Data Access Result)的数据类型定义见表25 。
表25 DAR 数据类型定义
数据类型定义 | 说明 |
DAR∷=ENUMERATED { 成功 (0), 硬件失效 (1), 暂时失效 (2), 拒绝读写 (3), 对象未定义 (4),对象接口类不符合 (5),对象不存在 (6), 类型不匹配 (7), 越界 (8), 数据块不可用 (9), 分帧传输已取消 (10),不处于分帧传输状态 (11),块写取消 (12), 不存在块写状态 (13), 数据块序号无效 (14), 密码错/未授权 (15),通信速率不能更改 (16),年时区数超 (17), 日时段数超 (18), 费率数超 (19), 安全认证不匹配 (20), 重复充值 (21), ESAM 验证失败 (22), 安全认证失败 (23), 客户编号不匹配 (24), 充值次数错误 (25), 购电超囤积 (26), 地址异常 (27), 对称解密错误 (28), 非对称解密错误 (29), 签名错误 (30), 电能表挂起 (31), 时间标签无效 (32), 请求超时 (33), ESAM 的P1P2 不正确 (34), ESAM 的 LC 错误 (35), | DAR 采用枚举方式来描述数据访问的各种可能结果。 |
数据类型定义 | 说明 |
其它 (255) } |
7.3.23 ConnectMechanismInfo 数据类型
应用连接请求认证的机制信息ConnectMechanismInfo的数据类型定义见表26 。
表26 ConnectMechanismInfo 数据类型定义
数据类型定义 | 说明 |
ConnectMechanismInfo∷=CHOICE { 公共连接 [0] NullSecurity, 一般密码 [1] PasswordSecurity, 对称加密 [2] SymmetrySecurity, 数字签名 [3] SignatureSecurity } | 建立应用连接的机制信息。 |
NullSecurity∷=NULL | |
PasswordSecurity∷=visible-string | |
SymmetrySecurity∷=SEQUENCE { 密文 1 octet-string, 客户机签名 1 octet-string } | 密文 1 为对客户机产生的随机数加密得到的密文。 |
SignatureSecurity∷=SEQUENCE { 密文 2 octet-string, 客户机签名 2 octet-string } | 密文 2 为客户机对服务器产生的主站证书等数据加密信息。 客户机签名 2 为客户机对密文 2 的签名。 |
7.3.24 ConnectResult 数据类型
应用连接请求认证的结果ConnectResult的数据类型定义见表27 。
表27 ConnectResult 数据类型定义
数据类型定义 | 说明 |
ConnectResult∷=ENUMERATED { 允许建立应用连接 (0),密码错误 (1), | ConnectResult 采用枚举方式表示应用连接请求认证的结果。 |
表 27 (续)
数据类型定义 | 说明 |
对称解密错误 (2), 非对称解密错误 (3), 签名错误 (4), 协议版本不匹配 (5), 其他错误 (255) } |
7.3.25 ConnectResponseInfo 数据类型
应用连接请求的认证响应信息ConnectResponseInfo的数据类型定义见表28 。
表28 ConnectResponseInfo 数据类型定义
数据类型定义 | 说明 |
ConnectResponseInfo∷=SEQUENCE { 认证结果 ConnectResult, 认证附加信息 SecurityData OPTIONAL } | ConnectResponseInfo 用于表示应用连接请求的认证响应信息。 |
SecurityData∷=SEQUENCE { 服务器随机数 RN, 服务器签名信息 octet-string } |
7.3.26 date_time 数据类型
表29 date_time 数据类型定义
数据类型定义 | 说明 |
date_time∷=SEQUENCE { year long-unsigned, month unsigned, day_of_month unsigned, day_of_week unsigned, hour unsigned, minute unsigned, second unsigned, | 日期和时间的十六进制格式。 year、milliseconds=FFFFH 表示无效。 month、day_of_month、day_of_week、hour、minute、second=FFH表示无效。 day_of_week:0 表示周日,1…6 分别表示周一到周六。 |
数据类型定义 | 说明 |
milliseconds long-unsigned } |
7.3.27 date_time_s 数据类型
表30 date_time_s 数据类型定义
数据类型定义 | 说明 |
date_time_s∷=SEQUENCE { year long-unsigned, month unsigned, day unsigned, hour unsigned, minute unsigned, second unsigned } | 日期和时间的十六进制格式。 year=FFFFH 表示无效。 month、day、hour、minute、second=FFH 表示无效。 |
7.3.28 date 数据类型
日期date的数据类型定义见表31 。
表31 date 数据类型定义
数据类型定义 | 说明 |
date∷=SEQUENCE { year long-unsigned, month unsigned, day_of_month unsigned, day_of_week unsigned } | 日期的十六进制格式。 year=FFFFH 表示无效。 month、day_of_month、day_of_week=FFH 表示无效。 |
7.3.29 time 数据类型
时间time的数据类型定义见表32 。
表32 time 数据类型定义
数据类型定义 | 说明 |
time∷=SEQUENCE { hour unsigned, minute unsigned, second unsigned } | 时间的十六进制格式。 hour、minute、second=FFH 表示无效。 |
7.4 应用层数据单元
7.4.1 应用层数据单元定义
7.4.1.1 预连接数据单元
预连接数据单元(LINK-APDU)的数据类型定义见表33 。
表33 LINK-APDU 定义
数据类型定义 | 说明 |
LINK-APDU∷=CHOICE { 预连接请求 [1] LINK-Request, 预连接响应 [129] LINK-Response } |
7.4.1.2 客户机应用层数据单元
客户机应用层数据单元(Client-APDU)的数据类型定义见表34 。
表34 Client-APDU 定义
数据类型定义 | 说明 |
Client-APDU∷=SEQUENCE { 应用层服务 CHOICE { 建立应用连接请求 [2] CONNECT-Request, 断开应用连接请求 [3] RELEASE-Request, 读取请求 [5] GET-Request, 设置请求 [6] SET-Request, 操作请求 [7] ACTION-Request, 上报应答 [8] REPORT-Response, 代理请求 [9] PROXY-Request, |
数据类型定义 | 说明 |
异常响应 [110] ERROR-Response }, 时间标签域 TimeTag OPTIONAL } |
7.4.1.3 服务器应用层数据单元
服务器应用层数据单元(Server-APDU)的数据类型定义见表35 。
表35 Server-APDU 定义
数据类型定义 | 说明 |
Server-APDU∷=SEQUENCE { 应用层服务 CHOICE { 建立应用连接响应 [130] CONNECT-Response, 断开应用连接响应 [131] RELEASE-Response, 断开应用连接通知 [132] RELEASE-Notification, 读取响应 [133] GET-Response, 设置响应 [134] SET-Response, 操作响应 [135] ACTION-Response, 上报通知 [136] REPORT-Notification, 代理响应 [137] PROXY-Response, 异常响应 [238] ERROR-Response }, 跟随上报信息域 FollowReport OPTIONAL,时间标签域 TimeTag OPTIONAL } |
7.4.1.4 安全传输数据单元
安全传输数据单元(SECURITY-APDU)的数据类型定义见表36 。
表36 SECURITY-APDU 定义
数据类型定义 | 说明 |
SECURITY-APDU∷=CHOICE { 安全请求 [16] SECURITY-Request, 安全响应 [144] SECURITY-Response } |
7.4.2 预连接
7.4.2.1 LINK-Request 数据类型
预连接请求(LINK-Request)的数据类型定义见表37 。
表37 LINK-Request 数据类型定义
数据类型定义 | 说明 |
LINK-Request∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD 请求类型 ENUMERATED { 登录 (0), 心跳 (1),退出登录 (2) }, 心跳周期 long-unsigned,请求时间 date_time } | PIID-ACD——见 7.3.4 。 心跳周期——单位:秒。 date_time——见 7.3.26 。 |
7.4.2.2 LINK-Response 数据类型
预连接响应(LINK-Response)的数据类型定义见表38 。
表38 LINK-Response 数据类型定义
数据类型定义 | 说明 |
LINK-Response∷=SEQUENCE | PIID——见 7.3.3 。 |
{ | date_time——见 7.3.26 。 |
服务序号-优先级 PIID, | 时钟可信标志——用于表示响应方的时钟是否可信, |
结果 Result, | bit7=0:不可信,bit7=1:可信。 |
请求时间 date_time, | bit0…bit2——二进制编码表示结果,0:成功,1:地 |
收到时间 date_time, | 址重复,2:非法设备,3:容量不足,其它值:保留。 |
响应时间 date_time | |
} | |
Result∷=bit-string(SIZE(8)) { bit7(时钟可信标志) (0), bit6(保留) (1), bit5(保留) (2), bit4(保留) (3), bit3(保留) (4), bit2(结果) (5), bit1(结果) (6), |
数据类型定义 | 说明 |
bit0(结果) (7) } |
7.4.3 建立应用连接
7.4.3.1 密钥协商
在建立应用连接时进行密钥协商,产生会话密钥,用于计算数据验证码和链路用户数据的加密。
请求建立应用连接(CONNECT-Request)的数据类型定义见表39 。
表39 CONNECT-Request 数据类型定义
数据类型定义 | 说明 |
Connect-Request∷=SEQUENCE { 服务序号-优先级 PIID, 期望的协议版本号 long-unsigned, 期望的协议一致性块 ProtocolConformance,期望的功能一致性块 FunctionConformance,客户机发送帧最大尺寸 long-unsigned, 客户机接收帧最大尺寸 long-unsigned,客户机接收帧最大窗口尺寸 unsigned, 客户机最大可处理帧尺寸 long-unsigned, 期望的应用连接超时时间 double-long-unsigned,认证请求对象 ConnectMechanismInfo } | PIID——见 7.3.3 。 ProtocolConformance——定义见附 录 C。 FunctionConformance——定义见附 录 C。客户机发送帧最大尺寸——单位:字节。 客户机接收帧最大尺寸——单位:字节。 客户机接收帧最大窗口尺寸——单位:个。期望的应用连接超时时间——单位:秒。 |
7.4.3.3 CONNECT-Response 数据类型
建立应用连接响应(CONNECT-Response)的数据类型定义见表40 。
表40 CONNECT-Response 数据类型定义
数据类型定义 | 说明 |
CONNECT-Response∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD, 服务器厂商版本信息 FactoryVersion,商定的协议版本号 long-unsigned, 商定的协议一致性块 ProtocolConformance, | PIID-ACD——见 7.3.4 。 ProtocolConformance——定义见附 录 C。 |
表 40 (续)
数据类型定义 | 说明 |
商定的功能一致性块 FunctionConformance,服务器发送帧最大尺寸 long-unsigned, 服务器接收帧最大尺寸 long-unsigned,服务器接收帧最大窗口尺寸 unsigned, 服务器最大可处理帧尺寸 long-unsigned, 商定的应用连接超时时间 double-long-unsigned,连接响应对象 ConnectResponseInfo } | FunctionConformance——定义见附 录 C。服务器发送帧最大尺寸——单位:字节。 服务器接收帧最大尺寸——单位:字节。 服务器接收帧最大窗口尺寸——单位:个。 |
FactoryVersion∷=SEQUENCE { 厂商代码 visible-string(SIZE(4)),软件版本号 visible-string(SIZE(4)),软件版本日期 visible-string(SIZE(6)),硬件版本号 visible-string(SIZE(4)),硬件版本日期 visible-string(SIZE(6)),厂商扩展信息 visible-string(SIZE(8)) } |
7.4.4 断开应用连接
7.4.4.1 RELEASE-Request 数据类型
请求断开应用连接(RELEASE-Request)的数据类型定义见表41 。
表41 RELEASE-Request 数据类型定义
数据类型定义 | 说明 |
RELEASE-Request∷=SEQUENCE { 服务序号-优先级 PIID } | PIID——见 7.3.3 。 |
7.4.4.2 RELEASE-Response 数据类型
断开应用连接响应(RELEASE-Response)的数据类型定义见表42 。
表42 RELEASE-Response 数据类型定义
数据类型定义 | 说明 |
RELEASE-Response∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD, | PIID-ACD——见 7.3.4 。 |
数据类型定义 | 说明 |
结果 ENUMERATED {成功(0)} } |
7.4.4.3 RELEASE-Notification 数据类型
断开应用连接通知(RELEASE-Notification)的数据类型定义见表43 。
表43 RELEASE-Notification 数据类型定义
数据类型定义 | 说明 |
RELEASE-Notification∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD, 应用连接建立时间 date_time_s,服务器当前时间 date_time_s } | PIID-ACD——见 7.3.4 。 date_time_s——见 7.3.27 。 |
7.4.5 读取
7.4.5.1 GET-Request 数据类型
7.4.5.1.1 概述
请求读取(GET-Request)的数据类型定义见表44 。
表44 GET-Request 数据类型定义
数据类型定义 | 说明 |
GET-Request∷=CHOICE { 请求读取一个对象属性 [1] GetRequestNormal, 请求读取若干个对象属性 [2] GetRequestNormalList, 请求读取一个记录型对象属性 [3] GetRequestRecord, 请求读取若干个记录型对象属性 [4] GetRequestRecordList, 请求读取分帧传输的下一帧 [5] GetRequestNext,请求读取一个对象属性的 MD5 值 [6] GetRequestMD5 } |
7.4.5.1.2 GetRequestNormal 数据类型
请求读取一个对象属性(GetRequestNormal)的数据类型定义见表45 。
表45 GetRequestNormal 数据类型定义
数据类型定义 | 说明 |
GetRequestNormal∷=SEQUENCE { 服务序号-优先级 PIID,一个对象属性描述符 OAD } | PIID——见 7.3.3 。 OAD——见 7.3.6 。 |
7.4.5.1.3 GetRequestNormalList 数据类型
请求读取若干个对象属性(GetRequestNormalList)的数据类型定义见表46 。
表46 GetRequestNormalList 数据类型定义
数据类型定义 | 说明 |
GetRequestNormalList∷=SEQUENCE { 服务序号-优先级 PIID, 若干个对象属性描述符 SEQUENCE OF OAD } | PIID——见 7.3.3 。 OAD——见 7.3.6 。 |
7.4.5.1.4 GetRequestRecord 数据类型
请求读取一个记录型对象属性(GetRequestRecord)的数据类型定义见表47 。
表47 GetRequestRecord 数据类型定义
数据类型定义 | 说明 |
GetRequestRecord∷=SEQUENCE { 服务序号-优先级 PIID, 读取一个记录型对象属性 GetRecord } | PIID——见 7.3.3 。 OAD——见 7.3.6 。 RSD——见 7.3.15 。 RCSD——见 7.3.21 。 |
GetRecord∷=SEQUENCE { 对象属性描述符 OAD,记录行选择描述符 RSD,记录列选择描述符 RCSD } |
7.4.5.1.5 GetRequestRecordList 数据类型
请求读取若干个记录型对象属性(GetRequestRecordList)的数据类型定义见表48 。
表48 GetRequestRecordList 数据类型定义
数据类型定义 | 说明 |
GetRequestRecordList∷=SEQUENCE { 服务序号-优先级 PIID, 读取若干个记录型对象属性 SEQUENCE OF GetRecord } | PIID——见 7.3.3 。 GetRecord——见表 47 。 |
7.4.5.1.6 GetRequestNext 数据类型
请求读取分帧传输的下一帧(GetRequestNext)的数据类型定义见表49 。
表49 GetRequestNext 数据类型定义
数据类型定义 | 说明 |
GetRequestNext∷=SEQUENCE { 服务序号-优先级 PIID, 已接收的最后分帧序号 long-unsigned } | PIID——见 7.3.3 。 服务器应答分帧序号为“已接收的最后分帧序号+1”。 |
7.4.5.1.7 GetRequestMD5 数据类型
请求读取一个对象属性MD5值(GetRequestMD5)的数据类型定义见表50 。
表50 GetRequestMD5 数据类型定义
数据类型定义 | 说明 |
GetRequestMD5∷=SEQUENCE { 服务序号-优先级 PIID,一个对象属性描述符 OAD } | PIID——见 7.3.3 。 |
7.4.5.2 GET-Response 数据类型
7.4.5.2.1 概述
响应读取(GET-Response)的数据类型定义见表51 。
表51 GET-Response 数据类型定义
数据类型定义 | 说明 |
GET-Response∷=CHOICE { 读取一个对象属性的响应 [1] GetResponseNormal, |
表 51 (续)
数据类型定义 | 说明 |
读取若干个对象属性的响应 [2] GetResponseNormalList, 读取一个记录型对象属性的响应 [3] GetResponseRecord, 读取若干个记录型对象属性的响应 [4] GetResponseRecordList, 读取分帧传输的下一帧的响应 [5] GetResponseNext,读取一个对象属性的 MD5 值的响应 [6] GetResponseMD5 } |
7.4.5.2.2 GetResponseNormal 数据类型
响应读取一个对象属性(GetResponseNormal)的数据类型定义见表52 。
表52 GetResponseNormal 数据类型定义
数据类型定义 | 说明 |
GetResponseNormal∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD, 一个对象属性及结果 A-ResultNormal } | PIID-ACD——见 7.3.4 。 |
A-ResultNormal∷=SEQUENCE { 对象属性描述符 OAD, 读取结果 Get-Result } | OAD——见 7.3.6 。 |
Get-Result∷=CHOICE { 错误信息 [0] DAR, 数据 [1] Data } | DAR——见 7.3.22 。 Data——见 7.3.1 。 |
7.4.5.2.3 GetResponseNormalList 数据类型
响应读取若干个对象属性(GetResponseNormalList)的数据类型定义见表53 。
表53 GetResponseNormalList 数据类型定义
数据类型定义 | 说明 |
GetResponseNormalList∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD, 若干个对象属性及结果 SEQUENCE OF A-ResultNormal } | PIID-ACD——见 7.3.4 。 |
7.4.5.2.4 GetResponseRecord 数据类型
响应读取一个记录型对象属性(GetResponseRecord)的数据类型定义见表54 。
表54 GetResponseRecord 数据类型定义
数据类型定义 | 说明 |
GetResponseRecord∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD, 一个记录型对象属性及结果 A-ResultRecord } | PIID-ACD——见 7.3.4 。 |
A-ResultRecord∷=SEQUENCE { 记录型对象属性描述符 OAD,记录的N 列属性描述符 RCSD,响应数据 CHOICE { 错误信息 [0] DAR, M 条记录 [1] SEQUENCE OF A-RecordRow } } | OAD——见 7.3.6 。 记录的 N 列属性描述符——记录表的表头信息。 |
A-RecordRow∷=SEQUENCE { 第 1 列数据 Data,第 2 列数据 Data, … 第N 列数据 Data } | 第 1 列…第N 列的数据,其排列顺序与“记录的 N 列属性描述符”的排列顺序一致。 Data——见 7.3.1 。 |
7.4.5.2.5 GetResponseRecordList 数据类型
响应读取若干个记录型对象属性(GetResponseRecordList)的数据类型定义见表55 。
表55 GetResponseRecordList 数据类型定义
数据类型定义 | 说明 |
GetResponseRecordList∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD, 若干个记录型对象属性及结果 SEQUENCE OF A-ResultRecord } | PIID-ACD——见 7.3.4 。 OAD——见 7.3.6 。 |
7.4.5.2.6 GetResponseNext 数据类型
响应读取分帧传输的下一帧(GetResponseNext)的数据类型定义见表56 。
表56 GetResponseNext 数据类型定义
数据类型定义 | 说明 |
GetResponseNext∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD,末帧标志 bool, 分帧序号 long-unsigned, 分帧响应 CHOICE { 错误信息 [0] DAR, 对象属性 [1] SEQUENCE OF A-ResultNormal,记录型对象属性 [2] SEQUENCE OF A-ResultRecord } } | PIID-ACD——见 7.3.4 。 DAR——见 7.3.22 。 |
7.4.5.2.7 GetResponseMD5 数据类型
响应读取对象属性MD5值(GetResponseMD5)的数据类型定义见表57 。
表57 GetResponseMD5 数据类型定义
数据类型定义 | 说明 |
GetResponseMD5∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD,对象属性描述符 OAD, 结果 CHOICE { 错误信息 [0] DAR, MD5 值 [1] octet-string } } | PIID-ACD——见 7.3.4 。 DAR——见 7.3.22 。 MD5 值——使用编码后的对象属性值进行计算。 |
7.4.6 设置
7.4.6.1 SET-Request 数据类型
7.4.6.1.1 概述
设置请求(SET-Request)的数据类型定义见表58 。
表58 SET-Request 数据类型定义
数据类型定义 | 说明 |
SET-Request∷=CHOICE { 请求设置一个对象属性 [1] SetRequestNormal, 请求设置若干个对象属性 [2] SetRequestNormalList, 请求设置后读取若干个对象属性 [3] SetThenGetRequestNormalList } |
7.4.6.1.2 SetRequestNormal 数据类型
请求设置一个对象属性(SetRequestNormal)的数据类型定义见表59 。
表59 SetRequestNormal 数据类型定义
数据类型定义 | 说明 |
SetRequestNormal∷=SEQUENCE { 服务序号-优先级 PIID,一个对象属性描述符 OAD,数据 Data } | PIID——见 7.3.3 。 OAD——见 7.3.6 。 Data——见 7.3.1 。 |
7.4.6.1.3 SetRequestNormalList 数据类型
请求设置若干个对象属性(SetRequestNormalList)的数据类型定义见表60 。
表60 SetRequestNormalList 数据类型定义
数据类型定义 | 说明 |
SetRequestNormalList∷=SEQUENCE { 服务序号-优先级 PIID, 若干个对象属性 SEQUENCE OF { 一个对象属性描述符 OAD,数据 Data } } | PIID——见 7.3.3 。 OAD——见 7.3.6 。 Data——见 7.3.1 。 |
7.4.6.1.4 SetThenGetRequestNormalList 数据类型
请求设置后读取若干个对象属性(SetThenGetRequestNormalList)的数据类型定义见表61 。
表61 SetThenGetRequestNormalList 数据类型定义
数据类型定义 | 说明 |
SetThenGetRequestNormalList∷=SEQUENCE { 服务序号-优先级 PIID, 若干个设置后读取对象属性 SEQUENCE OF { 一个设置的对象属性 OAD,数据 Data, 一个读取的对象属性 OAD, 延时读取时间 unsigned } } | PIID——见 7.3.3 。 OAD——见 7.3.6 。 Data——见 7.3.1 。 延时读取时间——单位:秒,0 表示由服务器确定延时时间。 |
7.4.6.2 SET-Response 数据类型
7.4.6.2.1 概述
响应设置(SET-Response)的数据类型定义见表62 。
表62 SET-Response 数据类型定义
数据类型定义 | 说明 |
SET-Response∷=CHOICE { 设置一个对象属性的响应 [1] SetResponseNormal, 设置若干个对象属性的响应 [2] SetResponseNormalList, 设置的确认信息以及读取的响应 [3] SetThenGetResponseNormalList } |
7.4.6.2.2 SetResponseNormal 数据类型
响应设置一个对象属性(SetResponseNormal)的数据类型定义见表63 。
表63 SetResponseNormal 数据类型定义
数据类型定义 | 说明 |
SetResponseNormal∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD,一个对象属性描述符 OAD, 设置执行结果 DAR } | PIID-ACD——见 7.3.4 。 OAD——见 7.3.6 。 DAR——见 7.3.22 。 |
7.4.6.2.3 SetResponseNormalList 数据类型
响应设置若干个对象属性(SetResponseNormalList)的数据类型定义见表64 。
表64 SetResponseNormalList 数据类型定义
数据类型定义 | 说明 |
SetResponseNormalList∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD,若干个对象属性设置结果 SEQUENCE OF { 一个对象属性描述符 OAD,设置执行结果 DAR } } | PIID-ACD——见 7.3.4 。 OAD——见 7.3.6 。 DAR——见 7.3.22 。 |
7.4.6.2.4 SetThenGetResponseNormalList 数据类型
响应设置若干个对象属性以及读取若干个对象属性(SetThenGetResponseNormalList)的数据类型定义见表65 。
表65 SetThenGetResponseNormalList 数据类型定义
数据类型定义 | 说明 |
SetThenGetResponseNormalList∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD,若干个对象属性设置后读取结果 SEQUENCE OF { 一个设置的对象属性描述符 OAD,设置执行结果 DAR, 一个对象属性及结果 A-ResultNormal } } | PIID-ACD——见 7.3.4 。 OAD——见 7.3.6 。 DAR——见 7.3.22 。 |
7.4.7 操作
7.4.7.1 ACTION-Request 数据类型
7.4.7.1.1 ACTION-Request 数据类型定义
请求操作(ACTION-Request)的数据类型定义见表66 。
表66 ACTION-Request 数据类型定义
数据类型定义 | 说明 |
ACTION-Request∷=CHOICE | |
{ 请求操作一个对象方法 [1] ActionRequestNormal, 请求操作若干个对象方法 [2] ActionRequestNormalList, 请求操作若干个对象方法后读取若干个对象属性 [3] ActionThenGetRequestNormalList } |
7.4.7.1.2 ActionRequestNormal 数据类型
请求操作一个对象方法(ActionRequestNormal)的数据类型定义见表67 。
表67 ActionRequestNormal 数据类型定义
数据类型定义 | 说明 |
ActionRequestNormal∷=SEQUENCE { 服务序号-优先级 PIID,一个对象方法描述符 OMD,方法参数 Data } | PIID——见 7.3.3 。 OMD——见 7.3.8 。 Data——见 7.3.1 。 |
7.4.7.1.3 ActionRequestNormalList 数据类型
请求操作若干个对象方法(ActionRequestNormalList)的数据类型定义见表68 。
表68 ActionRequestNormalList 数据类型定义
数据类型定义 | 说明 |
ActionRequestNormalList∷=SEQUENCE { 服务序号-优先级 PIID, 若干个对象方法 SEQUENCE OF { 一个对象方法描述符 OMD,方法参数 Data } } | PIID——见 7.3.3 。 OMD——见 7.3.8 。 Data——见 7.3.1 。 |
7.4.7.1.4 ActionThenGetRequestNormalList 数据类型
请求操作若干个对象方法后读取若干个对象属性(ActionThenGetRequestNormalList)的数据类型定义见表69 。
表69 ActionThenGetRequestNormalList 数据类型定义
数据类型定义 | 说明 |
ActionThenGetRequestNormalList∷=SEQUENCE { 服务序号-优先级 PIID, 操作若干个对象方法后读取对象属性 SEQUENCE OF { 一个设置的对象方法描述符 OMD,方法参数 Data, 一个读取的对象属性描述符 OAD, 读取延时 unsigned } } | PIID——见 7.3.3 。 OAD——见 7.3.6 。 OMD——见 7.3.8 。 Data——见 7.3.1 。 读取延时——单位:秒,0 表示由服务器确定延时时间。 |
7.4.7.2 ACTION-Response 数据类型
7.4.7.2.1 Action-Response 数据类型定义
响应操作(ACTION-Response)的数据类型定义见表70 。
表70 ACTION-Response 数据类型定义
数据类型定义 | 说明 |
ACTION-Response∷=CHOICE { 操作一个对象方法的响应 [1] ActionResponseNormal, 操作若干个对象方法的响应 [2] ActionResponseNormalList, 操作若干个对象方法后读取若干个属性的响应 [3] ActionThenGetResponseNormalList } |
7.4.7.2.2 ActionResponseNormal 数据类型
响应操作一个对象方法(ActionResponseNormal)的数据类型定义见表71 。
表71 ActionResponseNormal 数据类型定义
数据类型定义 | 说明 |
ActionResponseNormal∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD,一个对象方法描述符 OMD, 操作执行结果 DAR, 操作返回数据 Data OPTIONAL } | PIID-ACD——见 7.3.4 。 OMD——见 7.3.8 。 DAR——见 7.3.22 。 Data——见 7.3.1 。 |
7.4.7.2.3 ActionResponseNormalList 数据类型
响应操作若干个对象方法(ActionResponseNormalList)的数据类型定义见表72 。
表72 ActionResponseNormalList 数据类型定义
数据类型定义 | 说明 |
ActionResponseNormalList∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD,若干个对象方法操作结果 SEQUENCE OF { 一个对象方法描述符 OMD,操作执行结果 DAR, 操作返回数据 Data OPTIONAL } } | PIID-ACD——见 7.3.4 。 OMD——见 7.3.8 。 DAR——见 7.3.22 。 Data——见 7.3.1 。 |
7.4.7.2.4 ActionThenGetResponseNormalList 数据类型
响应操作若干个对象方法后读取若干个属性(ActionThenGetResponseNormalList)的数据类型定义见表73 。
表73 ActionThenGetResponseNormalList 数据类型定义
数据类型定义 | 说明 |
ActionThenGetResponseNormalList∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD, 操作若干个对象方法后读取属性的结果 SEQUENCE OF { 一个设置的对象方法描述符 OMD,操作执行结果 DAR, 操作返回数据 Data OPTIONAL, 一个对象属性及结果 A-ResultNormal } } | PIID-ACD——见 7.3.4 。 OMD——见 7.3.8 。 DAR——见 7.3.22 。 OAD——见 7.3.6 。 Data——见 7.3.1 。 |
7.4.8 上报
7.4.8.1 REPORT-Notification 数据类型
7.4.8.1.1 REPORT-Notification 数据类型定义
通知上报(REPORT-Notification)的数据类型定义见表74 。
表74 REPORT-Notification 数据类型定义
数据类型定义 | 说明 |
REPORT-Notification∷=CHOICE { 通知上报若干个对象属性 [1] ReportNotificationList, 通知上报若干个记录型对象属性 [2] ReportNotificationRecordList, 通知上报透明数据 [3] ReportNotificationTransData } |
7.4.8.1.2 ReportNotificationList 数据类型
通知上报若干个对象属性(ReportNotificationList)的数据类型定义见表75 。
表75 ReportNotificationList 数据类型定义
数据类型定义 | 说明 |
ReportNotificationList∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD, 若干个对象属性及数据 SEQUENCE OF A-ResultNormal } | PIID-ACD——见 7.3.4 。 |
7.4.8.1.3 ReportNotificationRecordList 数据类型
通知上报若干个记录型对象属性(ReportNotificationRecordList)的数据类型定义见表76 。
表76 ReportNotificationRecordList 数据类型定义
数据类型定义 | 说明 |
ReportNotificationRecordList∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD, 若干个记录型对象属性及数据 SEQUENCE OF A-ResultRecord } | PIID-ACD——见 7.3.4 。 |
7.4.8.1.4 ReportNotificationTransData 数据类型
通知上报透明数据(ReportNotificationTransData)的数据类型定义见表77 。
表77 ReportNotificationTransData 数据类型定义
数据类型定义 | 说明 |
ReportNotificationTransData∷=SEQUENCE { | 仅用于终端将来自其通信端口的上 报数据上报到客户机。 |
表 77 (续)
数据类型定义 | 说明 |
服务序号-优先级-ACD PIID-ACD,数据来源端口号 OAD, 透明数据 SEQUENCE OF octet-string } | PIID-ACD——见 7.3.4 。 |
7.4.8.2 REPORT-Response 数据类型
7.4.8.2.1 REPORT-Response 数据类型定义
响应上报(REPORT-Response)的数据类型定义见表78 。
表78 REPORT-Response 数据类型定义
数据类型定义 | 说明 |
REPORT-Response∷=CHOICE { 上报若干个对象属性的响应 [1] ReportResponseList, 上报若干个记录型对象属性的响应 [2] ReportResponseRecordList, 上报透明数据的响应 [3] ReportResponseTransData } |
7.4.8.2.2 ReportResponseList 数据类型
响应上报若干个对象属性(ReportResponseList)的数据类型定义见表79 。
表79 ReportResponseList 数据类型定义
数据类型定义 | 说明 |
ReportResponseList∷=SEQUENCE { 服务序号-优先级 PIID, 对应上报的若干个对象属性描述符 SEQUENCE OF OAD } | 对应上报的若干个对象属性描述符:用于向服务器表明接收确认。 PIID-ACD——见 7.3.4 。 OAD——见 7.3.6 。 |
7.4.8.2.3 ReportResponseRecordList 数据类型
响应上报若干个记录型对象属性(ReportResponseRecordList)的数据类型定义见表80 。
表80 ReportResponseRecordList 数据类型定义
数据类型定义 | 说明 |
ReportResponseRecordList∷=SEQUENCE { | 对应上报的若干个对象属性描述符:用于向服务器 表明接收确认。 |
数据类型定义 | 说明 |
服务序号-优先级 PIID, 对应上报的若干个对象属性描述符 SEQUENCE OF OAD } | PIID——见 7.3.3 。 OAD——见 7.3.6 。 |
7.4.8.2.4 ReportResponseTransData 数据类型
响应上报透明数据(ReportResponseTransData)的数据类型定义见表81 。
表81 ReportResponseTransData 数据类型定义
数据类型定义 | 说明 |
ReportResponseTransData∷=SEQUENCE { 服务序号-优先级 PIID } | PIID——见 7.3.3 。 |
7.4.9 代理
7.4.9.1 PROXY-Request 数据类型
7.4.9.1.1 概述
请求代理(PROXY-Request)的数据类型定义见表82 。
表82 PROXY-Request 数据类型定义
数据类型定义 | 说明 |
PROXY-Request∷=CHOICE { 请求代理读取若干个服务器的若干个对象属性 [1] ProxyGetRequestList, 请求代理读取一个服务器的一个记录型对象属性 [2] ProxyGetRequestRecord, 请求代理设置若干个服务器的若干个对象属性 [3] ProxySetRequestList, 请求代理设置后读取若干个服务器的若干个对象属性 [4] ProxySetThenGetRequestList, 请求代理操作若干个服务器的若干个对象方法 [5] ProxyActionRequestList, 请求代理操作后读取若干个服务器的若干个对象方法和属性 [6] ProxyActionThenGetRequestList, 请求代理透明转发命令 [7] ProxyTransCommandRequest } |
7.4.9.1.2 ProxyGetRequestList 数据类型
请求代理读取若干个服务器的若干个对象属性(ProxyGetRequestList)的数据类型定义见表83 。
表83 ProxyGetRequestList 数据类型定义
数据类型定义 | 说明 |
ProxyGetRequestList∷=SEQUENCE { 服务序号-优先级 PIID, 代理整个请求的超时时间 long-unsigned,代理若干个服务器的对象属性读取 SEQUENCE OF { 一个目标服务器地址 TSA, 代理一个目标服务器的超时时间 long-unsigned,若干个对象属性描述符 SEQUENCE OF OAD } } | PIID——见 7.3.3 。 TSA——见 7.3.10 。 OAD——见 7.3.6 。 代理整个请求的超时时间——单位:秒,非 0 值。 代理一个目标服务器的超时时间——单位:秒,0 表示由代理服务器确定超时时间。 |
7.4.9.1.3 ProxyGetRequestRecord 数据类型
请求代理读取一个服务器的一个记录型对象属性(ProxyGetRequestRecord)的数据类型定义见表
84 。
表84 ProxyGetRequestRecord 数据类型定义
数据类型定义 | 说明 |
ProxyGetRequestRecord∷=SEQUENCE { 服务序号-优先级 PIID, 代理请求的超时时间 long-unsigned,目标服务器地址 TSA, 对象属性描述符 OAD,记录行选择描述符 RSD,记录列选择描述符 RCSD } | XXXX——见 7.3.3 。 TSA——见 7.3.10 。 OAD——见 7.3.6 。 RSD——见 7.3.15 。 RCSD——见 7.3.21 。 代理请求的超时时间——单位:秒,非 0 值。 |
7.4.9.1.4 ProxySetRequestList 数据类型
请求代理设置若干个服务器的若干个对象属性(ProxySetRequestList)的数据类型定义见表85 。
表85 ProxySetRequestList 数据类型定义
数据类型定义 | 说明 |
ProxySetRequestList∷=SEQUENCE { 服务序号-优先级 PIID, 代理整个请求的超时时间 long-unsigned, | PIID——见 7.3.3 。 TSA——见 7.3.10 。 OAD——见 7.3.6 。 Data——见 7.3.1 。 |
表 85 (续)
数据类型定义 | 说明 |
代理若干个服务器的对象属性设置 SEQUENCE OF { 一个目标服务器地址 TSA, 代理一个目标服务器的超时时间 long-unsigned,若干个对象属性描述符及数据 SEQUENCE OF { 对象属性描述符 OAD,设置数值 Data } } } | 代理整个请求的超时时间——单位:秒,非 0 值。 代理一个目标服务器的超时时间——单位:秒,0 表示由代理服务器确定超时时间。 |
7.4.9.1.5 ProxySetThenGetRequestList 数据类型
请求代理设置后读取若干个服务器的若干个对象属性(ProxySetThenGetRequestList)的数据类型定义见表86 。
表86 ProxySetThenGetRequestList 数据类型定义
数据类型定义 | 说明 |
ProxySetThenGetRequestList∷=SEQUENCE { 服务序号-优先级 PIID, 代理整个请求的超时时间 long-unsigned,代理若干个服务器的对象属性设置后读取 SEQUENCE OF { 一个目标服务器地址 TSA, 代理一个目标服务器的超时时间 long-unsigned,若干个对象属性的设置后读取 SEQUENCE OF { 设置的对象属性描述符 OAD,设置数值 Data, 读取的对象属性描述符 OAD, 延时读取时间 unsigned } } } | PIID——见 7.3.3 。 TSA——见 7.3.10 。 OAD——见 7.3.6 。 Data——见 7.3.1 。 代理整个请求的超时时间——单位:秒,非 0 值。 代理一个目标服务器的超时时间——单位:秒,0 表示由代理服务器确定超时时间。 延时读取时间——单位:秒,0 表示由目标服务器确定延时读取时间。 |
7.4.9.1.6 ProxyActionRequestList 数据类型
请求代理操作若干个服务器的若干个对象方法(ProxyActionRequestList)的数据类型定义见表
87 。
表87 ProxyActionRequestList 数据类型定义
数据类型定义 | 说明 |
ProxyActionRequestList∷=SEQUENCE { 服务序号-优先级 PIID, 代理整个请求的超时时间 long-unsigned,代理若干个服务器的对象方法操作 SEQUENCE OF { 一个目标服务器地址 TSA, 代理一个目标服务器的超时时间 long-unsigned,若干个对象方法描述符及参数 SEQUENCE OF { 对象方法描述符 OMD,方法参数 Data } } } | PIID——见 7.3.3 。 TSA——见 7.3.10 。 OMD——见 7.3.8 。 Data——见 7.3.1 。 代理整个请求的超时时间——单位:秒,非 0 值。 代理一个目标服务器的超时时间——单位:秒,0 表示由代理服务器确定超时时间。 |
7.4.9.1.7 ProxyActionThenGetRequestList 数据类型
请求代理操作后读取若干个服务器的若干个对象方法和属性(ProxyActionThenGetRequestList)的数据类型定义见表88 。
表88 ProxyActionThenGetRequestList 数据类型定义
数据类型定义 | 说明 |
ProxyActionThenGetRequestList∷=SEQUENCE { 服务序号-优先级 PIID, 代理整个请求的超时时间 long-unsigned,代理若干个服务器的操作后读取 SEQUENCE OF { 一个目标服务器地址 TSA, 代理一个目标服务器的超时时间 long-unsigned,若干个对象方法及属性的操作后读取 SEQUENCE OF { 操作的对象方法描述符 OMD,方法参数 Data, 读取的对象属性描述符 OAD, 延时读取时间 unsigned } } } | PIID——见 7.3.3 。 TSA——见 7.3.10 。 OMD——见 7.3.8 。 Data——见 7.3.1 。 OAD——见 7.3.6 。 代理整个请求的超时时间——单位:秒,非 0 值。 代理一个目标服务器的超时时间——单位:秒,0 表示由代理服务器确定超时时间。 延时读取时间——单位:秒,0 表示由目标服务器确定延时读取时间。 |
7.4.9.1.8 ProxyTransCommandRequest 数据类型
请求代理操作透明转发(ProxyTransCommandRequest)的数据类型定义见表89 。
表89 ProxyTransCommandRequest 数据类型定义
数据类型定义 | 说明 |
ProxyTransCommandRequest∷=SEQUENCE { 服务序号-优先级 PIID, 转发端口对象描述符 OAD, 端口通信控制块 COMDCB, 接收等待报文超时时间(秒) long-unsigned,接收等待字节超时时间(毫秒) long-unsigned,转发至目标端口的命令 octet-string } | PIID——见 7.3.3 。 OAD——见 7.3.6 。 COMDCB——见 7.3.20 。 |
7.4.9.2 PROXY-Response 数据类型
7.4.9.2.1 概述
响应代理(PROXY-Response)的数据类型定义见表90 。
表90 PROXY-Response 数据类型定义
数据类型定义 | 说明 |
PROXY-Response∷=CHOICE { 代理读取若干个服务器的若干个对象属性的响应 [1] ProxyGetResponseList, 代理读取一个服务器的一个记录型对象属性的响应 [2] ProxyGetResponseRecord, 代理设置若干个服务器的若干个对象属性的响应 [3] ProxySetResponseList, 代理设置后读取若干个服务器的若干个对象属性的响应 [4] ProxySetThenGetResponseList, 代理操作若干个服务器的若干个对象方法的响应 [5] ProxyActionResponseList, 代理操作后读取若干个服务器的若干个对象方法和属性的响应 [6] ProxyActionThenGetResponseList, 代理透明转发命令的响应 [7] ProxyTransCommandResponse } |
7.4.9.2.2 ProxyGetResponseList 数据类型
响应代理读取若干个服务器的若干个对象属性(ProxyGetResponseList)的数据类型定义见表91 。
表91 ProxyGetResponseList 数据类型定义
数据类型定义 | 说明 |
ProxyGetResponseList∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD,一个目标服务器地址 TSA, | PIID-ACD——见 7.3.4 。 TSA——见 7.3.10 。 OAD——见 7.3.6 。 |
表 91 (续)
数据类型定义 | 说明 |
代理若干个服务器的读取结果 SEQUENCE OF { 若干个对象属性及结果 SEQUENCE OF A-ResultNormal } } |
7.4.9.2.3 ProxyGetResponseRecord 数据类型
响应代理读取一个服务器的一个记录型对象属性(ProxyGetResponseRecord)的数据类型定义见表
92 。
表92 ProxyGetResponseRecord 数据类型定义
数据类型定义 | 说明 |
ProxyGetResponseRecord∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD, 目标服务器地址 TSA, 一个记录型对象属性及结果 A-ResultRecord } | PIID-ACD——见 7.3.4 。 TSA——见 7.3.10 。 |
7.4.9.2.4 ProxySetResponseList 数据类型
响应代理设置若干个服务器的若干个对象属性(ProxySetResponseList)的数据类型定义见表93 。
表93 ProxySetResponseList 数据类型定义
数据类型定义 | 说明 |
ProxySetResponseList∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD,代理若干个服务器的读取结果 SEQUENCE OF { 一个目标服务器地址 TSA, 若干个对象属性描述符及结果 SEQUENCE OF { 对象属性描述符 OAD,设置结果 DAR } } } | PIID-ACD——见 7.3.4 。 TSA——见 7.3.10 。 OAD——见 7.3.6 。 DAR——见 7.3.22 。 |
7.4.9.2.5 ProxySetThenGetResponseList 数据类型
响应代理设置后读取若干个服务器的若干个对象属性(ProxySetThenGetResponseList)的数据类型定义见表94 。
表94 ProxySetThenGetResponseList 数据类型定义
数据类型定义 | 说明 |
ProxySetThenGetResponseList∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD,代理若干个服务器的设置后读取结果 SEQUENCE OF { 一个目标服务器地址 TSA, 若干个对象属性设置后读取结果 SEQUENCE OF { 设置的对象属性描述符 OAD,设置结果 DAR, 一个对象属性及结果 A-ResultNormal } } } | PIID-ACD——见 7.3.4 。 TSA——见 7.3.10 。 OAD——见 7.3.6 。 DAR——见 7.3.22 。 |
7.4.9.2.6 ProxyActionResponseList 数据类型
响应代理操作若干个服务器的若干个对象方法(ProxyActionResponseList)的数据类型定义见表
95 。
表95 ProxyActionResponseList 数据类型定义
数据类型定义 | 说明 |
ProxyActionResponseList∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD,代理若干个服务器的操作结果 SEQUENCE OF { 一个目标服务器地址 TSA, 若干个对象方法描述符及结果 SEQUENCE OF { 对象方法描述符 OMD,操作结果 DAR, 操作返回数据 Data OPTIONAL } } } | PIID-ACD——见 7.3.4 。 TSA——见 7.3.10 。 OMD——见 7.3.8 。 DAR——见 7.3.22 。 Data——见 7.3.1 。 |
7.4.9.2.7 ProxyActionThenGetResponseList 数据类型
响应代理操作后读取若干个服务器的若干个对象方法和属性(ProxyActionThenGetResponseList)的数据类型定义见表96 。
表96 ProxyActionThenGetResponseList 数据类型定义
数据类型定义 | 说明 |
ProxyActionThenGetResponseList∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD,代理若干个服务器的操作后读取结果 SEQUENCE OF { 一个目标服务器地址 TSA, 若干个对象方法和属性操作后读取结果 SEQUENCE OF { 操作的对象方法描述符 OMD,操作结果 DAR, 操作返回数据 Data OPTIONAL,一个对象属性及结果 A-ResultNormal } } } | PIID-ACD——见 7.3.4 。 TSA——见 7.3.10 。 OMD——见 7.3.8 。 DAR——见 7.3.22 。 OAD——见 7.3.6 。 Data——见 7.3.1 。 |
7.4.9.2.8 ProxyTransCommandResponse 数据类型
响应代理操作透明转发命令(ProxyTransCommandResponse)的数据类型定义见表97 。
表97 ProxyTransCommandResponse 数据类型定义
数据类型定义 | 说明 |
ProxyTransCommandResponse∷=SEQUENCE { 服务序号-优先级-ACD PIID-ACD,转发端口对象描述符 OAD, 转发命令返回结果 TransResult } | PIID-ACD——见 7.3.4 。 OAD——见 7.3.6 。 |
TransResult∷=CHOICE { 转发结果 [0] DAR, 返回数据 [1] octet-string } | DAR——见 7.3.22 。 |
7.4.10 安全传输
7.4.10.1 SECURITY-Request 数据类型
请求安全传输(SECURITY-Request)的数据类型定义见表98 。
表98 SECURITY-Request 数据类型定义
数据类型定义 | 说明 |
SECURITY-Request∷=SEQUENCE { 应用数据单元 CHOICE { 明文数据单元 [0] octet-string, 密文数据单元 [1] octet-string }, 数据验证信息 CHOICE { 数据验证码 [0] SID_MAC, 随机数 [1] RN, 随机数+MAC [2] RN_MAC, 安全标识 [3] SID } } | SID——见 7.3.18 。 RN——见 7.3.12 。 SID_MAC——见 7.3.19 。 |
RN_MAC∷=SEQUENCE { 随机数 RN,消息鉴别码 MAC } | MAC——见 7.3.11 。 |
7.4.10.2 SECURITY-Response 数据类型
响应安全传输(SECURITY-Response)的数据类型定义见表99 。
表99 SECURITY-Response 数据类型定义
数据类型定义 | 说明 |
SECURITY-Response∷=SEQUENCE { 应用数据单元 CHOICE { 明文数据单元 [0] octet-string, 密文数据单元 [1] octet-string, 安全传输错误码 [2] DAR }, 数据验证信息 CHOICE OPTIONAL { | DAR——见 7.3.22 。 MAC——见 7.3.11 。 |
表 99 (续)
数据类型定义 | 说明 |
数据MAC [0] MAC } } |
7.4.11 跟随上报信息域
跟随上报信息域(FollowReport)的数据类型定义见表100 。
表100 FollowReport 数据类型定义
数据类型定义 | 说明 |
FollowReport∷=CHOICE { 若干个对象属性及数据 [1] SEQUENCE OF A-ResultNormal,若干个记录型对象属性及数据 [2] SEQUENCE OF A-ResultRecord } |
7.4.12 时间标签域
时间标签域(TimeTag)的数据类型定义见表101 。
表101 TimeTag 数据类型定义
数据类型定义 | 说明 |
TimeTag∷=SEQUENCE { 发送时标 date_time_s, 允许传输延时时间 TI } | date_time_s——见 7.3.27 。 TI——见 7.3.9 。 |
7.4.13 异常响应
响应异常(ERROR-Response)的数据类型定义见表102 。
表102 ERROR-Response 数据类型定义
数据类型定义 | 说明 |
ERROR-Response∷=SEQUENCE { 服务序号-优先级 PIID, 异常类型 ENUMERATED { APDU 无法解析 (1), | PIID——见 7.3.3 。 |
数据类型定义 | 说明 |
服务不支持 (2), 其他 (255) } } |
8 接口类与对象标识
8.1 对象模型
对象是属性和方法的集合。对象的信息包含在属性中,属性值表示对象的特征。对象提供了操作的方法。具有共享公共特征的对象归纳为接口类(IC),接口类由类标识码(class_id)进行标识。接口类的公共特征(包括属性和方法)适用于该类的所有实例。接口类的实例称为接口类对象,简称对象。一个对象只能属于一个接口类。一个对象对应于一个唯一的标识,即对象标识(OI)。
8.2 接口类
8.2.1 接口类的描述方法
接口类在本标准中采用表格形式描述,其中包含类名、属性、方法等,见表103 。
表103 接口类表述格式
类名,class_id=n | 实例数 | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.…… | (……) | …… |
3.…… | (……) | …… |
方法 | 必选/可选 | |
1.…… | …… | |
2.…… | …… |
其中:
a) 类名:类的名称,如:电能量类、最大需量类、冻结类等;
b) 类标识码:即 class_id,数值范围 0…255;200…255 用作制造商专属接口类;
c) 属性:定义类的属性,静态(static)表示服务器不能自行更改,例如:配置参数;动态(dyn.)表示具有过程特性的属性,由服务器自行刷新。属性的编号即对象属性描述符(OAD)的属性标识;
d) 逻辑名:对象标识(OI),标记接口类对象实例,见 8.3 ;
e) 方法:定义类的方法,方法的编号即对象方法描述符(OMD)的方法标识;
f) 实例数:定义逻辑设备内实例化对象的数量范围;
g) 数据类型:定义属性的数据类型。
8.2.2 电能量类
x接口类定义了电能量数据信息,定义见表104 。
表104 电能量接口类定义
电能量类,class_id=1 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.总及费率电能量数组 | (dyn.) | array |
3.换算及单位 | (static) | Scaler_Unit |
4.扩展精度总及费率电能量数组 | (dyn.) | array |
5.扩展精度换算及单位 | (static) | Scaler_Unit |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 |
电能量类属性说明见表105 。
表105 电能量类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 总及费率电能量数组∷=array 电能量电能量: CHOICE { double-long-unsigned [6], double-long [5] } | 总及 n 个费率的电能量,第一个数组元素是总电能量,从第二个数组元素依次排列费率 1…n 电能量。 |
3 | 换算及单位∷=Scaler_Unit | 见 7.3.14 。 |
4 | 扩展精度总及费率电能量数组∷=array扩展精度电能量 扩展精度电能量: CHOICE { long64-unsigned [21], long64 [20] } | 总及 n 个费率的电能量,第一个数组元素是总电能量,从第二个数组元素依次排列费率 1…n 电能量。 |
5 | 扩展精度换算及单位∷=Scaler_Unit | 见 7.3.14 。 |
电能量类方法说明见表106 。
表106 电能量类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
编号 | 方法 | 说明 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
8.2.3 最大需量类
x接口类定义了最大需量数据信息,定义见表107 。
表107 最大需量类定义
最大需量类,class_id = 2 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.总及费率最大需量数组 | (dyn.) | array |
3.换算及单位 | (static) | Scaler_Unit |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 |
最大需量类属性说明见表108 。
表108 最大需量类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 总及费率最大需量数组∷=array 最大需量及发生时间 最大需量及发生时间∷=structure { 最大需量值 CHOICE, 发生时间 date_time_s } 最大需量值: CHOICE { double-long [5], double-long-unsigned [6] } | 总及 n 个费率的最大需量,第一个数组元素是总最大需量,从第二个数组元素依次排列费率 1…n 最大需量。 |
3 | 换算及单位∷=Scaler_Unit | 见 7.3.14 。 最大需量发生时间无换算单位。 |
最大需量类方法说明见表109 。
表109 最大需量类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
8.2.4 分相变量类
x接口类定义了电压、电流、相角等分相变量数据信息,定义见表110 。
表110 分相变量类定义
分相变量类,class_id=3 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.分相数值数组 | (dyn.) | array |
3.换算及单位 | (static) | Scaler_Unit |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 |
分相变量类属性说明见表111 。
表111 分相变量类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 分相数值数组∷=array 分相数值 分相数值∷=instance-specific | 数值数组按 A 相、B 相、C 相顺序排列,单相时,数值数组仅包含 一个元素。 |
3 | 换算及单位∷=Scaler_Unit | 见 7.3.14 。 |
分相变量类方法说明见表112 。
表112 分相变量类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
8.2.5 功率类
x接口类定义了功率、功率因数等数据信息,定义见表113 。
功率类,class_id=4 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.总及分相数值数组 | (dyn.) | array |
3.换算及单位 | (static) | Scaler_Unit |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 |
功率类属性说明见表114 。
表114 功率类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 总及分相数值数组∷=array 数值 数值∷=instance-specific | 数值数组按总、A 相、B 相、C 相顺序排列,单相时,数值数组包 含两个元素,为总及单相数值。 |
3 | 换算及单位∷=Scaler_Unit | 见 7.3.14 。 |
功率类方法说明见表115 。
表115 功率类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
8.2.6 谐波变量类
x接口类定义了谐波变量数据信息,定义见表116 。
表116 谐波变量类定义
谐波变量类,class_id=5 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.A 相各次谐波数值数组 | (dyn.) | array |
3.B 相各次谐波数值数组 | (dyn.) | array |
4.C 相各次谐波数值数组 | (dyn.) | array |
5.最高谐波次数 | (static) | unsigned |
6.换算及单位 | (static) | Scaler_Unit |
表 116 (续)
方法 | 必选/可选 |
1.复位 | 可选 |
2.执行 | 可选 |
谐波变量类属性说明见表117 。
表117 谐波变量类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | A 相各次谐波数值数组∷=array 数值 数值∷=instance-specific | A 相各次谐波相关数值。 |
3 | B 相各次谐波数值组∷=array 数值 数值∷=instance-specific | B 相各次谐波相关数值。 |
4 | C 相各次谐波数值组∷=array 数值 数值∷=instance-specific | C 相各次谐波相关数值。 |
5 | 最高谐波次数 | 表示限定谐波相关数值数组中的最高谐波次数。 |
6 | 换算及单位∷=Scaler_Unit | 见 7.3.14 。 |
谐波变量类方法说明见表118 。
表118 谐波变量类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
8.2.7 数据变量类
x接口类定义了过程值或与过程值单元相关的状态值数据信息,定义见表119 。
表119 数据变量类定义
数据变量类,class_id=6 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.数值 | (dyn.) | instance-specific |
3.换算及单位 | (static) | Scaler_Unit |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 |
数据变量类属性说明见表120 。
属性 | 说明 | |
1 | 逻辑名∷=octet-string | |
2 | 数值∷=instance-specific | 过程值或与过程值单元相关的状态值,数据类型由“逻辑名”引用 的对象实例定义。 |
3 | 换算及单位∷=Scaler_Unit | 见 7.3.14 。 |
数据变量类方法说明见表121 。
表121 数据变量类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
8.2.8 事件对象类
x接口类定义了配置、存储事件记录数据信息,定义见表122 。
表122 事件对象类定义
事件对象类,class_id=7 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.事件记录表 | (dyn.) | array |
3.关联对象属性表 | (static) | array |
4.当前记录数 | (dyn.) | long-unsigned |
5.最大记录数 | (static) | long-unsigned |
6.配置参数 | (static) | structure |
7.当前值记录表 | (dyn.) | array |
8.上报标识 | (static) | enum |
9.有效标识 | (static) | bool |
10.时间状态记录表 | (static) | array |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 | |
4.添加一个事件关联对象属性 | 可选 | |
5.删除一个事件关联对象属性 | 可选 |
事件对象类属性说明见表123 。
表123 事件对象类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 事件记录表∷=array 一条事件记录一条事件记录∷=structure { 事件记录序号 double-long-unsigned,事件发生时间 date_time_s, 事件结束时间 date_time_s, 事件发生源 instance-specific,事件上报状态 array 通道上报状态,事件特殊数据 1 instance-specific, … 事件特殊数据N instance-specific,第 1 个关联对象属性的数据 Data, … 第n 个关联对象属性的数据 Data } 通道上报状态∷=structure { 通道 OAD, 上报状态 unsigned } 上报状态: bit0:事件发生上报标识,0—未上报,1—已上报; bit1:事件发生上报确认标识,0—未确认,1—已确认; bit2:事件结束(恢复)上报标识,0—未上报,1—已上报; bit3:事件结束(恢复)上报确认标识,0—未确认,1—已确认。 | 用于存储事件记录,记录根据“配置参数”自动产生。 记录的顺序按照事件发生的次序排序。执行 “复位”方法后事件记录表清空。 事件记录序号——单调递增。 事件发生源——由“逻辑名”引用的对象实例定义。 事件上报状态——按通道分别记录上报状态。事件特殊数据——由“逻辑名”引用的对象实例定义。 关联对象属性的数据——其排列次序和数量 n,由“逻辑名”引用的对象实例的属性 3 定义。 |
3 | 关联对象属性表∷=array 对象属性对象属性∷=OAD OAD 的“属性特征”取值如下: 1:事件发生前; 2:事件发生后; 3:事件结束前; 4:事件结束后。 | 事件记录中的关联对象属性数据依据关联对象属性表产生。 |
4 | 当前记录数∷=long-unsigned | 表示保存在事件记录表中的记录数。执行“复 位”方法后,记录表清空,此时当前记录数为 0。 |
5 | 最大记录数∷=long-unsigned | 事件记录表最小存储条数。 |
6 | 配置参数∷=structure { 参数 1 instance-specific, | 配置触发事件记录的判定参数,参数的数据类型由“ 逻辑名” 引用的对象实例定义, 见 7.3.5 。 |
编号 | 属性 | 说明 |
6 | … 参数n instance-specific } | |
7 | 当前值记录表∷=array 当前值当前值∷=structure { 事件发生源 instance-specific,事件发生时间统计 structure { 事件发生次数 double-long-unsigned,事件累计时间 double-long-unsigned } } | 事件发生源,由“逻辑名”引用的对象实例定义; 当前值包含事件发生的次数以及累计时间;事件发生次数——单位:次; 事件累计时间——单位:秒。 |
8 | 上报标识∷=enum { 不上报(0), 事件发生上报(1),事件恢复上报(2), 事件发生恢复均上报(3) } | |
9 | 有效标识∷=bool | |
10 | 时间状态记录表∷=array 时间状态时间状态∷=structure { 事件发生源 instance-specific,最近一次时间 structure { 最近一次发生时间 date_time_s,最近一次结束时间 date_time_s } } | 最近一次发生时间——上 1 次事件的发生时间,如果未发生返回 NULL。 最近一次结束时间——上 1 次事件的结束时 间,如上 1 次事件未结束,则取上 2 次事件的 结束时间;不存在上 2 次事件或结束时间不支持,返回 NULL。 |
事件对象类方法说明见表124 。
表124 事件对象类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
表 124 (续)
编号 | 方法 | 说明 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
4 | 添加一个事件关联对象属性(参数) 参数∷=OAD 对象属性描述符 | 向属性“关联对象属性表”中,增加一个关联对象属性。 参数——对象属性描述符。 |
5 | 删除一个事件关联对象属性(参数) 参数∷=OAD 对象属性描述符 | 从属性“关联对象属性表”中,删除一个关联对象属性。 参数——对象属性描述符。 |
8.2.9 参数变量类
x接口类定义了参数信息,定义见表125 。
表125 参数变量类定义
参数变量类,class_id=8 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.参数 | (static) | instance-specific |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 |
参数变量类属性说明见表126 。
表126 参数变量类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 参数∷=instance-specific | 参数的数据类型由“逻辑名”引用的对象实例定义。 |
参数变量类方法说明见表127 。
表127 参数变量类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
8.2.10 冻结数据类
x接口类定义了配置、存储冻结数据及相关信息,定义见表128 。
冻结数据类,class_id=9 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.冻结数据表 | (dyn.) | array |
3.关联对象属性表 | (static) | array |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 | |
3.触发一次冻结 | 可选 | |
4.添加一个冻结对象属性 | 可选 | |
5.删除一个冻结对象属性 | 可选 | |
7.批量添加冻结对象属性 | 可选 | |
8.清除关联对象属性表 | 可选 |
冻结数据类属性说明见表129 。
表129 冻结数据类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 冻结数据表∷=array 一条冻结记录一条冻结记录∷=structure { 冻结记录序号 double-long-unsigned,冻结时间 date_time_s, 第 1 个关联对象属性的数据 Data, … 第n 个关联对象属性的数据 Data } | 冻结记录可根据“冻结周期”和“延时时间”自动冻结产生或执行 “触发一次冻结”产生。 冻结记录按照冻结发生的次序排列。复位后冻结数据表清空。冻结记录序号——单调递增。 关联对象属性的数据——其排列次序和数量 n,由“逻辑名”引用的对象实例的属性 3 定义。 |
3 | 关联对象属性表∷=array 一个关联的对象属性 一个关联的对象属性∷=structure { 冻结周期 long-unsigned,关联对象属性描述符 OAD,存储深度 long-unsigned } 关联对象属性描述符:对象属性描述符的属性特征取值 0…7,关联对象属性描述符在关联对象属性表中具有唯一性。 | 冻结记录中的关联对象属性数据依据关联对象属性表产生。 冻结周期——冻结操作的间隔时间,其数值单位由“逻辑名”引用的对象实例定义。当冻结周期为 0 时:表示由外部条件或异步发生的冻结事件触发(由执行“触发一次冻结”)产生。 关联对象属性描述符:对象属性描述符的属性特征,每一种属性特征表示一种冻结方案,每种方案可分配不同的冻结周期以及存储深度; 存储深度:关联对象属性数据冻结存储的最少记录条数。 |
4 | 配置参数∷= instance-specific | 具体配置参由“逻辑名”引用的对象实例定义。 |
冻结数据类方法说明见表130 。
表130 冻结数据类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
3 | 触发一次冻结(参数) 参数∷=long-unsigned 延时执行的时间 | 触发一次数据冻结操作。 参数——延时执行的时间,单位:秒,0 表示立即执行。 |
4 | 添加一个冻结对象属性(冻结对象)冻结对象∷=structure { 冻结周期 long-unsigned,关联对象属性描述符 OAD, 存储深度 long-unsigned } | 向属性“关联对象属性表”中,增加一个冻结对象。 |
5 | 删除一个冻结对象属性(参数) 参数∷=OAD 对象属性描述符 | 从属性“关联对象属性表”中,删除一个冻结对象。 |
7 | 批量添加冻结对象属性(array 冻结对象) | 冻结对象定义见方法 4。 |
8 | 清除关联对象属性表(参数) 参数∷=NULL |
8.2.11 采集类
x接口类定义了配置和存储与采集相关的参数、数据和记录。定义见表131 。
表131 采集类定义
采集类,class_id=10 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.配置表 | (static) | array |
3.记录表 | (dyn.) | array |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 | |
3.清空记录表 | 可选 |
采集类属性说明见表132 。
表132 采集类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 配置表∷=array 配置单元 | 配置单元——配置采集相关参数,其内容及数据类型由“逻辑名” |
编号 | 方法 | 说明 |
2 | 配置参数∷=instance-specific | 引用的对象实例定义。见 A.8 。 |
3 | 记录表∷=array 记录单元 记录单元∷=instance-specific | 记录单元——记录采集相关的数据,其内容及数据类型由“逻辑名” 引用的对象实例定义。见 A.8 。 |
采集类方法说明见表133 。
表133 采集类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
3 | 清空记录表(参数) 参数∷=NULL |
8.2.12 集合类
x接口类定义了一种通用的资料信息集合,定义见表134 。
表134 集合类定义
集合类,class_id=11 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.集合 | (dyn.) | array |
3.当前元素个数 | (dyn.) | long-unsigned |
4.最大元素个数 | (static) | long-unsigned |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 |
集合类属性说明见表135 。
表135 集合类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 集合∷=array 集合元素 集合元素∷=instance-specific | 集合元素——其内容及数据类型由“逻辑名”引用的对象实例定义。 |
3 | 当前元素个数 | 表示保存在记录表中的记录数。执行 “复位”方法后,记录表清空,当前 记录数为 0。 |
4 | 最大元素个数 |
集合类方法说明见表136 。
表136 集合类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
8.2.13 脉冲计量类
x接口类定义了脉冲计量相关配置和数据信息,定义见表137 。
表137 脉冲计量类定义
脉冲计量类,class_id=12 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.通信地址 | (static) | octet-string |
3.互感器倍率 | (static) | structure |
4.脉冲配置 | (static) | array |
5.有功功率 | (dyn.) | double-long |
6.无功功率 | (dyn.) | double-long |
7.当日正向有功电量 | (dyn.) | array |
8.当月正向有功电量 | (dyn.) | array |
9.当日反向有功电量 | (dyn.) | array |
10.当月反向有功电量 | (dyn.) | array |
11.当日正向无功电量 | (dyn.) | array |
12.当月正向无功电量 | (dyn.) | array |
13.当日反向无功电量 | (dyn.) | array |
14.当月反向无功电量 | (dyn.) | array |
15.正向有功电能示值 | (dyn.) | array |
16.正向无功电能示值 | (dyn.) | array |
17.反向有功电能示值 | (dyn.) | array |
18.反向无功电能示值 | (dyn.) | array |
19.换算及单位 | (static) | structure |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 | |
3.添加脉冲输入单元 | 必选 | |
4.删除脉冲输入单元 | 必选 |
脉冲计量类的属性描述见表138 。
属性 | 说明 | |
1 | 逻辑名∷=octet-string | |
2 | 通信地址∷=octet-string | |
3 | 互感器倍率∷=structure { PT long-unsigned, CT long-unsigned } | |
4 | 脉冲配置∷=array 脉冲单元脉冲单元∷=structure { 脉冲输入端口 OAD,脉冲属性 enum { 正向有功(0),正向无功(1),反向有功(2),反向无功(3) }, 脉冲常数 k long-unsigned } | |
5 | 有功功率∷=double-long | |
6 | 无功功率∷=double-long | |
7 | 当日正向有功电量∷=array 电能量电能量∷=double-long-unsigned | 总及 n 个费率的电能量,第一个数组元素是总电能量,从第二个数组元素依次排列费率 1…n 电能量。 |
8 | 当月正向有功电量∷=array 电能量 电能量∷=double-long-unsigned | 同上。 |
9 | 当日反向有功电量∷=array 电能量 电能量∷=double-long-unsigned | 同上。 |
10 | 当月反向有功电量∷=array 电能量 电能量∷=double-long-unsigned | 同上。 |
11 | 当日正向无功电量∷=array 电能量 电能量∷=double-long-unsigned | 同上。 |
12 | 当月正向无功电量∷=array 电能量 电能量∷=double-long-unsigned | 同上。 |
13 | 当日反向无功电量∷=array 电能量 电能量∷=double-long-unsigned | 同上。 |
14 | 当月反向无功电量∷=array 电能量 电能量∷=double-long-unsigned | 同上。 |
编号 | 属性 | 说明 |
15 | 正向有功电能示值∷=array 电能示值 电能示值∷=double-long-unsigned | 同上。 |
16 | 正向无功电能示值∷=array 电能示值 电能示值∷=double-long-unsigned | 同上。 |
17 | 反向有功电能示值∷=array 电能示值 电能示值∷=double-long-unsigned | 同上。 |
18 | 反向无功电能示值∷=array 电能示值 电能示值∷=double-long-unsigned | 同上。 |
19 | 单位及换算∷=structure { 属性 5 单位及换算 Scaler_Unit(单位:W,换算:-1),属性 6 单位及换算 Scaler_Unit(单位:var,换算:-1),属性 7 单位及换算 Scaler_Unit(单位:kWh,换算:-4),属性 8 单位及换算 Scaler_Unit(单位:kWh,换算:-4),属性 9 单位及换算 Scaler_Unit(单位:kWh,换算:-4),属性 10 单位及换算 Scaler_Unit(单位:kWh,换算:-4),属性 11 单位及换算 Scaler_Unit(单位:kvarh,换算:-4),属性 12 单位及换算 Scaler_Unit(单位:kvarh,换算:-4),属性 13 单位及换算 Scaler_Unit(单位:kvarh,换算:-4),属性 14 单位及换算 Scaler_Unit(单位:kvarh,换算:-4),属性 15 单位及换算 Scaler_Unit(单位:kWh,换算:-4),属性 16 单位及换算 Scaler_Unit(单位:kWh,换算:-4),属性 17 单位及换算 Scaler_Unit(单位:kvarh,换算:-4),属性 18 单位及换算 Scaler_Unit(单位:kvarh,换算:-4) } | Scaler_Unit 见 7.3.14 。 |
脉冲计量类的方法描述见表 139 。
表139 脉冲计量类方法描述
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=bit-string | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
3 | 添加脉冲输入单元(脉冲单元) | |
4 | 删除脉冲输入单元(脉冲输入端口) |
8.2.14 控制类
x接口类定义了用电负荷控制的功能,定义见表140 。
控制类,class_id=13 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.控制方案集 | (static) | array |
3.控制投入状态 | (dyn.) | array |
4.控制输出状态 | (dyn.) | array |
5.越限告警状态 | (dyn.) | array |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 | |
3.添加控制方案单元 | 必选 | |
4.删除控制方案单元 | 必选 | |
5. 更新控制方案单元 | 必选 | |
6.控制投入 | 必选 | |
7.控制解除 | 必选 |
控制类属性说明见表141 。
表141 控制类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 控制方案集∷=array 控制方案单元 控制方案单元∷=instance-specific | 控制方案单元——其内容及数据类型由“逻辑名”引用的对象实例 定义。 |
3 | 控制投入状态∷=array 一个总加组控制投入状态 一个总加组控制投入状态∷=structure { 总加组对象 OI, 投入状态 enum{未xx(0),xx(0)} } | |
4 | 控制输出状态∷=array 一个总加组控制输出状态 一个总加组控制输出状态∷=structure { 总加组对象 OI, 控制输出状态 bit-string(SIZE(8)) } 控制输出状态: bit0…bit7 对应第 1…第 8 个开关的输出状态(0:未输出,1:输出)。 | 表示 n 个总加组的控制输出状态。 |
编号 | 属性 | 说明 |
5 | 越限告警状态∷=array 一个总加组告警输出状态 一个总加组告警输出状态∷=structure { 总加组对象 OI,告警输出状态 enum { 未xx(0),xx(0) } } |
控制类方法说明见表142 。
表142 控制类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
3 | 添加控制方案单元(控制方案单元) 控制方案单元∷=instance-specific | |
4 | 删除控制方案单元(总加组对象) 总加组对象∷=OI | |
5 | 更新控制方案单元(控制方案单元) 控制方案单元∷=instance-specific | |
6 | 控制投入(总加组对象) 总加组对象∷=OI | |
7 | 控制解除(总加组对象) 总加组对象∷=OI |
8.2.15 区间统计类
x接口类定义了统计越限相关的信息,定义见表143 。
表143 区间统计类定义
区间统计类,class_id=14 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.统计结果表 | (dyn.) | array |
3.关联对象属性表 | (static) | array |
方法 | 必选/可选 |
1.复位 | 可选 |
2.执行 | 可选 |
3.添加一个统计对象 | 可选 |
4.删除一个统计对象 | 可选 |
区间统计类属性说明见表144 。
表144 区间统计类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 统计结果表∷=array 一个统计结果一个统计结果∷=structure { 对象属性描述符 OAD, 区间统计值 array 一个统计区间 } 一个统计区间∷=structure { 累计时间 double-long-unsigned,累计次数 double-long-unsigned } | “关联对象属性表”配置的对象属性统计结果值。累计时间:单位为秒。 |
3 | 关联对象属性表∷=array 一个关联对象属性 一个关联对象属性∷=structure { 关联对象属性描述符 OAD, 越限判断参数 array Data, 统计周期 unsigned, 统计间隔 TI } | 统计间隔:采样点取值间隔。 |
区间统计类方法说明见表145 。
表145 区间统计类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
3 | 添加一个统计对象(参数) | 向属性“关联对象属性表”中,增加一个统计对象。 |
编号 | 方法 | 说明 |
3 | 参数∷=structure { 关联对象属性描述符 OAD, 越限判断参数 array Data, 统计周期 unsigned, 统计频率 TI } | |
4 | 删除一个统计对象(参数) 参数∷=OAD 关联对象属性描述符 | 从属性“关联对象属性表”中,删除一个统计对象。 |
8.2.16 累加平均类
x接口类定义了对相同属性的数值进行累加、平均的运算功能,定义见表146 。
表146 累加平均类定义
累加平均类,class_id=15 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.运算结果 | (dyn.) | structure |
3.关联对象属性表 | (static) | array |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 | |
3.添加一个关联对象 | 可选 | |
4.删除一个关联对象 | 可选 |
累加平均类属性说明见表147 。
表147 累加平均类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 运算结果∷=array structure { 对象属性描述符 OAD, 累加和 instance-specific,平均值 instance-specific } | 累加和、平均值——其数据类型由“逻辑名”引用的对象实例定义。 |
3 | 关联对象属性表∷=array 一个关联的对象一个关联的对象∷=structure { |
编号 | 属性 | 说明 |
3 | 关联对象属性描述符 OAD,统计周期 unsigned, 统计间隔 TI } |
累加平均类方法说明见表148 。
表148 累加平均类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
3 | 添加一个关联对象(参数)参数∷=structure { 关联对象属性描述符 OAD,统计周期 unsigned, 统计频率 TI } | 向属性“关联对象属性表”中,增加一个关联对象。 |
4 | 删除一个关联对象(参数) 参数∷=OAD 关联对象属性描述符 | 从属性“关联对象属性表”中,删除一个关联对象。 |
8.2.17 极值统计类
x接口类定义了生成最大值、最小值及发生时间的功能,定义见表149 。
表149 极值统计类定义
极值工具类,class_id=16 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.极值结果表 | (dyn.) | array |
3.关联对象属性表 | (static) | array |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 | |
3.添加一个关联对象 | 可选 | |
4.删除一个关联对象 | 可选 |
极值统计类属性说明见表150 。
属性 | 说明 | |
1 | 逻辑名∷=octet-string | |
2 | 极值结果表∷=array 一个极值结果一个极值结果∷=structure { 对象属性描述符 OAD, 最大值 instance-specific,发生时间 date_time_s, 最小值 instance-specific,发生时间 date_time_s } | 最大值、最小值——其数据类型由“逻辑名”引用的对象实例定义。 |
3 | 关联对象属性表∷=array 一个关联的对象属性 一个关联对象∷=structure { 关联对象属性描述符 OAD,统计周期 unsigned, 统计间隔 TI } |
极值统计类方法说明见表151 。
表151 极值统计类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
3 | 添加一个关联对象(参数)参数∷=structure { 关联对象属性描述符 OAD,统计周期 unsigned, 统计间隔 TI } | 向属性“关联对象属性表”中,增加一个关联对象。 |
4 | 删除一个关联对象(参数) 参数∷=OAD 关联对象属性描述符 | 从属性“关联对象属性表”中,删除一个关联对象。 |
8.2.18 显示类
x接口类定义了与显示相关的信息,定义见表152 。
显示类,class_id=17 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.显示对象列表 | (static) | array |
3.显示时间 | (static) | long-unsigned |
4.显示参数 | (static) | structure |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 | |
3.下翻 | 可选 | |
4.上翻 | 可选 | |
5.显示查看 | 可选 | |
6.全显 | 可选 |
显示类属性说明见表153 。
表153 显示类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 显示对象列表∷=array 显示对象描述符显示对象描述符∷=structure { 显示对象 CSD, 屏序号 unsigned } | 显示对象的数据依次被循环显示;屏序号:0表示不需要分屏;1表示分屏第一屏,2表示分屏第二屏,以此类推。 |
3 | 每个对象显示时长: long-unsigned | 显示时长——单位为秒,0 表示由外部触发。 |
4 | 显示参数∷=structure { 当前总对象数 unsigned,允许最大对象数 unsigned } | 当前总对象数:当前显示的总对象数。 允许最大对象数: 可设置的最大显示数。 |
显示类方法说明见表154 。
表154 显示类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
编号 | 方法 | 说明 |
3 | 下翻(参数) 参数∷=NULL | 显示下一个对象信息。 |
4 | 上翻(参数) 参数∷=NULL | 显示上一个对象信息。 |
5 | 显示查看(参数)参数∷=structure { 显示列信息 CSD, 屏序号 unsigned, 显示持续时间 long-unsigned } | 参数可以为所有可显示的对象。显示持续时间——单位:秒。 |
6 | 全显(参数) 参数∷=long-unsigned | 参数为全显持续时间,单位:秒。 |
8.2.19 文件传输类
x接口类定义了服务器实现上传和下载文件的功能,定义见表155 。
表155 文件传输类定义
文件传输类,class_id=18 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.文件信息 | (dyn.) | structure |
3. 文件传输状态 | (dyn.) | enum |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 | |
3.删除 | 可选 | |
4.校验 | 可选 | |
5. 代发 | 可选 |
文件传输类属性说明见表156 。
表156 文件传输类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 文件信息∷=structure { 源文件 visible-string,目标文件 visible-string, 文件大小 double-long-unsigned, | 源文件:文件路径及文件名称; 目标文件:文件路径及文件名称; 文件路径及文件名称格式:“[/路径/]文件名”。文件大小:单位字节。 |
编号 | 属性 | 说明 | |
2 | 文件属性 bit-string(SIZE(3)), | ||
文件版本 visible-string, | |||
文件类别 enum | |||
{ | |||
当前设备文件 (0), | |||
其他设备文件 (1) | |||
} | |||
} | |||
文件属性: | |||
bit0:读(1:可读,0:不可读); | |||
bit1:写(1:可写,0:不可写); | |||
bit2:执行(1:可执行,0:不可执行)。 | |||
3 | 文件传输状态∷=enum { 文件传输进度 0…99%传输或执行操作成功 扩展传输正在建立连接扩展传输正在远程登录正在执行文件 文件或目录不存在 操作不允许(创建/删除/读写/执行)文件传输中断 文件校验失败文件转发失败文件代收失败 扩展传输建立连接失败扩展传输远程登录失败存储空间不足 复位后默认值 } | (0…99), (100), (101), (102), (103), (104), (105), (106), (107), (108), (109), (110), (111), (112), (255) | 当前文件传输的过程状态。 |
文件传输类方法说明见表157 。
表157 文件传输类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 执行下载文件,如果文件没有执行权限拒绝执行。 |
编号 | 方法 | 说明 |
3 | 删除(参数) 参数∷=null | 删除本地文件,如果文件存在则删除,并复位文件 传输状态,否则拒绝。 |
4 | 校验(参数) 参数∷=structure { 校验文件名 visible-string,校验类型 enum { CRC 校验(默认) (0), md5 校验 (1), SHA1 校验 (2) }, 校验起始偏移地址 double-long-unsigned,校验结束偏移地址 double-long-unsigned } 校验结束偏移地址为 FFFFFFFFH 表示到文件末尾。应答∷=octet-string | CRC 校验算法见附 录 D。 |
5 | 代发(参数)参数∷=CHOICE { 代发至其他服务器 [0] TSA, 代发至端口 [1] OAD } | 文件下载到本地端后,根据目标地址或端口进行文件代发。 |
8.2.20 设备管理类
x接口类定义了设备管理相关信息,定义见表158 。
表158 设备管理类定义
设备管理类,class_id=19 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.设备描述符 | (static) | visible-string |
3.版本信息 | (static) | structure |
4. 生产日期 | (static) | date_time_s |
5. 子设备列表 | (static) | array |
6. 支持规约列表 | (static) | array |
7. 允许跟随上报 | (static) | bool |
8. 允许主动上报 | (static) | bool |
9. 允许与主站通话 | (static) | bool |
10. 上报通道 | (static) | array |
方法 | 必选/可选 |
1.复位 | 必选 |
2.执行 | 可选 |
3. 数据初始化 | 必选 |
4. 恢复出厂参数 | 必选 |
5. 事件初始化 | 必选 |
6. 需量初始化 | 可选 |
设备管理类属性说明见表159 。
表159 设备管理类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 设备描述符∷=visible-string | |
3 | 版本信息∷=structure { 厂商代码 visible-string(SIZE(4)),软件版本号 visible-string(SIZE(4)),软件版本日期 visible-string(SIZE(6)),硬件版本号 visible-string(SIZE(4)),硬件版本日期 visible-string(SIZE(6)),厂商扩展信息 visible-string(SIZE(8)) } | |
4 | 生产日期∷=date_time_s | |
5 | 子设备列表∷= array OI | 包含设备自身的子模块信息。 |
6 | 支持规约列表∷=array visible-string | |
7 | 允许跟随上报∷=xxxx | Xxxx:允许跟随上报,False:禁止跟随上报。 |
8 | 允许主动上报∷=bool | True:允许主动上报,False:禁止主动上报。 |
9 | 允许与主站通话∷=bool | True:允许通话,False:禁止通话。 |
10 | 上报通道∷= array OAD |
设备管理类方法说明见表160 。
表160 设备管理类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=NULL | 设备复位重启。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
3 | 数据初始化(参数) 参数∷=NULL | 清空设备数据区。 |
编号 | 方法 | 说明 |
4 | 恢复出厂参数(参数) 参数∷=array OAD | 将设备的配置恢复到出厂设置。 参数定义的 OAD 列表,保持现状,不在恢复之列。 |
5 | 事件初始化(参数) 参数∷=NULL | 清空所有事件存储区。 |
6 | 需量初始化(参数) 参数∷=NULL | 当前需量对象清零。 |
8.2.21 应用连接类
x接口类定义了应用连接相关信息,定义见表161 。
表161 应用连接类定义
应用连接类,class_id=20 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.对象列表 | (static) | array |
3.应用语境信息 | (static) | structure |
4.当前连接的客户机地址 | (dyn.) | unsigned |
5.身份验证机制 | (static) | enum |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 |
应用连接类属性说明见表162 。
表162 应用连接类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 对象列表∷=array 一个可访问对象一个可访问对象∷=structure { 对象标识 OI, 访问权限 structure } 访问权限∷=structure { 属性访问权限 array 一个属性访问权限,方法访问权限 array 一个方法访问权限 } 一个属性访问权限∷=structure | 包含所有可访问对象以及该对象属性和方法的访问权限。 |
编号 | 属性 | 说明 |
{ 属性 ID unsigned, 属性访问权限类别 enum { 不可访问(0),只读 (1), 只写 (2),可读写 (3) } } 一个方法访问权限∷=structure { 方法 ID unsigned,方法访问权限 bool } | ||
3 | 应用语境信息∷=structure { 协议版本信息 long-unsigned,最大接收帧尺寸 long-unsigned,最大发送帧尺寸 long-unsigned,最大可处理帧尺寸 long-unsigned,协议一致性块 bit-string(64), 功能一致性块 bit-string(128), 静态超时时间 double-long-unsigned } | |
4 | 当前连接的客户机地址∷=unsigned | |
5 | 连接认证机制∷=enum { 公共连接 (0),普通密码 (1),对称加密 (2),数字签名 (3) } | 见 7.4.3.2 。 |
应用连接类方法说明见表163 。
表163 应用连接类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
编号 | 方法 | 说明 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
8.2.22 ESAM 接口类
x接口类定义了ESAM相关接口,定义见表164 。
表164 ESAM 接口类定义
ESAM 接口类,class_id=21 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.ESAM 序列号 | (static) | octet-string |
3.ESAM 版本号 | (static) | octet-string |
4.对称密钥版本 | (static) | octet-string |
5.会话时效门限 | (static) | double-long-unsigned |
6.会话时效剩余时间 | (dyn.) | double-long-unsigned |
7.当前计数器 | (static) | structure |
8.证书版本 | (static) | structure |
9.终端证书序列号 | (static) | octet-string |
10.终端证书 | (static) | octet-string |
11.主站证书序列号 | (static) | octet-string |
12. 主站证书 | (static) | octet-string |
13. ESAM 安全存储对象列表 | (static) | array |
14. 红外认证时效门限 | (static) | double-long-unsigned |
15. 红外认证剩余时间 | (dyn.) | double-long-unsigned |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 | |
3.ESAM 数据读取 | 可选 | |
4. 数据更新 | 可选 | |
5. 协商失效 | 可选 | |
6. xxxx(开户、充值、退费) | 可选 | |
7. 密钥更新 | 可选 | |
8.证书更新 | 可选 | |
9.设置协商时效 | 可选 | |
10. 钱包初始化 | 可选 | |
11. 红外认证请求 | 可选 | |
12. 红外认证指令 | 可选 |
ESAM接口类属性说明见表165 。
属性 | 说明 | |
1 | 逻辑名∷=octet-string | |
2 | ESAM 序列号∷=octet-string | ESAM 唯一的标识,是一串数字。 |
3 | ESAM 版本号∷=octet-string | ESAM 的版本号。 |
4 | 对称密钥版本∷=octet-string | ESAM 中对称密钥的版本号。 |
5 | 会话时效门限∷=double-long-unsigned | 单位:分钟。 |
6 | 会话时效剩余时间∷=double-long-unsigned | 单位:分钟。 |
7 | 当前计数器∷=structure { 单地址应用协商计数器 double-long-unsigned,主动上报计数器 double-long-unsigned,应用广播通信序列号 double-long-unsigned } | |
8 | 证书版本∷=structure { 终端证书版本 octet-string,主站证书版本 octet-string } | |
9 | 终端证书序列号∷=octet-string | |
10 | 终端证书∷=octet-string | |
11 | 主站证书序列号∷=octet-string | |
12 | 主站证书∷=octet-string | 主站带 MAC 下发,同主站证书一起下发(后 4 个字节为 MAC)。 |
13 | ESAM 安全存储对象列表∷=array OAD | 需要存储到 ESAM 中的对象。 |
14 | 红外认证时效门限∷=double-long-unsigned | 单位:分钟。 |
15 | 红外认证剩余时间∷=double-long-unsigned | 单位:分钟。 |
ESAM接口类方法说明见表166 。
表166 ESAM 接口类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
3 | ESAM 数据读取(参数)参数∷=SID 应答∷=octet-string | |
4 | 数据更新(参数) 参数∷=structure | 数据、数据 MAC 先发给 ESAM 验证,验证成功后,再设置到终端中。 |
编号 | 方法 | 说明 |
{ 参数内容 octet-string,数据验证码 SID_MAC } 参数内容格式: 4 字节 OAD+ 1 字节参数值长度 + 参数值。 | ||
5 | 协商失效(参数)参数∷=NULL 应答∷= date_time_s | 应答时间为当前日期时间。 |
6 | 钱包操作(参数)参数∷=structure { 操作类型 integer, 购电金额 double-long-unsigned,购电次数 double-long-unsigned,户号 octet-string, 数据验证码 SID_MAC, 表号 octet-string } 操作类型:0 开户;1 充值;2 退费。 | 开户时,不需要验证客户编号,直接将客户编号写到 ESAM 的对应文件中;再进行充值操作。 |
7 | 密钥更新(参数)参数∷=structure { 密钥密文 octet-string,数据验证码 SID_MAC } | |
8 | 证书更新(参数)参数∷=structure { 证书内容 octet-string,安全标识 SID } | |
9 | 设置协商时效(参数)参数∷=structure { 参数内容 octet-string,安全标识 SID } | |
10 | 钱包初始化(参数) 参数∷=structure |
编号 | 方法 | 说明 |
10 | { 预置金额 double-long-unsigned,数据验证码 SID_MAC } | |
11 | 红外认证请求(参数)参数∷=RN(随机数 1)应答∷=structure { 表号 octet-string, ESAM 序列号 octet-string,随机数 1 密文 octet-string,随机数 2 RN } | |
12 | 红外认证指令(参数) 参数∷=随机数 2 密文 octet-string |
8.2.23 输入输出设备类
x接口类定义了输入输出设备相关信息,定义见表167 。
表167 输入输出设备类定义
输入输出设备类,class_id=22 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2. 设备对象列表 | (static) | array |
3. 设备对象数量 | (static) | unsigned |
4. 配置参数 | (static) | instance-specific |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2. 执行 | 可选 |
输入输出设备类的属性描述见表168 。
表168 输入输出设备类属性描述
编号 | 属性 | 说明 |
1 | 逻辑名∷= octet-string | |
2 | 设备对象列表∷=array instance-specific | 设备对象数据类型由“逻辑名”引用的对象实例定义。 |
3 | 设备对象数量∷=unsigned | 当前设备对象数量。 |
4 | 配置参数∷=instance-specific | 数据格式由“逻辑名”引用的对象实例定义。 |
输入输出设备类的方法描述见表169 。
方法 | 说明 | |
1 | 复位(参数) 参数∷=bit-string | 通用方法,instance-specific。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
8.2.24 总加组类
x接口类定义了总加组相关信息,定义见表170 。
表170 总加组类定义
总加组类,class_id=23 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.总加组配置表 | (static) | array |
3.总加组有功功率 | (dyn.) | long64 |
4.总加组无功功率 | (dyn.) | long64 |
5.总加组滑差时间内平均有功功率 | (dyn.) | long64 |
6.总加组滑差时间内平均无功功率 | (dyn.) | long64 |
7.总加组日有功电量 | (dyn.) | array |
8.总加组日无功电量 | (dyn.) | array |
9.总加组月有功电量 | (dyn.) | array |
10.总加组月无功电量 | (dyn.) | array |
11.总加组剩余电量(费) | (dyn.) | long64 |
12.当前功率下浮控控后总加组有功功率冻结值 | (dyn.) | long64 |
13.总加组滑差时间周期 | (static) | unsigned |
14.总加组功控轮次配置 | (static) | bit-string |
15.总加组电控轮次配置 | (static) | bit-string |
16.总加组控制设置状态 | (dyn.) | structure |
17.总加组当前控制状态 | (dyn.) | structure |
18. 换算及单位 | (static) | structure |
方法 | 必选/可选 | |
1.清空总加组配置单元 | 必选 | |
2.执行 | 可选 | |
3. 添加一个总加组配置单元 | 可选 | |
4. 批量添加总加组配置单元 | 可选 | |
5. 删除一个总加组配置单元 | 可选 |
总加组类的属性描述见表171 。
表171 总加组类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string |
编号 | 属性 | 说明 |
2 | 总加组配置表∷=array 总加组配置单元总加组配置单元∷=structure { 参与总加的分路通信地址 TSA, 总加标志 enum{正向(0),反向(1)},运算符标志 enum{加(0),减(1)} } | |
3 | 总加组有功功率∷=long64 | |
4 | 总加组无功功率∷=long64 | |
5 | 总加组滑差时间内平均有功功率∷=long64 | |
6 | 总加组滑差时间内平均无功功率∷=long64 | |
7 | 总加组日有功电量∷=array 电能量电能量∷=long64 | 总及 n 个费率的电能量,第一个数组元素是 总电能量,从第二个数组元素依次排列费率 1…n 电能量。 |
8 | 总加组日无功电量∷=array 电能量 电能量∷=long64 | 同上。 |
9 | 总加组月有功电量∷=array 电能量 电能量∷=long64 | 同上。 |
10 | 总加组月无功电量∷=array 电能量 电能量∷=long64 | 同上。 |
11 | 总加组剩余电量(费)∷=long64 | |
12 | 当前功率下浮控控后总加组有功功率冻结值∷=long64 | |
13 | 总加组滑差时间周期∷=unsigned | 单位:分。 |
14 | 总加组功控轮次配置∷=bit-string(SIZE(8)) bit0…bit7 按顺序对位表示第 1…第 8 轮次开关的受控设置,置 “1”表示该轮次开关受控,置“0”表示不受控。 | |
15 | 总加组电控轮次配置∷=bit-string(SIZE(8)) bit0…bit7 按顺序对位表示第 1…第 8 轮次开关的受控设置,置 “1”表示该轮次开关受控,置“0”表示不受控。 | |
16 | 总加组控制设置状态∷=structure { 时段控定值方案号 unsigned, 功控时段有效标志位 bit-string(SIZE(8)),功控状态 PCState, 电控状态 ECState, 功控轮次状态 TrunState, 电控轮次状态 TrunState } 功控时段有效标志位:bit0…bit7 按顺序对位表示 1…8 时段控 | 时段控定值方案号:表示所投入的功控定值方案号。 |
编号 | 属性 | 说明 |
16 | 投入的有效时段,置“1”:有效,置“0”:无效。 PCState∷=bit-string(SIZE(8)) bit0…bit7 按顺序对位表示;置“1”:投入,置“0”:解除; bit0:时段控; bit1:厂休控; bit2:营业报停控; bit3:当前功率下浮控; bit4…bit7:备用。 ECState∷=bit-string(SIZE(8)) bit0…bit7 按顺序对位表示;置“1”:投入,置“0”:解除; bit0:月电控; bit1:购电控; bit2…bit7:备用。 TrunState∷=bit-string(SIZE(8)) bit0…bit7 按顺序对位表示 1…8 轮次开关的受控状态;置“1”: 受控,置“0”:不受控。 | |
17 | 总加组当前控制状态∷=structure { 当前功控定值 long64(单位:W 换算:-1),当前功率下浮控浮动系数 integer(单位:%), 功控跳闸输出状态 OutputState,月电控跳闸输出状态 OutputState,购电控跳闸输出状态 OutputState,功控越限告警状态 PCAlarmState, 电控越限告警状态 ECAlarmState } OutputState∷=bit-string(SIZE(8)) bit0…bit7 分别表示终端 1…8 轮次跳闸输出状态,置“1”:处于跳闸状态,置“0”:未处于跳闸状态。 PCAlarmState∷=bit-string(SIZE(8)) 按顺序对位表示;置“1”:处于某种功控越限告警状态;置“0”:未处于告警状态; bit0:时段控; bit1:厂休控; bit2:营业报停控; bit3:当前功率下浮控; bit4…bit7:备用。 ECAlarmState∷=bit-string(SIZE(8)) |
编号 | 属性 | 说明 |
17 | 置“1”:处于某种电控越限告警状态;置“0”:未处于告警状态; bit0:月电控; bit1:购电控; bit2…bit7:备用。 | |
18 | 换算及单位∷=structure { 属性 3 单位换算 Scaler_Unit(单位:W,换算:-1), 属性 4 单位换算 Scaler_Unit(单位:var,换算:-1),属性 5 单位换算 Scaler_Unit(单位:W,换算:-1), 属性 6 单位换算 Scaler_Unit(单位:var,换算:-1),属性 7 单位换算 Scaler_Unit(单位:kWh,换算:-4), 属性 8 单位换算 Scaler_Unit(单位:kvarh,换算:-4),属性 9 单位换算 Scaler_Unit(单位:kWh,换算:-4), 属性 10 单位换算 Scaler_Unit(单位:kvarh,换算:-4), 属性 11 单位换算 Scaler_Unit(单位:kWh/元,换算:-4),属性 12 单位换算 Scaler_Unit(单位:W,换算:-1) } | Scaler_Unit 见 7.3.14 。 |
总加组类的方法描述见表172 。
表172 总加组类方法说明
编号 | 方法 | 说明 |
1 | 清空总加配置表(参数) 参数∷=NULL | 清空总加组配置表。 |
2 | 执行(参数) 参数∷=Data | 通用方法,instance-specific。 |
3 | 添加一个总加组配置单元(参数) 参数∷=总加组配置单元 | 向总加组配置表中添加一个总加配置单元。 |
4 | 批量添加总加组配置单元(参数) 参数∷=array 总加组配置单元 | 向总加组配置表中添加若干个总加配置单元。 |
5 | 删除一个总加组配置单元(参数) 参数∷=参与总加的分路通信地址 TSA | 删除总加组配置表中的一个总加组配置单元。 |
8.2.25 分项事件对象类
x接口类定义了配置、存储分项事件数据信息,定义见表173 。
分项事件对象类,class_id=24 | 0…n | |
属性 | 数据类型 | |
1.逻辑名 | (static) | octet-string |
2.关联对象属性表 | (static) | array |
3.当前记录数 | (dyn.) | structure |
4.最大记录数 | (static) | long-unsigned |
5.配置参数 | (static) | structure |
6.事件记录表 1 | (dyn.) | array |
7.事件记录表 2 | (dyn.) | array |
8.事件记录表 3 | (dyn.) | array |
9.事件记录表 4 | (dyn.) | array |
10.当前值记录表 | (dyn.) | array |
11.上报标识 | (static) | enum |
12.有效标识 | (static) | bool |
14.时间状态记录表 | (dyn.) | array |
方法 | 必选/可选 | |
1.复位 | 可选 | |
2.执行 | 可选 | |
4.添加一个事件关联对象属性 | 可选 | |
5.删除一个事件关联对象属性 | 可选 |
分项事件对象类属性说明见表174 。
表174 分项事件对象类属性说明
编号 | 属性 | 说明 |
1 | 逻辑名∷=octet-string | |
2 | 关联对象属性表∷=array 一个关联的对象属性 一个关联的对象属性∷=OAD | |
3 | 当前记录数∷=structure { 记录表 1 当前记录数 long-unsigned,记录表 2 当前记录数 long-unsigned,记录表 3 当前记录数 long-unsigned,记录表 4 当前记录数 long-unsigned, } | 表示保存在事件记录表中的记录数。执行“复位”方法后,记录表清空,此时当前记录数为 0。 |
4 | 最大记录数∷=long-unsigned | 事件记录表最小存储条数。 |
5 | 配置参数∷=structure { 参数 1 instance-specific, … 参数n instance-specific } |
编号 | 属性 | 说明 |
6 | 事件记录表 1∷=array 分项事件记录单元分项事件记录单元∷=structure { 事件记录序号 double-long-unsigned,事件发生时间 date_time_s, 事件结束时间 date_time_s, 事件上报状态 array 通道上报状态,第 1 个关联对象属性的数据 Data, … 第n 个关联对象属性的数据 Data } | 用于存储事件记录,记录根据“配置参数”自动产生。 记录的顺序按照事件发生的次序排序。执行“复位”方法后事件记录表清空。 事件记录序号——单调递增。事件上报状态——见表 123 。 关联对象属性的数据——其排列次序和数量 n,由“逻辑名”引用的对象实例的属性 2 定义。 |
7 | 事件记录表 2∷=array 分项事件记录单元 | |
8 | 事件记录表 3∷=array 分项事件记录单元 | |
9 | 事件记录表 4∷=array 分项事件记录单元 | |
10 | 当前值记录表∷=array structure { 事件发生次数 double-long-unsigned,事件累计时间 double-long-unsigned, } | 包含事件发生的次数以及累计时间。事件发生次数——单位:次 事件累计时间——单位:秒 数组元素按顺序对应:事件记录表 1、事件记录表 2、事件记录表 3、事件记录表 4,如无该记录表则该元素为 NULL。 |
11 | 上报标识∷=enum { 不上报 (0), 事件发生上报 (1), 事件恢复上报 (2),事件发生恢复均上报(3) } | |
12 | 有效标识∷=bool | |
14 | 时间状态记录表∷=array structure { 最近一次发生时间 date_time_s,最近一次结束时间 date_time_s } | 最近一次发生时间——取上 1 次事件的发生时间,如果未发生返回 NULL。 最近一次结束时间——上 1 次事件未结束,则取上 2 次事件的结束时间;不存在上 2 次事件或结束时间不支持,则返回 NULL。 |
分项事件对象类方法说明见表175 。
表175 分项事件对象类方法说明
编号 | 方法 | 说明 |
1 | 复位(参数) 参数∷=integer(0) | 通用方法,instance-specific。 |
2 | 执行(参数) | 通用方法,instance-specific。 |