S的MODBUS详细应用示例

上传人:012****78 文档编号:141913581 上传时间:2020-08-14 格式:DOC 页数:40 大小:767KB
返回 下载 相关 举报
S的MODBUS详细应用示例_第1页
第1页 / 共40页
S的MODBUS详细应用示例_第2页
第2页 / 共40页
S的MODBUS详细应用示例_第3页
第3页 / 共40页
S的MODBUS详细应用示例_第4页
第4页 / 共40页
S的MODBUS详细应用示例_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《S的MODBUS详细应用示例》由会员分享,可在线阅读,更多相关《S的MODBUS详细应用示例(40页珍藏版)》请在金锄头文库上搜索。

1、S的MODBUS详细应用示例 作者: 日期: 修订历史记录日期版本说明(修改、补充、删除)作者审核第一版(已完)研发部孙宝东研发部王振岳5.13库存储区补充说明(36页)注释:红色字体为注意点;蓝色为修改补充;紫色为问题总结;茶色为暂时删除;绿色为住宿。目 录前言4第一章 使用Modbus协议库6前言61.使用Modbus主设备协议的要求62.使用Modbus从站设备协议的要求73.Modbus主设备协议的初始化和执行时间74.Modbus从站协议的初始化和执行时间85.Modbus主设备寻址86.Modbus 从站寻址87.Modbus主设备MBUS_MSG执行错误代码108.Modbus从

2、站协议执行错误代码119.Modbus主设备高级用户信息11第二章 使用Modbus主设备指令14前言141.MBUS_CTRL指令(初始化主设备)152.MBUS_MSG指令16第三章 使用Modbus从站指令22前言221.MBUS_INIT指令(初始化从站)232.MBUS_SLAVE指令263.常见问题26第四章 下载与通讯测试281.编译、下载282.通讯31附表 主从站指令配置表37S7200 Modbus 主从协议版本(09年初稿版)制作:研发部前言:Modbus从站协议指令可以配置S7-200,将其用作Modbus RTU从站,与Modbus主设备通讯。Modbus主设备协议指

3、令可以配置S7-200,将其用作Modbus RTU主设备,与一个或多个Modbus从站通讯。Modbus指令安装在STEP 7 Micro/WIN指令树的协议库文件夹中。有了这些新指令, 您可以将S7-200用作Modbus设备。当您在程序中加入Modbus指令时,会在项目中自动增加一个或多个相关子程序。Modbus主设备协议库有两个版本。一个版本使用CPU的端口0,另一个则使用CPU的端口1。端口1协议库的POU名中带有_P1(MBUS_CTRL_P1),表示POU使用CPU上的端口1。在其它方面,这两个Modbus主设备协议库完全一致。Modbus从站协议库仅支持端口0通讯。在 STEP

4、 7 Micro/WIN 中,Modbus RTU 协议和 USS 协议操作库位于操作树的“库”文件夹中。MODBUS 函数库要求 STEP 7 Micro/WIN 为 V3.2 或更高版本。图1: 添加函数库第一章 使用Modbus协议库前言:这些库是附加函数库,并非组态软件 STEP 7 Micro/WIN 的组成部分。您如果需要使用 Modbus RTU 协议,必须先安装“STEP 7 Micro/WIN 32 Toolbox V1.0”(包括库),然后安装运行“STEP 7 Micro/WIN”。就会出现如图1的库。注意:这个函数库包含可以在 STEP 7 Micro/WIN V3.2

5、 中使用的 Modbus RTU 协议库和 USS 协议库。如果您安装了 STEP 7 Micro/WIN V4.0 SP5 或者更高版本,那么操作库中就会包含下列函数: Modbus RTU Master V1.2 对应端口 0 和端口 1 Modbus RTU Slave V1.0 对应端口 0 USS protocol V2.3 对应端口 0 和端口 1下面我对Modbus RTU各指令功能与使用方法分别加以讲解:1. 使用Modbus主设备协议的要求Modbus主设备协议指令使用下列S7-200资源:初始化Modbus主设备协议可以为Modbus主设备协议通讯指定专用CPU端口。当CP

6、U端口被用于Modbus主设备协议通讯时,就无法用于任何其它用途,包括与STEP 7-Micro/WIN通讯。MBUS_CTRL指令控制将端口0分配给Modbus协议或PPI,Mode为1时分配给Modbus协议,为0是分配给PPI。将S7-200上的模式开关设为“STOP”,端口零也会被复位为PPI协议模式。MBUS_CTRL_P1指令(来自端口1协议库)控制将端口1分配给Modbus主设备协议或PPI。Modbus主设备协议指令影响与CPU通讯端口中自由端口通讯相关的所有SM位置。Modbus主设备协议指令使用3个子程序和1个中断例程。Modbus主设备协议指令要求两个Modbus主设备指

7、令和支持例程有1620个字节的程序空间。Modbus主设备协议指令的变量要求284个字节的V存储器程序块。该程序块的起始地址由用户指定,专门保留用于Modbus变量。 S7-200 CPU必须是固化程序修订版2.00或最好支持Modbus主设备协议库(CPU MLFB 21x-2xx23-0XB0)。Modbus主设备协议库为某些功能使用用户中断。用户中断不能被用户程序禁用。提示:欲将CPU通讯端口操作更换回PPI以便与STEP 7-Micro/WIN通讯,将MBUS_CTRL指令的模式参数设置为零(0)。您还可以将S7-200上的模式开关设置到STOP模式位置。这些方法中的任一个将设置CPU

