go-modbus
所属分类:通讯编程
开发工具:GO
文件大小:20KB
下载次数:9
上传日期:2018-12-18 18:26:54
上 传 者:
Mageia
说明: go语言Modbus库,包含 ModbusTCP 和 ModbusRTU 相关内容
(Modbus library, which contains Modbus TCP and Modbus RTU)
文件列表:
go-modbus (0, 2018-12-16)
go-modbus\crc.go (3875, 2018-12-16)
__MACOSX (0, 2018-12-18)
__MACOSX\go-modbus (0, 2018-12-18)
__MACOSX\go-modbus\._crc.go (239, 2018-12-16)
go-modbus\LICENSE (1501, 2018-12-16)
__MACOSX\go-modbus\._LICENSE (239, 2018-12-16)
go-modbus\asciiclient.go (5777, 2018-12-16)
__MACOSX\go-modbus\._asciiclient.go (239, 2018-12-16)
go-modbus\rtuclient.go (5632, 2018-12-16)
__MACOSX\go-modbus\._rtuclient.go (239, 2018-12-16)
go-modbus\client.go (15205, 2018-12-16)
__MACOSX\go-modbus\._client.go (239, 2018-12-16)
go-modbus\modbus.go (2811, 2018-12-16)
__MACOSX\go-modbus\._modbus.go (239, 2018-12-16)
go-modbus\serial.go (2100, 2018-12-16)
__MACOSX\go-modbus\._serial.go (239, 2018-12-16)
go-modbus\api.go (2639, 2018-12-16)
__MACOSX\go-modbus\._api.go (239, 2018-12-16)
go-modbus\tcpclient.go (7590, 2018-12-16)
__MACOSX\go-modbus\._tcpclient.go (239, 2018-12-16)
go-modbus\lrc.go (598, 2018-12-16)
__MACOSX\go-modbus\._lrc.go (239, 2018-12-16)
go-modbus\.travis.yml (93, 2018-12-16)
__MACOSX\go-modbus\._.travis.yml (239, 2018-12-16)
__MACOSX\._go-modbus (239, 2018-12-16)
go modbus [![Build Status](https://travis-ci.org/goburrow/modbus.svg?branch=master)](https://travis-ci.org/goburrow/modbus) [![GoDoc](https://godoc.org/github.com/goburrow/modbus?status.svg)](https://godoc.org/github.com/goburrow/modbus)
=========
Fault-tolerant, fail-fast implementation of Modbus protocol in Go.
Supported functions
-------------------
Bit access:
* Read Discrete Inputs
* Read Coils
* Write Single Coil
* Write Multiple Coils
16-bit access:
* Read Input Registers
* Read Holding Registers
* Write Single Register
* Write Multiple Registers
* Read/Write Multiple Registers
* Mask Write Register
* Read FIFO Queue
Supported formats
-----------------
* TCP
* Serial (RTU, ASCII)
Usage
-----
Basic usage:
```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)
```
Advanced usage:
```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)
```
References
----------
- [Modbus Specifications and Implementation Guides](http://www.modbus.org/specs.php)
近期下载者:
相关文件:
收藏者: