一种支持各种设备无缝入云的装置和方法与流程

文档序号:17180360发布日期:2019-03-22 20:50阅读:168来源:国知局
一种支持各种设备无缝入云的装置和方法与流程

本发明属于设备通讯技术领域,具体涉及一种支持各种设备无缝入云的装置和方法。



背景技术:

目前工控领域的第三方设备的通讯接口和通讯协议多种多样,导致支持第三方设备入云的设备(以下简称入云设备)也是多种多样。一般入云设备只能支持几种第三方设备入云,如果要添加其他通讯接口或通讯协议的话,要么添加设备,要么修改程序。所以发明一种多接口无需编程的入云设备是非常有必要的,用户可以只使用一种入云设备,即可将所有第三方设备接入云平台。



技术实现要素:

发明目的:本发明的目的是为了解决现有技术中的不足,提供一种支持各种设备无缝入云的装置和方法,云端告知入云设备第三方设备的通讯协议,入云设备无需重新编程,即可跟各种第三方设备进行通讯,并对数据包进行解析,最后按照一种协议将第三方设备的数据发送给云端;云端只需支持一种协议,就可以监控各种第三方设备。

技术方案:本发明所述的一种支持各种设备无缝入云的方法,包括如下步骤:

(1)用户将第三方设备接入入云设备后,通过云端发送第三方通讯协议给入云设备;

(2)入云设备根据云端下发的第三方通讯协议跟第三方设备进行通讯;

(3)云端下发第三方设备的接收数据包结构、发送数据包结构以及入云设备和云端通讯数据包中数据体的定义文件给入云设备;

(4)入云设备在成功接收到步骤(3)的文件后,经过解析,构建通讯数据结构,开始和第三方设备进行通讯。

进一步的,步骤(3)中云端下发第三方设备的接收数据包结构具体包括:

(a)云端将第三方通讯协议的接收数据包进行描述:第一个字节为slaveid,第二个字节为功能码,第三、四个字节为寄存器起始地址,第五、六个字节为寄存器长度、最后两字节为校验码,校验方式和通讯接口,并将该接收数据包写入文件;

(b)云端将第三方通讯协议的具体功能码和第三方设备的寄存器起始地址、寄存器长度和入云设备需使用的功能码及功能码使用顺序,写入文件;

(c)云端生成一个具体数据包,将其写入文件。

进一步的,步骤(3)中云端下发第三方设备的发送数据包结构具体包括:

(a)云端将第三方通讯协议的接收数据包进行描述:第一个字节为slaveid,第二个字节为功能码,第三个字节为有效字节数,数据体的每个数据区占多少字节,最后两字节为校验码,并将该接收数据包写入文件;

(b)云端生成一个具体数据包,和解析结果,写入文件。

进一步的,步骤(3)中云端下发入云设备和云端通讯数据包中数据体的定义文件给入云设备具体包括:

云端将入云设备的发送数据包数据区在云端设置入云设备通讯协议中的排列顺序,第一个数据区的id为1,第二个数据区的的id为2,写入文件,并将文件发给入云设备。

进一步的,步骤(4)中开始和第三方设备进行通讯具体包括:

(a)读取文件,确定第三方设备接收数据包结构:

(a)确定第一个字节为slaveid,第二个字节为功能码,第三、四个字节为第三方设备的寄存器起始地址,第五、六个字节为第三方设备寄存器长度,最后两个字节为校验码,及校验方式;

(b)确定通讯接口;

(c)入云设备生成一个数据包,和文件中的数据包做结构对比,确认是否相同;

(b)读取文件,确定第三方设备发送数据包结构:

(a)确定第一个字节为slaveid,第二个字节为功能码,第三个字节为有效字节数,数据体每个数据区占用字节数,校验码所在字节和校验方式;

(b)入云设备生成一个第三方设备发送数据包,并解析,和文件中的数据包做结构对比,确认是否相同;

(c)读取文件,确定各数据区在云端与入云设备通讯数据包中的顺序;

(d)入云设备开始和第三方设备通讯,解析第三方设备的数据包,并将第三方各参数发送给云端。

本发明另外还公开了一种支持各种设备无缝入云的装置,包括:

云端:用户将第三方设备接入入云设备后,通过该云端发送第三方通讯协议给入云设备;

