表1-1 主要设备和软件 网络视图: 图 1-1 网络视图 1 S7-1500 Modbus TCP通讯概述 S7-1500 PLC 需要通过 TIA Portal 博途软件进行组态配置,从 TIA Portal V12 SP1 开始,软件中增加了 S7-1500 的 Modbus TCP 块库,用于 S7-1500 与支持Modbus TCP 的通信伙伴进行通信,通讯块分别为MB_CLIENT和MB_SERVER,如下图1-2所示,在与S120进行通讯过程中应用的块为MB_CLIENT,S7-1500作为Modbus TCP 客户端。 图1-2 Modbus TCP块 表1-2 通讯配置表 2 PLC组态和编程 打开TIA Portal V15新建一个项目,本例中命名为“S71500_S120_ModbusTCP”,在项目中添加CPU1513-1PN,为集成的 PROFINET 接口新建一个子网并设置 IP 地址,本例中为“192. 168. 133. 101”,如图 1-3 所示: 图 1-3 新建一个 S7-1500 项目并配置 IP 地址 在 CPU1513-1PN的 OB1 组织块中添加 Modbus TCP Client 功能块“MB_CLIENT”,软件将提示会为该 FB 块增加一个背景数据块,本例中为DB1 “MB_CLIENT_DB”,如图 1-4 所示: 图 1-4 添加“MB_CLIENT”功能块 同样在 CPU1513-1PN中添加一个全局数据块用于匹配功能块“MB_CLIENT”的管脚参数“CONNECT”,本例中为数据块 DB2 “MB_CLIENT_TCON”,打开该数据块,手动输入“TCON_IP_v4”的数据类型,并填写相应的初始值,如图 1-5 所示: 图 1-5 添加一个与管脚“CONNECT”匹配的全局数据块 创建一个全局数据块用于匹配功能块“MB_CLIENT”的管脚参数“MB _ DATA _ PTR”,本例中为 DB3 “MB_Client_Data”,用于存储 Modbus通信的各数据类型,需要注意的是该数据块必须为非优化数据块(支持绝对寻址),在该数据块的属性中不勾选“优化的块访问”选项,如图 1-6所示: 图 1-6 创建 用于存储 Modbus 通信数据的数据块 图 1-7 MB_CLIENT_Data内容 创建一个全局数据块用于匹配功能块“MB_CLIENT”的管脚参数“MB_MODE”、 “MB_DATA_ADDR”、 “MB_DATA_LEN”,本例中为DB4“MB_Client_Set”,用于存储Modbus通信的模式、起始地址以及通信数据长度,将该数据块配置为非优化数据块(支持绝对寻址),在该数据块的属性中不勾选“优化的块访问”选项,如图 1-8所示: 图 1-8 创建 用于存储 Modbus 通信设置的数据块 ![]() 图 1-9 MB_CLIENT_Set数据块内容 对于功能块“MB_CLIENT”的参数管脚含义如表 1-3 所示: ![]() ![]() 表1-3 MB_CLIENT的管脚说明 详细情况请参考TIA软件帮助信息。 本例需要完成PLC控制变频器的启动、速度给定、状态反馈、修改加减速时间的操作,因而需要调用多个MB_CLIENT程序块,由于同一时间只能调用一个MB_CLIENT程序块,因此需要设置多个标志位来控制多个MB_CLIENT程序块的执行顺序。 程序段1:PLC启动时通过Initial_Call对所有MB_CLIENT完成通讯的标志位清零,如图1-10所示: ![]() 图 1-10 程序段1 程序段2:Initial_Call在第一个扫描周期为1,以后一直为0,PLC在第二个扫描周期检测到Initial_Call的下降沿后给M20.0(第一个MB_CLIENT的启动位)置1,如图1-11所示: ![]() 图 1-11 程序段2 程序段3:M20.0被置1后,调用第一个MB_CLIENT程序块,该程序块用于读取变频器的状态字(40110)和速度实际值(40111),读取的数据放到DB3.DBX0.0后的4个字节中,MB_CLIENT的模式及通信起始地址和通信字长度在DB4数据块中设置,如图1-12所示: ![]() 图 1-12 程序段3 程序段4:第一个MB_CLIENT程序块执行完成后,利用其DONE端子输出M20.2将M20.0清零,同时将第二个MB_CLIENT程序块的启动位M40.0置1,如图1-13所示: ![]() 图 1-13 程序段4 程序段5:M40.0被置1后,调用第二个MB_CLIENT程序块,该程序块用于写控制字(40100)和速度给定值(40101),要写的数据放到DB3.DBX20.0后的4个字节中,MB_CLIENT的模式及通信起始地址和通信字长度在DB4数据块中设置,如图1-14所示: ![]() 图 1-14 程序段5 程序段6:第二个MB_CLIENT程序块执行完成后,利用其DONE端子输出M40.2将M40.0清零,同时将第三个MB_CLIENT程序块的启动位M60.0置1,如图1-15所示: ![]() 图 1-15 程序段6 程序段7:M60.0被置1后,调用第三个MB_CLIENT程序块,该程序块用于修改加速时间(40322)和减速时间(40323),要写的数据放到DB3.DBX40.0后的4个字节中,MB_CLIENT的模式及通信起始地址和通信字长度在DB4数据块中设置,如图1-16所示: ![]() 图 1-16 程序段7 程序段8:第三个MB_CLIENT程序块执行完成后,利用其DONE端子输出M60.2将M60.0清零,同时将第一个MB_CLIENT程序块的启动位M20.0置1,这样就实现了对3个MB_CLIENT程序块的循环调用,如图1-17所示: ![]() 图 1-17 程序段8 程序配置完成后,下载项目到 CPU1513-1PN中。 3 S120中的配置 本例中S120的控制单元为CU320-2 PN,利用X150进行 Modbus TCP通讯,参数设置如下:(前提条件:S120已经正常调试,能够控制电机运行,S120的调试请参考调试手册)
本例中通过Modbus TCP控制VECTOR 02,在报文配置时将轴2配置到第一位,如图1-18所示,为方便参数设置将其报文配成标准报文1,如若控制其它轴,可以通过报文配置修改驱动对象的顺序来实现。 ![]() 图 1-18 S120报文配置 4 控制启停和修改参数 利用监控与强制表启动变频器并给定速度,监控强制表如图1-19所示: ![]() 图 1-19 状态监控表 在DB3.DBW20中强制写入16#047E,变频器达到准备状态,状态返回到DB3.DBW0中显示16#EB31,当在DB3.DBW20中写入16#047F,在DB3.DBW22中写入1000后,变频器达到运行,状态返回DB3.DBW0显示16#EF37,实际速度DB3.DBW2中显示1000,如图1-20所示: ![]() 图 1-20 启动变频器给定速度 ![]() 图 1-21 STARTER软件监控的控制字和速度给定 修改P1120和P1121为20s,加、减速时间的比例系数为100,因此强制DB3.DBW40 = 2000,DB3.DBW42 = 2000,将P1120和P1121修改为20s,STARTER软件中显示参数值已经变为20s,如图1-22所示: ![]() 图 1-22 STARTER软件中的显示 至此,PLC通过Modbus TCP控制变频器的启动、速度控制以及修改加减速时间的实验已经全部完成。 【西家传动原创】 |
|
来自: 阿明哥哥资料区 > 《72.西家数控服务.传动驱动》