rtuclient_test.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // Copyright 2014 Quoc-Viet Nguyen. All rights reserved.
  2. // This software may be modified and distributed under the terms
  3. // of the BSD license. See the LICENSE file for details.
  4. package test
  5. import (
  6. "log"
  7. "os"
  8. "testing"
  9. "github.com/goburrow/modbus"
  10. )
  11. const (
  12. rtuDevice = "/dev/pts/6"
  13. )
  14. func TestRTUClient(t *testing.T) {
  15. // Diagslave does not support broadcast id.
  16. handler := modbus.NewRTUClientHandler(rtuDevice)
  17. handler.SlaveId = 17
  18. ClientTestAll(t, modbus.NewClient(handler))
  19. }
  20. func TestRTUClientAdvancedUsage(t *testing.T) {
  21. handler := modbus.NewRTUClientHandler(rtuDevice)
  22. handler.BaudRate = 19200
  23. handler.DataBits = 8
  24. handler.Parity = "E"
  25. handler.StopBits = 1
  26. handler.SlaveId = 11
  27. handler.Logger = log.New(os.Stdout, "rtu: ", log.LstdFlags)
  28. err := handler.Connect()
  29. if err != nil {
  30. t.Fatal(err)
  31. }
  32. defer handler.Close()
  33. client := modbus.NewClient(handler)
  34. results, err := client.ReadDiscreteInputs(15, 2)
  35. if err != nil || results == nil {
  36. t.Fatal(err, results)
  37. }
  38. results, err = client.ReadWriteMultipleRegisters(0, 2, 2, 2, []byte{1, 2, 3, 4})
  39. if err != nil || results == nil {
  40. t.Fatal(err, results)
  41. }
  42. }