| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package test
- import (
- "MeterService/core/logger"
- "MeterService/dataStruct"
- "MeterService/service/rtuService"
- "errors"
- "reflect"
- "runtime"
- )
- var (
- testMeter = []dataStruct.ParsingDataConfig{
- {Origin: 0x00, Amount: 20, Method: test001},
- }
- )
- func CollectTest(w rtuService.RtuNetPgr, ref *dataStruct.MeterRef) (*dataStruct.CollectData, error) {
- colData := &dataStruct.CollectData{
- MeterRef: ref,
- }
- for _, v := range testMeter {
- if adu, err := w.GetHoldingRegs(v.Origin, v.Amount); err != nil {
- logger.Error("TEST 采集失败[%s] ERROR:%v", runtime.FuncForPC(reflect.ValueOf(v.Method).Pointer()).Name(), err)
- return colData, err
- } else {
- logger.Debug("TEST ======》ADU:%v", adu)
- v.Method(adu, colData)
- }
- }
- return colData, errors.New("TEST")
- }
- func test001(adu []byte, s *dataStruct.CollectData) {
- var (
- index = 0
- m int16
- )
- m = int16(uint16(adu[index])<<8 | uint16(adu[index+1]))
- s.Ua = float32(m)
- index += 16
- s.Ia = float32(m)
- logger.Debug("TEST 采集成功 DATA:%v %v", s.Ua, s.Ia)
- }
- //
|