2021-07-29

本文对698通信协议进行了深入探讨,重点介绍了其面向对象通信协议的思想,包括对象标识系统、接口类、预连接服务等关键概念。详细阐述了链路层和应用层的帧结构、数据校验以及分帧机制。同时,提到了数据传输的可靠性和兼容性,如预连接服务、主动上报以及安全传输服务。尽管对部分术语和高级功能理解尚有不足,但已经建立了对698协议的基本框架和运作流程的认识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

698通信协议培训阶段性总结

为了适应国家电网改革发展的需要,为了使我们形成一个对698协议专业的认知,以及培养我们基本的开展项目技能,特此,结合自己以前对698协议的理解以及培训后的心得体会,写一些阶段性的总结。

  我对698协议的学习感受是难懂,大体看了几遍还是不太清楚是怎么运用的,模糊的理解了采用面向对象的思想对接口类的方法以及基本的通信架构,但对详细的还是没有看懂,经过一天的培训以及培训后的学习中,对698采集系统面向对象通信协议有了全新的认知。以下是我对698采集系统面向对象通信协议的具体理解与掌握程度。

一,关于698采集系统面向对象通信协议的思想。

它是面向对象的,把相关的数据和方法组合为一个整体来看待,所谓面向对象即是相对于面向过程的。面向过程:数据和方法是分离的。面向对象,必然会有类和对象,接口类属于抽象类中一种,接口类有私有属性和私有方法。接口类,在协议中是由标识码(class-id)进行标识。谈到标识,便会有对象标识系统OI,本协议在引用一个对象时,采用直接引用和间接引用两种形式,在这类对象唯一的名称下只有一个对象实例存在时,采用直接引用的方式。间接引用是使用GetRequestRecord服务间接引用。类似于日冻结, X轴代表有功功率(正向,反向),Y轴某一日,来指定需要的对象,这就是采用间接引用机制。

还有一个比较重要的概念就是预连接,在预连接之上存在一个预先建立的应用连接,该连接满足最低的采集应用需求。预连接是不可断开的,有预连接应用层服务(Get服务)可以直接发起。

二,关于698采集系统面向对象通信协议的框架、技术特点与创新。

  1. 链路层

包括帧头、应用层(链路用户数据)和帧尾。

其中包含帧起始标志(68H)、长度域L、控制域C、地址域A、帧头校验HCS、链路用户数据、帧校验    FCS和帧结束标志(16H)。

地址域采用变长服务器地址,可兼容各种表计,为四表集抄等 提供协议支撑 。

帧头校验HCS与帧校验 FCS采用CRC-16循环校验,并提供统一高效的算法。相对1376.1和645的累加和校验可极大提高数据传输的可靠性。

对传输方向位DIR和启动标志位PRM以及它们组合在一起的意义有了一定的掌握。对帧头校验、帧校验以及链路层分帧有了突破性的理解。

  1. 应用层

兼容性:通过代理服务可兼容现行协议的终端和电表。

    互动性:支持主动上报, 对于不支持主动上报的通道,应用层支持尾随上报。

    采集高效性:读一个属性、读多个属性、读一个记录型属性的部分内容,设置后读,操作后读、代理后读等等。

扩展性:能够满足四表集抄的需求 。

  1. 应用层服务分四类:

预连接服务(同时适用于客户机和服务器);

客户机应用层服务(适用于客户机);

服务器应用层服务(适用于服务器);

安全传输服务(同时适用于客户机和服务器)。

其中,我对预连接服务、精确对时、读取服务、设置服务、交互流程、操作服务、上报服务、代理服务、异常处理以及安全传输服务有了思路与一定的理解。

  1. 接口类IC

使用接口类对业务功能进行抽象、建模,对象具有唯一标识(对象标识系统),对象可拥有特定的属性和方法,通过{对象标识+属性}即可调用接口类对象属性,比62056更简捷。通过OAD访问对象的属性(如当前的、日冻结、总及各费率等),通过OMD访问对象的方法。

  1. 对象标识OI

