T-31SIOT 001.2-2017 工业物联网应用开发组件规范 第2部分 系统间通信协议_第1页
T-31SIOT 001.2-2017 工业物联网应用开发组件规范 第2部分 系统间通信协议_第2页
T-31SIOT 001.2-2017 工业物联网应用开发组件规范 第2部分 系统间通信协议_第3页
T-31SIOT 001.2-2017 工业物联网应用开发组件规范 第2部分 系统间通信协议_第4页
T-31SIOT 001.2-2017 工业物联网应用开发组件规范 第2部分 系统间通信协议_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ICS83.140.99G40登记号T/31334310115F0772017T/31SIOT001.2—2017工业物联网应用开发组件规范第2部分:系统间通信协议Applicationdevelopmentcomponentcriterionofindustrialinternetofthings—Part2:Controlnetworkprotocols2017-08-20发布2017-10-15实施上海市物联网行业协会发布T/31SIOT001.2—2017前言 I Ⅱ 12规范性引用文件 13术语和定义 14缩略语 25协议要求 25.1一般要求 25.2协议结构 25.3服务质量 25.3.1服务质量的一般要求 25.3.2无应答模式 35.3.3一次应答模式 35.3.4两次应答模式 35.4数据质量 35.5消息编码 36功能要求 3附录A(规范性附录)二进制通信协议 5A.1传输协议 5A.2功能描述 8A.3协议取值表 12IT/31SIOT001.2—2017T/31SIOT001《工业物联网应用开发组件规范》拟分成部分出版,目前计划发布以下部分的中文版和英文版:——第1部分:模型和术语;——第2部分:系统间通信协议;——第3部分:设备接入与数据采集;——第4部分:监视与控制;——第5部分:实时数据存储与处理;——第6部分:信息管理与应用。本部分为T/31SIOT001的第2部分。注:英文版的标准号以对应的中文版的标准号本部分按照GB/T1.1—2009给出的规则起草。请注意本部分的某些内容可能涉及专利。本部分的发布机构不承担识别这些专利的责任。本部分由上海市物联网行业协会提出并归口。本部分起草单位:上海宝信软件股份有限公司、上海庆科信息技术有限公司、上海宝康电子控制工程有限公司、上海可鲁系统软件有限公司、上海宏力达信息技术股份有限公司、励元科技(上海)有限公司、上海市物联网行业协会、上海力信测量技术有限公司、上海市标准化协会、上海金自天正信息技术有限公司、公安部第三研究所、上海理想信息产业(集团)有限公司、中国科学院上海微系统与信息技术研究所。本部分主要起草人:黄明、董文生、林苑、唐捷、周建平、刘涛、钟淮、王艺钧、张晓日、刘丽、王樱、王会芝、叶晓华、孙亮、严祖丹、刘林、朱彤、李磊、郑春雷、欧阳树生、黄松鑫。T/31SIOT001.2—2017Ⅱ工业物联网是工业信息化发展中的一个新兴领域,也是未来智能制造的重要支撑技术,工业物联网应用开发组件是物联网技术与行业应用之间的桥梁和纽带,研究并制定《工业物联网应用开发组件规范》的目的是指导工业物联网行业的多个产业多方协作,推动工业物联网市场的良性发展。《工业物联网应用开发组件规范第2部分:系统间通信协议》所规范或规定的工业物联网系统间通信协议,能为工业物联网系统间实现高效、畅通、安全的通信提供具有指导价值的参考模型,以及应该遵循的原则性方法或要求。T/31SIOT001.2—20171工业物联网应用开发组件规范第2部分:系统间通信协议T/31SIOT001的本部分规定了工业物联网应用中系统间通信协议所涉及的术语,规定了系统间通信协议的功能要求,包括通信协议格式、数据编码格式、通信网络控制。本部分适用于工业设备的网络平台和设备的开发者,为其提供基础和依据,保证产品面向应用开发时的一致性。2规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。T/31SIOT001.1工业物联网应用开发组件规范第1部分:模型和术语3术语和定义T/31SIOT001.1界定的以及下列术语和定义适用于本文件。为了便于使用,以下重复列出了T/31SIOT001.1中的一些术语和定义。3.1变长类型varinttype采用变长编码对无符号型整数的一种编码方式。3.2大端序bigendian整数传输时采用最高有效位存储在最低的内存地址处,最低的有效位存储在最高的内存地址处的字节序。3.3ID表示对象次序的整数序号,对同一对象而言具有唯一性。3.4POINT数据信息承载最基本单元,用于表示上位机中从传感器和其他待测设备等模拟和数字被测单元中获得的非电量或者电量信号。3.5服务质量qualityofservice;QoS赋予数据流某个级别的传输优先级,来标识它的相对重要性,使用网络设备自身提供的各种机制为数据流提供特殊的传输服务。T/31SIOT001.2—201723.6POINT所有记录中最近采集的一条记录。3.7数据质量qualityofdata设备数据读取质量的表示,指明其可信程度。3.8消息message传输协议中信息的载体,用于数据或者指令的表示。3.9注册器register组件的代理,用于POINT和组件的组织和查询逻辑。3.10具有点数据采集或数据存储功能的物理设备和逻辑功能模块。4缩略语下列缩略语适用于本文件。URI:统一资源标识符(UniformResourceIdentifier)5协议要求5.1一般要求工业物联网中存在大量不同类型的设备,在通信能力、计算性能等方面存在差异,系统间通信协议应适用于不同层次的设备接入到工业物联网,一般应满足如下要求:——协议结构简单;——支持网络通信服务质量;——支持数据质量;——高压缩比的消息编码。系统间的二进制通信协议的协议要求见A.1。5.2协议结构协议结构应简单明确,以适用于传感器等计算能力较弱的设备。5.3服务质量5.3.1服务质量的一般要求服务质量(QoS)通过协议本身设置的一组数据收发规则,为传输提供一种安全机制,解决网络延迟和阻塞等问题。数据传输和控制中应依据不同的应用场景提供不同的服务质量。在正常情况下,如果网络只用于特定的无时间限制的应用系统,并不需要QoS。但是QoS对数据传输和控制等关键应用是十分必要的。当网络过载或拥塞时,QoS能确保重要业务量不受延迟或丢弃,同时保证网络的高效运行。T/31SIOT001.2—20173依据工业物联网网络通信,可把服务质量按取值不同分为无应答、一次应答、两次应答三种模式。无应答模式下发送方只发送一次,不保证数据一定被接收方处理。无应答模式特别适合发送方受硬件条件限制、没有足够的数据存储空间且无法缓存发送数据的场合。该模式也适合当网络延时特别严重、发送数据量非常大、发送方无法忍受长时间应答等待的场合。一次应答模式下发送方如果没有收到反馈,继续发送。在正常流程下,客户端发送一个消息给服务端,服务端收到消息后进行处理,然后将处理结果反馈给客户端。当客户端没有将消息成功发送给服务端,或者服务端没有将处理结果反馈给客户端,客户端都不会收到反馈消息。如果出现这种情况,客户端会一直向服务端发送数据,直至收到服务端反馈为止。两次应答模式下保证接收方有且仅有一次执行消息。在正常流程下,第一次应答时客户端发送请求给服务端,服务端收到请求后执行指令,保存消息的ID并将执行结果发回给客户端。第二次应答时客户端将消息ID再传送给服务端,服务端删除保存的消息ID,并回传给客户端。在第一次应答时,如果客户端没有收到服务端的第一次回复,会反复进行传送。而服务端第一次收到消息时会执行,但是如果多次收到同一条消息,服务端会去比对存储的消息ID,如果发现重复,就拒绝再次执行,同时将前一次的执行结果反馈给客户端。5.4数据质量工业应用中数据质量代表了数据获取时的状态,即与设备真实值的关系,不同的数据质量对于分析设备状态和数据应用具有重要的指示作用,应提供不同情境下采集和处理的数据的可信程度。数据质量的实现模型见A.1.2.6。5.5消息编码由于工业物联网特殊的网络环境和设备特点,传输协议的数据包应该控制在适当的大小范围内。大多数情况下,网络上传输的整型数的数值并不大,如果采用定长编码,就必须要预留空间以保证大数值的数可以进行传输,这样会浪费宝贵的网络流量。为在带宽较少或网络环境较差的环境中提高通信效率,有效降低网络流量,宜参考变长编码的方法,对根据需要传输的整型数的数值范围进行编码,小数使用短的字节进行编码,而大数使用长的字节进行编码。每个byte的最高bit位表示后面的一个byte是否是这个整数的一部分,如果标识位bit7为0,表示后面紧邻的字节与这个整数表达无关,如果bit7为1,表示后面的字节为这个整数的一部分。当整数小于128时,就可以用一个字节进行表示。如图1所示。bit76543210标识位有效数字图1变长编码格式6功能要求依据工业物联网应用特点,系统间通信协议宜具备以下功能:T/31SIOT001.2—20174——时间区间数据查询功能;——快照数据查询功能;——数据订阅与发布功能;——数据上传与存储功能;——组件注册功能;——点注册功能;——组件查询功能;——点查询功能;——点与组件关联关系查询功能。系统间的二进制通信协议的功能描述见A.2。5T/31SIOT001.2—2017(规范性附录)二进制通信协议A.1传输协议A.1.1消息结构传输协议是建立在TCP/IP上的应用层传输与控制协议。协议的消息结构如图A.1所示,包含三个部分:消息头、消息体长度和消息体。bytevarintvarint消息头消息体长度消息体图A.1消息结构A.1.2消息A.1.2.1消息头结构消息头由1个字节构成,具体含义通过不同bit位的组合表示,其结构如图A.2所示。76543210图A.2消息头结构A.1.2.2消息类型A.1.2.2.1组件到组件的通信协议组件到组件的通信协议包括:a)GET获取协议,包括:1)查询指定时间区间的数据;2)查询快照记录数据。b)TRAP订阅协议,包括:1)注册TRAP事件;2)通知TRAP事件。c)PUT发送数据协议。向组件发送POINT的数据。A.1.2.2.2组件与注册器之间的协议组件与注册器之间的协议包括:a)REG注册协议,包括:1)注册组件;6T/31SIOT001.2—20172)注册POINT;3)注册组件关联的POINT。b)FIND查询协议,包括:1)查询组件代号;2)查询POINT代号;3)查询与组件关联的POINT;4)查询组件属性。A.1.2.3重复标记当发送方发送消息时,用于标识该消息是否是第一次发送。如果值为0,表示此消息为首次发送;如果值为1,则表示此消息之前已经发送过。重复标识只在服务质量值为1或2时才有作用。就接收方而言,重复标识为1时不能用于判断该消息曾经已经接收过,但如果该值为0则可以断言该消息为首次收到。A.1.2.4服务质量服务质量的取值及含义如表A.1所示。表A.1服务质量的取值000101210311A.1.2.5保留字段协议中某些byte或bit字段因暂时不用,留作为保留字段。协议中所有保留字段均设为0,仅用于做消息合法性检验。A.1.2.6数据质量数据质量代表了数据获取时的状态,也就是与设备真实值的关系,本部分中数据质量取值遵从OPCFoundation的标准,只采用OPCFoundation中的低8位,共一个字节。其格式如图A.3所示。76543210QQSSSSLL图A.3数据质量的数据格式其中,QQ代表主质量,SSSS代表子状态,LL代表受限状态,不依赖于主质量和子状态。主质量取值及含义如表A.2所示。7T/31SIOT001.2—2017表A.2主质量取值及含义值012当主质量为Good时,子状态取值及含义如表A.3所示。表A.3子状态取值及含义(Good)值含义0Non-specific6LocalOverride当主质量为Uncertain时,子状态取值及含义如表A.4所示。表A.4子状态取值及含义(Uncertain)值01456当主质量为Bad时,子状态取值及含义如表A.5所示。表A.5子状态取值及含义(Bad)值01234567受限状态取值及含义如表A.6所示。8T/31SIOT001.2—2017表A.6受限状态取值及含义值含义0NotLimited1LowLimited2HighLimited3ConstantA.2功能描述A.2.1组件到组件的通讯协议A.2.1.1GET获取协议A.2.1.1.1查询时间区间的数据查询POINT指定时间区间的数据的消息格式如图A.4和图A.5所示。POINT代号逻辑关系图A.4区间数据查询消息格式:发送空游标表示首次查询;否则,表示再一次查询,此时游标非空,无需后面几列查询条件。POINT类型值图A.5区间数据查询消息格式:应答返回结果的游标如果为空,表示查询完毕,否则利用返回的游标进行剩余数据的查询。A.2.1.1.2查询快照记录数据查询POINT快照记录数据的消息格式如图A.6和图A.7所示。类型varintvarint重复命令类型POINT个数POINT代号图A.6快照记录消息格式:发送类型varintvarint重复命令类型总返回码POINT代号返回码时间戳数据质量POINT类型值图A.7快照记录消息格式:应答如果查询成功,总返回码为0表示后面会有数据,每一个记录的查询情况由分项返回码表示;否则,T/31SIOT001.2—20179后面没有数据。A.2.1.2TRAP订阅协议A.2.1.2.1注册TRAP事件向组件注册TRAP事件的消息格式如图A.8和图A.9所示。逻辑关系与POINT类图A.8注册TRAP事件消息格式:发送生命周期:该TRAP事件在发送组件的存在时间,单位是秒,超时后发送组件会删除该TRAP事件。图A.9注册TRAP事件消息格式:应答A.2.1.2.2通知TRAP事件向组件通知TRAP事件的消息格式如图A.10所示。POINT代号POINT类型值图A.10通知TRAP事件消息格式A.2.1.3PUT发送数据协议向组件发送POINT的数据的消息格式如图A.11和图A.12所示。类型varintvarint重复命令类型记录个数POINT代号时间戳数据质量POINT类型值图A.11发送POINT数据消息格式:发送POINT代号图A.12发送POINT数据消息格式:应答A.2.2组件与注册器之间的协议A.2.2.1REG注册协议A.2.2.1.1注册组件注册组件的消息格式如图A.13和图A.14所示。T/31SIOT001.2—2017Bytesvarintvarint重复命令类型组件属性个数属性名值类型属性值图A.13注册组件消息格式:发送属性名和属性值必须成对出现,参见组件属性;值类型指定了属性值的数据类型。图A.14注册组件消息格式:应答A.2.2.1.2注册POINT注册POINT的消息格式如图A.15和图A.16所示。属性名图A.15注册POINT消息格式:发送属性名和属性值必须成对出现,参见POINT属性。Bytesvarintvarint命令类型返回码图A.16注册POINT消息格式:应答A.2.2.1.3注册组件关联的POINT注册组件关联的POINT的消息格式如图A.17和图A.18所示。POINT代号图A.17注册组件关联POINT消息格式:发送Bytesvarintvarint命令类型返回码图A.18注册组件关联POINT消息格式:应答A.2.2.2FIND查询协议A.2.2.2.1查询组件代号查询组件代号的消息格式如图A.19和图A.20所示。T/31SIOT001.2—2017类型varintuint8varint重复命令类型游标查询条件个数组件属性逻辑关系值类型属性值游标非空时,此几列为空图A.19查询组件代号消息格式:发送第一次查询时传入具体的查询条件,后续查询时直接使用上一次返回的游标作为查询条件。重复的varint图A.20查询组件代号消息格式:应答游标为空时,表示此次查询已经返回了所有数据;否则,表示后续还有数据,需要再次提交查询请求,并将该游标返回。A.2.2.2.2查询POINT代号查询POINT代号的消息格式如图A.21和图A.22所示。POINT属性逻辑关系图A.21查询POINT代号消息格式:发送第一次查询时传入具体的查询条件,后续查询时直接使用上一次返回的游标作为查询条件。重复的varintPOINT代号图A.22查询POINT代号消息格式:应答游标为空时,表示此次查询已经返回了所有数据;否则,表示后续还有数据,需要再次提交查询请求,并将该游标返回。A.2.2.2.3查询与组件关联的POINT查询与组件关联的POINT信息的消息格式如图A.23和图A.24所示。类型varintuint8varintuint8命令类型游标组件代号组件关联关系游标非空时,此几列为空图A.23查询与组件关联POINT消息格式:发送第一次查询时传入具体的查询条件,后续查询时直接使用上一次返回的游标作为查询条件。T/31SIOT001.2—2017POINT代号图A.24查询与组件关联POINT消息格式:应答游标为空时,表示此次查询已经返回了所有数据;否则,表示后续还有数据,需要再次提交查询请求,并将该游标返回。A.2.2.2.4查询组件属性由组件代号查询组件属性消息格式分别如图A.25和图A.26所示。图A.25查询组件属性消息格式:发送图A.26查询组件属性消息格式:应答A.3协议取值表协议功能描述中出现的命令类型、POINT属性、组件属性等取值信息,如表A.7所示。表A.7协议取值表类别是否有逻辑或缩写值含义命令类型无CMD_GET_RECORD1获取历史记录CMD_GET_SNAPSHOT2获取快照记录CMD_TRAP_RECORD3订阅POINT记录CMD_NOTIFY_RECORD4通知POINT记录CMD_PUT_PT_DATA5写POINT记录CMD_REG_COMP6注册组件CMD_REG_POINT7注册POINTCMD_REG_COMP_PT8注册组件关联的POINTCMD_FIND_COMP_NO9查找组件CMD_FIND_PT_NO查找POINTCMD_FIND_COMP_REL_POINT查找组件关联的POINTPOINT属性PT_PROP_TYPE1POINT类型PT_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论