PLC通讯MODBUS协议的应用及编程
叙述:现为大家讲解一下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如何通过MODBUS控制变频器
一、MODBUS通信概述
MODBUS协议分为串行链路上MODBUS协议和基于TCP/IP协议的MODBUS 协议。 串行链路上MODBUS协议有MODBUS ASCAII(字符串) 和MODBUS RTU两种 。
200SMART所提供的MODBUS协议库能够支持MODBUS RTU通信。MODBUS RTU 是以16进制的数值进行发送 。
MODBUS ASCAII是以ASCAII码的方式进行发送,一个数据采用RTU方式发送只需要一个字节,而用ASACII码发送需要两个字节,发送时间。
PLC与变频器串口通信有很多通信方式,但常用的、首选的就是MODBUS通信方式 ,在实际的工业控制中应用非常广泛;这一期我们向大家一起分享变频器如何与PLC通过MODBUS RTU的方式进行控制。
二、MODBUS库指令详解
库指令分两种,一个是主站库,一个是从站库。
主站是PLC作为MODBUS的主站主动去读取其他设备的数据;从站是PLC作为MODBUS的从站,其他设备来读取数据;本期我们分享的是PLC作主站,变频器做从站。
STEP7-MinWIN SMART软件自带MODBUS通信库指令
初始化指令:
控制指令:
三、MODBUS RTU的通信格式(协议)
通信协议有:站号、功能码、数据地址、数据内容、校验位、结束符组成。
校验 :N=None无校验 E=Even偶校验 O=Odd奇校验
判断数据位中为1的个数是奇数还是偶数(选择偶校验如16#03中如果为1 的个数是偶数时,校验位为1 ;如果为1 的个数是奇数时,校验位为0 。选择奇校验时,为1的个数是偶数时,校验位为0 ;为1的个数是奇数时,校验位为1)
功能码指定了对从站设备读操作还是写操作,同时也指定了MODBUS寄存器地址的类型,常用功能码有:
四、PLC与变频器通信硬件的连接
在变频器上面涉及通信的端子标记有A/B RS585+/RS485-或RJ11的网口;找到相关变频器的说明书查看通信端口的接线定义,以下是台达VFD-M系列的变频器通信口接线定义
五、变频器通信参数的设置
1、 要实现变频器或仪表和PLC能正常通信,彼此的接口和协议需要一致,除此之外参数的设置也必须一致
P00 设03(频率指令)
P01 设03(运转指令)
P88 设03 (通讯地址,0-254之间)
P89 设02(波特率选择)
P92 设04 (数据格式,200SMART不支持2个停止位,因此只能选04/05任意一个参数)
P157 设01 (变频器默认的就是MODBUS模式)
2、查看说明书的启停、频率给定、运行频率、电压电流等反馈参数的地址
信息帧格式说明
表示读2103 2104两个地址的数据放在17 70 和00 00的地址里
通信协议的参数地址定义:
运行命令地址2000H 频率命令地址2001H
输出频率地址2103H 输出电流地址22104H
输出电压地址2106H 变频器温度地址 210DH
六、MODBUS通信程序的编写
在程序的开始可以加一段初始化对所有的位进行复位。
相关问答
plc怎样设置modbustcp通讯?
1.将通讯模块接入PLC的通讯口,扩展的网口连接modbusTCP客户端(PC或者DCS)。2.通过IE浏览器查看BCNet模块的参数在IE浏览器中,如果BCNet模块当前的IP地址,...
带modbusrtu的温控器怎样和plc通讯?
走485通信,接两根线就可以了。温控器与PLC通信站号,通信格式,通信模式。设置一至。然后在PLC中编程MODBUS程度。编写程序的内容主要是写:站号,功能码,通信...
ABBPLC与MODBUS如何通信?
ABBPLC和MODBUS可以通过串口通信或以太网通信实现相互交互。1.首先,ABBPLC和MODBUS设备之间需要建立物理连接,串口通信可以通过RS485或RS232接口进行连接,...
plc1200怎么设置modbus485通讯?
要设置PLC1200的Modbus485通讯,首先需要确保PLC1200具备Modbus485通讯模块。然后,进入PLC1200的编程软件中,选择通讯设置,配置Modbus485通讯参数,包括波特....
labview怎么通过modbus和plc通讯?
在LabVIEW中通过Modbus与PLC进行通信,可以使用NI的Modbus库或第三方库来实现。下面是一般的步骤:1.准备硬件:首先,连接您的PLC设备和计算机。通常使用串口...
plc通讯怎么编程?
PLC通讯编程是通过编写适当的程序来实现PLC与其他设备之间的数据交换。首先,需要选择合适的通讯协议,如Modbus、Profibus等。然后,在PLC编程软件中配置通讯模...
如何对应PLC地址和MODBUS地址?
在使用MODBUS协议与PLC通信时,需要进行PLC地址和MODBUS地址之间的转换。这通常需要进行手动设置。以下是基本的对应关系:1.MODBUS地址是一个16位的整数(0-65...
变频器如何与Plc连接?
plc与变频器有三种连接控制方法:1、用PLC的模拟量输出模块控制变频器PLC的模拟量输出模块输出0~5V电压信号或4~20mA电流信号,作为变频器的模拟量输入信号,...
西门子plc与科思modbus模块的连接?
西门子plc与科思modbus模块连接方式有3种:1.RS232,使用RS232时,其接口通常情况下是DB9.由于RS232实际上只用到了收、发、地三根线路,因此,也有可能使用简化...
ab系列的plc如何进行modbus通讯?
AB系列的PLC可以通过使用Modbus通讯模块来实现Modbus通讯。按照以下步骤进行设置和配置:1.插入Modbus通讯模块:将Modbus通讯模块插入到AB系列PLC的扩展槽中。...