入云设备:该入云设备根据云端下发的第三方通讯协议跟第三方设备进行通讯;

第三方设备:云端下发该第三方设备的接收数据包结构、发送数据包结构以及入云设备和云端通讯数据包中数据体的定义文件给入云设备;入云设备在成功接收到文件后,经过解析,构建通讯数据结构,开始和第三方设备进行通讯。

进一步的,云端下发第三方设备的接收数据包结构具体包括:

(a)云端将第三方通讯协议的接收数据包进行描述:第一个字节为slaveid,第二个字节为功能码,第三、四个字节为寄存器起始地址,第五、六个字节为寄存器长度、最后两字节为校验码,校验方式和通讯接口,并将该接收数据包写入文件

(b)云端将第三方通讯协议的具体功能码和第三方设备的寄存器起始地址、寄存器长度和入云设备需使用的功能码及功能码使用顺序,写入文件;

(c)云端生成一个具体数据包,将其写入文件。

进一步的,云端下发第三方设备的发送数据包结构具体包括:

(a)云端将第三方通讯协议的接收数据包进行描述:第一个字节为slaveid,第二个字节为功能码,第三个字节为有效字节数,数据体的每个数据区占多少字节,最后两字节为校验码,并将该接收数据包写入文件;

(b)云端生成一个具体数据包,和解析结果,写入文件。

进一步的,云端下发入云设备和云端通讯数据包中数据体的定义文件给入云设备具体包括:

云端将入云设备的发送数据包数据区在云端设置入云设备通讯协议中的排列顺序,第一个数据区的id为1,第二个数据区的的id为2,写入文件,并将文件发给入云设备。

进一步的,开始和第三方设备进行通讯具体包括:

(a)读取文件,确定第三方设备接收数据包结构:

(a)确定第一个字节为slaveid,第二个字节为功能码,第三、四个字节为第三方设备的寄存器起始地址,第五、六个字节为第三方设备寄存器长度,最后两个字节为校验码,及校验方式;

(b)确定通讯接口;

(c)入云设备生成一个数据包,和文件中的数据包做结构对比,确认是否相同;

(b)读取文件,确定第三方设备发送数据包结构:

(a)确定第一个字节为slaveid,第二个字节为功能码,第三个字节为有效字节数,数据体每个数据区占用字节数,校验码所在字节和校验方式;

(b)入云设备生成一个第三方设备发送数据包,并解析,和文件中的数据包做结构对比,确认是否相同;

(c)读取文件,确定各数据区在云端与入云设备通讯数据包中的顺序;

(d)入云设备开始和第三方设备通讯,解析第三方设备的数据包,并将第三方各参数发送给云端。

有益效果:本发明的一种支持各种设备无缝入云的装置和方法,入云设备无需重新编程即可跟各种第三方设备进行通讯,入云设备根据特定协议跟云端通讯,减轻了云端设备的压力。

附图说明

图1为本发明一个实施例的通讯结构示意图。

具体实施方式

下面结合具体实施例对本发明的技术方案作进一步详细说明。

如图1所示,为本发明的一个实施例的通讯结构示意图。本发明的一种支持各种设备无缝入云的装置,包括:

云端:用户将第三方设备接入入云设备后,通过该云端发送第三方通讯协议给入云设备;

入云设备:该入云设备根据云端下发的第三方通讯协议跟第三方设备进行通讯;

第三方设备:云端下发该第三方设备的接收数据包结构、发送数据包结构以及入云设备和云端通讯数据包中数据体的定义文件给入云设备;入云设备在成功接收到文件后,经过解析,构建通讯数据结构,开始和第三方设备进行通讯。

本实施例中的入云设备,支持有线、无线网络自动切换,以有线网络为主,当有线网络不通时,自动切换到无线网络。

本实施例中的入云设备本身包含多种校验方式,如crc-16,crc-32,crc-8,异或、校验和等,便于适应第三方设备通讯协议的校验方法。

本实施例中的第三方通讯协议可以是modbus-rtu协议,但是本发明的装置中不仅限于modbus-rtu协议,也可以采用其他通讯协议。

本装置中,云端下发第三方设备的接收数据包结构具体包括:

(a)云端将第三方通讯协议的接收数据包进行描述:第一个字节为slaveid,第二个字节为功能码,第三、四个字节为寄存器起始地址,第五、六个字节为寄存器长度、最后两字节为校验码,校验方式和通讯接口,并将该接收数据包写入文件;

