中华人民共和国电力行业标准
DL 476-92
电力系统实时数据通信应用层协议
中华人民共和国能源部1992-04-27批准 1992-11-01实施
1 主题内容和适用范围
本标准定义了电力系统实时数据通信应用层协议,描述了数据格式、控制序 列及服务原语。
本标准适用于电力系统控制中心之间的实时数据通信。
2 引用标准
GB 2260 中华人民共和国行政区划代码
3 术语
3.1 应用协议数据单元
Application protocol data unit(APDU)
由应用层协议控制信息(报头)和可能有的用户数据块或参数块组成。
3.2 数据块
Data block
由一个块头和一组某类数据构成的有意义的数据集合。不能直接和低层协议 作用。只能几个 块一起构成APDU,以APDU为单位和低层发生作用。
3.3 联系(联接)
Associate
两个用户进程之间的逻辑联系,亦指建立这种联系的过程,只有维持这种联 系双方才能交换数据。
3.4 释放(断联)
Release
断开两个用户进程之间联系的过程。
3.5 服务原语
Service primitive
用户和协议实体间的接口;通过服务原语请求某个服务过程,或者表示某个 服务过程的完成情况。
3.6 质量码
Quality code
描述数据质量属性的一组代码,每个属性用1bit表示,如无效位等。
3.7 测量值
Measurement value
特指已经数字化的连续变化量,可用整型数或实型数表示。
3.8 测量量
Measurement
由测量值和质量码组成。
3.9 状态值
Status value
描述对象所处状态(如断路器的闭合状态和断开状态)的数值,可用1bit或2bit 表示。
3.10 状态量
Status
由状态值和质量码组成。
3.11 数据索引表
Data index table
通信双方用户约定的数据集合所对应的索引表,其中每个登录项包括该数据 在数据库中的地址等信息。
3.12 数据索引表号
Data index table number
通信双方用户约定的多个数据索引表的统一编号,是数据索引表的唯一标 识。
4 本协议在网络体系中的地位
本协议在OSI网络体系中的地位可能有如图1所示的几种情况:
本协议除支持OSI网络体系之外,还可建立在其它网络体系之上,以适应现 有的网络系统。用户可根据实际情况选择合适的网络体系。
5 应用协议数据单元格式
5.1 应用协议数据单元种类
应用协议数据单元分为三种:
a.协议控制的APDU用于双方通信进程之间联系的建立、释放、放弃或复 位;
b.基本数据的APDU用于数据的接收、发送及应答控制;
c.扩充数据的APDU用于探询等。
只实现a、b两种称为0型规程,以上三种全部实现称为1型规程。这三种 格式在5.2~5.4中分述。
注:“规程”指该协议具体实现时的动作序列。
5.2 协议控制的APDU
协议控制APDU的整体格式见图2。
5.2.1 报头格式
报头格式见图3。
该格式适用于所有协议控制的APDU。
5.2.1.1 控制域
控制域格式见图4。
协议控制的APDU编码 协议控制的APDU名称 协议控制的APDU功能
bit 6543210
0000001 A-ASSOCIATE 联系
0000010 A-ASSOCIATE-ACK 联系确认
0000011 A-ASSOCIATE-NAK 联系否认
0000100 A-RELEASE 释放
0000101 A-RELEASE-ACK 释放确认
0000110 A-RELEASE-NAK 释放否认
0000111 A-ABORT 放弃
0001000 A-RESET 复位
0001001 A-RESET-ACK 复位确认
以上APDU具有相同的报头格式。
地址扩展位: bit 7
0 表示在与A-ASSOCIATE相关的APDU里无地址参 数字段
1 表示在与A-ASSOCIATE相关的APDU里有地址参 数字段
5.2.1.2 运行模式
该域用于联接时确定规程的基本运行模式。格式见图5。
规程类型:
bit 7 6 5 4
0 0 0 1 0型规程
0 0 1 0 1型规程,始发站为主站
0 1 0 0 1型规程,始发站为从站
其它编码暂无定义
测量量传送方式:
bit 3 2
0 0 暂无定义
0 1 测量量变化幅度超过规定范围,单个传送
1 0 测量量变化幅度超过规定范围,成组传送
1 1 暂无定义
状态量传送方式:
bit 1 0
0 0 暂无定义
0 1 状态量变位,单个传送
1 0 状态量变位,成组传送
1 1 暂无定义
5.2.1.3 状态标识
状态标识格式见图6。
在线标识: bit 7
0 本机不在线
1 本机在线
5.2.1.4 原因码
原因码格式见图7。
原因码按二进制编码,定义如下:
bit 76543210
00000001 确认操作成功
00000010 受权码错,无权操作
00000011 请求运行模式错
00000100 本节点非主机
00000101 源节点名错或源进程名错
00000110 目的节点名错名目的进程名错
00000111 对方节点层次低
00001000 双方运行模式不兼容
00001001 数据库与数据索引表版本不一致
00001010 双方数据索引表版本不一致
00001011 接收到不可识别的APDU
00001100 接收到不可识别的数据块
00001101 双方协议版本不一致
其它编码暂无定义。
5.2.1.5 参数域长度
参数域长度指参数部分的八位位组总数。对于与建立联系无关的APDU (A- RELEASE APDU,A-RELEASE-ACK APDU,A-RELEASE-NAK APDU,A- ABORT APDU,A-RESET APDU,A-RESET-ACK APDU),其参数域长度必须 为0。对于与建立联系有关的APDU(A-ASSOCIATE AP-DU,A-ASSOCIATE- ACK APDU,A-ASSOCIATE-NAK APDU),若参数域长度不为0,则表示该 APDU带有5.2.2中所述参数;若参数域长度为0,则表示该APDU不带参数。
5.2.2 参数格式
参数格式见图8。
本格式仅适应于与建立联系有关的APDU,其中地址参数的有无,取决于地 址扩展位(见5.2.1.1),其位置及长度是固定的。若用户需扩充参数,可将新参数序 列放在固定部分之后,用报头中参数域长度字段统一计数,但参数的意义需由双 方人员协商确定。
5.2.2.1 受权码、缓冲区长度、窗口尺寸和协议版本号
受权码占4个八位位组,表示通信双方预先约定的保护密码、访问特权等信 息。格式见图9。
缓冲区长度、窗口尺寸和协议版本号,建立联系时由双方协商确定。
5.2.2.2 目的节点、源节点、目的进程和源进程域
这四个字段是可选参数,地址格式取决于具体系统,可由双方有关人员协商 确定。
5.3 基本数据的APDU
基本数据的APDU的格式见图10。
5.3.1 报头格式
数据APDU报头格式见图11。
数据应答APDU格式见图12。
5.3.1.1 控制域
控制域格式见图13。
基本数据的APDU编码 基本数据的APDU名称 基本数据的APDU功能
bit 6543210
0001010 A-DATA 数据
0001011 A-DATA-ACK 数据确认
0001100 A-DATA-NAK 数据否认
END:bit 7
0 表示该APDU为最后一个APDU
1 表示该APDU还有后继APDU
5.3.1.2 接收序号(NR)和发送序号(NS)
NS:在A-DATAAPDU中为该APDU的发送顺序号,在A-DATA-ACK APDU或A-DATA-NAK APDU中无意义;
NR:在三种数据APDU中表示已正确收到NR-1号及以前所有A-DATA APDU,期望接收NR号A-DATA APDU;在A-DATA-NAK APDU中强调未正确 收到NR号及以后所有A-DATA APDU,请求重发。
NS和NR都以256为模。
5.3.1.3 优先级
取值从0到255,当优先级为255时,表示紧急APDU,优先传送;取值非 255时,如何处理由双方人员协商。
5.3.1.4 长度域
APDU长度指数据APDU中数据部分的八位位组总数。
5.3.1.5 原因码
原因码用于A-DATA-ACK APDU和A-DATA-NAK APDU,其编码与5.2.1.4 相同。
5.3.2 数据块格式
在数据APDU、探询数据APDU的数据域中可含有1个或多个数据块。每个 数据块的格式见图14。
数据块类型编码见图15。
数据索引表号指双方有关人员约定的数据索引表的编号。附录D给出了数据 索引表的典型结构。
数据块长度指数据项部分的八位位组总数。
5.3.2.1 全测量量整型块(BID为1,十进制,以下同)
每个整型测量量占3个八位位组,格式如图16。
整型测量值用整数补码形式表示。各测量量从起始测量量序号开始按数据索 引表规定的顺序排放。质量码的定义见图17。
bit 6
0 表示该数据未停止更新
1 表示该数据停止更新
bit 5
0 表示该数据有效
1 表示该数据无效
bit 4
0 表示该数据未引起告警
1 表示该数据引起告警
bit 3
0 表示该数据是自动采集的
1 表示该数据是人工置入的
bit 2
0 表示该数据不是状态估计导出的
1 表示该数据是状态估计导出的
5.3.2.2 全测量量实型块(BID为2)
每个实型测量量占5个八位位组,格式见图18。
实型测量值用浮点数表示,具体格式双方协商确定。
质量码的定义与5.3.2.1相同,各测量量从起始测量量序号开始按数据索引表 规定的顺序排放。
5.3.2.3 全状态量块(BID为3)
每个状态量占1个八位位组,格式见图19。
状态值用1个比特或2个比特表示。
当用1个比特表示时,状态值:bit 0
0 表示闭合状态或正常状态
1 表示断开状态或异常状态
用2bit表示的格式,双方协商确定。质量码的定义与5.3.2.1相同。状态量从 起始状态量序号开始按数据索引表规定的顺序排放。
5.3.2.4 成组测量量整型块(BID为4)和成组测量量实型块(BID为5)
成组测量量整型块和成组测量量实型块的格式见图20。
测量量组序号为2个八位位组,用户根据数据索引表确定。测量量可以是整 型测量量或实型测量量,质量码的定义与5.3.2.1相同,整型测量量和实型测量量 的格式分别与5.3.2.1和5.3.2.2相同;组内顺序由数据索引表确定。
5.3.2.5 成组状态量块(BID为6)
成组状态量块的格式见图21。
状态量组序号用2个八位位组表示,组号的定义应与数据索引表一致。
状态值和质量码的定义与5.3.2.3相同。
5.3.2.6 变化测量量整型块(BID为7)和变化测量量实型块(BID为8)
变化测量量整型块和变化测量量实型块的格式见图22。
测量量序号是双方预先约定的,应与数据索引表一致。质量码的定义与 5.3.2.1相同。测量量可以是整型测量量或实型测量量,整型测量量和实型测量量 的表示方式分别与5.3.2.1和5.3.2.2相同。该块主要用于传输变化幅度超过规定范 围的单个测量量。
5.3.2.7 变化状态量块(BID为9)
变化状态量块的格式见图23。
状态量占1个八位位组。状态量表示变化后的状态,格式与5.3.2.3相同。状 态量序号由双方按数据索引表约定,占2个八位位组。
该块用于传送单个变化的状态量。
5.3.2.8 时标测量量整型块(BID为10)和时标测量量实型块(BID为11)
时标测量量整型块和时标测量量实型块的格式见图24。
图24中的相对时间为从当日0h0min0s0ms计起的时间量,以ms为单位占4 个八位位组,第1个八位位组为低位,依次类推。时间应为当地时间。测量量序 号、测量值及质量码的定义分别与5.3.2.1及5.3.2.2所述相同。
5.3.2.9 时标状态量块(BID为12)
时标状态量块的格式见 图25。
图25中的相对时间格式与5.3.2.8相同。状态量序号与5.3.2.7相同,状态值 及质量码的定义与5.3.2.3相同。
5.3.2.10 时标成组测量量整型块(BID为13)和时标成组测量量实型块(BID为14)
时标成组测量量整型块和时标成组测量量实型块的格式见 图26。
相对时间格式与5.3.2.8相同。测量量组号、测量值及质量码的定义与5.3.2.4 相同。
5.3.2.11 时标成组状态量块(BID为15)
时标成组状态量块的格式见 图27。
图27中的相对时间格式与5.3.2.8相同。状态量组序号、状态值及质量码的 定义与5.3.2.5相同。
5.3.2.12 时标电能量整型块(BID为16)和时标电能量实型块(BID为17)
时标电能量整型块和时标电能量实型块的格式见图28。
图28中的相对时间格式与5.3.2.8相同。每个电能量占5个八位位组。整型 电能值用整数补码表示。实型电能值的表示格式双方协商确定。质量码的定义与 5.3.2.1相同。
5.3.2.13 时标双精度电能量整型块(BID为18)和时标双精度电能量实型块(BID为 19)
时标双精度电能量整型块和时标双精度电能量实型块的格式见 图29。
相对时间格式与5.3.2.8相同。每个双精度电能量占9个八位位组。双精度整 型电能值用整数补码表示。双精度实型电能值的表示方法双方协商确定。质量码 的定义与5.3.2.1相同。
5.3.2.14 压缩型成组状态量块(BID为20)
压缩型成组状态量块的格式见 图30。
每组包含16个状态值,每个状态值用1位表示,状态值的定义与5.3.2.3相 同。状态量组号的定义与5.3.2.5相同。
5.3.2.15 时间块(BID为27)
时间块的格式见 图31。
时间应采用当地标准时间。时间块可与其它块组合使用,以表示相关数据的 绝对时间。
SU为夏时制标志,SU bit 7
0 表示非夏时制
1 表示夏时制
5.3.2.16 编码型块
ASCII码块,BID为28,每码占1个八位位组。
BCD码块,BID为29,每码占半个八位位组。
汉字码块,BID为30,每码占2个八位位组。
画存码块,BID为31,格式暂不定。
以上码块各自编码规则,由相应的标准定义,本协议仅以码串形式给予描 述,串的含意由用户解释。
5.3.2.17 数值型块
对于BID为32到37的数值型块,本协议仅以串的形式给予描述,具体格式 可参照机器表示形式,由双方协商确定。数值型块和编码型块,可以组合使用, 用于描述表报等。
5.3.2.18 远方控制型块
远方控制是指上一级控制中心通过下一级控制中心对被控对象进行的间接控 制。设定命令块(BID为21)和设定返回块(BID为24)、开关命令块(BID为22)和开 关返回块(BID为25)、升降命令块(BID为23)和升降返回块(BID为26)的格式以及 传输方式有待进一步研究试验。
5.4 扩充数据的APDU
扩充数据APDU的格式见图32。
5.4.1 控制域
控制域的格式见 图33。
扩充数据的APDU编码 扩充数据的APDU名称 扩充数据的APDU功能
bit 6543210
0001110 A-POLL 探询
0001111 A-POLL-DAT 探询数据
0010000 A-POLL-NAK 探询否认
0010001 A-SEND 发送
0010010 A-SEND-ACK 发送确认
0010011 A-SEND-NAK 发送否认
其余编码暂无定义。
END(bit7)的定义与5.3.1.1相同。
5.4.2 块类型、数据索引表号、原因码和长度域
块类型、数据索引表号、原因码和长度域分别与5.3.1和5.3.2中的相应定义 相同。
5.4.3 数据项
为数据块,或用户双方协商确定。
6 服务原语
本协议的服务原语以宏命令或子程序的形式实现,供用户程序使用。证实型 服务原语序列如图 34所示。非证实型服务原语序列如图 35所示。
0型规程仅使用6.1到6.5的服务原语,1型规程可使用全部服务原语。
6.1 A-ASSOCIATE联系原语
本地进程使用该原语与远方进程建立逻辑联系。只有建立起联系之后,才能 进行收发操作。
原语名称:A-ASSOCIATE{request/indication/response//confirm/iation}1)
参数格式:DEVICE, CHANNEL,
[DST-NODE, SRC-NODE, DST-PROCESS, SRC-PROCESS], 2)
AUTHORIZATION,[MESSAGE,SIZE],STATUS
DEVICE为本方线路设备,用ASCII字符串表示,具体格式取决于所用网络 系统(系统可读,以下简称可读)。
CHANNEL为逻辑通道号,联接成功后,本协议将得到的通道号赋予此参数 (系统可写,以下简称可写)。
DST-NODE为目的节点名(可读)。
SRC-NODE为源节点名(可读)。
DST-PRCCESS为目的进程名(可读)。
SRC-PROCESS为源进程名(可读)。
上述四个地址参数的表示方法,取决于所用网络系统。
AUTHORIZATION为用户授权码,包括口令密码、存取方式、特权等,具体 格式用户双方协商(可读)。
MESSAGE用户可选送给对方的一些附加信息(可读)。
SIZE为附加信息长度(可读)。
STATUS为返回状态码,指示原语执行结果(可写)。
注:1){ }表示其中几者必选其一,以下相同。
2)在[ ]中的参数为可选参数,以下相同。
6.2 A-RELEASE释放原语
本地进程使用A-RELEASE原语请求释放已与远方进程建立的联系,并释放 有关的系统资源,属正常断联,一般用于数据收发结束时,以确保不丢失数据。
原语名称: A-RELEASE{request/indication/response//confirm/iation}
参数格式: CHANNEL,AUTHORIZATION,
[MESSAGE,SIZE],STATUS
CHANNEL为指明要断开的逻辑通道号,为必选参数。
AUTHORIZATION为用户口令密码、存取方式、特权码等,当特权不够或口 令不对时,本协议拒绝断联操作,并给出一错误码。
MESSAGE用户可选送的一些附加信息(可读)。
SIZE为附加信息长度(可读)。
STATUS为返回码(可写)。
6.3 A-ABORT放弃原语
本地进程使用该原语请求立即拆除已与远方进程建立的联系,释放资源,可 能会丢失数据,建议仅在紧急情况下使用。
原语名称: A-ABORT{request/indication}
参数格式: CHANNEL,AUTHORIZATION,
[MESSAGE,SIZE],STATUS
所有参数定义均与A-RELEASE原语中相应参数相同。
6.4 A-RESET复位原语
用户可调用该原语将指定的联系重新初始化。
原语名称: A-RESET{request/indication/response//confirm/iation}
参数格式: CHANNEL,AUTHORIZATION,
[MESSAGE,SIZE],STATUS
所有参数定义均与A-RELEASE原语中相应参数相同。
6.5 A-DATA数据原语
用户可调用该原语发送数据APDU,或对接收到的数据APDU进行应答。
原语名称: A-DATA{request/indication}
参数格式: CHANNEL,MESSAGE,
SIZE,STATUS
CHANNEL为已用A-ASSOCIATE原语建立的逻辑通道号(可读)。
MESSAGE为用户数据区地址,其中含有数据APDU(可读)。
SIZE为用户数据区长度(可读)。
STATUS为返回状态(可写)。
6.6 A-POLL探询原语
该原语用于请求对方发送某类指定数据。
原语名称: A-POLL{request/indication/response//confirm/iation}
参数格式: CHANNEL,MESSAGE,
SIZE,STATUS
这四个参数定义与A-DATA原语中相应参数相同。
6.7 A-SEND发送原语
该原语用于发送的某类数据,并要求对方立即应答。
原语名称: A-SEND{request/indication/response//confirm/iation}
参数格式: CHANNEL,MESSAGE,
SIZE,STATUS
这四个参数定义与A-DATA原语中相应参数相同。
7 运行模式和控制序列
7.1 0型规程应答控制序列
7.1.1 建立联系阶段的控制序列(无联系存在时)
建立联系阶段的控制序列如图 36 所示。
7.1.2 释放联系阶段的控制序列(联系存在时)
释放联系阶段的控制序列如图 37所示。
7.1.3 放弃联系阶段的控制序列(联系存在时)
放弃联系阶段的控制序列如图 38所示
7.1.4 复位阶段的控制序列(联系存在时)
A-RESET原语可在不释放联系的情况下使双方恢复同步。复位阶段的控制序 列如图 39所示。
7.1.5 数据通信阶段的控制序列(联系存在时)
数据通信阶段的控制序列如图 40所示
该方式主要用于主动随即传送变化数据,并周期性地传送数据索引表指定的 数据或全数据。本协议提供自动确认,且负责重传。用户发出一个A-DATA request之后,不必等待对方应答,即可发起后继的A-DATA request。
7.2.1 型规程应答控制序列
建立联系阶段、释放联系阶段、放弃联系阶段及复位阶段的控制序列与0型 规程相同。数据传输阶段的控制序列如图 41和图 42。
POLL方式主要用于向对方要求指定数据,该服务为证实型服务。
注:用A-POLL实现远方实时数据库检索,有待进一步研究。
POLL序列:
SEND序列:
7.3 规程变量及规程参数
7.3.1 规程变量
STATE(n)状态变量:表示第n条逻辑联系当前的状态。
MODE(n)方式变量:表示第n条逻辑联系的本端是始发站还是从站。
CLASS(n)类别变量:表示在第n条逻辑联系上实现的规程类别。
7.3.2 规程参数:
WINDOW-SIZE(n):表示在第n条逻辑联系上的窗口尺寸,窗口尺寸应小于 接收或发送缓冲区个数。
BUFFER-LENGTH(n):表示在第n条逻辑联系上的接收缓冲区长度。
RETRY-NUMBER(n):表示在第n条逻辑联系上所允许的最大重发次数。
7.3.3 数据库及数据索引表的一致性
数据库及数据索引表的关系如图 43所示。
发送数据索引表与接收数据索引表之间的版本一致性由网络管理员及双方系 统管理员共同负责处理。实时数据库与数据索引表之间的版本一致性由本方系统 管理员负责处理。本协议提供一种机制,当一方的通信程序发现本方的实时数据 库与数据索引表之间的版本不一致时,应立即释放相关的联系,并在释放APDU 的原因码域中指明原因为“实时数据库与数据索引表之间的版本不一致”,通知 对方;同时向本方给出一告警信息,通知系统管理员处理或自动重建数据索引表 并重新启动。
实现该协议时,应遵循在相同优先级下“先发生先处理”的原则,以保证实 时数据的一致性。
8 状态表
本章的状态表是对本协议动态特性的确切描述。附录A中的状态图是对本协 议动态特性的形象描述。状态表中各项的含义是:对于某一逻辑联系,在当时状 态下发生某个事件时,协议实体应采取的动作。
8.1 状态定义和符号约定
状态定义和符号约定如图44所示。
8.2 分类状态表
建立联系阶段状态表见表1,释放和放弃联系阶段状态表见表2,复位阶段状 态表见表3,基本数据通信状态表见表4,探询状态表见表5,发送状态表见表6。
附 录 A
状 态 图
(补 充 件)
A1 状态图中所用符号的约定
状态图中所用符号的定义见图A1和图A2。图A1表示在“状态Sn”下,若 发生“事件”,则应采取“动作”,然后转移到“状态Sn”。状态定义、定时器 定义和其它符号约定见8.1
A2 分类状态图
建立联系阶段状态图见图A3,释放联系阶段状态图见图A4,放弃联系阶段 状态图见图A5,复位联系阶段状态图见图A6,基本数据通信状态图见图A7, 探询状态图见图A8,发送状态图见图A9。
附 录 B
网络节点地址和进程名表示格式
(参 考 件)
B1 目的节点地址和源节点地址表示格式
这两个字段格式相同,均以GB2260为基础,在其后加1个八位位组的层次标 识码构成。GB2260用6位数字表示最低到县级的行政区划,其中低数第1位和第 2位表示县,第3位和第4位表示地区,第5位和第6位表示省。本协议建议用3 个八位位组BCD码表示,见图 B1 。
层次码:
二进制 十进制 含 义
bit 3210
0001 1 国家调度
0010 2 大区网调
0011 3 省调
0100 4 地调
0101 5 地调
0110 6 电厂
0111 7 变电站
其余码组留待扩充。
图 B2为地址表示格式的几个例子。
B2 目的进程和源进程
这两个字段格式相同,均用6个八位位组表示6个ASCII字符。不足6个 时,高端补空格。如:目的进程“SCADA”,格式见图B3。
附 录 C
网络节点区域地址编码
(参 考 件)
各省、自治区、直辖市电力局的实时计算机网络节点区域地址编码方案应符 合GB 2260;大区网局的节点区域地址编码参照GB 2260作了相应扩充,见表 C1。
附 录 D
数据索引表使用举例
(参 考 件)
发送数据索引表见图D1。
接收数据索引表见图D2。
附加说明:
本标准由中华人民共和国能源部提出。
本标准由全国电力远动通信标准化技术委员会归口。
本标准由能源部电力调度通信局、电力科学研究院和南京自动化研究所负责 起草。
本标准主要起草人:辛耀中、杨秋恒、姚和平、徐剑菲、胡习文、杨汉栋。