掌桥专利:专业的专利平台
掌桥专利
首页

一种适用于多设备数据传输的编码方法

文献发布时间:2023-06-19 18:30:43


一种适用于多设备数据传输的编码方法

技术领域

本发明涉及数据传输技术领域,尤其涉及一种适用于多设备数据传输的编码方法。

背景技术

随着电网智能化水平的建设,越来越多的电力设备进行了智能化、自动化改造升级,升级后的设备大多具有在线检测、在线调试,在线运行的功能,也有和其他电力设备进行联合调试的需求,当多个设备需要进行联合调试时,需要将多个设备通过通讯接口连接到上位机上进行数据传输。现有技术中一般通过扩展上位机的通讯接口来实现与多个设备进行通讯的需求,但是每个设备的通讯接口是不一样的,需要联调的多个设备的通讯接口的组合也不固定,造成上位机预留的通讯接口与需要联调的多个设备的通讯接口不匹配的情况,给现场联调工作带来困难。

同时,为了便于携带,很多电力运维人员使用笔记本电脑或者平板电脑进行电力调试,笔记本电脑或者平板电脑只有一个通讯接口,且不能扩展,只能进行单个设备的调试不能进行多设备联合调试,降低了电网运维的效率。

公开号为CN208781210U的中国实用新型专利公开了一种数据传输交互装置,包括装置壳体以及安装在装置壳体内的集成电路板;壳体正面设置有显示屏,显示屏下侧安装有用于手动控制数据接口信号转换以及传输的接口按键;壳体的一侧设置有与其他设备进行数据通信的通信接口,壳体的另一侧设置有与数据输出设备连接的数据传输接口,通信接口的上方设置有用于显示通信接口状态的指示灯。该装置设置了目前终端设备上使用最多的通信接口类型,类似于一种数据接口转换器,实现USB接口与市场上常用通信接口的转换,但是该专利存在以下问题,没有描述在该装置内数据是如何传输的,如何保障数据传输准确性的。

公开号为CN114661645A的中国实用新型专利公开了一种数据传输通道建立方法、装置以及通信模组,并公开了以下技术方案:接收终端设备的数据业务建立请求;从多个通信接口中确定与终端设备的处理器连接的目标通信接口;建立与目标通信接口对应的数据传输通道,数据传输通道用于传输数据业务。该发明专利通信模组设置多个通信接口,在与终端设备连接后,根据所连接的目标通信接口建立对应的数据传输通道来执行不同的传输数据业务,从而提高了通信模组的适配性。该发明专利的思想是通过建立不同的通道来实现不同的数据传输业务,没有办法做到多种数据传输业务的同步传输。

发明内容

本发明的目的在于克服现有技术中,上位机的单个通讯接口只能与一个设备进行数据传输的问题,提出一种适用于多设备数据传输的编码方法,可以实现上位机的单个通讯接口可以同时与多少设备进行数据传输,且保证数据传输的实时性和准确性。

为了实现上述目的,本发明采用了如下技术方案:

一种适用于多设备数据传输的编码方法,适用于多个设备通过主控板与一个上位机之间用一个数据传输通道进行数据传输,方法包括以下步骤:

S1:主控板与上位机之间用十六进制30-7E之间的ASCII码进行一级控制指令的数据传输,包括主控板通知上位机每个设备的通讯参数和通讯状态,上位机向主控板请求数据指令;

S2:各个设备与上位机上各设备对应的各个模块之间通过十六进制30-7E之间的ASCII码进行二级控制指令的数据传输,二级控制指令发送或接收时,二级控制指令的每个字符前均加上或去掉指令标识码,同一设备与对应模块之间的二级控制指令上的指令标识码相同,不同的设备与对应模块之间的二级控制指令上的指令标识码不同,不同的指令标识码用于区分二级控制指令对应的设备和模块,指令标识码用十六进制21-2F之间ASCII码;

S3:各个设备与上位机上各设备对应的各个模块之间通过十六进制00-1F、80-FF之间的ASCII码进行内容传输,内容发送或接收时,将内容中每个字符分为高位字节和低位字节,并在高位字节前加上或者去掉高位字节标识码,在低位字节前加上或者去掉低位字节标识码,不同的设备与对应模块之间的内容的高位字节标识码和低位字节标识码均不同,高位字节标识码和低位字节标识码用于区分内容对应的设备和模块,并验证内容传输的准确性。

进一步的,在步骤S2中,指令标识码为十六进制23、十六进制24、十六进制25、十六进制26、十六进制42中ASCII码中的两个或多个。

