第五章 Modbus总线及其应用_第1页
第五章 Modbus总线及其应用_第2页
第五章 Modbus总线及其应用_第3页
第五章 Modbus总线及其应用_第4页
第五章 Modbus总线及其应用_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《现场总线技术及其应用》(第3版)2第五章Modbus总线及其应用一、Modbus协议概述二、ModbusRTU通信三、S7-200PLC之间的ModbusRTU通信四、FX3UPLC与智能仪表的ModbusRTU通信

Modbus是Modicon公司于1979年开发的一种通用串行通信协议,是国际上第一个真正用于工业控制的现场总线协议。由于其功能完善且使用简单、数据易于处理,因而在各种智能设备中被广泛采用,得到了诸如GE、SIEMENS等大公司的应用,并把它作为一种标准的通信接口提供给用户。一、Modbus总线概述1)定义通讯数据单元Modbus协议是一种应用层报文传输协议(OSI模型第七层),它定义了一个与通信层无关的协议数据单元(ProtocolDataUnit,PDU),PDU=(功能码+数据域)。2)对物理端口不做具体要求

Modbus协议只定义了通讯消息的结构,对物理端口没有作具体规定,支持RS232、RS422、RS485和以太网接口,可以作为各种智能设备、仪表之间的通讯标准。1.协议特点

Modbus分为串口协议和网口协议,可用于不同的总线或网络。对应于不同的总线或网络,Modbus协议引入一些附加域映射成应用数据单元(ApplicationDataUnit,ADU),ADU=(附加域+PDU),包括RTU、ASCII和TCP三种报文类型。

2.总线分类Modbus的数据通信采用主/从方式。网络中只有一个主设备,通信采用查询-回应的方式进行,主设备初始化系统通信设置,并向从设备发送消息,从设备正确接收消息后响应主设备的查询或根据主设备的消息作出响应的动作。3.通信方式

主设备初始化系统通信设置,并向从设备发送消息,从设备正确接收消息后响应主设备的查询或根据主设备的消息作出响应的动作。3.通信方式功能代码表示被选中的从设备要执行何种功能,例如指定的从设备地址为1,功能码为03,则含义是要求读取1#从站的多个寄存器值并返回它们的内容。数据段包括了从设备要执行功能的任何附加消息,例如从哪个寄存器地址开始读数据、要读的寄存器数量是多少个。3.通信方式3)错误检测域为从设备提供了一种

验证消息内容是否正确的方法。二、ModbusRTU通信Modbus在串行链路上的信息帧结构如图,为了与从设备进行通讯,主设备会发送一段包含设备地址、功能代码、数据段、错误检查的信息。二、ModbusRTU通信1.地址域:信息帧的第一个字节是设备地址码,这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送;当从机回送信息时,相应的地址码表明该信息来自于何处。设备地址是一个从0~247的数字,发送给地址0的讯息可以被所有从机接收到。二、ModbusRTU通信2.功能码:定义了从设备应该执行的命令,有些功能代码还拥有子功能代码。主机请求发送,通过功码告诉从机执行什么动作;作为从机响应,从机发送的功能码与从主机得到的功能码一样,并表明从机已响应主机进行操作。二、ModbusRTU通信功能码二、ModbusRTU通信3.数据:数据区包含需要从机执行什么动作或由从机采集的返送信息,这些信息可以是数值、参考地址等;对于不同的从机,地址和数据信息都不相同。例如,功能码告诉从机读取寄存器的值,则数据区必需包含要读取寄存器的起始地址及读取长度。二、ModbusRTU通信4.差错校验:RTU模式采用循环冗余校验码(CRC),该校验方式包含两个字节的错误检测码,由传输设备计算后加入到消息中,接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,表明有错误。三、S7-200PLC之间的ModbusRTU通信

1.Modbus协议的安装Modbus协议包含在S7-200PLC的编程软件STEP7-Micro/WIN指令库(Libraries)中。当STEP7-Micro/WIN安装了指令库以后,通过指令库可以打开相应的通信编程指令。三、实现S7-200PLC之间的ModbusRTU通信

2.西门子Modbus协议库常用功能码装三、实现S7-200PLC之间的ModbusRTU通信

3.注意事项1)使用Modbus指令库前,必须将其安装到STEP7-Micro/WINV3.2或以上版本的软件中。2)S7-200PLC的CPU版本必须为2.00或者2.01(即订货号为6ES721*-***23-0BA*),1.22版本之前(包括1.22版本)的CPU不支持Modbus指令库。3)如果CPU端口被设为Modbus通信时,该端口就无法用于其它任何用途,包括用STEP7-Micro/WIN软件下载程序。三、实现S7-200PLC之间的ModbusRTU通信

4.主站寻址所有Modbus地址都是从地址1开始编号。三、实现S7-200PLC之间的ModbusRTU通信

4.从站寻址所有Modbus地址都是从地址1开始编号。三、实现S7-200PLC之间的ModbusRTU通信

