Modbus通信如何调试?它广泛应用在哪些方面?
扫描二维码
随时随地手机看文章
Modbus是一种串行通信协议,是Modicon(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。它应用在电子控制器上,作为一种通用语言,使得控制器之间、控制器经由网络(例如以太网、485总线)和其他设备之间可以通信。自从1979年成为工业串行链路的事实标准以来,Modbus使得成千上万的自动化设备能够通信。
Modbus是一种请求/应答协议,并且提供功能码规定的服务。功能码是Modbus请求/应答PDU(协议数据单元)的元素。本文件的作用是描述Modbus事务处理框架内使用的功能码。目前Modbus已经成为工业领域通信协议的业界标准,并且现在是工业电子设备之间常用的连接方式。
Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。
Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。
对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。
Modbus调试
首先要对安装Modbus设备的串口通信参数进行配置,连接参数,串口选择串口通信的串口,这里选择上面一对虚拟串口中的COM4。
点击协议选择按钮,在弹出对话框中设置Modbus传输模式,我们选择RTU进行测试。
通信参数设置
通信参数包括:起始地址(Address)、Device Id、寄存器长度(Length)及读取的功能代码。
其中MODBUS Point Type(Modbus数据模型)包括以下四种:
· 01:COIL STATUS:读写开关量类型(DO),位操作,可用于设定端口输出状态,或者读取该位的输出状态,常用于电磁阀输出、MOSFET输出、LED显示等;
· 02:INPUT STATUS:读开关量类型(DI),位操作,通过外部设定改变输入状态,可读但是不可写,常用于拨码开关、接近开关等;
· 03:HOLDING REGISTER:保持寄存器,读写WORD类型,字操作,输出参数或者保持参数,控制器运行时被设定的某些参数,可读可写,常用于模拟量输出设定值、PID运行参数、变量阀输出大小、传感器报警上下限等;
· 04:INPUT REGISTER:输入寄存器,读WORD类型,字操作,输入参数,控制器运行时从外部设备获得的参数,可读但是不可写,常用于模拟量输入。
连接
点击菜单“连接设置”中的“连接”,弹出的界面中配置好通讯参数之后,点击“确定”,建立连接。
使用串口助手调试
查询
主机ModScan32软件发送读从机线圈寄存器当前状态的指令,从机(串口助手模拟从机)收到的数据为:01 01 00 00 00 64 3D E1
应答
正常主机发送一个数据包,我们要在一定时间内,发送一个固定格式的数据包作为应答,否则会提示超时“MODBUS Message TIME-OUT”或者接收的应答格式不正确“Received Invalid Response to MODBUS Query”或者提示校验错误“Checksum Error in Response Message”等提示。
Modbus通信主要应用在以下几个方面:
工业自动化控制:Modbus被广泛应用于工业自动化控制系统中,用于连接PLC、modbus传感器、执行器等设备,实现监控和控制。
智能家居:Modbus也可以应用于智能家居系统中,用于连接各种传感器和执行器,实现远程控制和监测。
能源监控:Modbus协议还可以用于能源监控系统,连接电表、燃气表、水表等设备,实现能源数据的采集和分析。
环境监测:Modbus协议可以应用于环境监测系统中,连接各种传感器和仪器,监测环境参数如温度、湿度、气压等。
智能交通:Modbus也可以应用于智能交通系统中,用于连接交通控制设备、车辆检测器等,实现交通信号的控制和管理。
工业物联网:在工业物联网领域,Modbus可以用于连接各种工业设备,实现数据采集和监控,助力工厂智能化升级。
电力行业:在电力行业中,Modbus被用于监控电力设备的运行状态,实现电力数据的采集和分析。
物流行业:在物流行业中,Modbus可以连接各种物流设备,实现物流信息的采集和传输,提高物流效率。