进一步的,在步骤S2中,各个设备向各个模块发送二级控制指令时,主控板用于区分发送二级控制指令的设备并在二级控制指令的每个字符前加上对应指令标识码,发送给上位机,上位机根据指令标识码判断需要接收的对应模块,将指令标识码去掉并将去掉指令标识码的二级控制指令发送给对应的模块。

进一步的,在步骤S2中,各个模块向各个设备发送二级控制指令时,上位机用于区分发送二级控制指令的模块并在二级控制指令的每个字符前加上对应指令标识码,发送给主控板,主控板根据指令标识码判断需要接收的对应设备,将指令标识码去掉并将去掉指令标识码的二级控制指令发送给对应的设备。

进一步的,在步骤S3中,各个设备向各个模块发送内容时,主控板用于区分发送内容的设备并在内容中字符的高位字节前加上对应的高位字节标识码,在内容中字符的低位字节前加上对应的低位字节标识码,发送给上位机,上位机根据高位字节标识码和低位字节标识码区分字符的高位字节和低位字节,并判断需要接收的对应模块,将高位字节标识码和低位字节标识码去掉并将去掉高位字节标识码和低位字节标识码的内容发送给对应的模块。

进一步的,在步骤S3中,各个模块向各个设备发送内容时,上位机用于区分发送内容的设备并在内容中字符的高位字节前加上对应的高位字节标识码,在内容中字符的低位字节前加上对应的低位字节标识码,发送给主控板,主控板根据高位字节标识码和低位字节标识码区分字符的高位字节和低位字节,并判断需要接收的对应设备,将高位字节标识码和低位字节标识码去掉并将去掉高位字节标识码和低位字节标识码的内容发送给对应的设备。

进一步的,在步骤S3中,当主控板或上位机接收到某一设备或模块的高位字节标识码和高位字节后,没有收到对应设备或模块的低位字节标识码,则放弃之前收到的高位字节。

与现有技术相比,本发明提供的适用于多设备数据传输的编码方法,有以下有益效果:

现有技术中,存在上位机的通讯接口类型和数量与待调试的通信接口类型和数量不匹配的情况,造成多个通信设备不同与上位机进行通信,以至于只能实现单个设备的调试,不能对多个设备进行联合调试。

一些技术人员为了解决这个问题,采用扩展上位机通信接口的方式,但是现有技术中存在的通信接口类型就有很多,比如RS232、RS485、RS232、UDP、TCP/IP等,未来还有可能会出现新的通信接口,且每种通信接口的数量也不一样,为了解决这个问题,就需要预留多种的通信接口,且每种通讯接口的数量也需要多做预留,即便如此,也会存在扩展后的上位机通信接口不能满足通信需求的情况,可能是通信接口类型不满足,可能类型满足了,但是某种类型通信接口的数量不满足,预留通信接口数量过多,还会造成上位机内部结构复杂,体积增大等弊端。

也有部分技术人员采用外接转接设备来解决这个问题,但是转接设备与上位机之间只有一个通信通道,外接设备还连接有多个需要通讯的设备,通过一个通信通道实现与多个需要通讯设备的数据传输存在难度,目前主要的解决办法有两种,一种是单个设备逐个与上位机通信,该种办法还是单独通信,转接设备仅仅起到转换接口类型的作用,并不能实现联合调试;另一种办法是通过制定通信策略,将时间分成细分时段,分时段使用上位机与转接设备之间的通信通道,虽然能实现不同设备与上位机之间的通信,但是存在传输延迟,实时性不强。

1.本发明提供的适用于多设备数据传输的编码方法,一级控制指令是主控板与上位机之间的数据传输,可以通过一级控制指令通知上位机每个设备的通讯参数和通讯状态,便于与不同设备的不同通讯接口进行通讯,避免了现有技术中通讯接口数量不够或者通讯接口不匹配没有办法进行通讯的问题,破除了进行通讯时,必须通讯接口一对一的且通讯接口必须匹配的问题,增加了通讯的便利性和普适性。

2.本发明提供的适用于多设备数据传输的编码方法,在二级控制指令每个字符前加上与设备和模块对应的指令标识码,便于区分二级控制指令的每个字符来源的去向,能区分每个二级控制指令的每个字符的来源和去向后,多个设备和多个模块可以同时进行二级控制指令的发送和接收,没有时间顺序,即发即送,实时性强,且只需要一个通道即可完成多个设备与对应模块的二级控制指令的通讯。

3.本发明提供的适用于多设备数据传输的编码方法,内容上每个字符的高位字节加上高位字节标识码,每个字符的低位字节加上低位字节标识码,不同设备或模块发送或接收的内容中高位字节标识码和低位字节标识码均不同,通过加上高位字节标识码和低位字节标识码不仅可以区分内容上字符每个字节的来源和去向,并可以对内容进行正确性校验。

