一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于远程控制指令的多设备串行通信方法及系统与流程

2022-12-20 22:56:17 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,特别是涉及基于远程控制指令的多设备串行通信方法及系统。


背景技术:

2.现有的远程通信控制协议q/gdw 1376.1-2021《电力用户用电信息采集系统通信协议:主站与采集终端通信协议》实现多设备接入系统,规定了各设备之间进行数据传输的帧格式、数据编码及传输规则。各个厂家对协议的理解实现偏差较大,每个设备接入都需要现场调试修改,花费较长时间。此协议中定义的数据类型格式有几十个上百个,因此,针对多设备串行通信,开发周期较长,数据类型编解码严重影响了通信的效率。
3.因此,对于远程遥控挖掘通信系统中的多设备串行通信,如何能够缩短开发周期,并缩短通信的时间,提高数据传输的实时性是目前需要解决的技术问题。


技术实现要素:

4.本发明提供一种基于远程控制指令的多设备串行通信方法及系统,用以解决现有技术中多设备串行通信过程中,多设备采用的协议不同,导致的开发时间较长,且数据编解码较多而导致通信时间较长的问题,实现缩短开发周期,并缩短通信的时间,提高数据传输的实时性。
5.一种基于远程控制指令的多设备串行通信方法,所述方法包括:接收远程控制数据包,所述远程控制数据包基于预先设置的协议确定;解析所述远程控制数据包,确定至少一个标识;不同的标识用于区分不同的控制功能且用于标识数据的流向;基于所述至少一个标识,确定所述远程控制数据包中当前设备需要解析的数据;基于当前设备需要解析的数据确定当前设备的控制指令,并基于所述控制指令执行相应的操作;或,基于所述至少一个标识,确定所述远程控制数据包中当前设备需要透传的数据,将当前设备需要透传的数据透传至目标设备。
6.在其中一个实施例中,所述基于所述至少一个标识,确定所述远程控制数据包中当前设备需要解析的数据,包括:
7.若所述至少一个标识中的标识为用于检测设备运行状态对应的第一标识,则将所述远程控制数据包中第一标识对应的数据确定为当前设备需要解析的数据;或,
8.若所述至少一个标识中的标识为用于反馈设备运行状态对应的第二标识,则将所述远程控制数据包中第二标识对应的数据确定为当前设备需要解析的数据;或
9.若所述至少一个标识中的标识为用于反馈设备运行状态对应的第三标识,则将所述远程控制数据包中第三标识对应的数据确定为当前设备需要解析的数据。
10.在其中一个实施例中,基于所述至少一个标识,确定所述远程控制数据包中当前设备需要透传的数据,包括:
11.若所述至少一个标识中的标识为数据传输对应的第四标识,且当前设备为数据传
输过程中的中间设备,则将所述第四标识对应的数据确定为当前设备需要透传的数据。
12.在其中一个实施例中,所述基于当前设备需要解析的数据确定当前设备的控制指令,并基于所述控制指令执行相应的操作,包括:
13.解析所述远程控制数据包中第一标识对应的数据;
14.基于所述第一标识对应的数据生成检测当前设备运行状态的第一指令,基于所述第一指令检测当前设备的运行状态数据;
15.将当前设备的运行状态数据保存到当前设备对应的第二标识或第三标识数据中。
16.在其中一个实施例中,所述所述远程控制数据包中还包括协议的版本和标识的个数,不同的协议版本对应的标识的个数不同。
17.在其中一个实施例中,所述第三标识对应的数据为用于反馈设备运行异常时的数据,所述第四标识对应的数据为用于标识遥控端的紧急制动操控数据,相应地,所述基于当前设备需要解析的数据确定当前设备的控制指令,并基于所述控制指令执行相应的操作,包括:遥控端的终端设备在解析得到第三标识对应的数据后,生成向被控制端的终端设备发出包含第四标识对应的数据的数据包的指令,生成并发送包含第四标识对应的数据的数据包。
18.在其中一个实施例中,所述第三标识对应的数据为用于反馈设备运行异常时的数据,所述第四标识对应的数据为用于标识被控制端的制动状态数据,相应地,所述基于当前设备需要解析的数据确定当前设备的控制指令,并基于所述控制指令执行相应的操作,包括:遥控端的终端设备解析得到来自控制端的终端设备的第四标识对应的数据,基于所述包含第四标识对应的数据确定控制端的终端设备的紧急制动状态,并基于所述紧急制动状态确定是否恢复遥控端的终端设备的紧急制动位。
19.在其中一个实施例中,若解析得到的远程控制数据包中的包含当前设备无法识别的标识,则当前设备仅解析当前设备能够识别的标识对应的数据。
20.在其中一个实施例中,每个标识对应的数据内容中包含数据的长度和数据的具体值。
21.在其中一个实施例中,所述远程控制数据包中的数据类型为多设备通用的数据类型。
22.本发明还提供一种基于远程控制指令的多设备串行通信系统,所述系统包括:接收模块,用于接收远程控制数据包,所述远程控制数据包基于预先设置的协议确定;解析模块,用于解析所述远程控制数据包,确定至少一个标识;不同的标识用于区分不同的控制功能且用于标识数据的流向;确定模块,用于基于所述至少一个标识,确定所述远程控制数据包中当前设备需要解析的数据;处理模块,用于基于当前设备需要解析的数据确定当前设备的控制指令,并基于所述控制指令执行相应的操作;或,基于所述至少一个标识,确定所述远程控制数据包中当前设备需要透传的数据,并将当前设备需要透传的数据透传至目标设备。
23.本发明还提供计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述基于远程控制指令的多设备串行通信方法的步骤。
24.本发明还提供存储有计算机可读指令的存储介质,所述计算机可读指令被一个或
多个处理器执行时,使得一个或多个处理器执行上述所述基于远程控制指令的多设备串行通信方法的步骤。
25.上述基于远程控制指令的多设备串行通信方法及系统,通过接收并解析基于预先设置的协议确定的远程控制数据包,从而确定用于区分不同的控制功能且用于标识数据的流向的至少一个标识,然后根据至少一个标识即可获取需要当前设备解析的数据以及需要当前设备透传的数据,从进一步基于需要当前设备解析的数据执行执行相应的操作,以及透传需要当前设备透传的数据。基于前述的方法,由于根据至少一个标识可以确定数据包中的哪些数据需要解析哪些数据透传,因此,使基于远程控制指令的多设备串行通信系统中,无论是需要透传的设备还是需要解析的设备均可以采用前述方法进行通信,并且由于多个设备采用协议相同,因此,不仅能够缩短开发的周期,而且对于数据传输中的中间设备可以直接确定需要透传的数据,将需要透传的数据传输给目标设备,不需要多次对需要透传的数据进行编解码,从而可以缩短通信的时间,提高数据传输的实时性。
附图说明
26.图1为本发明提供的基于远程控制指令的多设备串行通信系统的框架示意图之一;
27.图2为本发明提供的基于远程控制指令的多设备串行通信系统的框架示意图之二;
28.图3为本发明提供的基于远程控制指令的多设备串行通信方法的流程示意图之一;
29.图4为本发明提供的基于远程控制指令的多设备串行通信方法的流程示意图之二;
30.图5为本发明提供的基于远程控制指令的多设备串行通信方法的流程示意图之三;
31.图6为本发明提供的基于远程控制指令的多设备串行通信方法的流程示意图之四;
32.图7为本发明提供的的基于远程控制指令的多设备串行通信方法的流程示意图之五;
33.图8为本发明提供的基于远程控制指令的多设备串行通信系统的框架示意图之三;
34.图9为本发明提供的电子设备的示意图。
具体实施方式
35.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
36.需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的
组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
37.为了便于理解,对本技术涉及的技术术语进行解释。
38.(1)多接入边缘计算(multi-access edge computing,mec)
39.mec可利用无线接入网络就近提供电信用户it所需服务和云端计算功能,而创造出一个具备高性能、低延迟与高带宽的电信级服务环境,加速网络中各项内容。
40.(2)消息队列遥测传输(message queuing telemetry transport,mqtt)
41.mqtt是iso标准(iso/iec prf 20922)下基于发布/订阅范式的消息协议。它工作在tcp/ip协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议。
42.(3)5gcpe
43.5gcpe用于将移动通信5g信号,转换成本地局域网信号提供用户使用。
44.可以理解,针对远程遥控挖掘通信系统中,包括手柄/脚踏、采集板和操作台主机等遥控端设备,还包括工控机、主控板和挖掘机等铲端设备,多设备串联,不同类型模块之间串行交互,不同指令对应不同设备,需要支持透传规则,例如,如何实现采集板高速有效控制主控板,或者操作台主机控制主控板,或主控板向操作台/采集板快速反馈,是目前需要解决的技术问题。因此,本发明提供了一种基于远程控制指令的多设备串行通信方法,用于对于远程遥控挖掘通信系统中的多设备串行通信,能够缩短开发周期,并缩短通信的时间,提高数据传输的实时性。
45.图1为一个实施例中提供的基于远程控制指令的多设备串行通信系统的框架示意图之一,如图1所示,在该框架示意图中,包括铲端设备110、遥控端设备120、5g基站130与mec服务器设备140。其中,铲端设备110可以包含工控机,5gcpe,摄像头,车载控制器等,铲端设备110能够订阅遥控端控制指令,发布铲端状态,并主动通过5g基站130推流铲端摄像头视频流到mec服务器设备140。遥控端设备120可以包含操作手柄、脚踏、座椅、采集板、5gcpe、及显示器,用于接收操作台手柄等硬件操作指令,还用于订阅状态,从mec服务器设备通过5g基站130拉流铲端视频流,在显示器上展示。mec服务器设备140可以为x86高性能服务器,支持控制指令等发布和查阅,并且支持视频的推拉流。
46.图2为一个实施例中提供的基于远程控制指令的多设备串行通信系统的框架示意图之二。可以理解,图2为根据图1抽象的多设备串行通信系统的框架示意图。如图2所示,在该框架示意图中,包括采集板210、操作台220、工控机230和主控板240。其中,采集板210为带有实时系统的嵌入式板卡,用于采集手柄数据、脚踏数据、以及操作面板控制按钮的数据,并用于控制相关指示灯等反应车辆状态的设备。操作台220包括操作相关按钮手柄、显示器、操作台主机设备等,用于接收采集板数据,通过mqtt发布控制命令,播放视频流显示现场画面。工控机230为工业控制计算机,可广泛应用于无人驾驶等场景的计算需求。主控板240为运行实时系统的嵌入板卡,可以实现车辆控制以及车辆传感器读取。
47.下面结合附图说明本发明提供的基于远程控制指令的多设备串行通信方法及系
统。
48.图3为本发明提供的一种基于远程控制指令的多设备串行通信方法的流程示意图。可以理解,该基于远程控制指令的多设备串行通信方法可以由基于远程控制指令的多设备串行通信系统中的设备或模块执行。
49.如图3所示,在一个实施例中,提出了一种基于远程控制指令的多设备串行通信方法,具体可以包括以下步骤:
50.步骤310,接收远程控制数据包。
51.其中,远程控制数据包可以为来自基于远程控制指令的多设备串行通信系统中的设备或模块的数据包。
52.可以理解,基于远程控制指令的多设备串行通信系统中的设备或模块可以按照预先设置的协议生成远程控制数据包。其中,预先设置的协议中包括可变数据头和多数据单元结构。其中,可变数据头中包括协议版本、数据来源以及车型等重要通用信息。具体地,预先设置的协议可以参考后文的相关描述,数据头可以如后文中的表2所示,此处先不详述。
53.步骤320,解析远程控制数据包,确定至少一个标识。
54.其中,不同的标识用于区分不同的控制功能且用于标识数据的流向。不同的标识用于区分不同的控制功能,例如,用于区分检测设备运行状态的功能、用于区分反馈设备运行状态的功能或用于区分数据传输的功能。数据的流向为数据在多个设备之间传输的方向,例如,由主控板传向工控机,再由工控机传向操作台。
55.可以理解,所述至少一个标识可以为至少一个设备的至少一个标识,也就是说针对每个设备可以设定至少一个标识表示该设备对应不同的控制功能,并在相应的标识填入相应的内容标识控制功能对应的数据。基于此,在多设备接入系统中,一种设备可只关注自己需要数据单元,提高检索处理效率。
56.如前所述,所述远程控制数据包可以按照预先设置的协议生成,因此,当前设备可以按照预先设置的协议对远程控制数据包进行解析,从而确定至少一个标识。
57.步骤330,基于至少一个标识,确定远程控制数据包中当前设备需要解析的数据或当前设备需要透传的数据;基于当前设备需要解析的数据确定当前设备的控制指令,并基于控制指令执行相应的操作。
58.其中,所述远程控制数据包中当前设备需要解析的数据或当前设备需要透传的数据均为至少一个标识中一个或多个标识对应的数据。
59.可以理解,由于不同的标识还用于标识数据的流向,而对于多设备串行通信,当前设备可能为远程控制数据包最终需要送达的设备,当前设备也可能只是数据传输过程中的一个中间设备,因此,可以根据至少一个标识,确定远程控制数据包中对应的至少一个标识中哪些标识对应的数据为当前设备需要解析的数据,以及哪些标识对应的数据为当前设备需要透传给其他设备的数据。
60.如前所述,不同的标识用于区分不同的控制功能,因此,在确定某些标识对应的数据为当前设备需要解析的数据后,可以解析当前设备需要解析的数据,从而生成相应的控制指令并基于控制指令执行相应的操作。其中相应的操作为与控制功能相应的操作,例如,对于检测设备运行状态的功能,相应的操作即为检测当前设备的运行状态。
61.步骤340,基于至少一个标识,确定远程控制数据包中当前设备需要透传的数据,
并将当前设备需要透传的数据透传至目标设备。
62.其中,目标设备为需要透传的数据对应数据流中的下一设备。
63.可以理解,由于不同的标识用于区分不同的控制功能且用于标识数据的流向,因此在确定某些标识对应的数据为当前设备需要透传的数据后,可以直接将需要透传的数据不做任何处理透传给数据的流向中的下一个设备。
64.本发明提供的基于远程控制指令的多设备串行通信方法,通过接收并解析基于预先设置的协议确定的远程控制数据包,从而确定用于区分不同的控制功能且用于标识数据的流向的至少一个标识,然后根据至少一个标识即可获取需要当前设备解析的数据以及需要当前设备透传的数据,从进一步基于需要当前设备解析的数据执行执行相应的操作,以及透传需要当前设备透传的数据。基于前述的方法,由于根据至少一个标识可以确定数据包中的哪些数据需要解析哪些数据透传,因此,使基于远程控制指令的多设备串行通信系统中,无论是需要透传的设备还是需要解析的设备均可以采用前述方法进行通信,并且由于多个设备采用协议相同,因此,不仅能够缩短开发的周期,而且对于数据传输中的中间设备可以直接确定需要透传的数据,将需要透传的数据传输给目标设备,不需要多次对需要透传的数据进行编解码,从而可以缩短通信的时间,提高数据传输的实时性。
65.在其中一个实施例中,所述基于所述至少一个标识,确定所述远程控制数据包中当前设备需要解析的数据,包括:
66.若所述至少一个标识中的标识为用于检测设备运行状态对应的第一标识,则将所述远程控制数据包中第一标识对应的数据确定为当前设备需要解析的数据;或,
67.若所述至少一个标识中的标识为用于反馈设备运行状态对应的第二标识,则将所述远程控制数据包中第二标识对应的数据确定为当前设备需要解析的数据;或
68.若所述至少一个标识中的标识为用于反馈设备运行状态对应的第三标识,则将所述远程控制数据包中第三标识对应的数据确定为当前设备需要解析的数据。
69.可以理解,由于在基于远程控制指令的多设备串行通信系统中,各个设备是否正常运行对于系统中的数据输出传输具有重要的意义,因此,可以在预先设置的协议中预先定义好用于检测设备运行状态对应的第一标识,例如id=1,用于检测串行通信系统中的所有的设备是否正常运行,同理,也可以在预先设置的协议中预先定义好用于反馈设备运行正常对应的第二标识,例如id=2,或者用于反馈设备运行异常对应的第三标识,例如id=4,从而使所有的设备均可以通过第二标识和第三标识反馈设备的运行状态。因此,在所有的设备接收到第一标识、第二标识或第三标识对应的数据时可以确定为当前设备需要解析的数据。
70.在其中一个实施例中,基于所述至少一个标识,确定所述远程控制数据包中当前设备需要透传的数据,包括:
71.若所述至少一个标识中的标识为数据传输对应的第四标识,且当前设备为数据传输过程中的中间设备,则将所述第四标识对应的数据确定为当前设备需要透传的数据。
72.可以理解,可以在预先设置的协议中预先定义好用于数据传输对应的第四标识,并且由于每个标识可以标识相应的数据的流向,因此,第四标识对应的数据可以经过一个或多个中间设备传输给数据流向中最后一个设备,因此,若当前设备为中间设备,则需要将第四标识的数据透传至目标设备,即将第四标识的数据透传至第四标识对应的数据流向中
的下一个设备。
73.在其中一个实施例中,基于当前设备需要解析的数据确定当前设备的控制指令,并基于所述控制指令执行相应的操作,包括:
74.解析所述远程控制数据包中第一标识对应的数据;基于所述第一标识对应的数据生成检测当前设备运行状态的第一指令,基于所述第一指令检测当前设备的运行状态数据;将当前设备的运行状态数据保存到当前设备对应的第二标识或第三标识数据中。
75.在其中一个实施例中,所述所述远程控制数据包中还包括协议的版本和标识的个数,不同的协议版本对应的标识的个数不同。
76.可以理解,新的版本可以增加相应的标识以增加旧版协议中未定义的标识,从用于标识新的功能,从而保证协议的可扩展性,从而使基于协议生产的远程控制数据包能够传输新的信息,使数据传输更加灵活。
77.在其中一个实施例中,第三标识对应的数据为用于反馈设备运行异常时的数据,所述第四标识对应的数据为用于标识遥控端的紧急制动操控数据,相应地,所述基于当前设备需要解析的数据确定当前设备的控制指令,并基于所述控制指令执行相应的操作,包括:遥控端的终端设备在解析得到第三标识对应的数据后,生成向被控制端的终端设备发出包含第四标识对应的数据的数据包的指令,生成并发送包含第四标识对应的数据的数据包。
78.可以理解,由于第四标识用于标识数据传输,而遥控端的紧急制动操控数据需要从遥控端传输到被控制端,中间用于传输的设备不需要知道紧急制动操控数据是什么以及用于干什么,因此,在该实施例中,第四标识可以对应后文中的id=8,也即在遥控端的终端设备例如操作台接收到自己或其他连接遥控端设备和被控制端的设备的运行异常数据后,需要对被控制端的终端设备进行紧急制动,因此遥控端的终端设备向被控制端的终端设备发出包含紧急制动操控数据的数据包。
79.在其中一个实施例中,所述第三标识对应的数据为用于反馈设备运行异常时的数据,所述第四标识对应的数据为用于标识被控制端的制动状态数据,相应地,所述基于当前设备需要解析的数据确定当前设备的控制指令,并基于所述控制指令执行相应的操作,包括:遥控端的终端设备解析得到来自控制端的终端设备的第四标识对应的数据,基于所述包含第四标识对应的数据确定控制端的终端设备的紧急制动状态,并基于所述紧急制动状态确定是否恢复遥控端的终端设备的紧急制动位。
80.可以理解,由于第四标识用于标识数据传输,数据传输作为一种比较广泛的类别,传输的数据可以多种多样,因此,对应的第四标识也可以有多个。而被控制端的制动状态数据需要从被控制端传输到遥控端,中间用于传输的设备不需要知道制动状态数据是什么以及用于干什么,因此,在该实施例中,第四标识可以对应后文中的id=16384,也即在被控制端的终端设备接收到遥控端的终端设备的紧急制动操控数据后,基于紧急制动操控数据对被控制端的终端设备进行紧急制动,从而可以得到制动状态数据,在控制端的终端设备得到制动状态数据后,控制端的终端设备可以向遥控端的终端设备发出包含控制端的制动状态数据的数据包(包含第四标识对应的数据的数据包),从而使遥控端的终端设备解析得到来自控制端的终端设备的第四标识对应的数据,基于所述包含第四标识对应的数据确定控制端的终端设备的紧急制动状态,并基于所述紧急制动状态确定是否恢复遥控端的终端设
备的紧急制动位。
81.其中,遥控端的终端设备的紧急制动位用于启动或解决对被控制端的紧急制动。
82.可以理解,被控制端的制动状态数据为被控制端的控制状态数据中的一种。因此,同理,被控制端的其他控制状态数据也可以从被控制端传输到遥控端,因此,被控制端的其他控制状态数据也可以采用第四标识标识,具体地,可以对应于后文id=8192的相关数据。其中,被控制端的控制状态数据为被控制端响应于来自遥控端的操作控制指令执行相应的操作后,采集得到的控制端设备的状态数据。
83.在其中一个实施例中,所述预先设置的协议中的数据头和数据体的数据长度均可变,同一标识对应的数据的数据长度可变。
84.其中,数据头和数据体具体可参考后文的相关描述,此处先不做赘述。
85.可以理解,同一标识对应的不同数据长度的数据可以用于表示不同的的含义,具体的示例可参考后文中表4的相关描述。
86.在其中一个实施例中,所述数据体中包括多个设备对应的数据单元,每个数据单元中包括每个设备对应的标识,当前设备的标识基于所述每个设备对应的标识确定。
87.可以理解,由于数据单元通过唯一id区分,如传感器数据或控制数据都可定义为一个数据单元。在多设备接入系统中,一种设备可只关注自己需要数据单元,提高检索处理效率。
88.在其中一个实施例中,若解析得到的远程控制数据包中的包含当前设备无法识别的标识,则当前设备仅解析当前设备能够识别的标识对应的数据。
89.可以理解,基于远程控制指令的多设备串行通信系统中,各个设备可以随时更新并产生新的功能,相应地,可以在新版本的协议中增加新的内容,因此,协议中版本解析需要向下兼容,也就是说,高版本可以兼容低版本。换言之,旧版本和新版本针对标识类型可以进行扩展,旧版本遇到不能识别的标识,自动忽略,新版本正常解析,并且旧版本和新版本针对同一个标识对应的数据体扩展字段,旧版本只取前部旧格式字段,新版本获取全部数据体。这样可兼容旧版本按照以前格式解析执行。
90.还可以理解,相应地,在解析得到相应的数据后,只对已经解析的数据进行处理,未解析的数据不作处理。
91.在其中一个实施例中,每个标识对应的数据内容中包含数据的长度和数据的具体值。
92.可以理解,不同的标识对应的数据的长度可以不同也可以相同。
93.在其中一个实施例中,所述远程控制数据包中的数据类型为多设备通用的数据类型。
94.可以理解,在基于远程控制指令的多设备串行通信系统中包括多个设备,例如可以包括带有实时系统的嵌入式设备、基于linux系统的高性能人工智能运算设备、操作台系统相关设备、车辆控制器等,多类设备必须有统一的通讯数据格式方便各类设备接入系统。因此,可以采用标准的ieee 754浮点数类型作为多设备通用的数据类型,可以在嵌入式、pc机和各种系统下正确读取。本着读取就可使用的原则,不需要进行数据的编解码,一定程度上提高了执行处理效率。
95.表1为预先设置的协议的格式示意表。
96.表1
97.数据内容数据格式字节数数据头bin变长数据体bin变长
98.如表1所示,协议采用可变成数据头和可变长数据体组成,其中,可变长数据体为多数据单元结构。其中,多数据单元结构由各个设备对应的数据的单元组成。
99.其中,数据头如表2所示,可以包括特征位固定值、传输协议版本、车辆类型标识、数据头长度len=12 n、目标地址、源地址、传输计数、数据单元id个数、数据单元长度、其他等重要通用信息。每个数据单元包括,标识id和数据内容,根据控制功能和数据的流向定义唯一id值,并定义对应相应数据内容。其中数据内容包括数据长度和具体的数据值。
100.表2
[0101][0102]
其中,特征位固定值例如可以为0x0c 0x10,先传输0x0c再传输0x10。传输协议版本用于定义当前的传输协议版本,例如可以为v2.1。车辆类型标识用于标识车辆的类型,例如可以为:1挖掘机、2电铲、3装载机以及4钻机。目标地址表示当前数据包即将传输到的地址,源地址为发送数据包的地址,例如可以包括:1:采集板、2:操作台设备、128:车辆主控板、129:车辆工控设备、255:广播地址。通信计数:每次发送加1,范围0~255。数据单元id个数用于表示包含数据单元个数。数据单元长度:数据体字节长度(不包括数据头长度)。并且,可以定义传输浮点或32、16整型数据时,先传输低字节再传输高字节。
[0103]
此外,协议定义的数据体可以采用以下模式:标识的值 标识对应的数据长度 数据的具体值。因此,数据处理解析时,可以根据标识的值判断类型,根据标识对应的数据长度判断内容,获取数据的具体值。其中,标识对应的数据长度可变。为了便理解,下面结合图
2举例说明协议定义的数据体。
[0104]
示例性地,设标识的值为1,即id=1表示其作用可以理解为心跳检测,用于检测设备运行状态,以图2所示的多设备串行通信系统的框架示意图中的多个设备为例,采集板、操作台、工控机以及主控板对应的心跳检测对应的交互流程如图4所示。如图4所示,步骤401,操作台可以按照预设的频率向采集板发送携带有id=1的数据包。以及步骤403,操作台向工控机发送携带有id=1的数据包,用于检测采集板以及工控机是否运行正常。此外,对应步骤405,工控机也可以按照预设的频率分别向主控板发送携带有id=1的数据包,用于检测主控板是否运行正常。其中,id=1对应的数据体如下表3所示。
[0105]
表3
[0106]
数据内容数据格式字节数id=1bin2len=4bin2
[0107]
如表3所示,id=1对应的数据长度可以为4,即len=4。
[0108]
此外,操作台向采集板以及工控机发送携带有id=1的数据包后,以及工控机向主控板发送携带有id=1的数据包,均可以根据对方回应判断对方当前的状态。
[0109]
如图4所示,在对方接收正常时,可以给出id=2的应答数据。例如,步骤402,采集板接收正常时,可以按照预设的频率向操作台发送id=2的应答数据;以及步骤404,工控机接收正常时,可以按照预设的频率向操作台发送id=2的应答数据。此外,对应步骤406,主控板接收正常时,也可以按照预设的频率分别向工控机发送id=2的应答数据。
[0110]
在对方接收异常时,可以给出id=4的状态日志数据。如图4所示,步骤402’,采集板接收异常时,可以按照预设的频率向操作台发送id=4的状态日志数据;以及步骤404’,工控机接收异常时,可以按照预设的频率向操作台发送id=4的状态日志数据。此外,对应步骤406’,主控板接收异常时,也可以按照预设的频率分别向工控机发送id=4的状态日志数据。id=4规则:哪个模块检测出现问题,按照预设频度向操作台发送(与操作台不通时可不发),操作台接收后实时显示告警提醒,3秒后未再接收,自动停止告警回复正常。具体地,应答数据、状态日志数据的流转过程均与心跳数据对应,可以从采集板到操作台,从工控机到操作台,或者从主控板到工控机。其中,id=2对应的数据体如下表4所示;id=4对应的数据体如下表5所示。
[0111]
表4
[0112]
数据内容数据格式字节数id=2bin2len=7或11bin2被确认的idbin2被确认的传输计数bin1执行结果bin4
[0113]
其中,len=7表示无执行结果,或len=11中执行结果为全0时,表示接收成功:len=11时执行结果不为0表示失败。
[0114]
表5
[0115]
数据内容数据格式字节数id=4bin2len=6bin2报错设备地址bin1错误类型信息bin1
[0116]
其中,报错设备地址对应数据头中的源地址。具体地,id=4的状态日志数据可以用于记录日志(包括采集板,操作台,工控机,主控板)的状态和错误信息,以数字的形式传输,每个设备有自己的数字/日志对照表。主要用于排错,log保存等。
[0117]
可以理解,上述的id=1可以对应前文中的第一标识,id=2可以对应前文中的第二标识,id=4可以对应前文中的第三标识。
[0118]
此外,还可以定义用于设置紧急制动的标识,例如id=8,等待铲端车辆完全停止后并心跳检测链路正常,恢复id=8紧急制动位取消。其中,id=8对应的数据体如下表6所示。
[0119]
表6
[0120]
数据内容数据格式字节数id=8bin2len=56bin2紧急制动bin1
[0121]
其中,当紧急制动的值为0时,表示正常,当紧急制动的值为1时,表示进行紧急制动。id=8数据是采集板从手柄或脚踏等获取数据后,以固定20hz频率间隔一直发送,通过操作台和工控机透传,最后主控板接收信息,并解析执行操作。
[0122]
此外,还可以定义用于采集板获取并显示铲端车辆的控制状态数据的标识,例如id=8192,具体地,可以由主控板采集车辆状态数据,发送包含id=8192的数据包到工控机,然后由工控机转发id=8192对应的数据到操作台,然后由操作台转发id=8192对应的数据到采集板,采集板接收信息,并解析执行操作。其中,id=8192对应的数据体如下表7所示。
[0123]
表7
[0124]
数据内容数据格式字节数id=8192bin2len=6bin2待定bin2
[0125]
此外,还可以定义用于操作台获取并显示铲端车辆设备的现场数据和传感器数据,并用于确定是否解除紧急制动的标识,例如id=16384,具体地,可以由主控板采集车辆现场数据和传感器数据,将车辆现场数据和传感器数据封装到id=16384对应的数据中,发送包含id=16384的数据包到工控机,然后由工控机转发id=16384对应的数据到操作台,操作台接收、解析并显示状态数据。可以理解,铲端车辆设备的现场数据和传感器数据可以反映铲端车辆设备的制动状态。其中,id=16384对应的数据体如下表8所示。
[0126]
表8
[0127]
数据内容数据格式字节数id=16384bin2len=8bin2紧急制动状态bin1
[0128]
其中,当紧急制动状态的值为0时,表示正常;当紧急制动的值为1时,表示紧急制动中;当紧急制动状态的值为2时,表示紧急制动完成。
[0129]
还可以理解,上述各个标识对应有相应采集板、操作台、工控机和主控板之间的交互流程,但是对应的交互流程中,有些设备需要透传相关标识对应的数据,有些设备需要解析相关标识的数据。具体地,如下表9所示。
[0130]
表9
[0131]
id采集板操作台工控机主控板1解析解析解析解析2解析解析解析解析4解析解析解析解析8解析透传透传解析8192解析透传透传解析16384 解析透传解析
[0132]
结合上述定义的标识8、8192和16384,给出了图5、图6以及图7中的采集板、操作台、工控机和主控板之间的交互过程的示意图。
[0133]
如图5所示,采集板从手柄或脚踏等获取数据后,将所述数据封装到id=8对应的数据中,在步骤501中,以固定20hz频率间隔一直发送包含id=8的数据包到操作台;步骤502,操作台在心跳检测正常的情况下,转发采集板的包含id=8的数据包到工控机,步骤503,工控机在心跳检测正常的情况下,转发采集板的包含id=8的数据包到主控板。最后,主控板接收信息,并解析执行操作。
[0134]
可以理解,与步骤502对应,若操作台同时监控如果连续5次未收到心跳,操作台提示告警(500ms冷冻期),操作台心跳异常的情况下执行步骤502’。步骤502’,操作台构造自己的id=8设置紧急制动位,并且操作台等待接收id16384中的紧急制动状态说明当前车辆制动状态。
[0135]
如图6所示,主控板获取铲端车辆的控制状态数据后,将控制状态数据封装到id=8192对应的数据中,在步骤601中,以固定20hz频率间隔一直发送包含铲端车辆的控制状态数据id=8192的数据包到工控机;步骤602,工控机转发主控板的id=8192的数据包到操作台,步骤603,操作台在心跳检测正常的情况下,转发主控板的id=8192的数据包到采集板。最后,采集板接收信息,并解析执行操作。
[0136]
如前所述,在步骤502’中,操作台构造自己的id=8设置紧急制动位,并且操作台等待接收id=16384中紧急制动状态说明当前车辆制动状态。因此,如图7所示,主控板采集铲端车辆的现场数据和传感器数据后,将现场数据和传感器数据封装到id=16384对应的数据中,在步骤701中,以固定20hz频率间隔一直发送铲端车辆设备的现场数据和传感器数据id=16384。步骤702,通过工控机透传id=16384至操作台。最后操作台接收id=16384,解析id=16384并显示屏展示。
[0137]
可以理解,上述标号为8、8192和16384对应的标识均与上文中的第四标识对应。其中涉及的中间设备可以透传需要传输的数据。
[0138]
还可以理解,上述预先定义的所有标识对应的标号值可以改变,并且,用户可以根据自己的需求增加相应的标识。
[0139]
下面对本发明提供的基于远程控制指令的多设备串行通信系统进行描述,下文描述的基于远程控制指令的多设备串行通信系统与上文描述的基于远程控制指令的多设备串行通信方法可相互对应参照。
[0140]
如图8所示,在一个实施例中,提供了一种基于远程控制指令的多设备串行通信系统,该基于远程控制指令的多设备串行通信系统可以包括:
[0141]
接收模块810,用于接收远程控制数据包,所述远程控制数据包基于预先设置的协议确定;
[0142]
解析模块820,用于解析所述远程控制数据包,确定至少一个标识;不同的标识用于区分不同的控制功能且用于标识数据的流向;
[0143]
第一处理模块830,用于基于所述至少一个标识,确定所述远程控制数据包中当前设备需要解析的数据;基于当前设备需要解析的数据确定当前设备的控制指令,并基于所述控制指令执行相应的操作;
[0144]
第二处理模块840,用于基于所述至少一个标识,确定所述远程控制数据包中当前设备需要透传的数据,将当前设备需要透传的数据透传至目标设备。
[0145]
本发明提供的基于远程控制指令的多设备串行通信系统,通过接收并解析基于预先设置的协议确定的远程控制数据包,从而确定用于区分不同的控制功能且用于标识数据的流向的至少一个标识,然后根据至少一个标识即可获取需要当前设备解析的数据以及需要当前设备透传的数据,从进一步基于需要当前设备解析的数据执行执行相应的操作,以及透传需要当前设备透传的数据。基于前述的方法,由于根据至少一个标识可以确定数据包中的哪些数据需要解析哪些数据透传,因此,使基于远程控制指令的多设备串行通信系统中,无论是需要透传的设备还是需要解析的设备均可以采用前述方法进行通信,并且由于多个设备采用协议相同,因此,不仅能够缩短开发的周期,而且对于数据传输中的中间设备可以直接确定需要透传的数据,将需要透传的数据传输给目标设备,不需要多次对需要透传的数据进行编解码,从而可以缩短通信的时间,提高数据传输的实时性。
[0146]
在其中一个实施例中,所述第一处理模块830包括:
[0147]
第一确定单元,用于若所述至少一个标识中的标识为用于检测设备运行状态对应的第一标识,则将所述远程控制数据包中第一标识对应的数据确定为当前设备需要解析的数据;或,
[0148]
第二确定单元,用于若所述至少一个标识中的标识为用于反馈设备运行状态对应的第二标识,则将所述远程控制数据包中第二标识对应的数据确定为当前设备需要解析的数据;或
[0149]
第三确定单元,用于若所述至少一个标识中的标识为用于反馈设备运行状态对应的第三标识,则将所述远程控制数据包中第三标识对应的数据确定为当前设备需要解析的数据。
[0150]
在其中一个实施例中,所述第二处理模块840包括:
[0151]
第四确定单元,用于若所述至少一个标识中的标识为数据传输对应的第四标识,且当前设备为数据传输过程中的中间设备,则将所述第四标识对应的数据确定为当前设备需要透传的数据。
[0152]
在其中一个实施例中,所述第二处理模块840包括:
[0153]
解析单元,用于解析所述远程控制数据包中第一标识对应的数据;
[0154]
第一处理单元,用于基于所述第一标识对应的数据生成检测当前设备运行状态的第一指令,基于所述第一指令检测当前设备的运行状态数据;
[0155]
保存单元,用于将当前设备的运行状态数据保存到当前设备对应的第二标识或第三标识数据中。
[0156]
在其中一个实施例中,所述所述远程控制数据包中还包括协议的版本和标识的个数,不同的协议版本对应的标识的个数不同。
[0157]
在其中一个实施例中,所述第三标识对应的数据为用于反馈设备运行异常时的数据,所述第四标识对应的数据为用于标识遥控端的紧急制动操控数据,相应地,所述第一处理模块830还包括:
[0158]
发送模块,用于遥控端的终端设备在解析得到第三标识对应的数据后,生成向被控制端的终端设备发出包含第四标识对应的数据的数据包的指令,生成并发送包含第四标识对应的数据的数据包。
[0159]
在其中一个实施例中,所述第三标识对应的数据为用于反馈设备运行异常时的数据,所述第四标识对应的数据为用于标识被控制端的制动状态数据,相应地,所述第一处理模块830还包括:第二处理单元,用于遥控端的终端设备解析得到来自控制端的终端设备的第四标识对应的数据,基于所述包含第四标识对应的数据确定控制端的终端设备的紧急制动状态,并基于所述紧急制动状态确定是否恢复遥控端的终端设备的紧急制动位。
[0160]
在其中一个实施例中,若解析得到的远程控制数据包中的包含当前设备无法识别的标识,则当前设备仅解析当前设备能够识别的标识对应的数据。
[0161]
在其中一个实施例中,每个标识对应的数据内容中包含数据的长度和数据的具体值。
[0162]
在其中一个实施例中,所述远程控制数据包中的数据类型为多设备通用的数据类型。
[0163]
图9示例了一种电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(communications interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑指令,以执行基于远程控制指令的多设备串行通信方法,该方法包括:接收远程控制数据包,所述远程控制数据包基于预先设置的协议确定;解析所述远程控制数据包,确定至少一个标识;不同的标识用于区分不同的控制功能且用于标识数据的流向;基于所述至少一个标识,确定所述远程控制数据包中当前设备需要解析的数据;基于当前设备需要解析的数据确定当前设备的控制指令,并基于所述控制指令执行相应的操作;或,基于所述至少一个标识,确定所述远程控制数据包中当前设备需要透传的数据,将当前设备需要透传的数据透传至目标设备。
[0164]
此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为
独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0165]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行本发明提供的基于远程控制指令的多设备串行通信方法,所述基于远程控制指令的多设备串行通信方法包括:接收远程控制数据包,所述远程控制数据包基于预先设置的协议确定;解析所述远程控制数据包,确定至少一个标识;不同的标识用于区分不同的控制功能且用于标识数据的流向;基于所述至少一个标识,确定所述远程控制数据包中当前设备需要解析的数据;基于当前设备需要解析的数据确定当前设备的控制指令,并基于所述控制指令执行相应的操作;或,基于所述至少一个标识,确定所述远程控制数据包中当前设备需要透传的数据,将当前设备需要透传的数据透传至目标设备。
[0166]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行本发明提供的基于远程控制指令的多设备串行通信方法,所述基于远程控制指令的多设备串行通信方法包括:接收远程控制数据包,所述远程控制数据包基于预先设置的协议确定;解析所述远程控制数据包,确定至少一个标识;不同的标识用于区分不同的控制功能且用于标识数据的流向;基于所述至少一个标识,确定所述远程控制数据包中当前设备需要解析的数据;基于当前设备需要解析的数据确定当前设备的控制指令,并基于所述控制指令执行相应的操作;或,基于所述至少一个标识,确定所述远程控制数据包中当前设备需要透传的数据,将当前设备需要透传的数据透传至目标设备。
[0167]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0168]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0169]
可以理解,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前
述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献