8、通讯端口与STEP 7-Micro/WIN通讯。2. 使用Modbus从站协议的要求Modbus从站协议指令使用下列S7-200资源:初始化Modbus从站协议为Modbus从站协议通讯指定端口0。当端口0被用于Modbus从站协议通讯时,就无法用于任何其它用途,包括与STEP 7-Micro/WIN通讯。MBUS_INIT指令控制将端口0指定给Modbus从站协议或PPI。Modbus从站协议指令影响与端口0中自由端口通讯相关的所有SM位置。Modbus从站协议指令使用3个子程序和2个中断例程。Modbus从站协议指令要求两个Modbus主设备指令和支持例程有1857个字节的程序空间。Mod

9、bus从站协议指令的变量要求779个字节的V存储器程序块。该程序块的起始地址由用户指定,专门保留用于Modbus变量。一定要设置V存储区,不然编译时会出现错误信息,设置过程很简单: 点击“文件”“库存储区”,出现如下画面(进行设置即可):提示:欲将端口0操作更换回PPI以便与STEP 7-Micro/WIN通讯,用另一条MBUS_INIT指令重新指定端口0。您还可以将S7-200上的模式开关设为STOP模式。这样会将参数复原为端口0。3. Modbus主设备协议的初始化和执行时间Modbus主设备协议每次扫描都需要少量的时间来执行MBUS_CTRL指令。MBUS_CTRL初始化Modbus主设

10、备(首次扫描)需要大约1.11毫秒的时间,以后扫描需要大约0.41毫秒。当MBUS_MSG子程序执行请求时,将执行扫描时间。大多数时间用于计算Modbus CRC的请求和应答。CRC (循环冗余检验)确保通讯消息的完整性。对于请求和应答中的每个字,扫描时间会延长约1.85毫秒。最大请求/应答(读取或写入120个字)使扫描时间延长约222毫秒。当在从站中接收应答并至少发出请求时,主要是读取请求在延长扫描时间。当将数据发送到从站并至少收到应答时,主要是写入请求在延长扫描时间。4. Modbus从站协议的初始化和执行时间Modbus通讯使用CRC (循环冗余检验)确保通讯消息的完整性。Modbus从

11、站协议使用预先计算数值的表格减少处理消息的时间。该CRC表初始化约需240毫秒。初始化在MBUS_INIT子程序中进行,通常在进入RUN模式后用户程序首次扫描时执行。如果MBUS_INIT子程序和任何其它初始化程序要求的时间超过500微秒扫描监视时间,您需要复原监视定时器,并将输出保持在启用状态(如果扩展模块要求)。输出模块监视定时器可用向模块输出写入的方法复原。请参阅监视复原指令。当MBUS_SLAVE子程序执行请求时,扫描时间会延长。由于大多数时间用于计算Modbus CRC,对于请求中和应答中的每个字节,扫描时间会延长约420微秒。最大请求/应答(读取或写入120个字)使扫描时间延长约1

12、00毫秒。5. Modbus主设备寻址Modbus地址通常写作包含数据类型和偏移量的5个字符的数值。第一个字符决定数据类型,最后四个字符在数据类型中选择适当的数值。然后,Modbus主设备指令将地址映射至正确的功能,以便发送到从站。Modbus主设备指令支持下列Modbus地址:00001至09999是离散输出(线圈)10001至19999是离散输入(触点)30001至39999是输入寄存器(通常是模拟量输入)40001至49999是保持寄存器所有Modbus地址均以1为基位,表示第一个数据值从地址1开始。有效地址范围将取决于从站。不同的从站将支持不同的数据类型和地址范围。6. Modbus

13、从站寻址Modbus地址通常被写为包含数据类型和偏移量的5个字符的数值。第一个字符决定数据类型,最后四个字符在数据类型中选择适当的数值。然后,Modbus主设备将地址映射至正确的功能。Modbus从站指令支持下列地址:00001至00128是映射至Q0.0 - Q15.7的离散输出10001至10128是映射至I0.0 - I15.7的离散输入30001至30032是映射至AIW0至AIW62的模拟输入寄存器40001至4xxxx是映射至V存储器的保持寄存器。所有Modbus地址均以1为基位。下表显示映射至S7-200地址的Modbus地址。Modbus地址S7-200地址00001Q0.00

14、0002Q0.100003Q0.2.00127Q15.600128Q15.710001I0.010002I0.110003I0.2.10127I15.610128I15.730001AIW030002AIW230003AIW4.30032AIW6240001Hold Start40002HoldStart+240003HoldStart+4.4xxxxHoldStart+2 x (xxxx-1)Modbus从站协议允许您限制Modbus主设备可存取的输入、输出、模拟输入和保持寄存器(V存储器)数量。MBUS_INIT指令的MaxIQ参数指定Modbus主设备允许存取的离散输入或输出(I或Q)的最大数目。MBUS_INIT指令的MaxAI参数指定Modbus主设备允许存取的输入寄存器(AIW)的最大数目。MBU

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号