ImageVerifierCode 换一换
格式:DOCX , 页数:45 ,大小:479.20KB ,
资源ID:28632979      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28632979.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最新S7200的MODBUS详细应用示例.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最新S7200的MODBUS详细应用示例.docx

1、最新S7200的MODBUS详细应用示例S7200的MODBUS详细应用例如 修订历史记录日期版本说明修改、补充、删除作者审核第一版已完研发部孙宝东研发部王振岳5.13库存储区补充说明36页注释:红色字体为注意点;蓝色为修改补充;紫色为问题总结;茶色为暂时删除;绿色为住宿。S7200 Modbus 主从协议版本09年初稿版制作:研发部前言:Modbus从站协议指令可以配置S7-200,将其用作Modbus RTU从站,与Modbus主设备通讯。Modbus主设备协议指令可以配置S7-200,将其用作Modbus RTU主设备,与一个或多个Modbus从站通讯。Modbus指令安装在STEP 7

2、 Micro/WIN指令树的协议库文件夹中。有了这些新指令, 您可以将S7-200用作Modbus设备。当您在程序中参加Modbus指令时,会在工程中自动增加一个或多个相关子程序。Modbus主设备协议库有两个版本。一个版本使用CPU的端口0,另一个那么使用CPU的端口1。端口1协议库的POU名中带有_P1(MBUS_CTRL_P1),表示POU使用CPU上的端口1。在其它方面,这两个Modbus主设备协议库完全一致。Modbus从站协议库仅支持端口0通讯。在 STEP 7 Micro/WIN 中,Modbus RTU 协议和 USS 协议操作库位于操作树的“库文件夹中。MODBUS 函数库要

3、求 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 中使用的 Modbus RTU 协议库和 USS 协议库。如果您安装了 STEP 7 Micro/WIN V4.0 SP5 或者

4、更高版本,那么操作库中就会包含以下函数: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端口。当CPU端口被用于Modbus主设备协议通讯时,就无法用于任何其它用途,包括与STEP 7-Micro/WIN通讯。MBUS_CTRL指令控

5、制将端口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主设备指令和支持例程有1620个字节的程序空间。Modbus主设备协议指令的变量要求284个字节的V存储器程序块。该程序块的起始地址由用户指定,

6、专门保存用于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通讯端口与STEP 7-Micro/WIN通讯。2.使用Modbus从站协议的要求Modbus从站协议指令使用以下S7-200资源:初始

7、化Modbus从站协议为Modbus从站协议通讯指定端口0。当端口0被用于Modbus从站协议通讯时,就无法用于任何其它用途,包括与STEP 7-Micro/WIN通讯。MBUS_INIT指令控制将端口0指定给Modbus从站协议或PPI。Modbus从站协议指令影响与端口0中自由端口通讯相关的所有SM位置。Modbus从站协议指令使用3个子程序和2个中断例程。Modbus从站协议指令要求两个Modbus主设备指令和支持例程有1857个字节的程序空间。Modbus从站协议指令的变量要求779个字节的V存储器程序块。该程序块的起始地址由用户指定,专门保存用于Modbus变量。一定要设置V存储区,

8、不然编译时会出现错误信息,设置过程很简单: 点击“文件“库存储区,出现如下画面进行设置即可:提示:欲将端口0操作更换回PPI以便与STEP 7-Micro/WIN通讯,用另一条MBUS_INIT指令重新指定端口0。您还可以将S7-200上的模式开关设为STOP模式。这样会将参数复原为端口0。3.Modbus主设备协议的初始化和执行时间Modbus主设备协议每次扫描都需要少量的时间来执行MBUS_CTRL指令。MBUS_CTRL初始化Modbus主设备(首次扫描)需要大约1.11毫秒的时间,以后扫描需要大约0.41毫秒。当MBUS_MSG子程序执行请求时,将执行扫描时间。大多数时间用于计算Mod

9、bus CRC的请求和应答。CRC (循环冗余检验)确保通讯消息的完整性。对于请求和应答中的每个字,扫描时间会延长约1.85毫秒。最大请求/应答(读取或写入120个字)使扫描时间延长约222毫秒。当在从站中接收应答并至少发出请求时,主要是读取请求在延长扫描时间。当将数据发送到从站并至少收到应答时,主要是写入请求在延长扫描时间。4.Modbus从站协议的初始化和执行时间Modbus通讯使用CRC (循环冗余检验)确保通讯消息的完整性。Modbus从站协议使用预先计算数值的表格减少处理消息的时间。该CRC表初始化约需240毫秒。初始化在MBUS_INIT子程序中进行,通常在进入RUN模式后用户程序

10、首次扫描时执行。如果MBUS_INIT子程序和任何其它初始化程序要求的时间超过500微秒扫描监视时间,您需要复原监视定时器,并将输出保持在启用状态(如果扩展模块要求)。输出模块监视定时器可用向模块输出写入的方法复原。请参阅监视复原指令。当MBUS_SLAVE子程序执行请求时,扫描时间会延长。由于大多数时间用于计算Modbus CRC,对于请求中和应答中的每个字节,扫描时间会延长约420微秒。最大请求/应答(读取或写入120个字)使扫描时间延长约100毫秒。5.Modbus主设备寻址Modbus地址通常写作包含数据类型和偏移量的5个字符的数值。第一个字符决定数据类型,最后四个字符在数据类型中选择

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

12、主设备将地址映射至正确的功能。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地址00001 Q0.000002 Q0.100003 Q0.2. .00127 Q15.600128 Q15.710001 I0.010002 I0.110003 I0.2.

13、 .10127 I15.610128 I15.730001 AIW030002 AIW230003 AIW4. .30032 AIW6240001 Hold Start40002 HoldStart+240003 HoldStart+4. .4xxxx HoldStart+2 x (xxxx-1)Modbus从站协议允许您限制Modbus主设备可存取的输入、输出、模拟输入和保持存放器(V存储器)数量。MBUS_INIT指令的MaxIQ参数指定Modbus主设备允许存取的离散输入或输出(I或Q)的最大数目。MBUS_INIT指令的MaxAI参数指定Modbus主设备允许存取的输入存放器(AIW)

14、的最大数目。MBUS_INIT指令的MaxHold参数指定Modbus主设备允许存取的保持存放器(V存储器字)的最大数目。请参阅MBUS_INIT指令说明,了解有关为Modbus从站设定存储器限制的进一步详情。7.Modbus主设备MBUS_MSG执行错误代码MBUS_MSG错误代码 说明0 无错误1 应答时奇偶校验错误:仅当使用偶校验或奇校验时才会发生。传输被干扰,可能会收到不正确的数据。该错误通常是由电气故障(例如错误接线或者影响通讯的电噪声)引起的。2 未使用3 接收超时:在超时时间内,没有来自从站的应答。可能有以下一些原因:与从站的电气连接有问题、主设备和从站设置为不同的波特率/奇偶校

15、验设置,以及错误的从站地址。4 请求参数出错:一个或多个输入参数(从站、读写、地址或计数)被设置为非法值。检查文档中输入参数的允许值。5 Modbus主设备未启用:在调用MBUS_MSG前,每次扫描时都调用MBUS_CTRL。6 Modbus忙于处理另一个请求:一次只能激活一条MBUS_MSG指令。7 应答时出错: 收到的应答与请求不相关。这表示从站中出现了某些错误,或者错误的从站应答了请求。8 应答时CRC错误: 传输被干扰,可能会收到不正确的数据。该错误通常是由电气故障(例如错误接线或者影响通讯的电噪声)引起的。101 从站不支持在该地址处所请求的功能:请参阅使用Modbus主设备指令帮助

16、主题中的所需Modbus从站功能支持表。102 从站不支持数据地址:地址加上计数所要求的地址范围超出了从站所允许的地址范围。103 从站不支持数据类型:该地址类型不被从站支持。104 从站故障105 从站已接受消息但应答延迟:这是MBUS_MSG的错误,用户程序应在稍后重新发送请求。106 从站忙,因此拒绝消息:可以再次尝试相同的请求,以获得应答。107 从站因未知原因而拒绝消息108 从站存储器奇偶校验错误:从站中有错误。8. Modbus从站协议执行错误代码错误代码 说明0 无错误1 内存范围错误2 非法波特率或奇偶校验3 非法附属地址4 非法Modbus参数值5 保持存放器与Modbus

17、附属符号重叠6 收到奇偶校验错误7 收到CRC错误8 非法功能请求/功能不受支持9 请求中的非法内存地址10 附属功能未启用9. Modbus主设备高级用户信息返回的功能与请求不匹配(错误代码7)。Modbus主设备将在设置完成和错误输出参数前,重新发送请求两个附加时间。通过查找Modbus主设备符号表中的符号mModbusRetries然后在执行MBUS_CTRL后改变该值,可以更改重试次数。mModbusRetries值是字节类型,重试范围是0至255。内部字符超时如果应答中字符之间的时间超出了指定的时间限制,Modbus主设备将中止来自从站的应答。缺省时间设置为100毫秒,可允许Modb

18、us主设备协议用于大多数有线或电话调制解调器联网的从站。如果检测到该错误,MBUS CTRL错误参数将设置为错误代码3。当字符之间需要较长的时间时,可能是因为传送介质(例如电话调制解调器)或者因为从站自身需要更多的时间。通过查找Modbus主设备符号表中的符号mModbusCharTimeout然后在执行MBUS_CTRL后改变该值,可以延长该超时时间。mModbusCharTimeout值是整型类型,范围是1至少30000毫秒。单个对多个位/字写入功能某些Modbus从站不支持Modbus功能写入单个离散输出位(Modbus功能5)或写入单个保持存放器(Modbus功能6)。这些设备仅支持多

19、个位写入(Modbus功能15)或多个存放器写入(Modbus功能16)。如果从站不支持单个位/字Modbus功能,那么MBUS_MSG指令将返回错误代码101。Modbus主设备协议允许强制MBUS_MSG指令,以使用多个位/字Modbus功能来取代单个的位/字Modbus功能。通过查找Modbus主设备符号表中的符号mModbusForceMulti然后在执行MBUS_CTRL后改变该值,可以强制执行多个位/字指令。mModbusForceMulti值是布尔数据类型, 应该设置为1以在写入单个位/存放器时强制使用多个位/字功能。累加器用途累加器(AC0、AC1、AC2, AC3)由Modb

20、us主设备指令使用,并在交叉参考列表中显示。累加器中的数值被Modbus主设备指令保存和恢复。当执行Modbus主设备指令时,保存累加器中的所有用户数据。保持存放器地址大于9999Modbus保持地址通常在40001到49999的范围内。该范围对大多数应用程序来说足够了,但是某些数据映射到保持存放器的Modbus从站所具有的地址超过9999。这些设备不适合常规的Modbus寻址方案。Modbus主设备指令支持通过可选的寻址方法对大于9999的保持存放器进行寻址。MBUS_MSG指令允许参数地址具有附加范围以支持保持存放器地址的扩充范围。400001至465536用于保持存放器例如:要访问保持存

21、放器16768,MBUS_MSG的地址参数应该设置为416768。扩充寻址允许访问Modbus协议支持的65536个可能地址的全部范围。该扩充寻址仅支持保持存放器。第二章 使用Modbus主设备指令前言:欲在S7-200程序中使用Modbus主设备指令,请执行以下步骤:1. 在程序中插入MBUS_CTRL指令,并在每次扫描时执行MBUS_CTRL。您可以使用MBUS_CTRL指令初始化或更改Modbus通讯参数。当您插入MBUS_CTRL指令时,会在程序中自动增加几个受保护的子程序和中断例程。2. 使用协议库存储器命令,为Modbus主设备协议指令需要的V存储器指定一个起始地址。3. 将一条或

22、多条MBUS_MSG指令放入程序中。可以根据需要将尽可能多的MBUS_MSG指令放入程序中,但每次只能激活这些指令中的一条。4. 连接S7-200 CPU上的端口0 (或对端口1协议库是端口1)和Modbus从站之间的通讯电缆。留神:带有不同参考电位的互连装置会引起互连电缆中出现意外电流。这些意外电流会引起通讯错误或损坏装置。确保所有用通讯电缆连接的设备共享一个共用电路参考或单独隔离,以防不需要的电流通过。Modbus主设备指令使用如下显示的Modbus功能读取或写入特定的Modbus地址。Modbus从站必须支持所需的Modbus功能才能读取或写入特定的Modbus地址。所需的Modbus从

23、站功能支持Modbus地址 读取或写入所需的Modbus从站功能00001 09999 离散输出读取写入功能1功能5用于单个输出点 功能15用于多个输出点10001 19999离散输出读取写入功能2不能30001 39999 输入存放器读取写入功能4不能40001 49999 保持存放器读取写入功能3功能6用于单个存放器 功能16用于多个存放器1.MBUS_CTRL指令(初始化主设备) 输入/输出操作数 数据类型模式 I, Q, M, S, SM, T, C, V, L 布尔波特 VD, ID, QD, MD, SD, SMD, LD, AC, Constant, *VD, *AC, *LD

24、双字奇偶校验 VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *AC, *LD 字节超时 VW, IW, QW, MW, SW, SMW, LW, AC, Constant, *VD, *AC, *LD 字完成 I, Q, M, S, SM, T, C, V, L 布尔错误 VB, IB, QB, MB, SB, SMB, LB, AC, *VD, *AC, *L 字节用于S7-200端口0的MBUS_CTRL指令(或用于端口1的MBUS_CTRL_P1指令)可初始化、监视或禁用Modbus通讯。在使用MBUS_MSG指令之前,必须正确执行MBU

