返回主站|会员中心|保存桌面

西门子(SIEMENS)服务商    

框架断路器、塑壳断路器、隔离开关、软启动、变频器、电机 、PLC、触摸屏

联系方式
  • 联系人:吴经理
  • 电话:18576370666
新闻分类
  • 暂无分类
站内搜索
 
首页 > 新闻中心 > 西门子S7-1200官网标准Modbus TCP案列!
新闻中心
西门子S7-1200官网标准Modbus TCP案列!
发布时间:2025-09-27        浏览次数:4        返回列表

西门子 S7-1200 PLC 支持 Modbus TCP 协议,可作为客户端(Client)或服务器(Server)与其他设备通信。以下是官网标准的 Modbus TCP 通信案例,以 S7-1200 作为 Client 和 Server 两种两种典型场景为例,包含硬件配置、软件设置和程序实现。

一、S7-1200 作为 Modbus TCP 服务器(Server)

1. 场景说明

S7-1200 作为 Server,允许其他设备(如 HMI、第三方 PLC)通过 Modbus 协议读取 / 写入其数据(如 I、Q、M、DB 区)。

2. 硬件与软件

  • PLC:S7-1200(如 1214C DC/DC/DC)

  • 软件:TIA Portal V16 及以上

  • 通信模块:S7-1200 集成的 PROFINET 接口(支持 Modbus TCP)

3. 配置步骤

(1)硬件组态
  1. 打开 TIA Portal,新建项目,添加 S7-1200 PLC,配置 PROFINET 接口的 IP 地址(如 192.168.0.1)。

(2)启用 Modbus TCP 服务器功能
  1. 在 PLC 的 “设备配置” 中,双击 “PROFINET 接口”,切换到 “Modbus TCP” 标签页,勾选 “启用 Modbus TCP 服务器”,设置服务器端口(默认 502)。

  2. 配置数据映射:

    • 选择需要暴露给 Client 的地址区(如 DB1),设置 Modbus 地址范围(如保持寄存器 40001-40010 映射到 DB1.DBW0-DB1.DBW18)。

(3)程序实现(无需额外代码)

启用服务器功能后,PLC 自动响应 Client 的 Modbus TCP 请求,无需编写程序。Client 可通过 Modbus 指令(如 Read Holding Registers)访问映射的地址。

二、S7-1200 作为 Modbus TCP 客户端(Client)

1. 场景说明

S7-1200 作为 Client,主动读取 / 写入远程 Server(如第三方仪表、其他 PLC)的数据。

2. 配置步骤

(1)硬件组态

同服务器配置,确保 S7-1200 与远程 Server 在同一网段(如远程 Server IP:192.168.0.2)。

(2)添加 Modbus TCP 客户端指令库
  1. 在 TIA Portal 的 “库” 中,添加 “Modbus TCP” 指令库(需安装 SIMATIC NET 组件)。

(3)程序编写(使用 MB_CLIENT 指令)

plaintext

// 调用MB_CLIENT指令读取远程Server的保持寄存器
CALL "MB_CLIENT" , DB10
    REQ := "Read_Request"  // 上升沿触发读取
    DISCONNECT := FALSE
    MODE := 1  // 1=读取保持寄存器
    ADDR := "Server_IP"  // 远程Server IP:192.168.0.2
    PORT := 502  // 端口号
    MB_ADDR := 1  // 远程Server的Modbus站号(若支持)
    DATA_ADDR := 40001  // 远程保持寄存器地址
    QUANTITY := 5  // 读取数量(5个寄存器)
    DATA_PTR := "Read_Data"  // 本地存储地址(如DB2.DBW0)
    BUSY => "Client_Busy"
    DONE => "Read_Done"
    ERROR => "Read_Error"
    STATUS => "Read_Status"
(4)写入数据示例

plaintext

// 调用MB_CLIENT指令写入远程Server的保持寄存器
CALL "MB_CLIENT" , DB20
    REQ := "Write_Request"  // 上升沿触发写入
    DISCONNECT := FALSE
    MODE := 16  // 16=写入多个保持寄存器
    ADDR := "Server_IP"
    PORT := 502
    MB_ADDR := 1
    DATA_ADDR := 40010  // 远程写入地址
    QUANTITY := 2  // 写入数量
    DATA_PTR := "Write_Data"  // 本地数据(如DB3.DBW0)
    BUSY => "Write_Busy"
    DONE => "Write_Done"
    ERROR => "Write_Error"
    STATUS => "Write_Status"

三、调试与监控

  1. 服务器状态:在 TIA Portal 的 “在线诊断” 中,查看 Modbus TCP 服务器的连接状态和数据交换情况。

  2. 客户端状态:通过监控DONEERRORSTATUS参数判断通信是否正常,常见错误码(如 6 = 连接失败,需检查 IP 和端口)。

  3. 第三方工具测试:使用 Modbus 调试工具(如 Modbus Poll/Spy)模拟 Client/Server,验证通信正确性。

四、官网资源参考

  1. 手册:西门子官网搜索《S7-1200 Modbus TCP 通信手册》(文档编号:A5E00492814-AC),包含详细组态步骤和指令说明。

  2. 示例项目:在 TIA Portal 的 “示例项目库” 中,搜索 “Modbus TCP Communication with S7-1200”,可直接导入参考。

通过以上配置,S7-1200 可实现标准 Modbus TCP 通信,适用于与第三方设备的数据交互场景。核心是正确配置服务器映射和客户端指令参数,确保地址和数据格式匹配。

收缩
  • QQ咨询

  • 电话咨询

  • 18576370666
  • 添加微信客服