【问题标题】:Read measured values via Modbus TCP from Bender PEM353 meters which are connected with Bender Comtraxx465ip using Beckhoff PLC使用 Beckhoff PLC 通过 Modbus TCP 从 Bender PEM353 仪表读取测量值,这些仪表与 Bender Comtraxx465ip 连接
【发布时间】:2022-12-22 07:16:58
【问题描述】:

我想从与 Bender comtraxx465 网关连接的三个不同 Bender PEM353 仪表的不同寄存器读取测量值。在这个系统中,Modbus TCP/IP 协议被认为是将数据从网关传输到 Beckhoff PLC。 网关作为 Modbus 服务器,Beckhoff PLC 作为 Modbus 客户端。 这是代码,我正在尝试执行以从网关读取数据。

FUNCTION_BLOCK FB_ReadInputRegister
VAR
    fbReadInputReister: FB_MBReadInputRegs;
    arrData : ARRAY [1..3] OF WORD;
    nQuantity: WORD := 3;
    nMBAddr: WORD:=0;
    
    fbTrigger : R_TRIG;
    nReadState : (WAIT, TRIGGER, READ);
    
    
END_VAR

【问题讨论】:

  • 我会从 Beckhoff 信息系统开始学习,在 Modbus TCP 库下。例如FB_MBReadRegs。请尝试自己搜索,然后在遇到问题时提出具体问题。

标签: twincat modbus-tcp


【解决方案1】:

根据您提供的参考资料,comtraxx465 网关可以是一个 modbus TCP 服务器,用于中继连接到它的 PEM353 的数据。
(所以你的 plc 将是读取数据而不是服务器的客户端)

modbus 寄存器似乎有很好的文档记录page 39 and following

一个通用的做法是分批调试,以赚取时间:

  1. 连接您的网关并从 PC 对其进行 ping
  2. 使用基于 PC 的工具检查通信和文档理解(如 ModbusDoctor
  3. 使 PLC 处于通信状态(仅当您能够在步骤 2 中读取数据时)

    对于 PLC 通信 FB_MBReadInputRegs (code 4)FB_MBReadRegs (code 3) 可以使用,但进一步取决于你想做什么

    请详细说明您的进度以获得更多帮助

【讨论】:

  • 我面临的问题是通过我的笔记本电脑用作客户端的 modbus tcp 从 comtraxx 网关读取数据。我的系统设置就像三个 pem353 与 comtraxx 465ip 网关连接,并从网关连接,我正在尝试使用网关读取值。但是无法在您提到的第二步之后直接读取它,因为网关已连接到另一个网络。但是通过plc是可以的。
猜你喜欢
  • 2022-07-04
  • 2020-05-16
  • 2020-12-02
  • 2021-12-25
  • 2019-01-20
  • 2022-07-05
  • 1970-01-01
  • 1970-01-01
  • 2015-10-06
相关资源
最近更新 更多