5.硬件连接三、实现S7-200PLC之间的ModbusRTU通信

6.主站侧指令MBUS_CTRL指令用于初始化主站通信,可初始化、监视或禁用Modbus通讯。三、实现S7-200PLC之间的ModbusRTU通信

6.主站侧指令MBUS_MSG指令用于启动对Modbus从站的请求并处理应答。三、实现S7-200PLC之间的ModbusRTU通信

7.从站侧指令三、实现S7-200PLC之间的ModbusRTU通信

7.从站侧指令三、实现S7-200PLC之间的ModbusRTU通信

8.程序编写1)控制要求

两台型号为S7-200CPU226CN的PLC进行Modbus通信,其中一台作为Modbus通信主站,另一台作为Modbus通信从站。当主站I0.1为ON时,主站给从站发送信息,并使从站的输出Q0.0~Q0.7随主站﹠VB1000的值变化。三、实现S7-200PLC之间的ModbusRTU通信

8.程序编写2)主程序编写三、实现S7-200PLC之间的ModbusRTU通信

8.程序编写3)从站程序编写三、实现S7-200PLC之间的ModbusRTU通信

8.程序编写4)注意事项

利用主从站指令库编程前首先应为其分配存储区,否则Step7-Micro/Win编译时会报错。

1.控制要求

四、

FX3UPLC与智能仪表的ModbusRTU通信

采用MODBUSRTU通信方式,实现PLC实时读取两台智能仪表检测的现场环境温度和湿度值。

2.系统结构四、

FX3UPLC与智能仪表的ModbusRTU通信

3.智能仪表介绍四、

FX3UPLC与智能仪表的ModbusRTU通信1)通讯协议

采用MODBUSRTU通讯方式,波特率为1200、2400、4800、9600四档可调,数据格式为1个起始位、8个数据位、1个停止位、无校验位,可进行单字(双字节)读写通信。2)主要参数对应通信地址温、湿度测量值的参数首地址:1001H(十进制:4097)主控输出状态的参数首地址:1101H(十进制:4353)报警输出状态的参数首地址:1200H(十进制:4608)

3.智能仪表介绍四、

FX3UPLC与智能仪表的ModbusRTU通信

智能仪表通信参数设置主要有通讯波特率(BAND)、从站地址(ADDR)。例如本项目设置通讯波特率为9600bps,智能温度仪从站地址为1,智能湿度仪从站地址为2。

4.FX3U系列PLC通信参数设置四、

FX3UPLC与智能仪表的ModbusRTU通信

通信格式可在D8400或D8420中进行设定;使用通信端口(通道1)时设定D8400,使用通信端口(通道2)时设定D8420;例如D8420通信格式如图。

4.FX3U系列PLC通信参数设置四、

FX3UPLC与智能仪表的ModbusRTU通信

本例中,智能仪表(从站1,2)采用数据格式为:8个数据位、1个停止位、无校验位,波特率设为9600kbps,且为RS-485通信。由于同一网络需要保持数据格式一致,因此PLC侧按照上表内容含义,将D8420设置为H1081(二进制数0001,0000,1000,0001)。1)b0=1,8个数据位;2)(b2,b1)=(0,0),无校验;3)b3=0,停止位1位;4)(b7,b6,b5,b4)=(1,0,0,0),将波特率设为9600kbps;5)b12=1,设定PLC为RS-485通讯。

4.FX3U系列PLC通信参数设置四、

FX3UPLC与智能仪表的ModbusRTU通信

FX3U系列PLC的MODBUS通信协议可在D8401或D8421中进行设定。使用通道1时设定D8401,使用通道2时设定D8421;例如通道2参数设置如图。

4.FX3U系列PLC通信参数设置四、

FX3UPLC与智能仪表的ModbusRTU通信

本例中,PLC作为主站与智能仪表(从站1,2)进行MODBUSRTU通信,

因此PLC侧按照按照上表内容含义,将D8421(通道2)设置为H1(二进制数0000,0000,0000,0001)。1)b0=1,采用MODBUS协议;2)b4=0,将该台PLC设为主站;3)b8=0,选择MODBUSRTU通信方式。

4.FX3U系列PLC通信参数设置四、

FX3UPLC与智能仪表的ModbusRTU通信

其他通信参数

4.FX3U系列PLC通信参数设置四、

FX3UPLC与智能仪表的ModbusRTU通信

在MODBUS通信时,还需要使用一些特殊辅助继电器用于显示通信状态、通信信息等。例如:1)M8411:用于设定MODBUS通信参数的标志位;2)M8029:指令结束标志位;3)M8401/M8421:MODBUS通信中标志位。其他通信参数

5.FX3U系列PLCModbus通信指令四、

FX3UPLC与智能仪表的ModbusRTU通信

5.FX3U系列PLCModbus通信指令四、

FX3UPLC与智能仪表的ModbusRTU通信

6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论