ModBus通讯学习(一)TCP通讯的连接与调试

1. ModBus基本知识

ModBus是作为主从通讯的常用通讯手段之一,在实际应用场景中,主设备一般为工控机,从设备则一般为PLC,ModBus采集模块,带485通讯的传感器、仪器仪表等。根据物理接口,将通讯大体分为串口通讯和以太网口通讯。

其中RS232/RS485/RS422为串口通讯,对应ModBus RTU及ModBus ASCII通讯协议。

RS-232:全双工收发接口,这个基本用在点对点通信场景下,不适合多点拓扑连接,采用共模电平编码,一般需要Rxd/Txd/Gnd三根线连接。

RS-485:半双工收发接口,这是最为常用的modbus物理层,信号采用差分电平编码,用一对双绞线现场布线,抗干扰性能也不错

RS-422:全双工收发接口,这种物理层也有比较多的应用,信号采用差分电平编码,需要两对双绞线现场布线,抗干扰性能也不错。与RS-485相比,其优势在于可以实现全双工,通信的效率高些,所需要的代价就是现场布线需要两对双绞线,增加了一定的成本。

以太网口通讯则对应ModBus TCP通讯协议,主从设备通过以太网传输数据和通讯控制。

2.ModBus报文格式及调试

0x01 读线圈

0x02 读离散量输入

0x03 读保持寄存器

0x04 读输入寄存器

0x05 写单个线圈

0x06 写单个保持寄存器

0x0F 写多个线圈

0x10 写多个保持寄存器

2.1 TCP的报文格式

2.2 TCP的调试

MODSIM32(服务端) 网络调试助手(客户端)

Step.1 win+R打开运行,输入cmd,进入命令行窗口。

在命令行窗口输入ipconfig,查询本地的ip地址。

查找本地的IP地址,即IPv4后面这一段,我这里以192.168.1.110.为例。

Step.2 打开Modsim及网络调试助手,并进行连接。

找到菜单栏中的文件-新建后,点击连接设置-连接-Modbus/TCP连接。

输入端口号8080,点击确认。(别的也可以,自己规定的。)

窗口中4个参数的含义分别是:

Address:起始的线圈序号

Length:线圈个数

Device id :从站站号

MODBUS Point Type:Modbus通讯的功能号。

服务端设置好了后,设置客户端,即网络调试助手。协议类型选择TCP_Client,即TCP服务端。远程主机地址与命令行中查询到的地址要保持一致,端口号则与服务端设置的端口号保存一致。接受设置和发送设置,都要选择HEX而不是ASCII!!设置好了之后点击连接即可。

Step.3 按照报文格式传输数据

我们把TCP报文格式一节中,读线圈功能码的报文举例,复制过来。即

格式事务处理标识协议标识报文长度单元标识功能码起始地址寄存器个数
字节占用2221122
报文举例00 0100 0000 06010100 0000 08

事务处理标识没有什么意义。

协议标识默认00 00。

报文长度06,则表示后面还有6个字节分别是,01  01  00 00  00 08 共计6个。

单元标识表示站号地址,即上文提到的Device id(站号)

功能码01为读线圈功能码。

起始地址00 00,从0开始读取。

寄存器个数表示线圈个数,在这里为8个。

3.1 打开Modsim窗口,双击00001,将线圈状态改为开。

3.2 打开网络调试助手

将报文举例的数据复制到其中,并发送。得到服务端返回的数据。

00 01 :事务处理表示,没什么意义

00 00 :协议标识,默认00 00

00 04:报文长度,表示后面还有4个字节

01:代表站号地址,是1号站回复的

01:功能码,代表读线圈

01:代表后面读回来的数据占用1个字节

01:读回来的数据,01(十六进制)

到这里就完成了TCP的连接与调试。

  • 3
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: LabVIEW是一款功能强大的可视化编程软件,广泛应用于各个领域的自动化控制系统中。Modbus TCP协议是一种基于TCP/IP协议的通讯协议,广泛应用于各种工业自动化设备中。 使用LabVIEW的Modbus TCP函数,可以实现与PLC之间的通讯。首先需要建立一个Modbus TCP连接,通常使用TCP Client来实现。然后需要设置数据格式、寄存器地址等参数,来指定要读写的寄存器及其内容。 接下来,使用Modbus TCP函数来进行数据的读写操作。读操作可以使用Modbus TCP Read函数,指定要读取的寄存器地址及数据类型,然后将读取到的数据保存到一个变量中。写操作可以使用Modbus TCP Write函数,指定要写入的寄存器地址及数据类型,然后将要写入的数据传递给函数即可。 除此之外,还可以使用Modbus TCP Read Multiple和Modbus TCP Write Multiple函数来一次性读写多个寄存器的数据,提高通讯效率。 总之,使用LabVIEW的Modbus TCP函数,可以方便快捷地实现与PLC的通讯,为工业自动化控制系统的开发与维护提供了良好的支持。 ### 回答2: 使用LabVIEW中的Modbus TCP函数,可以方便地与PLC进行通讯Modbus TCP是一种开放式的通讯协议,其主要作用是实现设备之间的通讯。PLC作为一种广泛应用的工业控制设备,通常具有Modbus TCP通讯功能。 在使用LabVIEW与PLC进行通讯时,首先需要确保PLC与计算机处于同一局域网中,并分配好IP地址。然后,在LabVIEW中添加Modbus TCP函数库,可以在该函数库中找到与PLC通讯所需的函数。 Modbus TCP通讯通常通过TCP/IP协议进行数据传输。因此,在使用LabVIEW中的Modbus TCP函数进行通讯时,需要设置好通讯的IP地址和端口号等参数。具体步骤为:打开LabVIEW软件,选择Tools菜单下的:Instrumentation和控制→Connectivity→Modbus,然后在该模块中进行相关的设置。设置完成后,LabVIEW即可实现与PLC通讯。 通常,PLC与计算机之间的通讯需要传输大量的数据,因此在进行通讯时,需要考虑到数据的传输速度以及数据的正确性。除此之外,在实际应用中,还需要考虑到安全性、稳定性等问题。因此,在使用LabVIEW进行PLC通讯时,除了选择合适的Modbus TCP函数库之外,还需要进行充分的测试和调试,以确保通讯的准确性和稳定性。 ### 回答3: LabVIEW是一款图形化编程语言,广泛应用于工业自动化和实验室测试中。PLC(可编程逻辑控制器)是一种自动化控制系统,被广泛应用于工业控制,特别是在制造业中。 Modbus TCP是一种通讯协议,用于基于TCP/IP网络的设备间通讯。在工业控制领域中,PLC是常用的设备之一。LabVIEW通过使用Modbus TCP函数实现与PLC的通讯Modbus TCP函数库提供了一种简单、快速和可靠的方式来连接和获取PLC中的数据。使用该函数库时,用户需要指定PLC的IP地址、连接端口号、Modbus服务器地址和端口等参数。通过这些参数,LabVIEW可以知道如何与目标PLC进行通讯,在此基础上,用户可以构建自己的控制逻辑和数据采集程序。 总之,LabVIEW通过Modbus TCP函数库实现与PLC的通讯,为工业自动化和实验室测试等领域提供了便利和高效性。同时,PLC的广泛应用也加速了制造业的自动化进程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值