[汇川] 一步步实现汇川PLC与西门子S7-1500 PLC Modudbus TCP通讯

[复制链接]
查看69752 | 回复0 | 2024-9-5 09:43:16 | 显示全部楼层 |阅读模式


一、软件硬件版本

1.1硬件
汇川侧控制器:汇川 AM401 1608TP/TN
西门子侧控控制器 : CPU 1511T-1 PN
1.2软件
汇川PLC 编程软件:inoproshop  版本:1.7.3
西门子PLC软件:TIA博图V17
二、设备连接及使用


2.1设备连接

本次实验使用的是 AM401 1608TP/TN  控制器,请按照下图拓扑结构连接测试平台(若使用的是其他 Q 系列产品,连接支持 Modbus TCP 协议的端口即可)。


2.2新建工程

双击打开软件 inoproshop 1.7.3,点击【新建工程】。


选择【标准工程】,以及对应的PLC型号,用户可在此处修改文件名称和设置文件存储地址,完成后点击【确定】。


2.3通讯设置

AM401-CPU1608TP/TN的EtherNet网口默认IP地址192.168.1.88,本次实验与上位机连接的Ethenet口,需打开以太网设置,点击【属性】→【Internet协议版本4(TCP/IPv4)】→修改上位机IP地址,使其与Q1Port1的IP地址在同一网段(此处设置的IP地址不可与Q1Port口的IP地址完全一致),最后点击【确定】。



回到软件内,双击左侧树形菜单【Device】,在弹出页面中点击【通讯设置】,点击左上角【扫描网络】,选择扫描出来的AM401-CPU1608TP/TN,最后点击【确定】,建立通讯。


2.4 Modbus TCP从站功能(AM400作主站,客户端)

配置:汇川PLC的IP地址为:192.168.1.88  ;西门子1500的IP地址192.168.1.1  端口号为502;双方的交互数据量为:接收和发送各50个INT。  2.4.1 添加主从站  

右击左侧树型菜单【网络组态】→单机PLC图标,在弹出对话框中勾选上ModbusTCP主站,并在右侧的网络设备列表,双击Modbus_TCP。



2.4.2 配置从站

双击【Modbus_TCP_Slave】,在通用选项卡修改从站(西门子1500PLC) IP 地址为 192.168.1.1(从站设备 IP 地址,确保同一个网段),端口设 置为 502。



选择【ModbusTCP 从站通道设置】,点击左下角【添加】,设置通道名以及访问类型还有长度跟偏移量,如下图示,在本次测试中, 设置通道名为 Channal0,访问类型为【读保持寄存器(功能码03)】(访问类型函数代码与 Modbus 报文功能码一致),长度为【50】,起始地址为【0】,点击【确定】建立通道。


选择【ModbusTCP 从站通道设置】,点击左下角【添加】,设置通道名以及访问类型还有长度跟偏移量,如下图示,在本次测试中, 设置通道名为 Channal0,访问类型为【写过高寄存器(功能码16)】(访问类型函数代码与 Modbus 报文功能码一致),长度为【50】,起始地址为【50】,点击【确定】建立通道。


2.4.3通讯变量配置

点击左侧树型菜单【Application】→【添加对象】→【全局变量列表】,添加全局变量表。



在上述添加的全局变量表“GVL”中添加两个数组变量,变量绑定的地址需根据读写的特性与ModbusTCP【Internal IO映射】中所自动分配的地址保持一致。



2.4.4 主站功能调试

双击左侧项目树中的【PLC_PRG】中编写程序【SM3001:=TRUE;】,SM3001为modbusTCP从站的使能元器件。



登录程序到 AM401-CPU1608TP/TN 中并启动程序。



2.4.5 西门子从站功能调试


打开TIA PortalV17软件,新建个项目,本例中命名为"S7 1500ModbusTCP Final V17",在项目中添加CPU1516-3PN/DP,为集成的 PROFINET接口新建一个子网并设置IP地址,本例中为“192.168.1.1”。
如图 下所示:



在左侧项目树中双击【添加新块】;单击【组织块】;单击【Cyclic interrupt】并在右侧弹出的窗口中将循环时间设置为【5000us】;单击【确定】。        



在OB30组织块【Cyclic interrupt】中添加 Modbus TCP Server 功能块 “MB_SERVER”,软件将提示会为该 FB 块增加一个背景数据块,本例中为 DB1“MB_SERVER_DB”



在左侧项目树中双击【添加新块】;单击【数据块】;本例中DB块的名称为【Modbus-Tcp-Server】并在单击【确定】。



在上述添加的DB块【Modbus-Tcp-Server】中定义与下图相同数据类型的变量。并将下图所框选位置修改为汇川主站的IP地址以及端口号。



在左侧项目树中右击DB块【Modbus-Tcp-Server】点击【属性】,在弹出的对话框中单机【属性】选项卡,取消勾选【优化的访问块】。



在OB块【Cyclic interrupt】中按照下图所示方式,填写MB_SERVER功能块的引脚。



下载程序同时监控西门子PLC和汇川PLC程序,通过汇川PLC写数据,此时西门子PLC接收到的数据与汇川侧写的数据显示一致。
(在下载西门子PLC程序后,需要将西门子PLCstop一下再启动参数才能生效)  


通过西门子PLC写数据,此时汇川PLC接收到的数据与西门子侧写的数据显示一致。


2.5 Modbus TCP从站功能(AM400做从站,服务器)
配置:汇川PLC的IP地址为:192.168.1.88端口号:502  ;西门子1500的IP地址为192.168.1.1;双方的交互数据量为:接收和发送各50个INT。
2.5.1 添加从站  

右击左侧树型菜单【网络组态】→单击PLC图标,在弹出对话框中勾选上ModbusTCP从站。默认是已经勾选上的了。



2.5.2 配置从站

按照下图所示设置汇川PLC的端口号,本案例以默认的端口号【502】做演示。如下图所示。

2.5.3 通讯变量配置  

点击左侧树型菜单【Application】→【添加对象】→【全局变量列表】,添加全局变量表。



在上述添加的全局变量表“GVL_1”中添加两个数组变量,分别绑定地址MW0和地址MW50。


2.5.4 从站功能调试

登录程序到 AM401-CPU1608TP/TN 中并启动程序。



2.5.5西门子主站功能调试

在OB30组织块【Cyclic interrupt】中添加两个Modbus TCP Client 功能块“MB_CLIENT”,软件将提示会为该FB块增加一个背景数据块,本例中为 DB3“MB_SERVER_DB”,两个功能块都绑定同一个背景数据块【DB3 MB_SERVER_DB】



在左侧项目树中双击【添加新块】;单击【数据块】;本例中DB块的名称为【Modbus-Tcp-Client】并在单击【确定】。



在上述添加的DB块【Modbus-Tcp-Client】中定义与下图相同数据类型的变量。并将下图所框选位置修改初始值为汇川从站的IP地址以及端口号。



在左侧项目树中右击DB块【Modbus-Tcp-CLient】点击【属性】,在弹出的对话框中单机【属性】选项卡,取消勾选【优化的访问块】。



在OB块【Cyclic interrupt】中按照下图所示方式,填写MB_CLient功能块的引脚。以及编写如下程序。







下载程序同时监控西门子PLC和汇川PLC程序,通过汇川PLC写数据,此时西门子PLC接收到的数据与汇川侧写的数据显示一致。
(在下载西门子PLC程序后,需要将西门子PLCstop一下再启动参数才能生效)



通过西门子PLC写数据,此时汇川PLC接收到的数据与西门子侧写的数据显示一致。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则