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

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

3天内不再提示

关于S71200的ModbusTCP示例详解

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2021-04-07 14:59 次阅读

Modbus TCP 示例:

示例:MB_SERVE 多 TCP 连接

可以拥有多个 Modbus TCP 服务器连接。为此,必须为每个连接单独执行 MB_SERVER。每个连接必须使用单独的背景数据块、连接 ID 和 IP 端口。S7-1200 仅允许每个 IP 端口进行一个连接。

为了达到最佳性能,应在每个程序周期为各个连接执行 MB_SERVER。CONNECT 参数使用系统数据类型 TCON_IP_V4。这些数据结构的相关示例位于名为“Modbus 连接”的数据块中。“Modbus 连接”数据块包含两个 TCON_IP_V4 结构:“TCPpassive_1”(针对连接 1)和“TCP_passive_2”(针对连接 2)。程序段注释中描述的连接属性 ID 和 LocalPort 为存储在 CONNECT 数据结构中的数据元素。TCON_IP_V4 CONNECT 数据同时包含 RemoteAddress ADDR 数组中的 IP 地址。TCPpassive_1 和 TCP_passive_2 内的 IP 地址分配对建立 TCP 服务器连接没有影响,但是会决定哪些 Modbus TCP 客户端可通过与各 MB_SERVER 连接进行通信。MB_SERVER 被动侦听 modbus 客户端消息,并将进入消息的 IP 地址与存储在相应 RemoteAddress ADDR 数组中的 IP 地址进行比较。

两个 MB_SERVER 指令可使用以下三种 MB_SERVER IP 地址变量:

● IP 地址 = 0.0.0.0

各 MB_SERVER 将响应使用任意 IP 地址的所有 Modbus TCP 客户端。

● IP 地址 = TCPpassive_1 和 TCPpassive_2 中的 IP 地址相同

两个 MB_SERVER 连接仅响应来自该 IP 地址的 Modbus 客户端。

● IP 地址 = TCP_passive_1 和 TCP_passive_2 中的 IP 号不同

各 MB_SERVER 仅响应来自其 TCON_IP_V4 数据中存储的 IP 地址的 Modbus 客户端。程序段 1:连接 #1,背景 DB =“MB_SERVER_DB”、“Modbus connections.TCPpassive_1”内(ID = 1 且 LocalPort = 502)

ed5c4e62-975d-11eb-8b86-12bb97331649.png

程序段 2:连接 #2,背景 DB =“MB_SERVER_DB_1”、“Modbus connections.TCPpassive_2”内(ID = 2 且 LocalPort = 503)

ed6476b4-975d-11eb-8b86-12bb97331649.png

示例:MB_CLIENT 1:通过公共 TCP 连接发送多个请求

多个 Modbus 客户端请求可通过同一连接发送。为此,必须使用相同的背景数据块、连接 ID 和端口号。

因为两个 MB_CLIENT 框使用相同的 CONNECT 参数 TCON_IP_v4 数据结构 “Modbus_connections”.TCPactive_1),因此连接 ID、端口号和 IP 地址均相同。CONNECT IP 地址数据分配目标 Modbus TCP 服务器的 IP 地址。

在任意给定时间内,只能有一个 MB_CLIENT 处于激活状态。一个客户端完成执行后,下一个客户端才能开始执行。由程序逻辑负责执行顺序逻辑。本示例所示为两个客户端从单个 Modbus 客户端读取远程数据并将数据传送至 Modbus 客户端 CPU(从 M1000.0 起始的M 存储器)。并捕获返回的错误(可选)。

程序段 1:Modbus 功能 1 - 从使用“Modbus 连接”.TCPactive_1 中所分配的 IP 地址的 Modbus TCP 服务器中读取 16 位输出位。

ed771fe4-975d-11eb-8b86-12bb97331649.png

程序段 2:Modbus 功能 2 - 从使用“Modbus 连接”.TCPactive_1 中所分配的 IP 地址的 Modbus TCP 服务器中读取 32 位输入位。

edc5b7ee-975d-11eb-8b86-12bb97331649.png

示例:MB_CLIENT 3:输出映像写入请求

本示例所示为 Modbus 客户端请求将位数据从本地 CPU 存储区(起始地址为 M1000.0)传送至远程 Modbus TCP 服务器。

程序段 1:Modbus 功能 15 - 在 Modbus 服务器中写入输出位

edd3a7d2-975d-11eb-8b86-12bb97331649.png

示例:MB_CLIENT 4:协调多个请求

必须确保各个 Modbus TCP 请求都完成执行。必须由程序逻辑来控制执行顺序。下面的示例显示了首个和第二个客户端请求输出如何控制执行顺序。

该示例所示为两个客户端使用同一 CONNECT 连接数据(不同时使用)。客户端将保持寄存器数据从同一远程 Modbus TCP 服务器传送至同一本地 CPU 存储区 M 地址。此外,还捕获了返回的错误,这是可选的。

程序段 1:Modbus 功能 3 - 读取 Modbus TCP 服务器保持寄存器字

ee0235fc-975d-11eb-8b86-12bb97331649.png

程序段 2:Modbus 功能 3 - 读取 Modbus TCP 服务器保持寄存器字

ee140dae-975d-11eb-8b86-12bb97331649.png

编辑:lyn

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

    关注

    5

    文章

    1407

    浏览量

    148321
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1272

    浏览量

    78305
  • S71200
    +关注

    关注

    0

    文章

    14

    浏览量

    3485

原文标题:S7 1200-Modbus TCP 示例

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

