0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于S7-300400 CPU集成PN接口的Modbus TCP在TIA Portal的使用入门

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-06-23 11:14 次阅读

基于S7-300400 CPU集成PN接口的Modbus TCP在TIA Portal的使用入门.

Modbus TCP通讯概述

MODBUS TCP是简单的、中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品,显而易见,它覆盖了使用TCP/IP协议的“Intranet”和“Internet”环境中MODBUS报文的用途。协议的最通用用途是为诸如PLC以及连接其它简单域总线或I/O 模块的网关服务的。

MODBUS TCP 使MODBUS_RTU协议运行于以太网,MODBUS TCP使用TCP/IP和以太网在站点间传送MODBUS报文,MODBUS TCP结合了以太网物理网络和网络标准TCP/IP以及以MODBUS作为应用协议标准的数据表示方法。MODBUS TCP通信报文被封装于以太网TCP/IP数据包中。与传统的串口方式,MODBUS TCP插入一个标准的MODBUS报文到TCP报文中,不再带有数据校验和地址。

通讯所使用的以太网参考模型

Modbus TCP传输过程中使用了TCP/IP以太网参考模型的5层:

第一层:物理层,提供设备物理接口,与市售介质/网络适配器相兼容。

第二层:数据链路层,格式化信号到源/目硬件址数据帧。

第三层:网络层,实现带有32位IP 地址报文包。

第四层:传输层,实现可靠性连接、传输、查错、重发、端口服务、传输调度。

第五层:应用层,Modbus协议报文。

Modbus TCP数据帧

Modbus数据在TCP/IP以太网上传输,支持Ethernet II和802.3两种帧格式,Modbus TCP数据帧包含报文头、功能代码和数据3部分,MBAP报文头(Modbus Application Protocol)分4个域,共7个字.

bdbcc77c-f242-11ec-ba43-dac502259ad0.png

bdedbf3a-f242-11ec-ba43-dac502259ad0.png

Modbus TCP使用的端口号

(1) PLC作为Modbus服务器时,按缺省协议使用Port 502 通信端口,在Modus客户端程序中设置任意通信端口,

(2) PLC作为Modbus客户端时,无须设置本机端口号;如要指定客户端端口号,为避免与其他通讯协议的冲突一般建议2000开始可以使用。

S7-300/400集成PN口Modbus TCP通讯概述

本文适用于带有集成 PN 接口的 SIMATIC S7-300、S7-400 CPU 和 IM 151-8 PN/DP CPU 的软件产品。相关指令允许在带有集成 PN 接口的 SIMATIC CPU 和支持 Modbus TCP 协议的设备之间进行通信。

根据客户端——服务器原理进行数据传输。传输过程中,可以将 SIMATIC S7 用作客户端,也可以用作服务器。

从TIA Portal V14 SP1开始软件中增加了Modbus TCP V2.0版本的指令,可用于SIMATIC S7-300、S7-400 CPU 和 IM 151-8 PN/DP CPU与支持ModbusTCP的通信伙伴进行通信.

be0eba28-f242-11ec-ba43-dac502259ad0.png

配置 PN CPU作为Modbus TCP Server与通信伙

伴建立通讯

下面以S7-300单站系统及Modscan32软件为例,详细介绍如何将S7-300单站系统通过CPU集成PN口配置为Modbus TCP Server,Modscan32为Client进行Modbus TCP通讯。

创建一个新项目:

be4548fe-f242-11ec-ba43-dac502259ad0.png

然后选择“添加新设备”——>“控制器”,选择正确的CPU型号

be719ca6-f242-11ec-ba43-dac502259ad0.png

在“设备视图”中,选择CPU以太网口,设置IP 地址.

beb8b9ec-f242-11ec-ba43-dac502259ad0.png

编程

(1)OB1调用Modbus TCP指令

在项目的OB1组织块中调用Modbus TCP指令

bed9ade6-f242-11ec-ba43-dac502259ad0.png

部分管脚说明:

id:连接ID 必须与参数DB中相关的id 参数相同。

db_param:参数DB的编号,包含此modbus块实例的连接参数和modbus数据参数。CPU决定该参数的取值范围。DB 编号 0 为系统保留,不允许使用。

以纯文本格式输入DB编号“DBxy”。

REG_KEY_DB:具有可用于授权的注册表项的数据块。

RECV_TIMEOUT:对从耦合伙伴接收数据进行监视。超出监视时间后,将发出错误信号并终止连接。最小值为 20 ms。

在“S7 为服务器”模式下将 RECV_TIMEOUT 设置为 < 20 ms,则使用默认值 1.2 s。RECV_TIMEOUT 监视 TCP 流的运行系统。不考虑各个客户端请求之间的中断。

CONN_TIMEOUT:监视调用建立或终止所用的时间。如果在组态的监视时间内无法成功建立或终止连接,则会在输出 STATUS 中显示相应的错误消息。最小值为 100 ms。

在“S7 为服务器”操作模式下,如果将 CONN_TIMEOUT 设置为 < 100 ms,则会使用默认值 5 s。

创建参数数据块:

bf08402a-f242-11ec-ba43-dac502259ad0.png

以下为部分参数说明(其它参数信息请查看在线帮助):

id:每个PN CPU与通信伙伴之间的连接都需要一个连接ID。如果有多个通信伙伴,则每个逻辑连接会使用不同的连接ID。该连接ID 在参数数据块中包含的“连接参数块”中组态。连接ID 唯一地描述CPU与链接伙伴之间的连接,取值范围为1到4095。必须在此处输入参数块中的连接ID;该ID 在整个CPU中必须唯一。

connection_type:建立连接的连接类型通过 TCON 指令定义。CPU 决定必须要设置的值。

TCP(兼容模式):B#16#01,针对 CPU 315 或 317 <= FW V2.3 。

TCP:B#16#11,针对 CPU 315 或 317 >= FW V2.4、IM 151-8 PN/DP CPU、CPU314C、CPU319、CPU412、CPU414 和 CPU416。该信息可能因固件不同而有所不同。

active_est:该参数表示连接建立类型,主动或被动。Modbus 客户端负责建立主动连接而 Modbus 服务器负责建立被动连接。

主动连接的建立:TRUE

被动连接的建立:FALSE

local_device_id:定义所用 PN CPU 的 IE 接口。根据不同的 PN CPU 类型,需要不同的设置。

bf29224a-f242-11ec-ba43-dac502259ad0.png

rem_ staddr_len:指定 rem_staddr 参数的长度,该参数为通信伙伴的 IP 地址。如果要通过未指定的连接进行通信,则不为伙伴指定 IP 地址。

未指定的连接:B#16#0

指定的连接:B#16#4

rem_tsap_id_len:参数 rem_tsap_id 的长度和远程通信伙伴的端口号。

主动连接的建立:2

被动连接建立:0

rem_ staddr:在此字节数组中输入远程通信伙伴的 IP 地址。使用未指定的连接时,不输入 IP 地址。表示类型取决于 connection_type 参数。示例:IP 地址 192.168.0.1:

rem_tsap_id:使用该参数设置remote端口号。表示类型会因 connection_type 参数不同而有所不同。CPU 决定值范围。

bf3bcd28-f242-11ec-ba43-dac502259ad0.png

server_client:S7 是服务器=TRUE;S7 是客户端=FALSE。

data_areas:S7 存储器中有八个可以用于映射 MODBUS 地址的数据区。必须至少定义第一个数据区,其余七个数据区可选择性定义。根据作业类型,将从数据区读取数据或向其中写入数据。

任何作业都只能从一个 DB 读取数据或向一个 DB 写入数据。访问寄存器或位于多个 DB 中的位值时,即使编号连续无间隔,也将分为两个作业。组态时请务必注意。

一个数据块中可以映射的 Modbus 区(寄存器或位值)数目比一个消息帧可以处理的数目多。

data_type:指定该数据块中映射的 MODBUS 数据类型。如果在 data_type 中输入值 16#0,则不使用相应的区域。

db:指定映射 MODBUS 寄存器或下面定义的位值的数据块。DB 编号 0 为系统保留,不允许使用。

