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

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

3天内不再提示

简述S7-1200-Modbus RTU 和 Modbus TCP 通信概

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2021-03-10 11:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Modbus RTU 和 Modbus TCP 通信

Modbus 功能代码

CPU 作为 Modbus RTU 主站(或 Modbus TCP 客户端)运行时,可在远程 Modbus RTU 从站(或 Modbus TCP 服务器)中读/写数据和 I/O 状态。可在程序逻辑中读取并处理远程数据。

● CPU 作为 Modbus RTU 从站(或 Modbus TCP 服务器)运行时,监控设备可在 CPU 存储器中读/写数据和 I/O 状态。RTU 主站(或 Modbus TCP 客户端)可以将新值写入从站/服务器 CPU 存储器,以供用户程序逻辑使用。

RTU 站 :标准站地址 1 到 247扩展站地址 1 到 65535

TCP 站 :站地址 IP 地址和端口

实际可用的 Modbus 存储区地址数取决于 CPU 型号、存在多少工作存储器以及其他程序数据占用多少 CPU 存储区。下表给出地址范围的额定值。

Modbus RTU 通信

Modbus RTU(远程终端单元)是一个标准的网络通信协议,它使用 RS232RS485 电气连接在 Modbus 网络设备之间传输串行数据。可在带有一个 RS232 或 RS485 CM 或一个 RS485 CB 的 CPU 上添加 PtP(点对点)网络端口。Modbus RTU 使用主/从网络,单个主设备启动所有通信,而从设备只能响应主设备的请求。主设备向从一个从设备地址发送请求,然后该从设备地址对命令做出响应。

Modbus TCP 通信

Modbus TCP(传输控制协议)是一个标准的网络通信协议,它使用 CPU 上的 PROFINET 连接器进行 TCP/IP 通信。不需要额外的通信硬件模块。

我们主要以Modbus TCP为主介绍:

在指令任务卡中,在“通信”(Communication) 组中的“其它”(Others) 下显示 MODBUS TCP 指令。

要更改 Modbus TCP 指令的版本,请从下拉列表中选择相应版本。可以选择一组指令或分别选择各个指令。

使用指令树将 Modbus TCP 指令放入程序时,将在项目树中创建新的 FB 实例。在项目树的“PLC_x > 程序块 > 系统块 > 程序资源”(PLC_x > Program blocks > System blocks > Program resources) 下可看到新的 FB 实例。

要确认程序中 Modbus TCP 指令的版本,必须检查项目树的属性而不是程序编辑器中显示的框的属性。选择项目树的 Modbus TCP FB 实例,单击右键,选择“属性”(Properties),然后选择“信息”(Information) 页查看 Modbus TCP 指令的版本号。

Modbus TCP 指令

MB_CLIENT(作为 Modbus TCP 客户端使用 PROFINET 进行通信)指令

"MB_CLIENT_DB"(

REQ:=_bool_in_,

DISCONNECT:=_bool_in_,

MB_MODE:=_usint_in_,

MB_DATA_ADDR:=_udint_in_,

MB_DATA_LEN:=_uint_in_,

DONE=>_bool_out_,

BUSY=>_bool_out_,

ERROR=>_bool_out_,

STATUS=>_word_out_,

MB_DATA_PTR:=_variant_inout_,

CONNECT:=_variant_inout_);

MB_CLIENT 作为 Modbus TCP 客户端,通过 S7-1200 CPU 上的 PROFINET 端口进行通信。不需要额外的通信硬件模块。MB_CLIENT 可进行客户端-服务器连接、发送 Modbus 功能请求、接收响应,以及控制 Modbus TCP 服务器的断开。

REQ In Bool

FALSE = 无 Modbus 通信请求TRUE = 请求与 Modbus TCP 服务器通信

DISCONNECT IN Bool

DISCONNECT 参数允许程序控制与 Modbus 服务器设备的连接和断开。如果 DISCONNECT = 0 且不存在连接,则 MB_CLIENT 尝试连接到分配的 IP 地址和端口号。如果 DISCONNECT = 1 且存在连接,则尝试断开连接操作。每当启用此输入时,无法尝试其它操作。