对象标识由2字节组成,指数据的基础物理量纲 ,对象标识与属性特征分离,提高对象标识的通用性,减少OI字节数。

三,对部分术语和数据类型的认知

  1. 对象标识OI,标识终端中对象唯一名称的编码,2字节。如0010-正向有功电能。

  2. 对象属性描述符OAD,在协议中用于访问对象的属性数据。

如00100200

OI=0010

属性=02

索引=0,正向有功电能总+4费率

  1. 记录型对象属性描述符ROAD,定义集合类中多个捕获单元,本质上是定义了一个表格中的多个列。

 如:日冻结OAD

01-------------01表示为ROAD记录性对象

50 04 02 00----OAD 5004日冻结

03-------------3个关联对象属性

20 21 02 00----数据冻结时间

00 10 02 00----正向有功电能

00 20 02 00----反向有功电能

  1. 记录选择描述符RSD,是本协议用来筛选记录型对象数据集合的工具,包含10种不同的筛选模式,灵活用于数据检索。

 如:读取记录日冻结数据

60 12 03 00 任务配置表 属性 3(记录表)-------------------OAD

05 选择方法5

07 E0 09 0C 00 00 00  采集存储时间,2016-9-12 00:00:00

  1. 电能表集合MS,01全部用户地址

  1. 列选择描述符CSD, 用于访问记录型对象数据时,对记录列进行筛选,记录列支持筛选的前提,为每一列均有对应的OAD或ROAD。

如:

05  5组CSD--------------RCSD

00 40 01 02 00  CSD1-00表示为OAD

00 60 40 02 00  CSD2-00表示为OAD

00 60 41 02 00  CSD3-00表示为OAD

00 60 42 02 00  CSD4-00表示为OAD 

01              CSD5-01    表示为ROAD记录性对象

50 04 02 00     OAD 5004日冻结

03              3个关联对象属性

20 21 02 00     数据冻结时间

00 10 02 00     正向有功电能

00 20 02 00     反向有功电能

  1. 记录列选择描述符RCSD,为CSD的集合,用于读取服务,进行列选择。

  2. Data : Data数据类型是一种通用的CHOICE类型,第一个字节为数据类型描述,它有两个相对特殊的数据类型,数组array以及结构structure。均定义为SEQUENCE OF,区别是array中SEQUENCE OF每一个元素类型均相同,structure中的SEQUENCE OF每一个元素类型可以各不相同。

四,对通信架构的理解。

  1. 信息交换模型

客户机和服务器的应用进程分别位于不同的设备,应用层是唯一包含服务组件的协议层,应用层协议数据单元APDU通过数据链路层协议传输帧的链路用户数据域传输。

  1. 面向应用连接的数据交换

客户机和服务器在开始通信前,先建立预连接,默认具有一个最低权限的应用连接,他们之间可直接进行数据交换,客户机需要得到较高权限的服务器服务时,客户机必须发起建立较高权限的应用连接。

  1. 请求/响应类型的数据交换

即:客户机应用进程向服务器应用进程提出服务请求,服务器应用进程向客户机应用进程提供远程服务响应。

  1. 通知/确认类型的数据交换

即:服务器应用进程根据客户机预先定制的主动上报内容,向客户机应用进程提供远程主动上报数据服务,客户机应用进程向服务器应用进程回复服务确认。注:终端与主站通讯,终端是服务器 ,终端与表通讯,表为服务器 。

  1. 服务器模型,由物理设备和若干逻辑设备构成,每个逻辑设备由若干接口类对象构成。

五、分帧

在分帧学习过程中最大的感受就是解帧,过程是极具有挑战性的,如说长度域H 3D 00  两字节把它转换为十进制为61,即表示此帧有61个字节,再如控制域C 43,一个字节,需要先把43转换为二进制0010 1011,根据控制域C的定义,传输方向位DIR和启动标志位PRM组合的意义判断为客户机对服务器上报的响应,再根据分帧标志位得出此帧链路用户数据为APDU片段,最后根据功能码0 1 1,把功能码转换为十进制为3,在协议中对应的是用户数据,应用连接管理及数据交换服务,这就是控制域C 43 代表的意义,令我受益匪浅。

分帧包括应用层分帧和链路层分帧两种,应用层分帧仅支持针对Get请求服务的应答分帧;链路层分帧支持所有应用层服务。

  1.  应用层分帧每一个分帧片段均可自描述自解析,不需要所有片段接收完毕才可处理,可以边接收边处理。当请求多个对象属性时,分帧后的每一帧包含完整的对象属性数据。

如:读取电表负荷曲线数据

发送内容: 68                        起始字符68H

3D 00                                长度域H  俩字节

43                                   控制域C  1字节 

05 08 00 00 00 00 00 10  地址域A(通讯地址8字节(终端) 表示6字节) 

1D 42                                帧头校验(2字节)

05                                   发送

03                                   03不分帧   05分帧

08                PIID 帧序号  (发什么回什么  一个字节)

60 12 03 00                         6012任务配置表

05                                  (选择方法5) 

07 E0 09 0D 00 00 00            2016年09月13日00:00:00

01                            电能表集合MS,01全部用户地址

03                                  03代表三组CSD 

00 60 42 02 00                         00代表OAD

00 40 01 02 00                         01ROAD

01 50 02 02 00

03                                    3个关联对象属性           

20 21 02 00                            数据冻结时间

00 10 02 00                            正向有功电能

00 20 02 00                            反向有功电能

00                                    末帧标识  ,非末帧

56 00                                 帧校验(2字节)

16                                      结束字符16H

  1. 链路层分帧,每一个分帧片段不可自解析,需所有分帧片段接收完毕,组合之后方可得到完整的APDU报文。

如:电能表密钥更新

发送内容:

68                           起始字符68H

D3 01                        长度域H  俩字节

63                           分帧标识置位

05 01 00 00 00 00 00 10      地址域A

73 2C                        帧头校验(2字节)

00 00                        起始帧,帧序号0

10 01                        安全请求 01密文

82 07 50                     8X 2代表俩字节,长度1872

……                      

接收内容:

68                           起始字符68H

11 00                        长度域H  俩字节

E3                           分帧标识

05 01 00 00 00 00 00 00      地址域A

3E 20                        帧头校验(2字节)

00 80                        分帧确认帧,帧序号0

D6 78                        帧校验(2字节)

16                           结束字符16H

