gh-24 ReadRegister uses common modbus.Client
This commit is contained in:
parent
602a560cf9
commit
d0d26d346a
|
@ -147,6 +147,8 @@ func readCsvLines(file string) [][]string {
|
||||||
return data
|
return data
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Create modbus.Handler, store it in p.handler,
|
||||||
|
// connect the handler and create p.modbusclient (modbus.Client)
|
||||||
func (p *PingvinKL) createModbusClient() {
|
func (p *PingvinKL) createModbusClient() {
|
||||||
// TODO: read configuration from file, hardcoded for now
|
// TODO: read configuration from file, hardcoded for now
|
||||||
p.handler = modbus.NewRTUClientHandler("/dev/ttyS0")
|
p.handler = modbus.NewRTUClientHandler("/dev/ttyS0")
|
||||||
|
@ -171,6 +173,7 @@ func (p *PingvinKL) Quit() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update all coil values
|
||||||
func (p *PingvinKL) updateCoils() {
|
func (p *PingvinKL) updateCoils() {
|
||||||
results, err := p.modbusclient.ReadCoils(0, uint16(len(p.Coils)))
|
results, err := p.modbusclient.ReadCoils(0, uint16(len(p.Coils)))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -195,17 +198,9 @@ func (p *PingvinKL) updateCoils() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Read a single holding register, stores value in p.Registers
|
||||||
|
// Returns integer value of register
|
||||||
func (p *PingvinKL) ReadRegister(addr uint16) (int, error) {
|
func (p *PingvinKL) ReadRegister(addr uint16) (int, error) {
|
||||||
// handler := p.getHandler()
|
|
||||||
p.buslock.Lock()
|
|
||||||
defer p.buslock.Unlock()
|
|
||||||
err := p.handler.Connect()
|
|
||||||
if err != nil {
|
|
||||||
log.Println("ERROR: ReadRegister:", err)
|
|
||||||
return 0, err
|
|
||||||
}
|
|
||||||
// defer handler.Close()
|
|
||||||
// client := modbus.NewClient(handler)
|
|
||||||
results, err := p.modbusclient.ReadHoldingRegisters(addr, 1)
|
results, err := p.modbusclient.ReadHoldingRegisters(addr, 1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("ERROR: ReadRegister:", err)
|
log.Println("ERROR: ReadRegister:", err)
|
||||||
|
|
Loading…
Reference in New Issue