25、S_CTRL指令。指令完成后立即设定完成位,才能继续执行下一条指令。在每次扫描且 EN输入翻开时执行该指令。MBUS_CTRL指令必须在每次扫描时(包括首次扫描)被调用,以允许监视随MBUS_MSG指令启动的任何突出消息的进程。除非每次调用MBUS_CTRL,否那么Modbus主设备协议将不能正确运行。模式输入数值选择通讯协议。输入值1将CPU端口分配给Modbus协议并启用该协议。输入值0将CPU端口分配给PPI系统协议并禁用Modbus协议。 波特参数将波特率设为1200、2400、4800、9600、19200、38400、57600或115200波特。奇偶校验参数被设为与Modbus从

26、站奇偶校验相匹配。所有设置使用一个起始位和一个停止位。可接受的数值为: 0 - 无奇偶校验1 - 奇校验2 - 偶校验超时参数设为等待来自从站应答的毫秒时间数。超时数值可以设置的范围为1毫秒到32767毫秒。典型值是1000毫秒(1秒)。超时参数应该设置的足够大,以便从站有时间对所选的波特率作出应答。超时参数用于确定Modbus从站是否对请求做出应答。超时值确定Modbus主设备在发送了请求的最后一个字符后,将要等待多长时间才会有应答的第一个字符。如果在超时规定的时间内至少收到应答的一个字符,Modbus主设备将从Modbus从站接收到整个应答。MBUS_CTRL指令完成时,完成输出翻开。错误

27、输出包含执行该指令的结果。下表定义了在执行MBUS_CTRL指令时会产生的错误条件。 MBUS_CTRL错误代码 说明0 无错误1 奇偶校验选择无效2 波特率选择无效3 超时选择无效4 模式选择无效2.MBUS_MSG指令输入/输出数据类型操作数首次 I, Q, M, S, SM, T, C, V, L (以上升沿检测元素为条件的功率流)布尔 从站VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *AC, *LD字节 读写 VB, IB, QB, MB, SB, SMB, LB, AC, Constant, *VD, *AC, *LD字节 地址VD

28、, ID, QD, MD, SD, SMD, LD, AC, Constant, *VD, *AC, *LD双字 计数 VW, IW, QW, MW, SW, SMW, LW, AC, Constant, *VD, *AC, *LD整型 DataPtr&VB双字 完成 I, Q, M, S, SM, T, C, V, L布尔 错误 VB, IB, QB, MB, SB, SMB, LB, AC, *VD, *AC, *LD字节 MBUS_MSG指令(或用于端口1的MBUS_MSG_P1)用于启动对Modbus从站的请求并处理应答。当EN输入和首次输入翻开时,BUS_MSG指令启动对Modbus

29、从站的请求。发送请求、等待应答、并处理应答通常需要屡次扫描。EN输入必须翻开以启用请求的发送,并应该保持翻开直到完成位被置位。注释: 一次只能激活一条MBUS_MSG指令。如果启用了多条MBUS_MSG指令,那么将处理所执行的第一条MBUS_MSG指令,之后的所有MBUS_MSG指令将中止并产生错误代码6。首次参数应该在有新请求要发送时才翻开以进行一次扫描。首次输入应当通过一个边沿检测元素(例如上升沿)翻开,这将导致请求被传送一次。从站参数是Modbus从站的地址。允许的范围是0到247。地址0是播送地址,只能用于写请求。不存在对地址0的播送请求的应答。并非所有的从站会支持播送地址。S7-20

30、0 Modbus从站协议库不支持播送地址。读写参数指定是否要读取或写入该消息。读写参数允许使用以下两个值:0 -读,1 -写。 离散输出(线圈)和保持存放器支持读取和写入请求。离散输入(触点)和输入存放器仅支持读取请求。地址参数是起始的Modbus地址。允许使用以下取值范围:00001至09999是离散输出(线圈);10001至19999是离散输入(触点);30001至39999是输入存放器;40001至49999是保持存放器 地址的指定取值范围基于Modbus从站支持的地址。计数参数指定在该请求中读取或写入的数据元素的数目。计数值是位数(对于位数据类型)和字数(对于字数据类型)。地址0xxxx -计数是要读取或写入的位数。地址1xxxx -计数是要读取的位数。地址3xxxx -计数是要读取的输入存放器的字数。地址4xxxx -计数是要读取或写入的保持存放器的字数。MBUS_MSG指令将读取或写入最大120个字或1920个位(240字节的数据)。计数的实际限值将取决于Modbus从站中的限制。DataPtr参数是指向S7-200 CPU的V存储器中与读取或写入请求相

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1