MB_MODE IN USInt

模式选择:分配请求类型(读、写或诊断)。

MB_DATA_ADDR IN UDInt

Modbus 起始地址:分配 MB_CLIENT 访问的数据的起始地址。有效地址的相关信息,请参见下面的 Modbus 功能表。

MB_DATA_LEN IN UInt

Modbus 数据长度:分配此请求中要访问的位数或字数。有效长度的相关信息,请参见下面的 Modbus 功能表。

MB_DATA_PTR IN_OUT Variant

指向 Modbus 数据寄存器的指针:寄存器缓冲进出 Modbus 服务器的数据。指针必须分配一个未进行优化的全局 DB 或 M 存储器地址。

CONNECT IN_OUT Variant

引用包含系统数据类型为“TCON_IP_v4”的连接参数的数据块结构。

DONE OUT Bool

上一请求已完成且没有出错后,DONE 位将保持为 TRUE 一个扫描周期时间。

BUSY OUT Bool

● 0 - 无 MB_CLIENT 操作正在进行

● 1 - MB_CLIENT 操作正在进行

ERROR OUT Bool

MB_CLIENT 执行因错误而结束后,ERROR 位将在一个扫描周期时间内保持为 TRUE。STATUS 参数中的错误代码仅在 ERROR = TRUE 的一个循环周期内有效。

STATUS OUT Word

编辑:jq

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

    关注

    28

    文章

    2583

    浏览量

    84271
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1441

    浏览量

    84039
  • RTU
    RTU
    +关注

    关注

    0

    文章

    455

    浏览量

    30809

