0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用LabVIEW实现Modbus通讯协议的方式

汽车玩家 来源:今日头条 作者:工控君 2020-01-16 17:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1. Modbus简介

Modbus是Modicon公司(现在已经被施耐德收购成为了施耐德旗下品牌)为其PLC通讯而开发的一种通讯协议,从1979年问世至今,已经成为工业通讯领域的业界标准(De facto),最初的Modbus通讯协议仅支持串口,分为Modbus RTU和ACSII两种信号传输模式(一般基于RS485串口通信媒介),而随着时代进步,Modbus也与时俱进,新增了Modbus TCP版本,可以通过以太网进行通讯,此外,Modbus还有一个Modicon专用的Modbus Plus(Modbus +)版本。和其他工业通信协议相比,Modbus主要的优点包括内容公开没有版权要求,不用支付额外费用、硬件要求简单容易部署、使用广泛便于系统集成。Modbus采用半双工的通讯方式,由1个子站和多个从站组成,允许多个设备连接在同一个网络上进行通讯。

2. LabVIEW实现Modbus通讯的方式

针对Modbus的串口和TCP两种不同的方式,在LabVIEW中通常可以通过以下几种方法实现Modbus通讯。其中一些实现方式需要安装LabVIEW 数据记录与监控(DSC)模块.

Modbus RTU/ASCII的实现方式

通过VISA直接进行串口操作实现

通过LabVIEW DSC模块中的Modbus模块实现

通过LabVIEW DSC模块中的OPC模块实现

Modbus TCP

通过LabVIEW标准的TCP模块实现

通过LabVIEW DSC模块中的Modbus模块实现

通过LabVIEW DSC模块中的OPC模块实现

以下就几种实现方式进行示例与说明。

3. LabVIEW通过VISA实现Modbus串口通信

VISA( Virtual Instrument Software Architecture,虚拟仪器软件架构),是美国国家仪器公司(NI)推出的通用串行通讯软件,最初用于NI公司LabVIEW等软件与串行设备进行通讯,现在已成为工业通讯的标准之一。通过VISA通讯时,软件会自动扫描机器中的串口资源供选择,对于没有串口的笔记本电脑,则通常需要通过USB-RS485的转换线来实现虚拟串口。找到串口后,建立必要的VISA资源,然后在此基础上进行通讯。采用VISA通讯时串口通讯的数据以及CRC校验值等均需要自行计算并保证准确,否则可能导致通讯失败。采用LabVIEW的VISA实现Modbus的程序示例如下图。

4. LabVIEW通过Modbus模块实现Modbus通讯

在安装了DSC扩展包后,在LabVIEW下实现Modbus通讯最方便的方法是采用Modbus模块。这时只需要选择相应的命令模块即可实现通讯与命令,而不需要自行写入相应的字符串命令。采用Modbus模块的时,可方便地在RTU和TCP两种协议中转换,根据需要选择不同协议。这是LabVIEW多态的一个非常好的示例。程序见下图。

5.LabVIEW 采用TCP模块实现Modbus通讯

在没有DSC模块的情况下,或是有特殊要求的时候,也可以直接使用LabVIEW内置的TCP模块编写Modbus通信程序。其过程与采用Modbus模块比较相似,只是在第一步建立连接时要指定Modbus通讯端口等参数,默认情况下Modbus TCP使用502端口。如果通讯不上,有必要检查防火墙是否允许该端口通讯。采用TCP模块实现Modbus通讯的程序如下。

6. LabVIEW采用OPC协议实现Modbus通信

OPC全称是OLE for Process Control,用于过程控制的OLE协议。OLE是Object Linking and Embedding,对象连接与嵌入的缩写,这是基于微软的COM技术实现数据交换的一个协议。COM指的不是互联网域名的.com,是Component Object Model(部件对象模型)的缩写——这一段解释真拗口,简言之在OPC协议出现前,工业设备之间的通讯非常繁琐复杂,而OPC将这一过程大大简化,通过OPC协议可以将各种基于不同协议的工业设备连接起来。当然,OPC协议也有一定的代价,通讯速度与可靠性、实时性都没有原生协议好。因此,在可以通过原生协议完成通讯的情况下,应尽量避免采用OPC。

