moxitech-gzb/internal/wiren-connector/connector.go

34 lines
750 B
Go
Raw Normal View History

package wirenconnector
import (
"fmt"
"time"
"github.com/goburrow/modbus"
)
// Подключаемся к плате на базе wirenboard
func Connect(ip string, port string) {
handler := modbus.NewTCPClientHandler(fmt.Sprintf("%s:502", ip))
handler.Timeout = 10 * time.Second
handler.SlaveId = 1
err := handler.Connect()
if err != nil {
fmt.Printf("Ошибка подключения: %v\n", err)
return
}
defer handler.Close()
client := modbus.NewClient(handler)
// Чтение регистров (пример)
results, err := client.ReadHoldingRegisters(0, 10)
if err != nil {
fmt.Printf("Ошибка чтения регистров: %v\n", err)
return
}
fmt.Printf("Результаты: %v\n", results)
}