一种AGV数据传输系统、传输方法技术方案

技术编号:20801177 阅读:32 留言:0更新日期:2019-04-06 15:00
本发明专利技术涉及工业控制技术领域,具体地说是一种AGV数据传输系统、传输方法,数据传输系统包括上位机、下位机、显示终端、通信模块;数据传输方法步骤包括对AGV工作数据封装为结构体形式,在向上位机通讯时转换为数据流形式进行传输,进入上位机后再封装为结构体形式,进而解读并显示出AGV工作数据;本发明专利技术和现有技术相比,在不影响传输速度的条件下,使得系统的可开发性、可编辑性、普适性增强。

An AGV Data Transmission System and Method

The invention relates to the technical field of industrial control, in particular to an AGV data transmission system and transmission method. The data transmission system includes a host computer, a slave computer, a display terminal and a communication module. The data transmission method steps include encapsulating the AGV working data into a structure form, converting it into a data stream form when communicating with the host computer, and encapsulating it into a data stream form after entering the host computer. Compared with the prior art, the present invention enhances the exploitability, editability and universality of the system without affecting the transmission speed.

【技术实现步骤摘要】
一种AGV数据传输系统、传输方法
本专利技术涉及工业控制
,具体地说是一种AGV数据传输系统、传输方法。
技术介绍
目前,在AGV车运行过程中,进行的工作数据传输常使用XML文档或字节流,通过与通讯协议相配合来进行AGV车工作数据的传输,这种传递方法受通讯协议的限制较大,当通讯协议出现变更时,对系统进行维护将十分耗时。因此,现有技术还有待发展。
技术实现思路
鉴于上述现有技术的不足之处,本专利技术的目的在于提供一种AGV数据传输系统、传输方法。旨在解决现有技术传输数据的问题。为了达到上述目的,本专利技术采取了以下技术方案:本专利技术提供一种AGV数据传输系统,包括:下位机,设在AGV车上,将AGV车的实时工作数据以结构体形式存储,并且将结构体形式的工作数据转换为字节流形式进行传输;上位机,接收下位机发送的AGV车的工作数据,并将字节流形式的工作数据转换为结构体形式;显示终端,所述显示终端接收并显示上位机发送的AGV车的工作数据;通信模块,用于上位机、下位机、显示终端之间的通信。进一步的,所述结构体形式工作数据采用非托管的C/C++的DLL的方式定义。进一步的,所述字节流形式的工作数据包括标识符,数据长度,长度校验码,有效数据,CRC校验码。进一步的,所述显示终端显示的AGV车的工作数据包括AGV车的身份、位置坐标、行动方向、电量。本专利技术还提供一种AGV数据传输方法,包括上述的AGV数据传输系统,还包括以下步骤:1)所述下位机获取AGV车的工作数据,并封装为结构体形式,所述结构体形式的工作数据经标识步骤转换为字节流形式的工作数据;2)所述字节流形式的工作数据通过所述通信模块传递至上位机中;3)所述字节流形式的工作数据在上位机中经封装步骤转换为结构体形式的工作数据;4)所述结构体形式的工作数据经上位机解读为AGV的实时工作数据,并显示在所述显示终端上。进一步的,步骤1)中所述标识步骤包括:a1)获取所述结构体形式工作数据的长度;a2)创建与所述结构体形式工作数据的长度相匹配的内存空间,并将所述结构体形式的工作数据放入所述内存空间;a3)将所述内存空间中所述的结构体形式的工作数据以字节流形式依次放入一个新的字节数组中;a4)取出所述字节数组,并为所述字节数组增加若干标记位,得到所述字节流形式的工作数据。进一步的,所述步骤3)之前还包括完整性验证步骤,若当前的所述字节流形式的工作数据经完整性验证步骤被验证为完整,则转至步骤3),若被验证为不完整,则舍弃当前的所述字节流形式的工作数据,并转至步骤1)。进一步的,经所述完整性验证步骤被验证为完整的所述字节流形式的工作数据需要同时满足以下条件:b1)标识符完整;b2)结构体的长度与数据长度码相同,长度校验码与数据长度码相匹配。进一步的,步骤3)中的封装步骤包括以下步骤:c1)创建与所述字节流形式的工作内容的长度相匹配的内存空间;c2)拷贝所述字节流形式的工作内容至所述内存空间中;c3)将所述内存空间中的所述字节流形式的工作内容转换为结构体形式。本专利技术与现有技术相比,在不影响传输速度的条件下,使得系统的可开发性、可编辑性、普适性增强。附图说明图1为本专利技术提供的传输方法的总流程示意图;图2为本专利技术提供的标识步骤的流程示意图;图3为本专利技术提供的封装步骤的流程示意图。具体实施方式以下对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。实施例1如图1所示,本专利技术提供一种AGV数据传输系统,包括:下位机,设在AGV车上,将AGV车的实时工作数据以结构体形式存储,并且将结构体形式的工作数据转换为字节流形式进行传输;上位机,接收下位机发送的AGV车的工作数据,并将字节流形式的工作数据转换为结构体形式;显示终端,所述显示终端接收并显示上位机发送的AGV车的工作数据;通信模块,用于上位机、下位机、显示终端之间的通信。进一步的,所述结构体形式工作数据采用非托管的C/C++的DLL的方式定义。进一步的,所述字节流形式的工作数据包括占3个字节的标识符、占1个字节的数据长度、占1个字节的长度校验码、有效数据、占2个字节的CRC校验码。本专利技术所述的AGV数据传输系统按照如下步骤运行:1)所述下位机获取AGV车的工作数据,工作数据具体为:操作模式、位置信息、叉臂当前高度、叉臂目标高度,并封装为结构体形式,具体操作为:上述程序中,[StructLayout(LayoutKind.Sequential,CharSet=CharSet.Ansi,Pack=1)]是C#引用非托管的C/C++的DLL的一种定义结构体的方式,其目的是为了在内存中排序。所述结构体形式的工作数据经标识步骤转换为字节流形式的工作数据;2)所述字节流形式的工作数据实用Socket通信传递至上位机中;3)所述字节流形式的工作数据在上位机中经封装步骤转换为结构体形式的工作数据,在本实施例中,收到的字节流长度为160,数据长度值为153,去掉前面的3字节标识符、1字节的数据长度、1字节的长度校验码后,从第6位开始取153字节长的数据作为包含了小车工作数据的字节数组;4)所述结构体形式的工作数据经上位机解读为AGV的实时工作数据,并显示在所述显示终端上。如图2所示,步骤1)中所述标识步骤包括:a1)在C#中,使用命名空间System.Runtime.InteropServices来提供一个方法合集,用来分配、复制非托管内存;a2)使用Marshal.SizeOf()来获取所述结构体形式工作数据的长度;a3)使用Marshal.AllocHGlobal()来创建与所述结构体形式工作数据的长度相匹配的内存空间,并将所述结构体形式的工作数据放入所述内存空间;a4)使用Marshal.StructureToPtr()将所述内存空间中所述的结构体形式的工作数据以字节流形式依次放入一个新的字节数组中;a5)取出所述字节数组,并为所述字节数组增加若干标记位,得到所述字节流形式的工作数据。进一步的,所述步骤3)之前还包括完整性验证步骤,若当前的所述字节流形式的工作数据经完整性验证步骤被验证为完整,则转至步骤3),若被验证为不完整,则舍弃当前的所述字节流形式的工作数据,并转至步骤1)。进一步的,经所述完整性验证步骤被验证为完整的所述字节流形式的工作数据需要同时满足以下条件:b1)标识符完整;b2)结构体的长度与数据长度码相同,长度校验码与数据长度码相匹配。如图3所示,步骤3)中的封装步骤包括以下步骤:c1)使用Marshal.AllocHGlobal()创建与所述字节流形式的工作内容的长度相匹配的内存空间;c2)使用Marshal.Copy()拷贝所述字节流形式的工作内容至所述内存空间中;c3)使用Marshal.PtrToStructure()将所述内存空间中的所述字节流形式的工作内容转换为结构体形式。此外,本专利技术实用结构体进行数据封装的优势还在于,当需要增加功能时,只需对结构体形式的工作信息进行改造即可,例如,若要添加一条小车信息,如小车板载CPU温度,只需在结构体AGVState中增加属性:{publicintCPUTemp;}即可。可以观察到,由于使用了c#中的特性使结构体的属性在内存按顺序排列,本文档来自技高网...

【技术保护点】
1.一种AGV数据传输系统,其特征在于,包括:下位机,设在AGV车上,将AGV车的实时工作数据以结构体形式存储,并且将结构体形式的工作数据转换为字节流形式进行传输;上位机,接收下位机发送的AGV车的工作数据,并将字节流形式的工作数据转换为结构体形式;显示终端,所述显示终端接收并显示上位机发送的AGV车的工作数据;通信模块,用于上位机、下位机、显示终端之间的通信。

【技术特征摘要】
1.一种AGV数据传输系统,其特征在于,包括:下位机,设在AGV车上,将AGV车的实时工作数据以结构体形式存储,并且将结构体形式的工作数据转换为字节流形式进行传输;上位机,接收下位机发送的AGV车的工作数据,并将字节流形式的工作数据转换为结构体形式;显示终端,所述显示终端接收并显示上位机发送的AGV车的工作数据;通信模块,用于上位机、下位机、显示终端之间的通信。2.根据权利要求1所述的一种AGV数据传输系统,其特征在于,所述结构体形式工作数据采用非托管的C/C++的DLL的方式定义。3.根据权利要求1所述的一种AGV数据传输系统,其特征在于,所述字节流形式的工作数据包括标识符,数据长度,长度校验码,有效数据,CRC校验码。4.根据权利要求1所述的一种AGV数据传输系统,其特征在于,所述显示终端显示的AGV车的工作数据包括AGV车的身份、位置坐标、行动方向、电量。5.一种AGV数据传输方法,包括权利要求1-4任一项所述的AGV数据传输系统,其特征在于,还包括以下步骤:1)所述下位机获取AGV车的工作数据,并封装为结构体形式,所述结构体形式的工作数据经标识步骤转换为字节流形式的工作数据;2)所述字节流形式的工作数据通过所述通信模块传递至上位机中;3)所述字节流形式的工作数据在上位机中经封装步骤转换为结构体形式的工作数据;4)所述结构体形式的工作数据经上位机解读...

【专利技术属性】
技术研发人员:金鑫
申请(专利权)人:芜湖智久机器人有限公司
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1