原文标题:S 7-1200-Modbus RTU 和 Modbus TCP 通信概

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【工具分享 / 征求反馈】我做了两个 Modbus 调试工具:MBSim 从站模拟器 + ModbusGateway TCP/RTU 软网关

    时测试 PLC、HMI、SCADA 或上位机程序。它适合用来模拟 Modbus 设备、测试主站读写、检查寄存器映射、调试 RTU/TCP 通信等。 第二个是 ModbusGatew
    发表于 05-21 16:31

    在TIA Portal V21中基于S7-1200 G2使用SCL语言设计Modbus RTU轮询程序

    本文介绍在 TIA Portal V21 中基于 S7-1200 G2 使用 SCL 语言设计一个 Modbus RTU 轮询程序,完成对 2 个从站的读数据和对 1 个从站写数据的轮询通信
    的头像 发表于 03-03 15:13 2515次阅读
    在TIA Portal V21中基于<b class='flag-5'>S7-1200</b> G2使用SCL语言设计<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>轮询程序

    使用PLCSIM Advanced V8仿真测试S7-1200 G2的Modbus TCP通信

    今天试一下用 PLCSIM Advanced V8 仿真测试 S7-1200 G2 的 Modbus TCP 通信
    的头像 发表于 02-02 17:09 1687次阅读
    使用PLCSIM Advanced V8仿真测试<b class='flag-5'>S7-1200</b> G2的<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b><b class='flag-5'>通信</b>

    Profinet 与 Modbus RTU/485 轻松建立通信

    RTU 网关,构建如下通信链路: 目标:S7-1200 通过网关读写 Modbus Slave 中的寄存器数据。 硬件与软件准备 硬件清单 西门子
    的头像 发表于 01-27 13:58 496次阅读
    Profinet 与 <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>/485 轻松建立<b class='flag-5'>通信</b>

    智能物流立体仓库通讯困境:基于协议转换的Modbus TCPModbus RTU解决方案

    在工业自动化领域的智能物流自动化立体仓库中,塔讯 TX 131-RE-RS/TCP在某企业采用研华工控机(Modbus RTU 协议)负责仓储管理系统(WMS)的订单下发、库存统计,搭配三菱 Q 系列 PLC(
    的头像 发表于 11-08 11:25 669次阅读
    智能物流立体仓库通讯困境:基于协议转换的<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> 转 <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>解决方案

    光伏逆变器上料-测试协同依托数据采集的Modbus TCPModbus RTU协议应用案例

    在工业自动化领域的新能源光伏逆变器组装测试产线中,某企业采用西门子 200 PLC(Modbus RTU 协议)负责逆变器模块的精密上料控制,搭配西门子 S7-1200 PLC(Modbus
    的头像 发表于 11-06 23:01 1162次阅读
    光伏逆变器上料-测试协同依托数据采集的<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> 转 <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>协议应用案例

    DLT698转Modbus RTU-TCP网关

    深圳振鑫通信科技公司生产得ZP-DLT698-RTU系列模块是把DLT698转Modbus RTU/TCP模块是一个
    的头像 发表于 09-20 15:43 1500次阅读
    DLT698转<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU-TCP</b>网关

    Modbus RTU转Profinet总线协议网关

    疆鸿智能JH-RTU-PN 网关实现 Modbus转Profinet 功能,能够实现Modbus接口仪表、变频器、综保、软启动器等设备接入到S71500、
    的头像 发表于 09-18 14:49 715次阅读
    <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>转Profinet总线协议网关

    工业场景下塔讯 Modbus RTUModbus TCP 网关实现横河流量计与 WinCC 数据交互案例

    随着工业自动化向网络化、智能化发展,传统Modbus RTU设备(如PLC、传感器、仪表、流量计等)的联网需求日益迫切。然而,Modbus RTU基于RS-485物理层,存在传输距离短
    的头像 发表于 08-19 15:16 1368次阅读
    工业场景下塔讯 <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b> 转 <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> 网关实现横河流量计与 WinCC 数据交互案例

    塔讯 Modbus RTUModbus TCP 在污水处理厂 PLC 数据采集中的配置案例

    水处理厂中有多种支持 Modbus RTU 协议的设备,如水质分析仪表、流量计、液位计等,为了实现这些设备与上位机系统(采用 Modbus TCP 协议)的
    的头像 发表于 08-18 15:20 1340次阅读
    塔讯 <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b> 转 <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> 在污水处理厂 PLC  数据采集中的配置案例

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

    将西门子S7-1200内部的porfinet 数据转换为modbus 输出,使得modbus master 设备可以扫描到modbus 寄存器信息。
    发表于 08-07 06:26

    工业自动化通信难题破解:Modbus RTU转Profinet网关在涡街流量计与西门子S7-1200 PLC系统集成中的应用

    在工业自动化领域,实现不同协议设备间的无缝通信一直是技术难点。本文将深入探讨如何通过Modbus RTU转Profinet网关,将涡街液体流量计接入西门子S7-1200 PLC系统,构
    的头像 发表于 07-29 15:51 652次阅读
    工业自动化<b class='flag-5'>通信</b>难题破解:<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>转Profinet网关在涡街流量计与西门子<b class='flag-5'>S7-1200</b> PLC系统集成中的应用

    Modbus TCPModbus RTU电脑端 TCP 与西门子 V20 变频器的通信案例

    在工业自动化控制系统中,经常需要实现不同设备之间的通信与数据交互。本案例旨在展示如何通过 Modbus 协议,将电脑作为主站(Modbus TCP)与多台西门子变频器 V20(
    的头像 发表于 07-27 17:19 1250次阅读
    <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> 转 <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>电脑端 <b class='flag-5'>TCP</b> 与西门子 V20 变频器的<b class='flag-5'>通信</b>案例

    Modbus RTU转Profinet网关接涡街液体流量计到西门子1200 PLC系统

    在工业自动化场景中,设备间的通信协议差异常常需要通过协议转换来解决。本文以Modbus RTU转Profinet网关为核心,探讨如何将涡街液体流量计接入西门子1200 PLC系统(
    的头像 发表于 07-26 11:16 951次阅读
    <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>转Profinet网关接涡街液体流量计到西门子<b class='flag-5'>1200</b> PLC系统

    什么是Modbus TCP协议

    Modbus TCP是一种基于TCP/IP协议的Modbus通信协议,用于在客户机和服务器之间进行数据
    的头像 发表于 07-23 17:18 5194次阅读
    什么是<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>协议