OPC协议的实现要通过两部分完成。首先是OPC服务器,这是软件程序与不同协议下工业设备通讯的中间件,相当于网关。在OPC服务器下设置要连接的工业设备,把需要读/写的变量设置在其中,供OPC客户端访问。通过LabVIEW编程实现的部分相当于OPC客户端,用于从OPC服务器端读写数据。关于LabVIEW下使用OPC协议的通讯办法,NI官方有详细的文档资料。搭建的OPC服务器示意如下。

结语

Modbus协议作为一种通用的工业通讯标准,在业界得到非常广泛的应用,LabVIEW作为NI公司主力产品,同样有着相当广泛的用途,采用LabVIEW实现Modbus通讯协议,在实践中有着非常重要的意义。

采用LabVIEW实现Modbus通讯协议的方式

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LabVIEW
    +关注

    关注

    2013

    文章

    3681

    浏览量

    344285
  • MODBUS
    +关注

    关注

    28

    文章

    2387

    浏览量

    82260
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1418

    浏览量

    83015
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    PN1-D11PM工业通讯Profinet协议Modbus协议网关方案解析及应用指南

    在工业自动化领域,不同设备间的协议兼容性一直是系统集成的核心挑战。PN1-D11PM系列Profinet转Modbus RTU网关作为一款专为工业场景设计的协议转换设备,能够无缝连接Profinet总线与
    的头像 发表于 11-08 16:21 467次阅读

    智能物流立体仓库通讯困境:基于协议转换的Modbus TCP 转 Modbus RTU解决方案

    在工业自动化领域的智能物流自动化立体仓库中,塔讯 TX 131-RE-RS/TCP在某企业采用研华工控机(Modbus RTU 协议)负责仓储管理系统(WMS)的订单下发、库存统计,搭配三菱 Q 系列 PLC(
    的头像 发表于 11-08 11:25 135次阅读
    智能物流立体仓库<b class='flag-5'>通讯</b>困境:基于<b class='flag-5'>协议</b>转换的<b class='flag-5'>Modbus</b> TCP 转 <b class='flag-5'>Modbus</b> RTU解决方案

    PN1-D11PM系列Profinet转Modbus网关:工业通讯协议转换的高效解决方案

    在工业自动化领域,不同设备间的协议兼容性一直是系统集成的核心挑战。PN1-D11PM系列Profinet转Modbus RTU网关作为一款专为工业场景设计的协议转换设备,能够无缝连接Profinet总线与
    的头像 发表于 10-29 11:51 95次阅读

    Modbus协议转HTTP协议实现JSON格式对接MES等系统平台

    ),左边选择(PLC数据对接: ...),右边选择对应的PLC驱动(本案选Modbus协议集),点 确定当前选择; 2. 进入数据配置表(功能->数据转发/平台对接):根据PLC通讯
    发表于 10-27 10:33

    协议冲突到生产力爆发:EtherCAT转MODBUS RTU网关实战全解

    本文通过详述欧姆龙CP1H PLC用串口通过Modbus-RTU协议与安川V1000变频器的通讯.方便大家掌握Modbus-RTU协议
    的头像 发表于 07-29 17:30 466次阅读
    从<b class='flag-5'>协议</b>冲突到生产力爆发:EtherCAT转<b class='flag-5'>MODBUS</b> RTU网关实战全解

    什么是Modbus TCP协议

    的TCP/IP协议栈,通过以太网进行通信,并支持多个设备同时访问同一个Modbus TCP服务器。 一、协议本质与设计目标 起源与定位 Modbus TCP是
    的头像 发表于 07-23 17:18 3273次阅读
    什么是<b class='flag-5'>Modbus</b> TCP<b class='flag-5'>协议</b>

    阀岛如何通过Modbus转Profibus网关实现高效通讯

    在现代工业自动化领域,不同设备和系统间的数据通讯是确保生产效率与安全的关键因素之一。为了实现不同通信协议的设备无缝对接,提高整个自动化系统的兼容性和灵活性,开疆智能Modbus转Pro
    的头像 发表于 07-22 15:27 265次阅读
    阀岛如何通过<b class='flag-5'>Modbus</b>转Profibus网关<b class='flag-5'>实现</b>高效<b class='flag-5'>通讯</b>!

    Modbus协议转换:让工业设备轻松“对话”

    在工业自动化中,Modbus协议是设备通信的关键。本文将聚焦于Modbus协议的串口与网口转换需求,并通过ZLG致远电子PXB-6030D的案例,展示如何轻松实现协议转换。
    的头像 发表于 07-15 11:47 458次阅读
    <b class='flag-5'>Modbus协议</b>转换:让工业设备轻松“对话”

    Profibus转Modbus网关:大屏数据通讯协议转换方案

    广泛使用的通讯协议,各自在不同工业自动化系统中发挥着重要作用。当面对特定应用需求如LED大屏显示时,实现这两种协议之间的无缝连接和数据通讯
    的头像 发表于 06-21 17:09 594次阅读
    Profibus转<b class='flag-5'>Modbus</b>网关:大屏数据<b class='flag-5'>通讯</b>的<b class='flag-5'>协议</b>转换方案

    Profinet转Modbus网关:破解热处理炉协议壁垒的温控通讯密码

    在当今的工业自动化领域,不同协议之间的转换是一个重要的技术问题。尤其是Profinet和Modbus两种常见的通讯协议,它们分别在工业自动化的不同层面中发挥关键作用。Profinet是
    的头像 发表于 06-13 18:19 395次阅读
    Profinet转<b class='flag-5'>Modbus</b>网关:破解热处理炉<b class='flag-5'>协议</b>壁垒的温控<b class='flag-5'>通讯</b>密码

    Modbus转Profinet网关:工控机的“逆袭神器”

    引言 在工业自动化领域,不同设备往往采用不同的通信协议Modbus是一种广泛应用的串行通讯协议,而Profinet网关则是基于以太网的工业
    发表于 05-20 16:50

    告别协议冲突!Modbus转Profinet助力风速风向仪无缝对接

    在工业自动化与物联网蓬勃发展的当下,风速风向仪作为环境监测与工业生产过程中的关键设备,其数据的实时准确传输对气象监测、风力发电、港口作业等领域至关重要。然而,风速风向仪常采用Modbus协议进行通信
    发表于 05-19 15:47

    Modbus转PROFINET网关模块助力上位机与电机协议转换通讯

    Profinet协议,作为从站,这时候需要Modbus TCP协议设备与Profinet协议设备进行通讯
    的头像 发表于 03-11 11:03 480次阅读
    <b class='flag-5'>Modbus</b>转PROFINET网关模块助力上位机与电机<b class='flag-5'>协议</b>转换<b class='flag-5'>通讯</b>

    EtherNet/IP转Modbus网关模块在罗克韦尔PLC与Modbus上位机协议转换通讯中的实战案例

    在工业自动化控制系统中,常常会遇到不同品牌和通信协议的设备需要协同工作的情况。本案例中,客户现场采用了 AB PLC,但需要控制的变频器仅支持 Modbus 协议。为了
    的头像 发表于 03-04 09:13 702次阅读
    EtherNet/IP转<b class='flag-5'>Modbus</b>网关模块在罗克韦尔PLC与<b class='flag-5'>Modbus</b>上位机<b class='flag-5'>协议</b>转换<b class='flag-5'>通讯</b>中的实战案例

    安科瑞AWT100-DP 无线通讯终端,支持串口MODBUS RTU协议

    域的采集,每个寄存器地址范围不超过64个。 ■支持对每个MODBUS地址范围预设报警地址以及报警值触发报警。每个地址域报警地址目前多5个。 ■支持服务器MODBUS或者LoRa透传通讯。 ■支持固定IP和动态域名解析
    的头像 发表于 01-02 10:40 695次阅读
    安科瑞AWT100-DP 无线<b class='flag-5'>通讯</b>终端,支持串口<b class='flag-5'>MODBUS</b> RTU<b class='flag-5'>协议</b>