现为大家讲解一下MODBUS的应用,现在工业控制上位机和下位机通信大部分采用通信协议为MODBUS,可想而知机器与机器通信的重要性。
一、MODBUS系统框架图
二、MODBUS运用
MODBUS 通讯的底层为 RS485 信号采用双绞线进行联接就可以了,因 此传输距离较远,可达 1000 米,抗干扰性能比较好,且成本低,在工业控制设备的通讯中被 广泛使用,现在众多厂家的变频器、控制器都采用了该协议。
传送数据格式有 HEX 码数据和 ASCII码两种,分别称为 MODBUS-RTU 和 MODBUS-ASCII 协 议,前者为数据直接传送,而后者需将数据变换为 ASCII码后传送,因此 MODBUS-RTU 协议的 通讯效率较高,处理简单,使用得更多。
MODBUS 为单主多从通讯方式,采用的是主问从答方式,每次通讯都是由主站首先发起, 从站被动应答。因此,如变频器之类的被控设备,一般内置的是从站协议,而 PLC 之类的控 制设备,则需具有主站协议、从站协议。
现在以 MODBUS-RTU 协议为例,说明通讯帧的典型格式:请求帧格式:从机地址+0x03+寄存器起始地址+寄存器数量+CRC 检验。
正常响应帧格式:从机地址+0x03+字节数+寄存器值+CRC 检验;
三、PLC 编程时应该注意以下信息
从机地址:主站发送帧中,该地址表示目标接收从机的地址;从机应答帧中,表示本机 地址;从机地址的设定范围为 1~247,0 为广播通信地址。
操作类型:表示读或写操作;0x1=读线圈操作;0x03=读寄存器操作;0x05=改写线圈 操作;0x06=改写寄存器操作。
对于变频器而言,只支持 0x03 读、0x06 写的操作。寄存器起始地址:表示对从机中要访问的寄存器地址,对于 MD280、MD320 系列变频器的 访问时,对应的就是"功能码号"、"命令地址"、"运行参数地址";数据个数:即从"寄存器起始地址"开始要连续访问的数据个数,对于寄存器变量,以 word 为单位。
寄存器参数(数据):要改写的数据(主机改写),或读取的数据(从机应答);
四、程序编程编写及讲解
以上是对PLC通信举的例子,只要设置这几个特殊寄存器就可以通信了,特别是要对RS通信指令的应用核对PLC通信中所用到的特殊寄存器等等。
PLC自动化知多点
PLC自动化编程、Csharp语言、SFC编程步进定位、伺服定位、模拟量、变频调速、PID恒压、恒温温控、机械手、ST编程、机器视觉、变频器伺服驱动器维修。分享电工技术、自动化编程技术,让我们一起学习进步掌握PLC自动化编程!
公众号
- 西门子SMARTP通过MODBUS RTU实现一主多从 2024-11-22
- 西门子S7-1200PLC 移动操作指令:读取域和写入域指令 2024-11-22
- 西门子S7-1500 PLC的通信基础知识 2024-11-22
- MCGS 和西门子1200PLC通讯设置 2024-11-22
- S7-1200与S7-300/400之间的以太网通信 2024-11-22
- 西门子S7-1200PLC点对点通信实例 2024-11-22
- S7-1500数据块:优化DB与非优化DB 2024-11-22
- 西门子S7-200 SMART PLC如何实现PID自动/手动调节切换 2024-11-22
- 西门子PLC 1214C DC/DC/DC输入和输出接线 2024-11-22
- 西门子博途S7-1500 模拟量模块读取数据程序编写 2024-11-22