(b)云端将第三方通讯协议的具体功能码和第三方设备的寄存器起始地址、寄存器长度和入云设备需使用的功能码及功能码使用顺序,写入文件;

(c)云端生成一个具体数据包,将其写入文件。

本装置中,云端下发第三方设备的发送数据包结构具体包括:

(a)云端将第三方通讯协议的发送数据包进行描述:第一个字节为slaveid,第二个字节为功能码,第三个字节为有效字节数,数据体的每个数据区占多少字节,最后两字节为校验码,并将该发送数据包写入文件;

(b)云端生成一个具体数据包,和解析结果,写入文件。

本装置中,云端下发入云设备和云端通讯数据包中数据体的定义文件给入云设备具体包括:

云端将入云设备的发送数据包数据区在云端设置入云设备通讯协议中的排列顺序,第一个数据区的id为1,第二个数据区的的id为2,生成文件,并将文件发给入云设备。

本装置中,开始和第三方设备进行通讯具体包括:

(a)读取文件,确定第三方设备接收数据包结构:

(a)确定第一个字节为slaveid,第二个字节为功能码,第三、四个字节为第三方设备的寄存器起始地址,第五、六个字节为第三方设备寄存器长度,最后两个字节为校验码,及校验方式;

(b)确定通讯接口;

(c)入云设备生成一个数据包,和文件中的数据包做结构对比,确认是否相同;

(b)读取文件,确定第三方设备发送数据包结构:

(a)确定第一个字节为slaveid,第二个字节为功能码,第三个字节为有效字节数,数据体每个数据区占用字节数,校验码所在字节和校验方式;

(b)入云设备生成一个第三方设备发送数据包,并解析,和文件中的数据包做结构对比,确认是否相同;

(c)读取文件,确定各数据区在云端与入云设备通讯数据包中的顺序;

(d)入云设备开始和第三方设备通讯,解析第三方设备的数据包,并将第三方各参数发送给云端。

另外,对应的,本发明还公开了一种支持各种设备无缝入云的方法,下面以modbus-rtu协议为例进行说明,具体包括如下步骤:

(1)用户将第三方设备接入入云设备后,通过云端发送modbus-rtu协议给入云设备;

(2)入云设备根据云端下发的modbus-rtu协议跟第三方设备进行通讯;

(3)云端下发第三方设备的接收数据包结构、发送数据包结构以及入云设备和云端通讯数据包中数据体的定义文件给入云设备;

(4)入云设备在成功接收到步骤(3)的文件后,经过解析,构建通讯数据结构,开始和第三方设备进行通讯。

其中,步骤(3)中云端下发第三方设备的接收数据包结构具体包括:

(a)云端将modbus-rtu协议的接收数据包进行描述:第一个字节为slaveid,第二个字节为功能码,第三、四个字节为寄存器起始地址,第五、六个字节为寄存器长度、最后两字节为校验码,校验方式和通讯接口,并将该接收数据包写入文件;

(b)云端将modbus-rtu协议的具体功能码和第三方设备的寄存器起始地址、寄存器长度和入云设备需使用的功能码及功能码使用顺序,写入文件;

(c)云端生成一个具体数据包,将其写入文件。

其中,步骤(3)中云端下发第三方设备的发送数据包结构具体包括:

(a)云端将modbus-rtu协议的发送数据包进行描述:第一个字节为slaveid,第二个字节为功能码,第三个字节为有效字节数,数据体的每个数据区占多少字节,最后两字节为校验码,并将该发送数据包写入文件;

(b)云端生成一个具体数据包,和解析结果,写入文件。

其中,步骤(3)中云端下发入云设备和云端通讯数据包中数据体的定义文件给入云设备具体包括:

云端将入云设备的发送数据包数据区在云端设置入云设备通讯协议中的排列顺序,第一个数据区的id为1,第二个数据区的的id为2,写入文件,并将文件发给入云设备。

其中,步骤(4)中开始和第三方设备进行通讯具体包括:

(a)读取文件,确定第三方设备接收数据包结构:

(a)确定第一个字节为slaveid,第二个字节为功能码,第三、四个字节为第三方设备的寄存器起始地址,第五、六个字节为第三方设备寄存器长度,最后两个字节为校验码,及校验方式;

