Files
modbustcpclient/client_test.go

96 lines
2.1 KiB
Go

package modbustcpclient
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
)
func TestReadOneRegisterKeepAlive(t *testing.T) {
c, err := New("IAM_248000012514.solver.nu:502", 1, 100*time.Millisecond, 5*time.Second)
t.Log("Connect")
assert.NoError(t, err)
for n := 0; n < 5; n++ {
res, err := c.ReadRegisters(12401, 2)
assert.NoError(t, err)
assert.Len(t, res, 2)
t.Log(res)
res, err = c.ReadRegisters(12102, 2)
assert.NoError(t, err)
assert.Len(t, res, 2)
t.Log(res)
res, err = c.ReadRegisters(12544, 1)
assert.NoError(t, err)
assert.Len(t, res, 1)
t.Log(float32(res[0]) / 10)
res, err = c.ReadRegisters(12136, 1)
assert.NoError(t, err)
assert.Len(t, res, 1)
t.Log(res)
}
time.Sleep(1 * time.Second)
}
func TestReadOneRegisterShortKeepAlive(t *testing.T) {
c, err := New("IAM_248000012514.solver.nu:502", 1, 10*time.Nanosecond, 5*time.Second)
t.Log("Connect")
assert.NoError(t, err)
for n := 0; n < 5; n++ {
res, err := c.ReadRegisters(12401, 2)
assert.NoError(t, err)
assert.Len(t, res, 2)
t.Log(res)
time.Sleep(100 * time.Millisecond)
res, err = c.ReadRegisters(12102, 2)
assert.NoError(t, err)
assert.Len(t, res, 2)
t.Log(res)
time.Sleep(100 * time.Millisecond)
res, err = c.ReadRegisters(12544, 1)
assert.NoError(t, err)
assert.Len(t, res, 1)
t.Log(float32(res[0]) / 10)
time.Sleep(100 * time.Millisecond)
res, err = c.ReadRegisters(12136, 1)
assert.NoError(t, err)
assert.Len(t, res, 1)
t.Log(res)
time.Sleep(100 * time.Millisecond)
}
time.Sleep(1 * time.Second)
}
func TestReadALot(t *testing.T) {
c, err := New("IAM_248000012514.solver.nu:502", 1, 100*time.Millisecond, 5*time.Second)
t.Log("Connect")
assert.NoError(t, err)
for n := 0; n < 500; n++ {
t.Log(n)
_, err := c.ReadRegisters(12401, 2)
if err != nil {
t.Log(err)
}
_, err = c.ReadRegisters(12102, 2)
if err != nil {
t.Log(err)
}
_, err = c.ReadRegisters(12544, 1)
if err != nil {
t.Log(err)
}
_, err = c.ReadRegisters(12136, 1)
if err != nil {
t.Log(err)
}
}
time.Sleep(200 * time.Millisecond)
}