MODBUS
L Master 3.0 版本以后,机器人支持作为 MODBUS 主站(客户端),以便和 PLC(可编程逻辑控制器)连接进行编程。支持基于网络连接的 TCP/Socket 底层协议和 RTU 串口协议。
在老版本的 L-Master 2.x 中,预置了一个开源库来处理 MODBUS 通讯,可以通过 require('libmodbus')
来使用。当串口或者网络通讯异常时,该库有可能会导致系统崩溃。如非必要,不建议使用。
modbus.new_tcp(ip, port)
通过 MODBUS/TCP 连接从站。
支持 IPv4、IPv6
返回一个从站实例 或 抛出错误。
modbus.new_rtu(com, rate)
通过 MODBUS/RTU 连接从站。
可设置串口设备、波特率。
默认使用 8 位数据位、1 位停止位、无检验位,如需更改请联系我们。
返回一个从站实例 或 抛出错误。
mb:set_slave(id)
设置从站 ID
返回空
mb:read_coils(addr, num)
读取多个线圈
返回布尔数组 或 抛出连接错误
mb:read_discrete_inputs(addr, num)
读取多个离散输入
返回布尔数组 或 抛出连接错误
mb:read_input_registers(addr, num)
读取多个输入寄存器
返回 u16 数组 或 抛出连接错误
mb:read_holding_registers(addr, num)
读取多个保持寄存器
返回 u16 数组 或 抛出连接错误
mb:read_write_multiple_registers(read_addr, read_num,write_addr, write_val)
读写多个寄存器
返回 u16 数组 或 抛出连接错误
mb:write_single_coil(addr, val)
写入单个线圈
返回空 或 抛出连接错误
mb:write_multiple_coils(addr, vals)
写入多个线圈
返回空 或 抛出连接错误
mb:write_single_register(addr, val)
写入单个寄存器
返回空 或 抛出连接错误
mb:write_multiple_registers(addr, vals)
写入多个寄存器
返回空 或 抛出连接错误