收藏 人收藏

    评论

    相关推荐

    小疆CCLINK转ModbusTCP网关快速配置说明

    关键字:cclink ModbusTCP 三菱PLC CCLINK转ModbusTCP 本案例是用于指导客户快速使用CCLINK转ModbusTCP网关建立起设备通讯,具体功能如下图所示 拓扑图
    的头像 发表于 01-23 17:27 217次阅读
    小疆CCLINK转<b class='flag-5'>ModbusTCP</b>网关快速配置说明

    【实用篇】ModbusTCP协议详解

    ModBusTcp与串行链路Modbus的数据域是一致的,具体数据域可以参考串行Modbus。这里给出几个ModbusTcp的链路解析说明,辅助新人分析报文。
    的头像 发表于 01-14 11:13 1040次阅读
    【实用篇】<b class='flag-5'>ModbusTCP</b>协议<b class='flag-5'>详解</b>

    s71200有几路脉冲输出 s71200输入输出接线图

    S7-1200系列的PLC具有多种不同的数字和模拟输入输出模块,从而可以根据不同的应用需求进行灵活配置。其中,数字输出模块可用于控制各种类型的外部设备,包括驱动器、电磁阀、电机和灯光等。
    的头像 发表于 01-10 10:58 1659次阅读
    <b class='flag-5'>s71200</b>有几路脉冲输出 <b class='flag-5'>s71200</b>输入输出接线图

    ModbusTCP转CanOpen网关助力工控行业

    在工业自动化领域,协议转换网关一直扮演着至关重要的角色。其中,modbustcp转canopen网关以其独特的优势,成为不同设备间通信的桥梁。这款网关将modbus TCP协议的设备与CANopen
    发表于 12-11 10:53

    ModbusTCP转Profinet主站网关控制汇川伺服驱动器配置案例

    ModbusTCP Client 通过 ModbusTCP 控制 Profinet 接口设备,Profinet 接口设备接入 DCS/工控机等
    的头像 发表于 10-27 09:05 702次阅读
    <b class='flag-5'>ModbusTCP</b>转Profinet主站网关控制汇川伺服驱动器配置案例

    ModbusTCP转Profinet主站网关在博图配置案例

    兴达易控ModbusTCP转Profinet网关,在 Profinet 侧做为 Profinet 主站控制器,接 Profinet 设备,如伺服驱动器;兴达易控ModbusTCP
    的头像 发表于 10-27 09:05 635次阅读
    <b class='flag-5'>ModbusTCP</b>转Profinet主站网关在博图配置案例

    ModbusTCP转Profinet网关ModbusTCP作为从站案例

    本案例是模拟将ModbusTCP设备数据接入到西门子PROFINET网络中。使用设备为西门子S7-1200型PLC,开疆智能ModbusTCP转Profinet网关。MODBUS从站为电脑安装
    的头像 发表于 10-08 11:32 550次阅读
    <b class='flag-5'>ModbusTCP</b>转Profinet网关<b class='flag-5'>ModbusTCP</b>作为从站案例

    RS232转pn网桥扫码枪连接plc程序

    本章使用S71200作为PROFINET主站,PROTALV14(博途)为配置和调试软件详细的介绍了远创智控YC-RSPN-002/001模块的“收-收”工作模式的应用方法。
    的头像 发表于 08-04 09:13 601次阅读
    RS232转pn网桥扫码枪连接plc程序

    一文详解ModbusTCP协议

    Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。1996年施耐德公司推出基于以太网TCP/IP的Modbus协议:ModbusTCP。Modbus协议是一项应用层
    的头像 发表于 07-26 10:51 6051次阅读
    一文<b class='flag-5'>详解</b><b class='flag-5'>ModbusTCP</b>协议

    ModbusTCP转EtherNet网关连接施耐德配置案例

    本案例是现场应用倍讯科技生产的ModbusTCP转EthetNet网关连接施耐德的配置案例。
    的头像 发表于 07-21 16:34 452次阅读
    <b class='flag-5'>ModbusTCP</b>转EtherNet网关连接施耐德配置案例

    西门子SMARTIE触摸屏和S71200/1500/300PLC以太网通讯模块

    捷米特S71200-HMI-JM01是一款用于西门子自带以太网接口的PLC(S71200、S71500、S7300等)和西门子SMARTIE触摸屏以太网通讯的协议转换网关。
    的头像 发表于 07-21 09:31 787次阅读
    西门子SMARTIE触摸屏和<b class='flag-5'>S71200</b>/1500/300PLC以太网通讯模块

    三菱FX3u以太网模块ModbusTCP通讯

    大家好,今天我们要来聊一聊转以太网捷米特JM-ETH-FX,这款设备内部集成了ModbusTCP通讯服务器,这意味着什么?ModbusTCP客户机,比如支持ModbusTCP的组态软件、OPC服务器
    的头像 发表于 07-18 16:00 3719次阅读
    三菱FX3u以太网模块<b class='flag-5'>ModbusTCP</b>通讯

    S71200/S71500/S7300西门子PLC与SMARTLINE触摸屏实现以太网通的方法

    远创智控S71200-HMI-YC01 是一款用于西门子自带以太网接口的 PLC(S71200、S71500、S7300 等)和西门子 SMARTIE 触摸屏以太网通讯的协议转换网关。
    的头像 发表于 07-05 09:34 1080次阅读
    <b class='flag-5'>S71200</b>/S71500/S7300西门子PLC与SMARTLINE触摸屏实现以太网通的方法

    ModbusTCP转EtherNetIP网关连接昆仑通态触摸屏案例

    本案例是欧姆龙PLC通过稳联技术ModbusTCP转EtherNet/IP网关连接昆仑通态触摸屏配置案例,所需设备:欧姆龙CP1L型PLC、稳联技术ModbusTCP转EtherNet/IP网关
    发表于 05-25 12:14

    smart700ie触摸屏支持modbustcp通讯吗?

    smart700ie触摸屏支持modbustcp通讯吗?
    发表于 05-05 15:43