城市轨道交通标准技术委员会 魏晓东
中国电子信息产业集团有限公司第六研究所 赵云飞
5.2 系统集成接口协议
5.2.1 接口协议结构
协议(Protocol)是接口各方对信息交换方式的约定,协议内容通常包括信息格式、信息含义、交互过程,这是接口通信协议的三要素:
信息格式:信息格式规定传输时数据和数据包的格式。信息格式设计时,需考虑的因素包括:(1)界定数据包,即通过什么方式在通信线路的顺序字节流中界定出数据包。可以采用同步码方式,如CDT规约的三组“EB 90”,也可以采用字节时间间隙,如Modbus-RTU的帧间间隔3.5字符时间。指定信息目的地,即指定数据包最终要传输的目标设备/系统。(2)指定信息源,即数据包发送者的身份。可以用发送者的地址、站号、用户等类似信息来标示发送者身份,该信息可用于身份鉴别,或用于信息过滤。(3)保证数据完整性,即设法对传输信息是否完整提供监测方式。传输过程中任何干扰都可能导致数据出错,接口通信必须要作好数据完整性检查,通常可采用在数据包中附加校验码的方式来进行检查。(4)保证传输完整性,指接口双方的会话保持完整,不存在语句错漏。通信过程中可能会有丢包、数据包乱序等异常,需要信息格式中提供一定的支持,如数据包顺序标识等。(5)提高传输效率,即增加数据包中有效字节数在总数据包字节数中的占比,以节约带宽资源。
并非所有协议都要处理以上全部因素,应综合平衡应用需求和处理复杂度。此外,有时还需要增加处理其它更多因素,如实现信息安全的数据加密、实现接口灵活性的设备无关驱动程序、实现直接输出给打印机等人机终端的ASCII传输模式等。
信息含义:信息含义规定了接口双方对信息的理解和处理的要求,包括从应用角度提出的对协议的约束,这些约束会影响会话的用词、消息格式和交互规则的制定,以及面向应用功能的接口。在工业自动化领域,接口信息含义的最常见表现形式是点表。点表是自动控制行业用语,表征自动化控制系统内各种变量的情况,集成系统接口传输的信息多数可用点表来表示。作为接口协议的一部分内容,点表是系统集成商与设备和子系统供应商共同的约定,是工作的重要基础。通常每个变量都会有对应的唯一的变量名、设备名、设备地址、寄存器地址等相关内容。
交互过程:交互过程规定了接口双方信息传输行为的发生条件和动作顺序,如建立连接、请求和应答、主动传输、数据重传、拆除连接等。交互过程承载着多数接口应用的需求,也直接受限于接口局部和系统整体的实现方案,需考虑的因素比较多,是接口协议的难点。
按交互过程,接口协议可分为主动传送型、请求应答型、混合型协议。
本节阐述了接口协议的一些总体性结构,实际应用中还需考虑更多需求特性,如报文和数据完整性、报文顺序、时间异常、灵活性和扩展性等;也要考虑许多实现技术的特性,如生产者消费者协议结构中的生产和消费操作的无序随机性、体现生产和消费操作制约的信号量形式、体现生产/消费操作原子性的互斥锁等。如何将需求和技术的这些特性转换到协议中,需在设计协议时仔细处理。
5.2.2 接口协议示例
本节将简要介绍三种常见的标准接口协议,分别是Modbus、IEC61850(变电站网络与通信协议)和OPC(OLE for process control)。通过这些例子,可进一步理解接口协议的结构和特性。
Modbus:Modbus是由Modicon公司在1979年发明的全球第一个真正用于工业现场的总线协议。ModBus网络只有一个主机,所有通信都由它发出。网络可支持247个之多的远程从属控制器,实际所支持的从机数要由所用通信设备决定。协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC、DCS、智能仪表等都在使用Modbus协议作为他们之间的通讯标准。
为更好地普及和推动Modbus在基于以太网上的分布式应用,该协议所有权已移归IDA(Interface forDistributed Automation,分布式自动化接口)组织,并成立了Modbus-IDA组织,为Modbus发展奠定了更坚实的基础。在中国,Modbus已经转换成国家标准GB/T19582-2008。
(1)信息格式:Modbus协议帧结构见图2所示。
其中:地址域:要访问的从站设备的地址。功能码:用于区分数据类别和操作类别的编码。如01代表读线圈,05代表写单个线圈。数据:数据依不同的功能码有不同格式,通常有寄存器/线圈地址、数量、寄存器值/线圈状态等构成。所谓寄存器、线圈,指Modbus的一些基本数据类型。Modbus以不同类型的数据列表为基础,其中最基本的四个数据类型为离散量输入、线圈、输入寄存器、保持寄存器,如表1所示:
差错校验:对报文内容的冗余校验,根据不同的传输模式(RTU或ASCII)使用CRC和LRC两种不同个计算方法。
(2)信息含义:Modbus协议不规定具体信息含义,具体信息的含义有应用去约定。以某动力变压器设备为例,其接口点表如表2所示(表中仅提供部分信息,其中DI为离散量输入,AI为输入寄存器):
(3)交互过程:Modbus是同步请求应答型协议。作为接口主站的信息接收方发起,轮流与各子站设备进行会话。对采集方向的信息传递,主站发起会话的时机通常是周期的;对控制方向的信息传递,发起会话时机是应用驱动的。会话时,子站依据其操作的成败结果来应答,操作正常时用正常数据应答,操作异常时回复错误应答,如图3和图4所示。
IEC61850:IEC61850标准由国际电工委员会第57技术委员会(IECTC57)制定,是电力系统自动化领域的全球通用标准,对应中国电力行业标准为DL/T860。IEC61850将变电站通信体系分为3层:变电站层、间隔层、过程层。在变电站层和间隔层之间的网络采用抽象通信服务接口映射到制造报文规范(MMS)、传输控制协议/网际协议(TCP/IP)以太网或光纤网。在间隔层和过程层之间的网络采用单点向多点的单向传输以太网。IEC61850的特点是:(1)面向对象建模; (2)抽象通信服务接口;(3)面向实时的服务;(4)配置语言;(5)整个电力系统统一建模。
(1)信息格式:IEC61850标准采用面向对象的建模技术,定义了基于客户机/服务器结构数据模型。每个IED包含一个或多个服务器,每个服务器本身又包含一个或多个逻辑设备。逻辑设备包含逻辑节点,逻辑节点包含数据对象。数据对象则是由数据属性构成的公用数据类的命名实例。
IEC61850采用抽象通信服务接口(ACSI),不存在常规协议中的协议数据单元PDU。通过ACSI,可将对象结构中的服务器、逻辑设备和逻辑节点,分别映射成制造报文规范(MMS)中的虚拟设备、域和命名变量;也可将数据集,映射成命名变量列表。
所有信息均由抽象语法标记语言(ASN.1)完成信息编码。ASN.1定义在ISO8824/8825中,它采用TLV(type,length,value)三元组编码规则,支持布尔型、整型、二进制字符串、八进制字符串、对象标识符、实数、枚举、时间等多种简单数据类型,也支持SEQUENCE等复合数据类型,编码器复用性非常强。
(2)信息含义:在信息含义方面,IEC61850表达能力远远超过普通点表。它提供了两种交换接口信息含义的方式:离线系统配置文件,或在线的对象自描述。
离线系统配置使用基于XML的子站配置描述语言(SCL),其中SCD文件描述了整个变电站的结构和布局、ICD文件提供了智能设备能力的描述,任何集成商都可通过它来快速获得智能系统集成适用的信息。
SCD内容也被用于在线对象自描述,面向对象的数据自描述在数据源就对数据本身进行自我描述,传输到接收方的数据都带有自我说明,不需要再对数据进行工程物理量对应、标度转换等工作。由于数据本身带有说明,所以传输时可以不受预先定义限制,简化了对数据的管理和维护工作。
(3)交互过程:IEC61850对象模型包含监视、控制等方向性信息,也规定了连接、访问信息模型、文件传输、时钟同步等抽象服务(ACSI),这些抽象服务都要通过映射到制造报文规范(MMS)的服务来实现,具体如表3所示。
MMS服务采用原语的形式,由MMS协议机完成服务原语与MMSPDU之间的转换,关联控制服务ACSE可完成MMPDU与表示层之间的转换,编码和传输是在表示层及以下完成的。MMS服务原语有“请求+指示、应答+确认”两种类别,支持召唤和订阅,支持各服务异步并行,具有高传输效率和灵活性。
OPC标准:OPC是1996年秋由OPC基金会建立了一套标准的OLE/COM接口协议。它包括一系列标准规范,如数据访问(Data Access)、报警&事件(Alarms & Events)、批量(Batch)、数据交换(Data eXchange)、历史数据访问(HistoricalData Access)、安全性(Security)、XML数据访问(XML-DA)、复合数据(Complex Data)、指令(Commands)等。OPC采用统一的方式存取不同生产商的设备或子系统,实现“互操作”。它的特点是把软硬件供应商和系统集成供应商分离开来,各自只对数据的格式负责,而不用管复杂的数据链路层。当需要接入基于以太网的智能设备时,用OPC接口可明显降低系统的复杂度、改善系统性能,提高软件重用度。
(1)信息格式:OPC功能中最常用的是数据访问(DA),这里只简要介绍DA中的数据结构。DA中规定了三层接口:服务器(Server)、组(Group)和数据项(Item),依次呈包含关系。服务器对象:服务器对象包含了信息源的所有信息,服务器对象也是组对象的容器,它是OPC的启动服务器,它获得其他对象和服务的起始对象,并返回Group类对象;一个数据源对应于一个OPC服务器,即一种设备驱动程序。OPC扩展了设备的概念。只要符合OPC服务器的规范,OPC客户都可与之进行数据交换,而无需了解数据源究竟是PLC还是仪表。组对象:组对象包含一组信息。OPC的组对象为客户提供了组织数据的一种方法,可对其进行直接读写、还可设置数据更新的速率,或设置为有数值变化时传输。有2种组对象:全局组(public)和局部组(local),全局组由多个客户共有,局部组只能对建立它的客户有效。数据项:数据项的数据结构有3个成员变量:数据值、数据质量和时间戳,一个数据项与一个具体的位号相连,是读写数据的最小逻辑单位,通常指向设备/子系统的一个存储单元。数据项并不提供对外接口,客户不能直接对其进行操作,所有操作都是通过组对象进行的。
(2)信息含义:与Modbus类似,OPC不规定具体的信息含义,由具体应用约定。
(3)交互过程:OPC规范基于DCOM技术,本质上是一种分布对象标准。OPC可视为一个将通信协议设计与接口驱动程序实现紧密结合起来的标准,OPC服务器本身通常就是一个可执行程序,它以设定的速率采集和缓存数据,缓存的内容有最新的数据值、数据质量标识和时间戳,客户可通过访问分布对象来使用这些数据和服务。
OPC客户和OPC服务器进行数据交互有两种方式:同步方式和异步方式。同步方式在客户数目较少、客户同服务器交互的数据量也较少的时候采用;采用异步方式时,由客户程序实现服务器回调函数,服务器中执行远程调用,当有大量客户和大量数据交互时,异步方式的效率更高。
作者简介:
魏晓东,1967年毕业于天津大学精仪系。1984~1991年任安徽工业大学自动化系副教授。1991年出版《分散型控制系统》( 上海科技文献出版社) 。2000~2012年任北京和利时系统工程公司副总工、事业部总设计师,北京地铁13号线、深圳地铁一期工程、广州地铁3号线综合监控系统工程技术总负责人。2006、2010年出版《城市轨道交通自动化系统与技术》初版与第二版(电子工业出版社);2010年主编国家标准《城市轨道交通综合监控系统工程设计规范》(GB50636-2010)《城市轨道交通综合监控系统施工与质量验收规范》(GB/T50732-2011);2010年主编关于两化融合的国家标准《工业企业信息化集成系统规范》(GB/T26335-2010)。2013年至今任清华同方数字城市工程中心技术专家,住建部城市轨道交通标注技术网Eu委员会委员,全国自动化系统与集成标准技术委员会委员。
摘自《自动化博览》2017年8月刊
转载请注明出处
上一篇:中医医疗技术手册:手针技术