S7 |
您所在的位置:网站首页 › step7可以将用户程序下载到 › S7 |
S7-200 Modbus RTU 通信 为了在S7-200上应用MODBUS RTU通信协议,Micro/WIN的软件版本应当是STEP 7-Micro/WIN V3.2以上,并安装Micro/WIN32 V3.2的Instruction Library(指令库)软件包(通常没有被预装): 包括MBUS_CTRL和MBUS_MSG指令。 MBUS_CTRL指令 该指令用于主站通信初始化,主要针对S7-200 PORT0端口,需要在每个扫描周期调用,以便监视MBUS_MSG指令启动的任何突发消息进程。 ![]() 包括MBUS_INIT指令后MBUS_SLAVE指令。 MBUS_INIT指令 该指令用于启用和初始化或禁止MODBUS从站通信。在使用MBUS_SLAVE指令之前必须正确执行MBUS_INIT指令。应在每次通信状态改变时执行该指令,因此EN输入应当通过一个边沿脉冲打开或仅在首次扫描时执行。 MBUS_SLAVE指令 该指令用于为MODBUS主设备发出的请求服务,每次扫描时执行,以便该指令检查和回答Modbus。 通常组态软件没有附带指令库,需额外下载。在官网下载压缩包后,直接按提示安装,然后重进软件即可。 从站库储存区的分配方法与本章所述方法一致。 调用STEP 7 - Mciro/WIN32 V3.2 Instruction Library(指令库)需要分配库指令数据区(Library Memory)。库指令数据区是相应库的子程序和中断程序所要用到的变量存储空间。如果在编程时不分配库指令数据区,编译时会产生许多相同的错误。 ●注意库储存区不得与其它储存区重叠。 分配方法: 右击【program block】,在菜单中选择【library memory】,在弹出的选项中选择【suggest address】,即可进行地址的自动分配(一般建议手动分配)。 两台S7-200 PLC通过Modbus进行通信时,一台为从站,一台为主站,当主站I0.2为ON时,可通过Modbus方式读取从站S7-200 PLC的I0.0~I0.7的数值。 3.1接线使用RS485通信电缆连接主从站的PORT0口。 ![]() ![]() 将PC-PPI编程线缆接入主站的PORT1口,改变从站IB0状态,接着拨主站I0.2为ON,在状态表中对VB200进行监控,其值与从站IB0结果相对应。 可以直接将VB200内的信息传送到QB0上通过指示灯显示(即实现从站IB0控制主站QB0),免去了在软件上监控的麻烦: ●MODBUS从属协议通信指定端口0,当端口0被用于MODBUS从属协议通信时,就无法用于任何其他用途,包括与组态软件通信。因此若要在CPU处于RUN时监控程序或下载程序,可使用PORT1。 在实验过程(源程序)中MBUS_MSG指令接连出现了6号错误、4号错误和3号错误。 3=接收超时(从站无响应) 4=请求参数错误(slave address,Modbus address,count,RW) 6=Modbus正在忙于其它请求 仅能实现对部分问题的复现: 触发6号错误的情况:从站没有输入(IB0均处于复位状态时) 3号问题和4号问题出现的情况未知,但是可以确定的是,在接线和程序正确的情况下,连续改变I0.2的值可消除此类问题。 4 S7-200作MODBUS RTU从站例程补充说明本文是对官方文档S7-200 Modbus RTU 通信的补充。 由于官方文档并未提供从建立工程到使用MODSCAN 32进行测试的完整步骤,这里再提供一篇更为完整的教程: ModScan(主站)与200PLC(从站)的Modbus通讯 4.1梯形图由于官方教程已包含例程,可以直接引用官方例程,无需自己创建。 Modbus RTU 从站地址与S7-200的地址对应关系如下表所示: 注意!:不同设备的Modbus协议起始地址不一定一样,有些从0开始,有些从1开始;建议从0开始的设备地址加1,也从1开始。 库指令区 库指令数据区不能和保持寄存器区有任何重叠,否则在运行时会产生错误,不能正常通信。 库指令数据区是相应库的子程序和中断程序所要用到的变量存储空间,如果在编程时不分配库指令数据区,编译时会产生许多相同的错误。该区缺省情况下是从VB0开始。建议不要使用"Suggest Address"按钮进行自动分配,容易造成混乱。 向V数据储存区的变量写值 默认情况下该区变量的值为0,若想要改变变量值,需要使用MOV_B指令。 当HoldStart=VB1000时,若想令40001=0102H,则: Modbus 指令库启动后(即将MODBUS程序下载进PLC并启动CPU后),将无法通过同一个通信端口进行 CPU 监控,也无法下载新工程。如要重新下载程序,必须先将CPU手动置STOP再进行下载或者使用Port1口进行下载。 MODSCAN 32也是同样的道理,使用STEP 7-Micro/WIN下载完成后如果不退出软件,MODSCAN将无法与PLC建立通信;同理,MODSCAN与PLC建立通信后,即使将PLC的CPU拨至STOP也无法建立通信。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |