zhangqian
2023-10-26 07db2029d66a028a2d2256d2c158693c3a42b5f8
service/plc.go
@@ -120,13 +120,21 @@
func ReadHoldingRegister(ipAddr string, address, length int) ([]byte, error) {
   if conf.Conf.PLC.Package == constvar.PlcPackageApache {
      return apacheplc4x.ReadHoldingRegister(ipAddr, address, length)
      newLength := length / 2
      if newLength == 0 {
         newLength = 1
      }
      return apacheplc4x.ReadHoldingRegister(ipAddr, address, newLength)
   } else if conf.Conf.PLC.Package == constvar.PlcPackageApacheLongConnection {
      conn, err := plc.GetModbusConnection(ipAddr)
      if err != nil {
         return nil, err
      }
      return plc.ReadHoldingRegister(conn, address, length)
      newLength := length / 2
      if newLength == 0 {
         newLength = 1
      }
      return plc.ReadHoldingRegister(conn, address, newLength)
   } else {
      return modbusx.Read(ipAddr, uint16(address), uint16(length))
   }