huang
2025-10-30 a99650cb00bf5b0650c33f39a4221b765201d228
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.mes.connect.addressparser;
 
import com.mes.connect.industrialinterface.AddressParser;
import com.mes.connect.protocol.ProtocolAddress;
 
/**
 * Modbus IP地址解析器
 *
 * @author yzx
 * @version 1.0
 */
public class ModbusIpAddressParser implements AddressParser {
    /**
     * 地址值类型
     */
    private final String valueTypeMBIP="MBIP.";
    @Override
    public ProtocolAddress parse(String address) {
        // 格式示例: "MBIP.4x0001" 或 "MBIP.0x100.2"
        if (!address.startsWith(valueTypeMBIP)) {
            throw new IllegalArgumentException("Invalid Modbus IP address format: " + address);
        }
        // 复用Modbus地址解析逻辑
        return new ModbusAddressParser().parse("MB." + address.substring(5));
    }
}