DB 编号:1 到 65535(W#16#0001 到 W#16#FFFF)。start / end:start 指定 DB 的数据字 0 中映射的第一个 Modbus 地址。end 参数定义最后一个 MODBUS 地址。

对于寄存器访问,带有最后一个 Modbus 地址输入的 S7 DB 中的数据字编号如下计算:DBW 编号 = (end – start) * 2 .

对于位访问,带有最后一个 Modbus 地址输入的 S7 DB 中的数据字节编号如下计算:DBB 编号 = (end – start + 7) / 8

定义的数据区不得重叠。end 参数不得小于 start。如果发生错误,指令启动将中止并提示错误。如果两个值相同,则将分配一个 Modbus 地址(1 个寄存器或 1 个位值)。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10824

    浏览量

    211088
  • 接口
    +关注

    关注

    33

    文章

    8486

    浏览量

    150805

原文标题:基于S7-300400 CPU集成PN接口的Modbus TCP-W

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    profinet转profinet

    % 防护等级:IP201 使用方法1.1参数设置说明1.正确连接电源,通过以太网口将PNS-PNS与PC相连,给PNS-PNS上电;2.打开TIA Portal,根据需求TIA
    发表于 11-09 13:03

    MODBUS TCP 转 CANOpen

    产品概述 SG-TCP-COE-210 网关可以实现将 CANOpen 接口设备连接到 MODBUS TCP 网络中。用户不需要了解具体的 CANOpen 和
    的头像 发表于 09-24 13:59 223次阅读
    <b class='flag-5'>MODBUS</b> <b class='flag-5'>TCP</b> 转 CANOpen

    EtherNet/IP转Modbus-TCP协议网关(EtherNet/IP转Modbus-TCP

    TCP设备转换为EtherNet/IP设备。 广泛应用:以太网接口的上位机、变频器、马保、仪表等等。智能楼宇系统中,涉及到多种不同品牌和类型的设备,如空调、照明、安防等。通过使用EtherNet
    的头像 发表于 09-04 11:09 305次阅读
    EtherNet/IP转<b class='flag-5'>Modbus-TCP</b>协议网关(EtherNet/IP转<b class='flag-5'>Modbus-TCP</b>)

    Modbus-TCP转Profinet协议转换网关(JM-TCP-PN

    。JM-TCP-PN可以实现Profinet从站设备与Modbus TCP主站设备之间的数据交换,满足工业自动化系统的需求。 2、应用广泛:本产品广泛应用于:工业自动化控制系统中,当
    的头像 发表于 08-28 14:46 201次阅读
    <b class='flag-5'>Modbus-TCP</b>转Profinet协议转换网关(JM-<b class='flag-5'>TCP-PN</b>)

    Modbus TCP转Profinet主站协议网关(JM-PNM-TCP

    捷米特JM-PNM-TCP网关能够实现了Modbus TCP从站和Profinet主站(简称 PN)。网关作为Modbus
    的头像 发表于 08-20 11:51 217次阅读
    <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>转Profinet主站协议网关(JM-PNM-<b class='flag-5'>TCP</b>)

    Modbus(TCP)转Profinet从站协议网关(JM-TCP-PN

    。 JM-TCP-PN 可以实现Profinet从站设备与Modbus TCP主站设备之间的数据交换,满足工业自动化系统的需求。 2、应用广泛:本产品广泛应用于:工业自动化控制系统中
    的头像 发表于 08-20 11:41 347次阅读
    <b class='flag-5'>Modbus</b>(<b class='flag-5'>TCP</b>)转Profinet从站协议网关(JM-<b class='flag-5'>TCP-PN</b>)

    Modbus(TCP)转Profinet从总线协议转换网关(JM-TCP-PN

    如何实现Profinet网络与Modbus TCP网络的连接互通,这是很多朋友都感到困惑的问题。接下来,将为大家集中进行解答。实际上,捷米特JM-TCP-PN这一设备能够出色地解决这个难题。下面,为
    的头像 发表于 08-16 10:14 295次阅读
    <b class='flag-5'>Modbus</b>(<b class='flag-5'>TCP</b>)转Profinet从总线协议转换网关(JM-<b class='flag-5'>TCP-PN</b>)

    请问西门子S7-1200如何实现Modbus TCP通讯?

    西门子S7-1200如何实现Modbus TCP通讯?
    发表于 07-25 06:24

    Modbus RTU转PROFINET协议转换网关 HT1S-PNS485-S10

    ,能够实现Modbus RTU/RS485/232接口仪表、变频器、综保、软启动器等设备接入到S7-1200、S7-1500、CPU315-2PN
    发表于 06-06 14:43

    STEP7TIA Portal)TRACE功能全面解析

    配置轨迹记录的条件时,STEP 7 (TIA Portal) 软件会计算出记录的最大持续时间和显示最大的测量点数目。测量点数量跟CPU中用
    发表于 03-08 14:30 2448次阅读
    STEP<b class='flag-5'>7</b>(<b class='flag-5'>TIA</b> <b class='flag-5'>Portal</b>)TRACE功能全面解析

    S7-1500与CP343-1之间的TCP通信(TIA)配置过程

    SIMATIC S7- 1500 CPU集成了 PROFINET 接口,该接口除了具备连接 PROFINET总线通信功能,同时还可用于标准的
    的头像 发表于 02-22 11:24 1620次阅读
    <b class='flag-5'>S7</b>-1500与CP343-1之间的<b class='flag-5'>TCP</b>通信(<b class='flag-5'>TIA</b>)配置过程

    SIMATIC S7-1500 Modbus TCP通讯

    很多工业现场的 Modbus TCP 通信应用中,常常需要一个 P LC控制器通过Modbus TCP 作为客户端访问多个服务器,且客户端和服务器之间都有读和写操作的应用需求。
    的头像 发表于 01-10 09:26 1900次阅读
    SIMATIC <b class='flag-5'>S7</b>-1500 <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>通讯

    网关可以实现将 Modbus TCP 接口设备连接到 Profinet 网络

    SG-PNh750-TCP-210 网关可以实现将 Modbus TCP 接口设备连接到 Profinet 网络中。用 户不需要了解具体的 Modb
    的头像 发表于 01-08 23:45 377次阅读
    网关可以实现将 <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> <b class='flag-5'>接口</b>设备连接到 Profinet 网络

    Modbus TCP转Profinet协议网关应用

    YC-TCP-PN通讯网关是一款具有PROFINET从站功能的先进通讯设备。通过其2个RJ45以太网接口,网关能够快速、稳定地接入各类MODBUS-TCP设备,实现与PROFINET网络的完美融合。不仅如此,它还支持100BAS
    的头像 发表于 12-26 18:21 565次阅读
    <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>转Profinet协议网关应用

    Modbus TCP转profinet网关连接某系列人机界面应用

    网关,人机界面。 我们需要在博图软件中对网关进行组态,添加modbus tcp转profinet网关的 GSD 文件。然后安装完毕后如下地址找到
    发表于 11-27 15:01