4.本发明提供的适用于多设备数据传输的编码方法,一级控制指令和二级控制指令用十六进制30-7E之间的ASCII码,这些ASCII码基本都是大写字母、小写字母、数字和部分符号,能组成英文和数字,便于通过这些ASCII组成的英文和数字看出一级控制指令和二级控制指令的意思,增加一级控制指令和二级控制指令的可读性;内容采用十六进制书00-1F、80-FF对应的ASCII码,这部分ASCII码属于不可见字符,用于传输内容可以减少上位机页面上显示的文本量,使页面简洁增加可读性。

附图说明

图1为本发明中一个实施例的使用系统架构图。

具体实施方式

下面结合附图对本发明的具体实施方式做进一步说明。

请参考图1,图1是本发明中一个实施例的使用系统架构图,包括5个设备,分别是设备1、设备2、设备3、设备4、设备5,设备1-5分别与主控板之间进行通讯连接,主控板与上位机进行通讯连接,上位机与上位机内部的模块1-5可以进行通讯,设备1-5与模块1-5对应。

第一步,主控板与上位机之间用十六进制30-7E之间的ASCII码进行一级控制指令的数据传输,包括主控板通知上位机每个设备的通讯参数和通讯状态,上位机向主控板请求数据指令。通知上位机每个设备的通讯参数和通讯状态,便于与不同设备的不同通讯接口进行通讯,避免了现有技术中通讯接口数量不够或者通讯接口不匹配没有办法进行通讯的问题,破除了进行通讯时,必须通讯接口一对一的且通讯接口必须匹配的问题,增加了通讯的便利性和普适性。

另外,一级控制指令用十六进制30-7E之间的ASCII码,这些ASCII码基本都是大写字母、小写字母、数字和部分符号,能组成英文和数字,便于通过这些ASCII组成的英文和数字看出一级控制指令的意思,增加一级控制指令的可读性。

比如在本发明提供的实施中,设备1以RS232方式通讯,通讯参数为1200,N,8,1,通讯方式为ASCII码;设备2以RS485方式通讯,通讯参数为2400,E,7,2,通讯方式为HEX;设备3以RS232方式通讯,通讯参数为9600,N,8,12,通讯方式为HEX;设备4以UDP方式通讯,发送端地址192.168.1.2:400接收端地址193.168.1.2:500;设备5以TCP/IP方式通讯,发送端地址192.168.1.3:100接收端地址193.168.1.4:200。主控板通知上位机每个设备的通讯参数和通讯状态的一级控制指令可以如下:

第二步,各个设备与上位机上各设备对应的各个模块之间通过十六进制30-7E之间的ASCII码进行二级控制指令的数据传输,二级控制指令发送或接收时,二级控制指令的每个字符前均加上或去掉指令标识码,同一设备与对应模块之间的二级控制指令上的指令标识码相同,不同的设备与对应模块之间的二级控制指令上的指令标识码不同,不同的指令标识码用于区分二级控制指令对应的设备和模块,指令标识码用十六进制21-2F之间ASCII码。

具体的,各个设备向各个模块发送二级控制指令时,主控板用于区分发送二级控制指令的设备并在二级控制指令的每个字符前加上对应指令标识码,发送给上位机,上位机根据指令标识码判断需要接收的对应模块,将指令标识码去掉并将去掉指令标识码的二级控制指令发送给对应的模块。

各个模块向各个设备发送二级控制指令时,上位机用于区分发送二级控制指令的模块并在二级控制指令的每个字符前加上对应指令标识码,发送给主控板,主控板根据指令标识码判断需要接收的对应设备,将指令标识码去掉并将去掉指令标识码的二级控制指令发送给对应的设备。

比如在本发明提供的实施中,设备1和模块1通讯的二级控制指令的指令标识码可以取十六进制23对应“#”,设备2和模块2通讯的二级控制指令的指令标识码可以取十六进制26对应“&”,设备3和模块3通讯的二级控制指令的指令标识码可以取十六进制25对应“%”,设备4和模块4通讯的二级控制指令的指令标识码可以取十六进制26对应“&”,设备5和模块5通讯的二级控制指令的指令标识码可以取十六进制42对应“*”。

