百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
M

modbus

> 编程语言
开源

Go (golang) 中的模拟总线协议容错实现

1.0K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

Go (golang) 中的模拟总线协议容错实现

go modbus()()=========Go 语言中对 Modbus 协议的容错、快速故障处理实现。支持的功能-----------------位操作: * 读取离散输入 * 读取继电器 * 写入单个继电器 * 写入多个继电器 16 位操作: * 读取输入寄存器 * 读取保持寄存器 * 写入单个寄存器 * 写入多个寄存器 * 读写多个寄存器 * 遮罩写入寄存器 * 读取 FIFO 队列 支持的格式----------------- * TCP * 串口 (RTU、ASCII) 使用方法----------------- 基本使用: ```go // Modbus TCP client := modbus.TCPClient("localhost:502") // Read input register 9 results, err := client.ReadInputRegisters(8, 1)

// Modbus RTU/ASCII // Default configuration is 19200, 8, 1, even client = modbus.RTUClient("/dev/ttyS0") results, err = client.ReadCoils(2, 1) 高级使用:go // Modbus TCP handler := modbus.NewTCPClientHandler("localhost:502") handler.Timeout = 10 * time.Second handler.SlaveId = 0xFF handler.Logger = log.New(os.Stdout, "test: ", log.LstdFlags) // Connect manually so that multiple requests are handled in one connection session err := handler.Connect() defer handler.Close()

client := modbus.NewClient(handler) results, err := client.ReadDiscreteInputs(15, 2) results, err = client.WriteMultipleRegisters(1, 2, []byte{0, 3, 0, 4}) results, err = client.WriteMultipleCoils(5, 10, []byte{4, 3}) go // Modbus RTU/ASCII handler := modbus.NewRTUClientHandler("/dev/ttyUSB0") handler.BaudRate = 115200 handler.DataBits = 8 handler.Parity = "N" handler.StopBits = 1 handler.SlaveId = 1 handler.Timeout = 5 * time.Second

err := handler.Connect() defer handler.Close()

client := modbus.NewClient(handler) results, err := client.ReadDiscreteInputs(15, 2)

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Go

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言