1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| package test
|
| import (
| "apsClient/service"
| "encoding/binary"
| "log"
| "testing"
| )
|
| func TestWriteHoldingRegister(t *testing.T) {
| Init()
| ipPort := "127.0.0.1:502"
| address := 1001
| value := 1001
| err := service.WriteHoldingRegister(ipPort, address, value)
| if err != nil {
| log.Fatal(err)
| }
| var readValue int
| raw, err := service.ReadByModbusTCP(ipPort, address, 1)
| if err != nil {
| log.Fatal(err)
| }
|
| if len(raw) == 2 {
| readValue = int(binary.BigEndian.Uint16(raw))
| } else if len(raw) == 4 {
| readValue = int(binary.BigEndian.Uint32(raw))
| } else {
| log.Fatal("unknown supported raw value length")
| }
|
| if readValue != value {
| t.Logf("read value:%v not equal write value:%v", readValue, value)
| t.Fail()
| } else {
| t.Logf("write ok, read value:%v equal write value:%v", readValue, value)
| }
| }
|
|