一种MQTT物联网到Profibus-DP现场总线的转换装置和方法与流程

文档序号:19281889发布日期:2019-11-29 23:02阅读:736来源:国知局
一种MQTT物联网到Profibus-DP现场总线的转换装置和方法与流程

本发明属于物联网技术技术领域,涉及一种mqtt物联网到profibus-dp现场总线的转换技术,尤其涉及一种基于arm平台与纯软件profibus-dp协议栈的mqtt物联网到profibus-dp现场总线转换装置和方法。



背景技术:

测控系统主要用于完成远程现场点的数据采集、处理、实时监控等功能。应用现场总线技术、物联网技术等,可实现测控系统的网络化,提高系统的性能和开放性,因此在控制系统的具体应用中,经常会产生现场总线到物联网协议转换的需求。

在现有的各种现场总线标准中,profibus现场总线是一种比较流行的现场总线标准。profibus根据应用特点分为profibus-dp、profibus-pa和profibus-fms三个兼容版本,其中,用于设备级控制和分散式i/o通信的profibus-dp是市场占有率绝对领先的技术。

mqtt是一种基于publish/subscribe模式的"轻量级"通讯协议,该协议构建于tcp/ip协议上,端和代理之间通过交换预先定义的控制报文来完成通信。mqtt是ibm开发的一个即时通信协议,提供一对多的消息发布,可以解除应用程序耦合,信息冗余小。该协议支持所有平台,可以将所有物联网设备和外部连接起来,被用作传感器和致动器的通信协议。将其作为消息推送协议的基本原理是:使用消息代理服务器(messagebroker),客户端连接上消息代理服务器,跟服务器协商可以接受哪些类型的消息,同时也可以发布自己的消息,这些消息根据协议内容可以被其它客户端收到。

mqtt最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

mqtt与profibus-dp分别作为物联网领域与现场总线领域非常有前景的两种标准,它们之间的协议转换装置无疑是控制系统中极为需要的。

现有的mqtt与profibus-dp的转换装置采用mqtt从站与profibus-dp主站结合的方式,虽然可以将profibus-dp设备接入mqtt网络中,但是其profibus主站协议部分都是使用专门的profibus-dp主站协议芯片或者专门的profibus-dp通信模块实现的,尚未见到使用纯软件profibus-dp协议栈的解决方案。使用专门的芯片或者模块,虽然开发周期短,但是成本较高,且硬件也相对复杂。



技术实现要素:

为解决现有技术中的不足,本申请提供一种mqtt物联网到profibus-dp现场总线的转换装置和方法,硬件结构简单且协议转换效率高。

为了实现上述目标,本申请的第一件发明采用如下技术方案:

一种mqtt物联网到profibus-dp现场总线的转换装置,所述物联网为mqtt物联网,所述现场总线为profibus-dp现场总线,所述装置包括主控芯片、物联网物理层收发器、profibus-dp物理层收发器、profibus-dp网络、物联网和电源;

所述主控芯片cpu通过uart口与profibus-dp物理层收发器连接,所述profibus-dp物理层收发器负责将uart口的电平信号转换为profibus-dp标准要求的rs485电平;

所述主控芯片cpu通过mii接口与物联网物理层收发器连接,所述物联网物理层收发器负责将主控芯片的mii信号转换为物联网的电平信号;

所述主控芯片cpu嵌入profibus协议栈、mqtt协议栈和嵌入式操作系统freertos,由操作系统freertos对profibus协议栈和mqtt协议栈两个任务进行消息队列管理,实现物联网和profibus-dp网络之间的数据交换;

所述电源为转换装置供电。

本发明进一步包括以下优选方案:

优选地,所述主控芯片采用arm公司cortex-m4构架的stm32f407vgt6且自带高速的uart口。

优选地,所述物联网物理层收发器采用ns公司的dp83848cvv。

优选地,所述profibus-dp物理层收发器采用ad公司支持profibus-dp标准的隔离型rs485收发芯片adm2486。

优选地,所述电源为带dc-dc隔离的电源。

本申请还公开了另一件发明,即一种mqtt物联网到profibus-dp现场总线的转换方法,基于上述的一种mqtt物联网到profibus-dp现场总线的转换装置,所述方法包括以下步骤:

步骤1:主控芯片cpu运行freertos嵌入式实时操作系统,在主控cpu中建立profibus-dp协议栈与mqtt协议栈,所述profibus-dp协议栈与mqtt协议栈各作为一个任务运行;

步骤2:初始化主控芯片cpu中的profibus-dp协议栈与mqtt协议栈;

步骤3:上位机通过mqtt协议对网关进行配置;

步骤4:启动主控芯片cpu中操作系统的任务调度器,profibus-dp协议栈与mqtt协议栈各自开始运行。

优选地,步骤4中,当上位机通过物联网及物联网物理层收发器对mqtt协议栈发送更改profibus-dp主站寄存器值的命令时,主控芯片cpu所获得的更改寄存器的值打包后通过操作系统提供的消息队列服务传递给profibus-dp任务,由profibus-dp任务利用profibus-dp物理层收发器发送给接入转换装置的profibus-dp协议从站;

同时,当profibus-dp协议主站接收到从站反馈的数据后,将反馈数据打包通过消息队列服务传送给mqtt协议栈,进一步通过物联网物理层收发器发送到上位机,mqtt协议栈收到消息后,更新自己维持的寄存器,以供mqtt主站读取。

