广东湘恒智能科技有限公司
主营产品: 西门子PLC,西门子模块,西门子触摸屏,西门子变频器,西门子伺服电机驱动,电缆,西门子全系列
PLC通讯MODBUS协议的应用及编程,入门就看这篇!
发布时间:2024-11-03

现为大家讲解一下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通信中所用到的特殊寄存器等等。


展开全文
拨打电话 微信咨询 发送询价