六、 对设备对象模型、远程升级、日常采集业务、阶梯结算、费控及电价下发业务等不太懂,还有就是此协议的兼容性,如698终端兼容645协议电表以及对未知协议的支持,ESAM安全认证等。大家有学习资料的一起共享下,互相学习,祝大家天天快乐,事业有成。





                                        



 
虚拟表V2.5.2是根据DL/T645-1997规约、DL/T645-2007规约、上海规约和BNC智能终端规约设计的虚拟电表软件。 本软件主要的操作说明如下: 1.下拉菜单的电表参数包括: 功能类:中继测试,侦听测试,白名单测试,黑名单测试,区间表单测试,不识别表号 ○1中继测试只针对TCT监控模块虚拟表模式; ○2侦听测试可针对监控645的TCT模块,监控载波的TCT模块或者监控串口数据的交互,对接收的数据进行解析(如果是监控载波鼎信报文,选择单/三相显示,可完成侦听记录/侦听报文的显示在“按相位分屏”和“不分屏”之间切换); ○3白名单为选中的表号有效; ○4黑名单为选中的表号无效; ○5区间表单为接收到所填黑名单区间内的表号无效; ○6不识别表号为对任意表号命令均有效。 命令类:设置底度----设置电量的底度。 使能类:前导符FE,编程开关,支持跨相,通道芯片,长帧测试,自设回复,循环回复。 ○1前导符FE----选中响应帧有4个0xFE作为前导符; ○2编程开关----选中才能写设备地址地址有效; ○3支持跨相----只有中继测试时有效,选中则不进行相位比较,返回的相位信息为自身所处相位(目前表所处相位是根据表号决定,表号除以3,余数为0,相位为C相;相余数为1,相位为A相;余数为2,相位为B相); ○4通道芯片----中继测试时无效,不选中时响应的报文带1字节的相位信息; ○5长帧测试----自定义长帧测试的数据标识。 设置长帧命令表示当接到这条命令,将数据标识后的数据内容存储起来,最大255个字节,响应报文的数据域只有数据标识; 读取长帧命令表示当接到这条命令,按数据标识后设置的长度(1字节,小于之前发送的存储数据长度)回复之前存储的数据内容。 ○6自设回复----自定义响应报文的内容 选中自设回复后,任何命令都将按自定义的报文进行响应。 控制码:1个字节 数据域:使用者自定义数据域内容,可自由选择是否加0x33或数据域翻转处理,最大255个字节。 后续字节:使用者自定义在645响应帧后添加的内容。 ○6循环回复----按规律循环回复特定报文,使用者可自定义起始字节数和终止字节数,范围为0~255。 注意:自设回复和循环回复使能二选一,不能同时有效。 表类型:新载波表,采集器,开箱监视器,旧载波表 2.事件上报功能 注意:使用者自行定义四个输入框内容 命令框:读事件上报的命令 响应框:上报的事件 取消框:取消事件上报状态的命令 结束框:回复事件上报状态已取消 I/O配置:选择为硬件设置,只需点击“事件使能”就置上事件上报状态;不选择为软件设置,点击“事件使能”后接受到特定报文才置上事件上报状态。 3.快捷键 ALT+S:在1200 / 2400 / 4800 / 9600bps之间快速切换串口波特率。 ALT+A:快速切换是否循环回复。 4.可变速率 选中时此表为可变速率表,支持从1200,2400,4800,9600自动向上变速,变速条件为正确应答使用者规定的次数。 5.命令选择 使用者可自定义哪些命令响应,哪些命令不响应,其中选中的命令会响应。 注意:现在只针对DL/T645-1997的两条读表号命令。 6.提示说明 在软件开启时,在操作记录中将对主要的几个菜单选项进行提示,帮助使用者更好地确定软件应用时的条件。 7.645显示 只处理DL/T645协议报文。 8.延时选择 只在645显示被选择时使能。 (1)响应延迟 收到命令帧后响应延迟,范围为0-5000ms。 (2)字节延迟 字节之间停顿时间, 范围为0-5000ms。 (3)首字节后延迟 首字节响应后停顿时间, 范围为0-500ms。 只在首字节响应后,虚拟表会延迟延时响应后续字节。 如果选择随机,虚拟表将在0至所选时间内随机一个时间后对命令进行各种延迟。 9.鼎信显示 只在侦听测试模式下显示鼎信协议报文,解析报文。 10.鼎信不解析 只在侦听测试模式下显示鼎信协议报文,不解析报文。 11.自定义数据 按测试要求填写一些645数据项内容。 12.组命令帧 弹出命令发送组帧窗口,这是模拟通道芯片下的设备作为主动发起方,命令帧格式必须符合645规约格式。 需要通信的表号会列于列表中,使用者可以直接用txt文档导入表号,或者一个个输入编辑,双击表号改变表号的选择状态,或者使用右键全部选择/全部取消。 控制码:1个字节 数据域内容: (1)645数据标识 97为2个字节,07为4个字节,填写的内容无需加0x33和翻转处理。 (2)645数据帧格式 完整的645帧,需要表号,控制码和数据内容三个部分。 (3)自定义数据格式 数据域内容由使用者自定义
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值