Modbus Slave 的使用
文章目录
- 推荐:另一位作者的动态操作教程
- Connetcion 参数配置
- Slave Definiton 参数配置
推荐:另一位作者的动态操作教程
https://blog.csdn.net/u012749085/article/details/125308525
Connetcion 参数配置
配置“Connection”参数 – 从站的 Socket
- Socket
一个 IP + 端口号的组合 = 一个 Socket,通常写成:IP地址:端口
如192.168.1.1:8080与192.168.1.1:8081是两个 Socket - Connection 配置界面
- 允许来自任意地址的请求:一般勾选。若不勾选需要指定 IP 地址
勾选后 Modbus 主机(客户端)只要能访问模拟器所在电脑本地 IP 的 Socket ,就能连上模拟器
(本地 IP 的 Socket = 本地 IP + 配置的从机端口地址) - 忽略站号请求:建议不勾选
若勾选,则之后本软件窗口中的站号配置将无效,所有窗口都认为站号 = 1,且客户端请求时的站号都忽略并返回站号为 1 的数据 - 请求地址的格式:选 IPV4
- 允许来自任意地址的请求:一般勾选。若不勾选需要指定 IP 地址
- 从站 Socket 与 软件界面 的关系
- 同一台电脑,模拟不同【端口】下的设备
–> ip 相同,端口不同 --> 相当于不同 Socket --> 要开启不同软件窗口 - 同一台电脑,模拟相同【端口】下,不同【站号】下的设备
–> ip 相同,端口也相同 --> 相同的 Socket --> 开启一个软件界面接口 - 同一台电脑,模拟相同【端口】下,相同【站号】,包含不同功能码(寄存范围)的设备
–> ip 相同,端口也相同 --> 相同的 Socket --> 开启一个软件界面接口
- 同一台电脑,模拟不同【端口】下的设备
Slave Definiton 参数配置
对软件界面中的每个窗口,配置“Slave Definiton”
- Slave Definition 配置界面
- 站号
与 iPlat 点表中的【站号@】对应 - 功能码 & 寄存器
根据主站要获取的数据类型进行选择,后面括号 (4x / 3x / 1x / 0x)对应的就是 iPlat 点表地址的最高位(4XXXXX / 3XXXXX / 1XXXXX / 0XXXXX) - 起始地址
这里的填写范围与下面的“使用 PLC 地址规则”有联动
不使用 PLC 地址规则 --> 使用 Modbus 协议标准的地址范围(0x0000-0xFFFF),可填 0-65535
使用 PLC 地址规则 --> 起始地址为1,地址范围(0x0001-0xFFFF),可填 1-65535- iPlat 采用 PLC 地址标准,若要保证这里设置与 iPlat 中的地址配置完全对应,则应使用 PLC 地址规则
- 因为 iPlat 的 Modbus 驱动是从点表对应设备的最低地址批量读 / 写连续的地址(一次最多连续读取 240 个地址的数据),因此要保证 iPlat 读取的数据地址在 模拟器 中都有定义,否则批量读取的数据会报错,导致所有数据都上不来
- 寄存器数量
从起始地址开始,有多少个寄存器地址可以被读写
如:要模拟读取寄存地址 400007-400020 的数据 (标准地址规则),则模拟器起始地址 = 7(标准地址规则)或8(PLC 地址规则),寄存器数量 = 20- 因为 iPlat 的 Modbus 驱动是从最低地址批量读 / 写连续的地址(一次最多连续读取 240 个地址的数据),因此要保证 iPlat 读取的数据地址在 模拟器 中都有定义,否则批量读取的数据会报错,导致所有数据都上不来
- 地址标识显示
- 使用 PLC 地址规则
这里的配置与上面的“起始地址”有联动
不使用 PLC 地址规则 --> 使用 Modbus 协议标准的地址范围(0x0000-0xFFFF),可填 0-65535
使用 PLC 地址规则 --> 起始地址为1,地址范围(0x0001-0xFFFF),可填 1-65535- iPlat 采用 PLC 地址标准,若要保证这里设置与 iPlat 中的地址配置完全对应,则应使用 PLC 地址规则
- 差错仿真:一般情况下不勾选,如有特殊需要可进行设置
- 站号
- 窗口与 Modbus 协议间的关系 – 每个窗口有独立的 Slave Definition
- 不同【站号】
–> 需要新建不同的窗口,窗口的 Slave Definiton 配置不同【站号】 - 相同【站号】、不同【寄存器类型】(如模拟站号 2 设备的 AI / DI 点)
–> 需要新建不同的窗口,窗口的 Slave Definiton 配置相同【站号】、不同【功能码】 - 相同【站号】、相同【寄存器类型】、不连续的地址(如 3 号设备 400003-400007,400009-400020)
–> 可认为是连续的,使用一个窗口,配置使所有地址都可用(如配置寄存器 = 4x,起始地址 = 3,寄存器个数 = 18)
–> 可严格按照不连续地址,配置多个窗口
窗口1:寄存器 = 4x,起始地址 = 3,寄存器个数 = 5
窗口2:寄存器 = 4x,起始地址 = 9,寄存器个数 = 12
- 不同【站号】