aardio 文档

wsock.udp.modbusClient 库模块帮助文档

示例

示例:

import wsock.udp.modbusClient;

//创建 Modbus UDP 客户端
var client = wsock.udp.modbusClient("127.0.0.1", 502, 1);

//可选:调整超时和重试次数
client.setTimeout(500);
client.setRetryCount(3);

//打开客户端(可选,首次请求会自动打开)
var ok, err = client.open();
if(!ok){
    return print("打开失败:", err); 
}

//读取保持寄存器
var registers, err = client.readHoldingRegisters(0, 10);
if(registers){
    print("保持寄存器值:");
    for(i=1;#registers){
        print("  地址", i-1, "=", registers[i]);
    }
}
else {
    print("读取失败:", err);
}

//关闭客户端
client.close(); 

wsock.udp.modbusClient 成员列表 #

Modbus UDP 协议库。

相关库: wsock.tcp.modbusClient ( Modbus TCP 协议 )。
相关库: sio.modbus ( Modbus RTU 串口协议 )。

wsock.udp.modbusClient.exceptionMessages #

Modbus 异常码对照表

WsockUdpModbusObject 成员列表 #

WsockUdpModbusObject.client #

wsock.udp.client 对象

返回对象:udpClientObject

WsockUdpModbusObject.close() #

关闭客户端

WsockUdpModbusObject.host #

服务器地址

WsockUdpModbusObject.isOpen() #

检查客户端是否已打开,返回布尔值

WsockUdpModbusObject.maskWriteRegister(地址,AND掩码,OR掩码) #

掩码写寄存器(功能码0x16),
结果=(当前值 AND 掩码) OR (OR掩码 AND (NOT AND掩码))

WsockUdpModbusObject.open() #

打开客户端,成功返回 true,失败返回 null,错误信息

WsockUdpModbusObject.port #

服务器端口

WsockUdpModbusObject.readCoils(起始地址,数量) #

读线圈状态(功能码0x01),
返回布尔值数组,失败返回 null,错误信息

WsockUdpModbusObject.readDiscreteInputs(起始地址,数量) #

读离散输入(功能码0x02),
返回布尔值数组,失败返回 null,错误信息

WsockUdpModbusObject.readHoldingRegisters(起始地址,数量) #

读保持寄存器(功能码0x03),
返回16位整数数组,失败返回 null,错误信息

WsockUdpModbusObject.readInputRegisters(起始地址,数量) #

读输入寄存器(功能码0x04),
返回16位整数数组,失败返回 null,错误信息

WsockUdpModbusObject.readWriteMultipleRegisters(读起始地址,读数量,写起始地址,写值数组) #

读写多个寄存器(功能码0x17),
返回读取的16位整数数组

WsockUdpModbusObject.retryCount #

重试次数

WsockUdpModbusObject.sendRaw(PDU数据,期望长度) #

发送原始 PDU 数据,
返回原始响应 PDU

WsockUdpModbusObject.setRetryCount(次数) #

设置重试次数,默认3次

WsockUdpModbusObject.setSlaveId(从站地址) #

设置从站地址(1-247),setUnitId 的别名

WsockUdpModbusObject.setTimeout(毫秒) #

设置通信超时时间,默认1000毫秒

WsockUdpModbusObject.setUnitId(单元标识符) #

设置单元标识符(1-255)

WsockUdpModbusObject.timeout #

超时时间(毫秒)

WsockUdpModbusObject.transactionId #

当前事务ID

WsockUdpModbusObject.unitId #

单元标识符

WsockUdpModbusObject.writeMultipleCoils(起始地址,值数组) #

写多个线圈(功能码0x0F),
参数@2为布尔值数组,成功返回true

WsockUdpModbusObject.writeMultipleRegisters(起始地址,值数组) #

写多个寄存器(功能码0x10),
参数@2为16位整数数组,成功返回true

WsockUdpModbusObject.writeSingleCoil(地址,值) #

写单个线圈(功能码0x05),
参数@2为布尔值,成功返回true

WsockUdpModbusObject.writeSingleRegister(地址,值) #

写单个寄存器(功能码0x06),
参数@2为16位整数,成功返回true

wsock.udp 成员列表 #

wsock.udp.modbusClient("192.168.1.1",502,1) #

创建 Modbus UDP 客户端,
参数 @1 为服务器 IP 或域名,
参数 @2 为端口号(默认502),
参数 @3 为单元标识符(默认为1),
返回客户端对象

wsock.udp.modbusClient() #

返回对象:WsockUdpModbusObject

Markdown 格式