远程智控系统的通信方法与流程

文档序号:11878956阅读:365来源:国知局
远程智控系统的通信方法与流程
本发明涉及一种通信规约,尤其是一种远程智控系统中通信网关或终端设备与数据平台的通信方法。
背景技术
:本文涉及物联网领域的技术应用,在现行的工业领域,将工业现场的数据通过通信网关,识别现场终端设备通信协议,并将采集获取的数据,通过自定义的通信协议,发送到指定的服务端,由服务端对数据加工,处理,并应用。现有通信网关大多应用于工业现场,通过组态软件进行现场情况的监控,对于跨地域远程设备的监控未做针对性的考虑。技术实现要素:本发明的目的在于提出一种远程智控系统的通信方法,针对公网数据采集与通信,对通信网关或者终端设备与数据平台的通信,定义了通信的标准,确保通信安全,优化通信性能;可对上位系统屏蔽下位通信的复杂度,提高通信效率,增强通信安全,减少对现场通信条件的依赖。本发明采用的技术方案是:一种远程智控系统的通信方法,作为数据平台与设备之间的通信协议,包括以下功能:数据交互、信息交互、安全验证、设备管理;数据交互:数据平台以轮询或以监听的方式对设备进行数据读写;信息交互:数据平台对设备进行信息读写;安全验证:在通信中对设备的身份、报文的合法性进行验证,以保证正常的数据通信;设备管理:对设备进行注册登记、远程检测、设备控制的管理。进一步地,设备与数据平台之间的通信采用逻辑连接的通信方式;所谓逻辑连接是指通信双方能完成一定功能的报文交互过程;根据逻辑连接的发起方不同分为两种情况;当设备是发起者时,其需先向数据平台申请建立逻辑连接,其中会经过身份验证操作;当数据平台是发起者时,默认其到设备的逻辑连接是存在的,其无需向设备申请,直接发起通信。更进一步地,根据逻辑连接上的通信过程时间长短,逻辑连接分为长连接和短连接;在逻辑连接存在的时间里,出现多个报文交互过程的逻辑连接为长连接;在报文交互过程中,若时间间隔超过设定维持连接的时间阈值,采用心跳报文交互来维持这个连接;在逻辑连接的存在时间里,只出一次报文交互过程的逻辑连接是短连接。进一步地,所述通信方法中设有重发机制;发送方在发出报文后,在规定时间内未收到回应的报文,则启动重发过程;在报文结构上,重发的报文跟普通的报文有所区别;重发的报文中有重发标识和重发计数器;同时其报文序列号保持不变,即同所丢报文的序号;接收方收到这个重发的报文后,若发现重发的报文序列号之前没收到过,则执行此报文;若发现重发的报文序列号之前收到过,则简单回送应答报文FM_ACK;若经过预设次数的重发后,仍未能收到回应的报文;则判定为通信故障,此时发送方会将与对方的通信链路标识为通信故障。进一步地,设备的数据编址方式采用层级的组织形式;相关的数据首先被组织成一个数据块;相关的数据块再组织成一个数据包;每个数据都具有相应的类型,数据块把每种类型的数据组织到一个数组中,并建立数据在数组中的索引;设备中的每个数据都具有一个唯一的地址,表示为:DataAddr[PkgID,BlkID,Type,Index];其中,DataAddr为数据地址,PkgID为数据包的ID号,BlkID为数据块ID号,Type为数据的类型,Index为数据在数据块数组中的索引。进一步地,设备与数据平台之间通过报文交互,报文是由报文头和报文体构成;其中,报文头是必选的;报文体是可选的;报文头中的字段包括:报文总长度、设备ID号、协议版本号、报文类型的ID号、报文序列号、报文的控制信息;报文的控制信息字段包括:重发标志、重发计数器、报文是否加密标志;当报文是否加密标志为真,则报文头的字段还包括:通信密钥KEY。进一步地,数据平台与设备的通信过程包括:3.1)设备注册:设备向数据平台发送注册申请报文FMU_REGISTER_APPLY,数据平台收到后,会向设备会送应答报文FM_ACK,以及测试密钥报文FMD_REGISTER_KEY,FMD_REGISTER_KEY携带有测试密钥KeyIn;设备收到后先回复一个应答报文FM_ACK,然后会用约定的加密算法计算KeyIn得到验证密钥KeyOout,并通过测试密钥的回应报文FMU_REGISTER_KEY向数据平台上报KeyOut值;数据平台回复一个应答报文FM_ACk,会用约定的加密算法验证KeyOut值,若验证通过,则会向设备回送注册申请的回应报文FMD_REGISTER_APPLY,其中会带有通信密钥Key,以及验证结果Result;设备收到注册申请的回应报文FMD_REGISTER_APPLY则回复应答报文FM_ACK;之后的所有交互报文都以这个Key值为密钥进行通信;3.2)设备登录:设备向数据平台发送登录申请报文FMU_LOGIN_APPLY,FMU_LOGIN_APPLY使用KEY加密过,其携带有通信密钥Key;数据平台对登录申请报文FMU_LOGIN_APPLY验证通过后,会向设备回送登录申请的回应报文FMD_LOGIN_APPLY,其中会带有申请登录结果Result;登录成功后,设备在数据平台中会处于在线状态,要维持这种状态,必须在设定维持连接的时间阈值内与数据平台保持报文交互;3.3)设备退出:设备在线过程中,可选择长时间静默的方式转入离线状态,即设备超过设定维持连接的时间阈值未与数据平台发生报文交互,设备会转入离线状态;或者通过设备退出的通信过程,来主动转入离线状态;设备退出的过程:设备向数据平台发送退出申请报文FMU_LOGOUT_APPLY,退出申请报文FMU_LOGOUT_APPLY使用KEY加密过,其携带有通信密钥Key;数据平台对退出申请报文FMU_LOGOUT_APPLY验证通过后,会向设备回送退出申请的回应报文FMD_LOGOUT_APPLY,其中会带有退出申请的结果Result;3.4)设备信息上报:设备在运行过程中,设备信息上报的通信过程如下:首先,设备完成设备登录过程,这样才能建立设备到数据平台的逻辑连接;然后设备通过发送上报信息报文FMU_REPORT_INFO,FMU_REPORT_INFO报文中带有信息ID号Info_ID和信息内容Info;数据平台收到后会回应应答报文FM_ACK;通过一个或多个上报信息报文FMU_REPORT_INFO来完成设备信息上报;当所有信息上报完后,设备通过设备退出过程来退出;3.5)设备信息查询:数据平台直接向设备发送查询信息报文FMD_QUERY_INFO,其中带有要查询的信息ID号Info_ID;随后,设备回送查询信息的回应报文FMU_QUERY_INFO,其中带有数据平台要查询的信息ID号Info_ID和信息内容Info;3.6)设备信息修改:数据平台直接向设备发送修改设备信息的报文FMD_MODIFY_INFO,其中带有要修改的信息ID号Info_ID和信息内容Info;随后,设备回送修改设备信息的回应报文FMU_MODIFY_INFO,其中带有信息修改结果Result;3.7)数据上报:设备先通过设备登录通信过程登录数据平台,然后向数据平台发送上报数据报文FMU_REPORT_DATA以向数据平台上报数据,其中带有数据的地址[数据包ID:PkgID,数据块ID:BlkID,数据类型:Type,数据在数据块数组中的索引:Index]、数据数量Amount和数据内容Data;数据平台以应答报文FM_ACK做为回应;最后,通过设备退出过程退出登录;3.8)数据查询:数据平台通过数据查询通信过程读取设备中的数据;数据平台直接向设备发送查询数据报文FMD_QUERY_DATA,其中带有要读取的数据的地址[数据包ID:PkgID,数据块ID:BlkID,数据类型:Type,数据在数据块数组中的索引:Index]以及要读取的数据数量Amount;设备通过回送查询数据的回应报文FMU_QUERY_DATA,以将相应的数据送达数据平台;3.9)数据修改:数据平台向设备发送修改设备的数据报文FMD_MODIFY_DATA,其中带有数据地址[数据包ID:PkgID,数据块ID:BlkID,数据类型:Type,数据在数据块数组中的索引:Index]、数据数量Amount和数据内容Data;设备收到后,会将相应的数据更新Data的值;同时回送修改设备的数据的回应报文FMU_MODIFY_DATA,其中带有数据地址[数据包ID:PkgID,数据块ID:BlkID,数据类型:Type,数据在数据块数组中的索引:Index]、数据数量Amount和更新后的数据内容Data,以指示操作结果Result;3.10)设备控制:数据平台可通过设备控制过程向设备下发控制命令,以控制设备进行重启、复位、修改配置操作;数据平台直接向设备发送设备控制报文FMD_CTL_CMD,其中带有控制命令ID号Cmd_ID,以及控制命令的相关参数Para;设备收到后回送应答报文FM_ACK,以示接收正确;在设备执行完该控制命令后,通过设备信息上报过程向数据平台上报命令执行结果。更进一步地,信息ID号Info_ID的值为0,则对应的信息内容Info为设备名称INFO_DEV_NAME;信息ID号Info_ID的值为1,则对应的信息内容Info为设备的备注信息INFO_DEV_NOTE;信息ID号Info_ID的值为2,则对应的信息内容Info为设备的序列号INFO_DEV_SN;信息ID号Info_ID的值为3,则对应的信息内容Info为设备的运行状态INFO_DEV_STATUS;信息ID号Info_ID的值为4,则对应的信息内容Info为报警信息INFO_ALARM。更进一步地,设备的运行状态INFO_DEV_STATUS包含以下字段:设备是否在正常运行的标志、上行的通信错误次数、下行的通信错误次数。本发明的优点在于:1)通信网关与上位系统(数据平台)实现全双工通信;2)采集通道与交互通道实现跨协议通信;3)使用注册登记的方式增加通道通信安全性;4)使用加密技术,对通信数据进行加密,增加数据的安全性;5)兼容互联网、移动通信网,减少现场网络环境的依赖;6)优化数据结构,提高数据的传输效率.附图说明图1为本发明的远程智控系统组成示意图。图2为本发明的设备数据编址示意图。图3为本发明的设备注册序列图。图4为本发明的设备登录序列图。图5为本发明的设备退出序列图。图6为本发明的设备信息上报序列图。图7为本发明的设备信息查询序列图。图8为本发明的设备信息修改序列图。图9为本发明的数据上报序列图。图10为本发明的数据查询序列图。图11为本发明的数据修改序列图。图12为本发明的设备控制序列图。具体实施方式下面结合具体附图和实施例对本发明作进一步说明。一种远程智控系统,如图1所示,包括数据平台(即上位系统)、通信网关和终端设备;通信网关与终端设备通过现场总线(比如典型的CAN总线)或RS485等接口连接;终端设备采集工业现场的数据,然后终端设备采集的数据汇聚到通信网关;通信网关与数据平台之间可通过以太网、互联网等通信,通信网关将采集到的数据及时上报给数据平台,从而完成整个数据采集的业务过程;有些终端设备也具有联网能力,也可以像通信网关一样直接与数据平台连接;本发明提出的远程智控系统的通信方法,在于定义通信网关或终端设备与数据平台之间的通信规约;有些终端设备通过现场总线连接通信网关,这一段的连接(采集通道)采用的是现场总线相关的协议,而通信网关和数据平台间交互通道的通信则采用本发明提出的通信方法,实现跨协议通信;有些终端设备通过以太网、互联网、GPRS/TD-LTE等移动通信网直接连接数据平台,也可以采用本发明提出的通信方法进行通信;因此,在本发明中,将通信网关和终端设备统称为设备;数据指的是终端设备采集的工业现场数据,信息指的是通信网关或终端设备自身的设备信息;远程智控系统的通信方法,作为数据平台与设备之间的通信协议,包括以下功能:数据交互、信息交互、安全验证、设备管理;数据交互:数据平台以轮询或以监听的方式对设备进行数据读写;信息交互:数据平台对设备进行信息读写;安全验证:在通信中对设备的身份、报文的合法性进行验证,以保证正常的数据通信;设备管理:对设备进行注册登记、远程检测、设备控制的管理。(一)协议基本概念定义:设备与数据平台之间的通信采用逻辑连接的通信方式;所谓逻辑连接是指通信双方能完成一定功能的报文交互过程;根据逻辑连接的发起方不同分为两种情况;当设备是发起者时,其需先向数据平台申请建立逻辑连接,其中会经过身份验证操作;当数据平台是发起者时,默认其到设备的逻辑连接是存在的,其无需向设备申请,直接发起通信即可。1.1)长连接和短连接;在逻辑连接存在的时间里,根据逻辑连接上的通信过程时间长短,可将逻辑连接分为长连接和短连接;在逻辑连接存在的时间里,出现多个报文交互过程的逻辑连接为长连接;在报文交互过程中,若存在较大的时间间隔,即时间间隔超过设定维持连接的时间阈值(一般设为一分钟),需用心跳报文(FMU_HEARTBEAT)交互来维持这个连接;否则会造成连接的中断;在逻辑连接的存在时间里,只出一次报文交互过程的逻辑连接是短连接;所以,长连接适用于报文密集交互的情况,比如传输大量数据,完成一个由多个交互报文组成的通信功能等。而短连接适用于随机的交互情况,比如报警,周期数据的上报等。1.2)同步交互与异步交互;在通信过程中,接收方对某些报文的处理和执行需要的时间较长,从而无法在应答报文中指明执行结果。因此,报文接收方除在收到报文后及时回送应答报文以指示接收正确外,在对报文解析执行后,还需要再回送相关报文,以向对方指示报文的执行结果。根据接收方收到报文后能否在回应报文中指标执行结果,可以将报文分为“同步报文”和“异步报文”。若一次报文交互即可完成该报文的通信功能,则该次报文即为“同步报文”;反之,则称为“异步报文”。1.3)重发机制;在通信过程中不可避免会发生丢包或超时的情况。若在协议实现中采用TCP协议,则TCP协议本身会处理这个问题,但同时协议的实现也失去了对这个问题的定制化的控制能力。因此,为提高通信的可靠性,同时也保证协议的实现能采用UDP来灵活控制重发功能,在协议设定重发机制是很有必要的。丢包可能发生在对方接到报文之前,也可能发生在对方发出回应的报文之后。不管是哪种情况,丢包的现象都是:发送方在发出报文后,在规定时间内(比如三秒或者五秒内)未收到回应的报文(可能是后文中的应答报文FM_ACK或类似于FMD_LOGIN_APPLY此种回应报文)。根据这个现象,可判断发生丢包,并及时启动重发过程。在报文结构上,重发的报文跟普通的报文有所区别;重发的报文中有重发标识和重发计数器;同时其报文序列号保持不变,即同所丢报文的序号;接收方收到这个重发的报文后,若发现重发的报文序列号之前没收到过,则执行此报文;若发现此为重发报文,即重发的报文序列号之前收到过,则简单回送应答报文FM_ACK即可。若经过预设次数(比如三次)的重发后,仍未能收到回应的报文;则可判定为通信故障,此时发送方会将与对方的通信链路标识为通信故障;之后,在这个通信链路一直保持静默,直到外界进行干预处理。1.4)设备数据编址;设备数据编址是指设备中的数据地址的组织形式,这决定了数据平台如何定位设备中的某个数据。本协议对设备的数据编址方式采用层级的组织形式;相关的数据首先被组织成一个数据块;相关的数据块再组织成一个数据包;每个数据都具有相应的类型,数据块把每种类型的数据组织到一个数组中,并建立数据在数组中的索引;这样,数据块只要知道这个数据的类型以及其在数据块数组中的索引,即可在定位这个数据。如图2所示,这是某个“设备”的数据编址示意图。这个“设备”总共有两个“数据包”,分别是DataPkg1和DataPkg2。在每个数据包中,都有两个“数据块”DataBlk1和DataBlk2。在每个数据块中都存在三种数据类型TA(TypeA)、TB(TypeB)、TC(TypeC)。每种类型的数据被分布到相应的数组中,比如TA类型的数组[TAD0,TAD1,TAD2,…,TADn]。这样,设备中的每个数据都具有一个唯一的地址,其可表示为:DataAddr[PkgID,BlkID,Type,Index]。其中,DataAddr为数据地址,PkgID为数据包的ID号,BlkID为数据块ID号,Type为数据的类型,Index为数据在数据块数组中的索引。例如DataPkg1中的DataBlk2中的TBD1数据的地址可表示为:DataPkg1_DataBlk2_TBD1_Addr=[DataPkg1,DataBlk2,TB,1]。(二)报文结构;报文是由“报文头”和“报文体”构成。其中,“报文头”是必选的,其中包含了报文的基本信息。“报文体”是可选的,其承载了相关的数据信息。对不同的报文,这两个部分的长度都可以不相同。报文中的数据类型参见下表:报文头是每个报文的公共部分,其作用是提供报文的公共信息,比如报文总长度、网关ID号、协议版本号、报文类型等;报文头的定义如下表所示:报文头中的字段包括:报文总长度、设备ID号、协议版本号、报文类型的ID号、报文序列号、报文的控制信息;还可能包括通信密钥KEY;报文的控制信息FM_CTL的定义如下表所示:报文类型的ID号即下表中的ID(比如0x1000),指明了报文的类型;下表中的方向中,“U”代表上行(UP),“D”代表下行(Down)。上行是指设备向数据平台方向,下行是指数据平台向设备方向。各报文体的定义在下文介绍数据平台与设备之间通信过程,即报文交互时,进行介绍。(三)数据平台与设备的通信过程:3.1)设备注册:每个设备都具有唯一的设备ID号,这个设备ID号是在出厂时固化到设备中的,使用过程中无法改变。每个设备必须在数据平台上注册后,才能正常投入使用。所以,在设备每次启动后,都需进行设备注册。设备注册的过程如图3所示:设备向数据平台发送注册申请报文FMU_REGISTER_APPLY,数据平台收到后,会向设备会送应答报文FM_ACK,以及测试密钥报文FMD_REGISTER_KEY,FMD_REGISTER_KEY携带有测试密钥KeyIn;设备收到后先回复一个应答报文FM_ACK,然后会用约定的加密算法计算KeyIn得到验证密钥KeyOout,并通过测试密钥的回应报文FMU_REGISTER_KEY向数据平台上报KeyOut值;数据平台回复一个应答报文FM_ACk,会用约定的加密算法验证KeyOut值,若验证通过,则会向设备回送注册申请的回应报文FMD_REGISTER_APPLY,其中会带有通信密钥Key,以及验证结果Result;设备收到注册申请的回应报文FMD_REGISTER_APPLY则回复应答报文FM_ACK;之后的所有交互报文都以这个Key值为密钥进行通信;测试密钥报文FMD_REGISTER_KEY的报文体定义如下:字段名称数据类型说明KeyInU32测试密钥测试密钥的回应报文FMU_REGISTER_KEY的报文体定义如下:字段名称数据类型说明KeyOutU32验证密钥注册申请的回应报文FMD_REGISTER_APPLY的报文体定义如下:字段名称数据类型说明KeyU32通信密钥ResultBOOL成功标志3.2)设备登录:设备登录的过程如图4所示,设备向数据平台发送登录申请报文FMU_LOGIN_APPLY,FMU_LOGIN_APPLY使用KEY加密过,其携带有通信密钥Key;数据平台对登录申请报文FMU_LOGIN_APPLY验证通过后,会向设备回送登录申请的回应报文FMD_LOGIN_APPLY,其中会带有申请登录结果Result;登录申请报文FMU_LOGIN_APPLY的报文体定义如下:字段名称数据类型说明KeyU32通信密钥登录申请的回应报文FMD_LOGIN_APPLY的报文体定义如下:字段名称数据类型说明ResultBOOL成功标志设备在登录前,除“设备注册”外不能与数据平台进行其它报文交互;登录成功后,设备在数据平台中会处于在线状态,要维持这种状态,必须在规定的时间内(即设定维持连接的时间阈值内)与数据平台保持报文交互;若超时,则会转入离线状态,也可主动向数据平台发送退出申请报文,以转入离线状态;3.3)设备退出:设备在线过程中,可选择长时间静默的方式转入离线状态,即设备超过设定维持连接的时间阈值未与数据平台发生报文交互,设备会转入离线状态;也可以通过设备退出的通信过程,来主动转入离线状态。这样,设备到数据平台的逻辑连接就会断开,这样一方面会释放资源,另一方面也可规避第三方的报文攻击风险。设备退出的过程如图5所示,设备向数据平台发送退出申请报文FMU_LOGOUT_APPLY,退出申请报文FMU_LOGOUT_APPLY使用KEY加密过,其携带有通信密钥Key;数据平台对退出申请报文FMU_LOGOUT_APPLY验证通过后,会向设备回送退出申请的回应报文FMD_LOGOUT_APPLY,其中会带有退出申请的结果Result;退出申请报文FMU_LOGOUT_APPLY的报文体定义如下:字段名称数据类型说明KeyU32通信密钥退出申请的回应报文FMD_LOGOUT_APPLY的报文体定义如下:字段名称数据类型说明ResultBOOL成功标志在3.1)的最后,已经声明过,设备注册成功后,后续的报文交互,都是使用Key加密进行的,因此后文中的描述文字,即使没有提及报文加密和报文接收后的验证,但仍然应该认为后文的报文交互都是以Key值为密钥进行通信;3.4)设备信息上报:设备在运行过程中,对于配置信息、报警信息、统计信息等,有时需要及时上报数据平台。例如,可能是人工在设备上修改了配置信息,也可能是产生了某个报警等,这些都需要及时上报。设备信息上报的通信过程如图6所示,首先,设备完成设备登录过程,这样才能建立设备到数据平台的逻辑连接;然后设备通过发送上报信息报文FMU_REPORT_INFO,FMU_REPORT_INFO报文中带有信息ID号Info_ID和信息内容Info;数据平台收到后会回应应答报文FM_ACK;如果设备上报的信量较大,可通过多个上报信息报文FMU_REPORT_INFO来完成设备信息上报;当所有信息上报完后,设备可通过设备退出过程来退出;上报信息报文FMU_REPORT_INFO的报文体定义如下:字段名称数据类型说明Info_IDU32信息ID号InfoVAR信息内容信息ID号Info_ID的定义如下:Info_ID的值为0,则对应的信息内容Info为设备名称INFO_DEV_NAME;Info_ID的值为1,则对应的信息内容Info为设备的备注信息INFO_DEV_NOTE;Info_ID的值为2,则对应的信息内容Info为设备的序列号INFO_DEV_SN;Info_ID的值为3,则对应的信息内容Info为设备的运行状态INFO_DEV_STATUS;Info_ID的值为4,则对应的信息内容Info为报警信息INFO_ALARM;INFO_DEV_NAME的定义如下:字段名称数据类型说明NameLenU16Name的长度(单位为字节)NameVAR设备名称INFO_DEV_NOTE的定义如下:字段名称数据类型说明NoteLenU16Note的长度(单位为字节)NoteVAR设备的备注INFO_DEV_SN的定义如下:字段名称数据类型说明SNU64设备的序列号INFO_DEV_STATUS的定义如下:字段名称数据类型说明RunBOOL设备是否在正常运行的标志UpCommErrorCntU32上行的通信错误次数DownCommErrorCntU32下行的通信错误次数INFO_ALARM的定义如下:字段名称数据类型说明AlarmIDU32报警的ID号AlarmInfoVAR报警内容3.5)设备信息查询:由于应用的需要,有时数据平台会需要向设备查询信息;比如,查询设备的运行状态、序列号等信息;设备信息查询的过程如图7所示,数据平台直接向设备发送查询信息报文FMD_QUERY_INFO,其中带有要查询的信息ID号Info_ID;随后,设备回送查询信息的回应报文FMU_QUERY_INFO,其中带有数据平台要查询的信息ID号Info_ID和信息内容Info;查询信息报文FMD_QUERY_INFO的报文体定义如下:字段名称数据类型说明Info_IDU32信息ID号查询信息的回应报文FMU_QUERY_INFO的报文体定义如下:字段名称数据类型说明Info_IDU32信息ID号InfoVAR信息内容3.6)设备信息修改:在设备中,有些信息是可以修改的,比如数据的上报周期、配置信息等。通过这个通信过程,数据平台可完成对设备的这些信息的修改;设备信息修改的通信过程如图8所示:数据平台直接向设备发送修改设备信息的报文FMD_MODIFY_INFO,其中带有要修改的信息ID号Info_ID和信息内容Info;随后,设备回送修改设备信息的回应报文FMU_MODIFY_INFO,其中带有信息修改结果Result;修改设备信息的报文FMD_MODIFY_INFO的报文体定义如下:字段名称数据类型说明Info_IDU32信息ID号InfoVAR信息内容修改设备信息的回应报文FMU_MODIFY_INFO的报文体定义如下:字段名称数据类型说明ResultBOOL是否修改成功3.7)数据上报:设备中有些数据可能会被设置为自动周期上报;当达到上报周期的时间时,一般此时数据也发生更新,所以这时就需通过数据上报的通信过程将数据上报给数据平台;数据上报的通信过程如图9所示:设备先通过设备登录通信过程登录数据平台,然后向数据平台发送上报数据报文FMU_REPORT_DATA以向数据平台上报数据,其中带有数据的地址[数据包ID:PkgID,数据块ID:BlkID,数据类型:Type,数据在数据块数组中的索引:Index]、数据数量Amount和数据内容Data;数据平台以应答报文FM_ACK做为回应;最后,通过设备退出过程退出登录;上报数据报文FMU_REPORT_DATA的报文体定义如下:字段名称数据类型说明TypeU8数据类型,TA(TypeA)、TB(TypeB)、TC(TypeC)PkgIDU32数据包ID号BlkIDU32数据块ID号IndexU32起始数据索引AmountU32数据数量DataVAR数据内容3.8)数据查询:数据平台可通过数据查询通信过程读取设备中的数据;比如,设备中的某个温度值、开关状态等;数据查询的通信过程如图10所示,数据平台直接向设备发送查询数据报文FMD_QUERY_DATA,其中带有要读取的数据的地址[数据包ID:PkgID,数据块ID:BlkID,数据类型:Type,数据在数据块数组中的索引:Index]以及要读取的数据数量Amount;设备通过回送查询数据的回应报文FMU_QUERY_DATA,以将相应的数据送达数据平台;查询数据报文FMD_QUERY_DATA的报文体定义如下:字段名称数据类型说明TypeU8数据类型,TA(TypeA)、TB(TypeB)、TC(TypeC)PkgIDU32数据包ID号BlkIDU32数据块ID号IndexU32起始数据索引AmountU32数据数量查询数据的回应报文FMU_QUERY_DATA的报文体定义如下:字段名称数据类型说明TypeU8数据类型,TA(TypeA)、TB(TypeB)、TC(TypeC)PkgIDU32数据包ID号BlkIDU32数据块ID号IndexU32起始数据索引AmountU32数据数量DataVAR数据内容3.9)数据修改:在设备中,有些数据是可修改的,这些修改最终可能会对设备的控制运行产生影响。比如,若设备通过一个可写入的数据来控制外部的一个电子开关的开闭,当数据平台通过数据修改通信过程修改这个数据内容时,即可用于控制这个电子开关的开闭动作;数据修改的通信过程如图11所示:数据平台向设备发送修改设备的数据报文FMD_MODIFY_DATA,其中带有数据地址[数据包ID:PkgID,数据块ID:BlkID,数据类型:Type,数据在数据块数组中的索引:Index]、数据数量Amount和数据内容Data;设备收到后,会将相应的数据更新Data的值;同时回送修改设备的数据的回应报文FMU_MODIFY_DATA,其中带有数据地址[数据包ID:PkgID,数据块ID:BlkID,数据类型:Type,数据在数据块数组中的索引:Index]、数据数量Amount和更新后的数据内容Data,以指示操作结果Result;修改设备的数据报文FMD_MODIFY_DATA的报文体定义如下:字段名称数据类型说明TypeU8数据类型PkgIDU32数据包ID号BlkIDU32数据块ID号IndexU32起始数据索引AmountU32数据数量DataVAR数据内容修改设备的数据的回应报文FMU_MODIFY_DATA的报文体定义如下:字段名称数据类型说明TypeU8数据类型PkgIDU32数据包ID号BlkIDU32数据块ID号IndexU32起始数据索引AmountU32数据数量ResultBOOL成功标志3.10)设备控制:数据平台可通过设备控制过程向设备下发控制命令,以控制设备进行重启、复位、修改配置等操作;由于设备执行控制命令需一定的时间,所以设备控制的报文交互是“异步交互”,即设备收到控制命令后先回送应答报文,等执行完命令后再向数据平台上报执行结果。设备控制的通信过程如图12所示:数据平台直接向设备发送设备控制报文FMD_CTL_CMD,其中带有控制命令ID号Cmd_ID,以及控制命令的相关参数Para;设备收到后回送应答报文FM_ACK,以示接收正确;在设备执行完该控制命令后,通过设备信息上报过程向数据平台上报命令执行结果。设备控制报文FMD_CTL_CMD的报文体定义如下:字段名称数据类型说明Cmd_IDU32控制命令ID号ParaVAR命令参数当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1