[本文来自:www.pp00.com]
modbus通信协议是仪器控制中常用的通信协议之一,基于modbus协议可实现数据的读、写操作。
modbus只是工业控制中常用的一种协议方式,本篇博文依旧是通过串口通信的方式实现基本的mosbus操作。
modbus协议常用功能主要包括四部分:读写线圈、读取离散输入、读取输入寄存器和读写保持寄存器,具体基础知识可参见上文发的基础知识链接。
使用labview实现modbus协议通信有两种方式:modbus库函数实现和visa串口实现。下面分别介绍这两种方式。
1
modbus库
modbus库主要是依托封装好的labview vi库,直接调用就可以实现modbus通信。使用modbus库之前需要使用ni package manager进行安装。
最简单的方式就是直接搜索modbus,这里我们选择:labview nxg gmodbus over serialline工具包,串行通信就可以,如下图所示:
还有一种方式安装modbus库,搜索下载:labview数据记录与监控模块,如下图所示:
这两种方式下载的modbus库均位于:函数→数据通信中,如下图所示:
本篇博文将以labview数据记录与监控模块下载方式的库为例进行讲解,主要原因是使用范围广泛,而且说明文档详实。
下面分享一下modbus库的使用代码。
1.1、线圈操作
1.1.1、读取线圈
以下示例打开com3端口,通信速率115200/bps,串口模式为rtu模式,id号为1,从起始地址0读取8个数量长度的寄存器数值。
1.1.2、写入单线圈
以下示例打开com3端口,通信速率115200/bps,串口模式为rtu模式,id号为1,从起始地址2写入1个数量线圈寄存器(数值为:true)。
1.1.3、写入多线圈
以下示例打开com3端口,通信速率115200/bps,串口模式为rtu模式,id号为1,从起始地址0写入5个数量线圈寄存器(数值均为:true)。
1.2、保持寄存器操作
1.2.1、读取保持寄存器
以下示例打开com3端口,通信速率115200/bps,串口模式为rtu模式,id号为1,从起始地址0读取4个数量长度的寄存器数值。
1.2.2、 写入单个保持寄存器
以下示例打开com3端口,通信速率115200/bps,串口模式为rtu模式,id号为1,将保持寄存器地址0写入数值33。
1.2.3、写入多个保持寄存器
以下示例打开com3端口,通信速率115200/bps,串口模式为rtu模式,id号为1,从起始地址0写入4个数量保持寄存器(数值为:1、4、6和8)。
1.3、读取离散输入
以下示例打开com3端口,通信速率115200/bps,串口模式为rtu模式,id号为1,从起始地址0读取10个数量长度的寄存器数值。
1.4、 读取输入寄存器
以下示例打开com3端口,通信速率115200/bps,串口模式为rtu模式,id号为1,从起始地址1读取4个数量长度的寄存器数值。
2
visa串口
visa串口方式实现modbus协议,本质上就是自己手写协议帧,每一类帧格式都需要自己来编写。
这里可以再回顾一下labview串口通信的基础知识:labview串口通信_不脱发的程序猿的博客-csdn博客_labview 串口通信
2.1、线圈操作
2.1.1、读取线圈
以下示例打开com3端口,通信速率115200/bps,modbus功能码为01,id号为1,从起始地址0读取8个数量长度的寄存器数值。
2.1.2、 写入单线圈
以下示例打开com3端口,通信速率115200/bps,modbus功能码为05,id号为1,从起始地址0写入数值0。
2.1.3、 写入多线圈
以下示例打开com3端口,通信速率115200/bps,modbus功能码为0f,id号为1,从起始地址0写入8个数量线圈寄存器,字节数为1,数值为0。
2.2、保持寄存器操作
2.2.1、读取保持寄存器
以下示例打开com3端口,通信速率115200/bps,modbus功能码为03,id号为1,从起始地址0读取4个数量寄存器。
2.2.2、 写入单个保持寄存器
以下示例打开com3端口,通信速率115200/bps,modbus功能码为06,id号为1,从起始地址1写入数值0x0099。
2.2.3、写入多个保持寄存器
以下示例打开com3端口,通信速率115200/bps,modbus功能码为10,id号为1,从起始地址0写入4个寄存器,字节数为8,数值分别为:0x00、0x11、0x00、0x22、0x00、0x33、0x00、0x44。
2.3、读取离散输入
以下示例打开com3端口,通信速率115200/bps,modbus功能码为02,id号为1,从起始地址0读取8个数量长度的寄存器数值。
2.4、读取输入寄存器
以下示例打开com3端口,通信速率115200/bps,modbus功能码为04,id号为1,从起始地址1读取4个数量长度的寄存器数值。
人口地理学主要研究一定历史条件下的人口分布、人口变动、人口构成(年龄构成、性别构成等)、人口增长的空间变化,以及与自然和人文环境相
原来外表光鲜的当红女星,背后竟是这些不为人知的辛酸!
色漫画:在旅馆打工的屌丝男主,无意间撞上了“血红色的月亮”,从此他的人生发生了巨大的变化...第1话 你是谁
看哪种奶好,主要看一下三点: 1、看配料多少: 配料表中的配料越少越好,从下图可以看出,纯牛奶配料最少,只有生牛乳,其次为有机奶,配料
污漫画:继母所生隐居不出的妹妹,迷途知返的哥哥,当父母双亲身亡后,二者又如何将这复杂的关系进行下去?第1话
正能量第1章 孤独的爱第2章 被威胁了由于微信篇幅限制,只能发到这里啦! 点击下方阅读原文,后续剧情高潮不
这家类“明天系”、“德隆系”的民营金融控股集团,在复杂隐蔽的大量关联交易之下,诸多投资失败,核心上市公司股票被沽空,财务危机爆发,
来人间走一趟,要晒晒太阳,和心爱的人,走在大街上。
尊龙凯时平台入口 copyright 2023.皮皮自媒体资讯站,让大家及时掌握各行各业第一手资讯新闻!