本申请所达到的有益效果:

1.本申请profibus-dp主站协议采用软件协议栈加物理层收发器的方式,硬件结构简单,成本只有使用profibus主站通信模块或者通信芯片的十几分之一;

2.本申请主控芯片cpu采用主频高达168mhz的cortex-m4构架32位单片机stm32f407vgt6,并采用嵌入式实时操作系统作为操作系统平台,极大提高了协议转换的效率,可以很好地满足现场总线、物联网的高实时性要求。

附图说明

图1是本申请一种物联网到现场总线转换装置的结构框图;

图2是本申请具体应用场景示意图;

图3是本申请的原理图;

图4是本申请一种物联网到现场总线转换方法的流程图。

具体实施方式

下面结合附图对本申请作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本申请的保护范围。

如图1所示,本申请的一种mqtt物联网到profibus-dp现场总线的转换装置,所述物联网为mqtt物联网,所述现场总线为profibus-dp现场总线,所述装置包括主控芯片、物联网物理层收发器、profibus-dp物理层收发器、profibus-dp网络、物联网和电源;

实施例中,所述主控芯片采用arm公司cortex-m4构架的stm32f407vgt6且自带高速的uart口;

所述物联网物理层收发器采用ns公司的dp83848cvv;

所述profibus-dp物理层收发器采用ad公司支持profibus-dp标准的隔离型rs485收发芯片adm2486,所述收发芯片adm2486不仅可以实现profibus-dp物理层功能,还在片内集成磁隔离;

所述电源为带dc-dc隔离的电源。

所述主控芯片cpu通过uart口与profibus-dp物理层收发器连接,所述profibus-dp物理层收发器负责将uart口的电平信号转换为profibus-dp标准要求的rs485电平;

所述主控芯片cpu通过mii接口与物联网物理层收发器连接,所述物联网物理层收发器负责将主控芯片的mii信号转换为物联网的电平信号;

所述主控芯片cpu嵌入profibus协议栈、mqtt协议栈和嵌入式操作系统freertos,由操作系统freertos对profibus协议栈和mqtt协议栈两个任务进行消息队列管理,实现物联网和profibus-dp网络之间的数据交换;

实施例中,当上位机对profibus-dp现场总线设备进行远程控制时:

物联网物理层收发器dp83848cvv负责把从物联网接收的数据帧发送给主控芯片cpu,主控芯片cpu按照mqtt协议进行解包处理,之后把处理过的数据再按照profibus协议打包通过收发芯片adm2486送到profibus-dp现场总线上;

当上位机对profibus-dp现场总线设备进行远程监听时:

adm2486把从profibus-dp现场总线接收的数据发给主控芯片cpu,cpu按照profibus协议进行解包处理后,将数据按照mqtt协议重新打包通过dp83848cvv送到物联网,再由上位机读取处理。

本申请的一种mqtt物联网到profibus-dp现场总线的转换装置的具体应用场景如图2所示,本申请转换装置对于带有mqtt主站功能的上位机或者plc来说,是一个mqtt的从站;对于profibus-dp从站设备来说,是一个profibus-dp的主站。

本申请转换装置接收mqtt主站的数据与命令,然后将这些数据与命令转换为profibus-dp协议的数据与命令,然后下发给下面的profibus-dp从站设备。

如图3和图4所示,本申请的一种mqtt物联网到profibus-dp现场总线的转换方法,基于上述的一种mqtt物联网到profibus-dp现场总线的转换装置,所述方法包括以下步骤:

步骤1:主控芯片cpu运行freertos嵌入式实时操作系统,在主控cpu中建立profibus-dp协议栈与mqtt协议栈,所述profibus-dp协议栈与mqtt协议栈各作为一个任务运行;

步骤2:转换装置开始数据传输任务调度之前,初始化主控芯片cpu中的profibus-dp协议栈与mqtt协议栈;

步骤3:上位机通过mqtt协议对网关进行必要的配置(如profibus-dp主站相关的通信参数等);

步骤4:当配置完毕后,启动主控芯片cpu中操作系统的任务调度器,profibus-dp协议栈与mqtt协议栈各自开始运行。

实施例中,步骤4中,当上位机通过物联网及物联网物理层收发器(物联网接口芯片)对mqtt协议栈发送更改profibus-dp主站寄存器值的命令时,主控芯片cpu所获得的更改寄存器的值打包后通过操作系统提供的消息队列服务传递给profibus-dp任务,由profibus-dp任务利用profibus-dp物理层收发器(profibus-dp接口芯片)发送给接入转换装置的profibus-dp协议从站;

同时,当profibus-dp协议主站接收到从站反馈的数据后,将反馈数据打包通过消息队列服务传送给mqtt协议栈,进一步通过物联网物理层收发器发送到上位机,mqtt协议栈收到消息后,更新自己维持的寄存器,以供mqtt主站读取。

本发明申请人结合说明书附图对本发明的实施示例做了详细的说明与描述,但是本领域技术人员应该理解,以上实施示例仅为本发明的优选实施方案,详尽的说明只是为了帮助读者更好地理解本发明精神,而并非对本发明保护范围的限制,相反,任何基于本发明的发明精神所作的任何改进或修饰都应当落在本发明的保护范围之内。

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