马上注册,享受更多特权
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 CaCa士力架 于 2021-10-7 11:02 编辑
汇川AM400/600与西门子S7-1200/1500通信 ·概述 基于博途软件中的MB_CLIENT功能块,以S7-1513-1 PN PLC 为主站,读取汇川AM402-1608TP PLC(从站)特定地址内的数据。
一、主站的配置 1、新建一个项目,完成S7-1513-1 PN的组态
2、S7-1513-1 PN分配地址 IP地址:192.168.0.1 子网掩码:255.255.255.0
3、数据的准备 ·建立DB1背景数据块,Slave_IP的数据类型是TCON_IP_v4。 用于填入MB_CLIENT的CONNECT,提供从站的通信地址参数。ADDR中的参数与从站通信地址一致,如下图所示。 ·建立DB2(地址是DB3)背景数据块,date的数据类型是int型数组,用于存储从站读取的数据,如下图所示。
4、调用MB_CLIENT功能块 通过“MB_CLIENT”指令,可以在客户端和服务器之间建立连接、发送 Modbus 请求、接收响应并控制 Modbus TCP 客户端的连接终端。 (右侧指令栏:通信 - 其它 - MODBUS TCP - MB_CLIENT) 调用MB_CLIENT块时,要生成一个唯一的背景数据块(DB块)。填好名称并确认。 注:(首次使用可忽略) 1、S7-1200 固件版本 V4.1 及更高版本和 S7-1500,支持“MB_CLIENT”指令的所有库版本。 2、主站可以连接多个从站(数量取决于CPU),1对多使用时,请记住以下规则: ·每个“MB_CLIENT”连接都必须使用唯一的背景数据块。 ·对于每个“MB_CLIENT”连接,必须指定唯一的服务器 IP 地址。 ·每个“MB_CLIENT”连接都需要一个唯一的连接 ID。 ·该指令的各背景数据块都必须使用各自相应的连接 ID。连接 ID 与背景数据块组合成对,对每个连接,组合对都必须唯一。 ·根据服务器组态,可能需要或不需要 IP 端口的唯一编号。
5、MB_CLIENT功能块简介 ·REQ ,当REQ为True指令就会发送通信请求。 ·DISCONNECT ,0:建立通信;1:中断通信(默认为0)。 · MB_MODE ,选择 Modbus 的请求模式(读取、写入或诊断)或直接选择 Modbus 功能。MB_MODE=0:读取,MB_MODE=1 和 2:写入。 ·MB_DATA_ADDR, 访问从站中特定数据的起始位置(根据数据类型不同,有所变化)。 ·MB_DATA_LEN,数据长度:从站数据访问的位数或字数。 ·MB_DATA_PTR,主站中,用于存储读取从站数据的指针(或主站发送给从站数据的指针)。 ·CONNECT,通俗的来说就是从站的通信地址参数。 指向连接描述结构的指针,可以使用以下结构(系统数据类型): TCON_IP_v4:包括建立指定连接时所需的所有地址参数。使用 TCON_IP_v4 时,可通过调用指令“MB_CLIENT”建立连接; TCON_Configured:包括所组态连接的地址参数。使用 TCON_Configured 时,将使用下载硬件配置后由 CPU 创建的已有连接。
举例: 我想读取从站%MW0-%MW9 中的10个int类型数据。 令 MB_MODE=0(读取)、MB_DATA_ADDR=30001(查下表)、MB_DATA_LEN=10 。 MB_DATA_ADDR=P#DB3.DBX0.0 INT 10,CONNECT="DB1".Slave_IP,DISCONNECT默认0, REQ = True。 (MB_CLIENT功能块完整介绍信息可单击实例化后的MB_CLIENT块,按F1查询) 位地址的访问同理,可自行尝试。
注: 1、MB_CLIENT_DB实例化块引脚可使用MB_CLIENT_DB[DB1]中的变量。(在实例化过程中,自动生成),如下图所示。
2、MB_CLIENT功能块的部分介绍。
二、从站的配置 ·AM402-1608TP 组态,选择ModbusTCP从站 ·填写IP地址。(与主站设置保持一致) ·从站设置 ·建立测试数组,并赋值
三、通信 将S7-1513-1 PN PLC 、 汇川AM402-1608TP 、电脑通过交换机连接,通过配置与启动MB_CLIENT_DB实例化功能块可在名称为DB2的背景数据块中读取从站相应地址中的数据。
|