S71500 PLC 与第三方设备 ModbusTCP 项目调试记录

您所在的位置:网站首页 信捷plcmodbustcp S71500 PLC 与第三方设备 ModbusTCP 项目调试记录

S71500 PLC 与第三方设备 ModbusTCP 项目调试记录

#S71500 PLC 与第三方设备 ModbusTCP 项目调试记录| 来源: 网络整理| 查看: 265

S71500 PLC 与第三方设备  ModbusTCP 通信 项目调试记录

项目背景:  采用 S7-1500 PLC  与 第三方非标设备(支持Modbus TCP 协议) 做 MODBUS TP 通信 ;

项目网络拓扑:

S7-1500 PLC 一侧网络拓扑,硬件配置: 硬件组态无需配置,找到Prfinet_1 端口 X1 硬件资源标识符,通常是 64,

第三方设备一侧。网络拓扑,Wifi 模块 连接控制器 RS232端口,Wifi 模块支持Modbus TCP转换位 RS232  Modbus RTU 协议。

 

软件通信功能块,采用西门子 MB_CLIENT (Modbus TCP , PLC 作为客户端,第三方设备作为 Server 服务器端)

Modbus TCP 是基于以太网的 Modbus 协议,封装了帧头。

首先是TCP 协议在此基础上才是 封装了 Modbus RTU/ASCII 协议,

既然是 TCP 协议,首先就是面向连接的通信协议,第一步是客户端发起主动连接,客户端接收连接,连接完成后,才能进行通信。也即是 一个连接的 客户端和服务器端是唯一的,可以理解位点对点通信。 和传统的 RS485 Modbus RTU 有明显区别,不是主站和从站的概念。 是客户端和 服务器端建立连接后,客户端相当于主站,主动向服务器端(从站的角色),发送读写,指令。 Modbus TCP 支持 传统RS485 Modbus RTU 协议的一致的功能码,CRC校验等功能。

下面是功能块调用实例; 调用 MB_CLIENT 客户端功能块,PLC 作为客户端,发起连接以及,读写命令。

PLC 一测 MB_CLIENT 需要配置参数,TCON_IP_v4 结构体 定义了Modbs TCP 基本信息了,如上图,在全局DB块里写 初始值,192.168.21.122,注意重点: RomotePort 设置位0,LocalPort 设置为502(西门子PLC Modbus TCP 默认端口号,通信的对方设备,TCP Server IP 必须是192.168.21.122与MB_CLINET 端设置的RomoteAddress.ADDR 一至,端口号必须是 502)。配置结束后,下载程序。最好重启CPU 一次,否则无法建立连接(每一次改变新的IP,或端口号,最好重启一次CPU)。

调用 MB_SERVER 和MB_CLIENT 基本配置步骤一样,注意RomotePort 必须是 502, LocalPort 可以是自定义的,或端口设置502。如下图:

 

西门子PLC 一侧,可看MB_CLIENT 功能块帮助,

PLC 可以按照下表 ,转换成 Modbus RTU 标准协议 ,发送读写命令。自动CRC校验。

PLC 基本Modbus TCP 通信 功能块调用原理图。

下面这个官方说明文档,示例比较完整,按照这个文档写,可避免很多不必要的问题。

net_modbus_tcp_s7-1500_s7-1200_en.pdf

需要注意的是,MODBUS TCP 功能块  MB_CLINET 发送读写命令时,比传统的 MODBUS RTU 协议多了帧头,6个字节,可一用网络调试助手软件测试,软件设置 TCP SERVER. IP地址 端口号设置为和MB_CLIENT 块参数中指定的一样,可监控PLC 发出的 读写命令。方便调试测试。

 

 

功能块参数配置最好单独建立DB块,并且DB块必须把优化访问勾选去掉。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3