(b)确定通讯接口;

(c)入云设备生成一个数据包,和文件中的数据包做结构对比,确认是否相同;

(b)读取文件,确定第三方设备发送数据包结构:

(a)确定第一个字节为slaveid,第二个字节为功能码,第三个字节为有效字节数,数据体每个数据区占用字节数,校验码所在字节和校验方式;

(b)入云设备生成一个第三方设备发送数据包,并解析,和文件中的数据包做结构对比,确认是否相同;

(c)读取文件,确定各数据区在云端与入云设备通讯数据包中的顺序;

(d)入云设备开始和第三方设备通讯,解析第三方设备的数据包,并将第三方各参数发送给云端。

具体的,本方法中,云端下发第三方设备的具体数据包结构并写入文件包括:

[s001]云端确定第三方设备接收数据包的长度后,将其写入recvlen;

[s002]云端确定第三方设备发送数据包的长度后,将其写入sendlen;

[s003]云端指定入云设备与第三方设备的通讯接口,并将对应编号,写入channel;

[s004]云端确定第三方设备的设备地址后,将其写入slaveid;

[s005]云端确定第三方设备的通讯协议功能码后,将其写入function;

[s006]云端确定第三方设备的寄存器地址后,将其写入addr;

[s007]云端确定第三方设备的校验方式后,将其写入verificationmode;

[s008]云端指定第三方设备接收通讯包的每一个字节含义,将其写入recvdatadetail;

[s009]云端生成一个第三方设备接收通讯包的具体实例,将其写入recvdataexample;

[s010]云端指定第三方设备发送通讯包的每一个字节含义,将其写入senddatadetail;

[s011]云端生成一个第三方设备发送通讯包的具体实例,将其写入senddataexample;

[s012]云端确定第三方设备发送数据包中,云端所需要的字节与入云设备和云端间通讯协议的标示符的对应关系后,写入tocloud

[s013]云端通过tcp协议,将文件发送至入云设备;

对应的,入云设备的具体工作流程如下:

[s101]入云设备接收文件;

[s102]入云设备从文件中读取recvlen,确定第三方设备接收数据包的长度;

[s103]入云设备从文件中读取sendlen,确定第三方设备发送数据包的长度;

[s104]入云设备从文件中读取channel,确定与第三方设备的通讯接口;

[s105]入云设备从文件中读取slaveid,确定第三方设备的设备id;

[s106]入云设备从文件中读取function,确定第三方设备通讯协议的功能码;

[s107]入云设备从文件中读取addr,确定第三方设备的寄存器地址;

[s108]入云设备从文件中读取verificationmode,确定第三方设备通讯协议的校验方式;

[s109]入云设备从文件中读取recvdatadetail,确认第三方设备接收数据包的字节含义,并根据含义,生成一个数据包;

[s110]入云设备从文件中读取recvdataexample,确定第三方设备接收数据的示例,并与[s109]中生成的数据包做对比。一致,则执行[s111],否则返回错误给云端;

[s111]入云设备从文件中读取senddatadetail,确认第三方设备接收数据包的字节含义,并根据含义,生成一个数据包;

[s112]入云设备从文件中读取senddataexample,确定第三方设备接收数据的示例,并与[s111]中生成的数据包做对比。一致,则执行[s113],否则返回错误给云端;

[s113]入云设备从文件中读取tocloud,确定入云设备与云端通讯包中字段与第三方设备发送数据包中的字节对应关系;

[s114]入云设备根据[s101]-[s112],开始与第三方设备进行通讯。若能正常通讯,则根据[s113]中的对应关系,将数据发给云端,否则返回错误给云端。

同样的,本方法中的入云设备,支持有线、无线网络自动切换,以有线网络为主,当有线网络不通时,自动切换到无线网络。

本方法中的入云设备本身包含多种校验方式,如crc-16,crc-32,crc-8,异或、校验和等,便于适应第三方设备通讯协议的校验方法。

本发明的设备无缝入云的方法,通过云端告知入云设备第三方设备的通讯协议,入云设备无需重新编程,即可跟各种第三方设备进行通讯,并对数据包进行解析,最后按照一种协议将第三方设备的数据发送给云端。云端只需支持一种协议,就可以监控各种第三方设备。

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1