Modbus TCP/IP 地址到 PLC 地址

Modbus TCP/IP Address to PLC Addess

我应该使用左移吗?

你能帮帮我吗?

PLC 地址 = 404606 --> 我要值

Plc 地址 = 440606 --> 显示给我的值

您将应用层地址与线路地址混淆了。 Modbus FC 基本上定义了前导数字(0、1、3 或 4,即线圈、(离散)输入、输入寄存器、保持寄存器)。

所以在应用层,保持寄存器 4001 40001 400001 所有这些在电线上看起来都“相同”。线路“偏移量”比应用程序“偏移量”小 1(即应用程序层 40001 在线路上的偏移量为 0x0000)。无法指定线路上的应用层位数。

我们所做的是坚持使用 5 位数字,当线路偏移超过 9999(线路上的 0x270F 或更多在应用程序级别为 10000 或更多)时,切换到 6 位应用层地址, IE。 49999(5 位应用层) 下一个 HR 显示​​为 410000(6 位应用层) 取决于 465536(线上的 65536 偏移量为 0xFFFF)

在数据包级别没有必要的“转移”(如果这是您的想法)。

好样的 Modbus。重新阅读您的问题后,我相信您正在尝试将 Application Address 作为 Holding Register 404606 的目标。编辑控件需要 Holding Register 的十进制线偏移量(例如,对于 40020,您将输入 19)。

因此,要获取 PLC 地址静态文本的 HR 404606,您需要在 编辑控件 中输入 4605