当模块1需要向设备1发送一条通道测试指令“test(0D)”,这是一条明码字符和一个回车符组成的二级控制指令,实际字节为74 65 73 74 0D,上位机能区分发送二级控制指令的是模块1,并在每个字符前加上对应的指令标识码“#”,加完后字符变为“#t#e#s#t#(0D)”,加完后实际字节为23 74 23 65 23 73 23 74 23 0D。上位机将“#t#e#s#t#(0D)”发送给主控板,主控板根据指令标识码#判断需要接收的对应设备是设备1,将指令标识码#去掉并将去掉指令标识码的二级控制指令,也就是“test(0D)”发送给对应的设备1。

在二级控制指令每个字符前加上与设备和模块对应的指令标识码,便于区分二级控制指令的每个字符来源的去向,能区分每个二级控制指令的每个字符的来源和去向后,多个设备和多个模块可以同时进行二级控制指令的发送和接收,没有时间顺序,即发即送,实时性强,且只需要一个通道即可完成多个设备与对应模块的二级控制指令的通讯。

二级控制指令用十六进制30-7E之间的ASCII码,这些ASCII码基本都是大写字母、小写字母、数字和部分符号,能组成英文和数字,便于通过这些ASCII组成的英文和数字看出二级控制指令的意思,增加二级控制指令的可读性。

指令标识码用十六进制21-2F之间ASCII码,这部分ASCII码主要是一些特殊字符,容易辨识且和要传输的指令和内容不会混淆,有很好的区分辨识作用,在一些优选的实施例中,当需要通讯的设备不超过5个时,指令标识码为十六进制23、十六进制24、十六进制25、十六进制26、十六进制42中ASCII码中的两个或多个,其中十六进制23对应“#”,十六进制24对应“$”,十六进制25对应“%”,十六进制26对应“&”,十六进制42对应“*”,更容易辨识和区分。

第三步,各个设备与上位机上各设备对应的各个模块之间通过十六进制00-1F、80-FF之间的ASCII码进行内容传输,内容采用十六进制书00-1F、80-FF对应的ASCII码,这部分ASCII码属于不可见字符,用于传输内容可以减少上位机页面上显示的文本量,使页面简洁增加可读性。

内容发送或接收时,将内容中每个字符分为高位字节和低位字节,并在高位字节前加上或者去掉高位字节标识码,在低位字节前加上或者去掉低位字节标识码,不同的设备与对应模块之间的内容的高位字节标识码和低位字节标识码均不同,高位字节标识码和低位字节标识码用于区分内容对应的设备和模块,并验证内容传输的准确性。

具体的,各个设备向各个模块发送内容时,主控板用于区分发送内容的设备并在内容中字符的高位字节前加上对应的高位字节标识码,在内容中字符的低位字节前加上对应的低位字节标识码,发送给上位机,上位机根据高位字节标识码和低位字节标识码区分字符的高位字节和低位字节,并判断需要接收的对应模块,将高位字节标识码和低位字节标识码去掉并将去掉高位字节标识码和低位字节标识码的内容发送给对应的模块。

具体的,各个模块向各个设备发送内容时,上位机用于区分发送内容的设备并在内容中字符的高位字节前加上对应的高位字节标识码,在内容中字符的低位字节前加上对应的低位字节标识码,发送给主控板,主控板根据高位字节标识码和低位字节标识码区分字符的高位字节和低位字节,并判断需要接收的对应设备,将高位字节标识码和低位字节标识码去掉并将去掉高位字节标识码和低位字节标识码的内容发送给对应的设备。

比如,在本发明提供的实施例中,设备1的高位字节标识码设定为A,设备1的低位字节标识码设定为B;设备2的高位字节标识码设定为C,设备2的低位字节标识码设定为D;设备3的高位字节标识码设定为E,设备3的低位字节标识码设定为F,设备4的高位字节标识码设定为8,设备4的低位字节标识码设定为9,设备5的高位字节标识码设定为0,设备5的低位字节标识码设定为1。

当设备1向模块1传输的内容为XY时,主控板知道是设备1传输的内容,将内容XY的X前加上高位字节标识码A,在内容XY的Y前面加上低位字符标识码B,将AX BY传给上位机,上位机根据高位字节标识码A和低位字节标识码B区分字符的高位字节是X,字符的低位字节是Y,需要接收的模块是设备1对应的模块1,将高位字节标识码A和低位字节标识码B去掉,并将X和Y发送给模块1。

在一些优选的实施例中,当主控板或上位机接收到某一设备或模块的高位字节标识码和高位字节后,没有收到对应设备或模块的低位字节标识码,则放弃之前收到的高位字节。

以上仅就本发明的最佳实施例作了说明,但不能理解为是对权利要求的限制。本发明不仅限于以上实施例,其具体结构允许有变化。但凡在本发明独立权利要求的保护范围内所作的各种变化均在本发明的保护范围内。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。

技术分类

06120115592923