日志打印字节数组和bit数组格式化(字节16进制,bit二进制)
This commit is contained in:
parent
0b20dcdf7a
commit
aec90fa3b8
|
@ -121,7 +121,7 @@ func (m *modbusQcService) onWrite(dt sproto.DataType, bytes []byte) error {
|
|||
slog.Error("Modbus驱动采集服务写入线圈失败", "url", m.config.Url, "unitid", m.config.UnitId, "error", err, "Function", mdm.Function)
|
||||
return err
|
||||
} else {
|
||||
slog.Info("Modbus驱动采集服务写入线圈成功", "url", m.config.Url, "unitid", m.config.UnitId, "Function", mdm.Function, "data", data, "mapping", mdm)
|
||||
slog.Debug("Modbus驱动采集服务写入线圈成功", "url", m.config.Url, "unitid", m.config.UnitId, "Function", mdm.Function, "data", model.BitsDebug(data), "mapping", mdm)
|
||||
}
|
||||
case sproto.Modbus_WriteRegister, sproto.Modbus_WriteRegisters, sproto.Modbus_RWRegisters:
|
||||
data := getQcBytes(bytes, mdm)
|
||||
|
@ -130,7 +130,7 @@ func (m *modbusQcService) onWrite(dt sproto.DataType, bytes []byte) error {
|
|||
slog.Error("Modbus驱动采集服务写入寄存器失败", "url", m.config.Url, "unitid", m.config.UnitId, "error", err, "Function", mdm.Function)
|
||||
return err
|
||||
} else {
|
||||
slog.Info("Modbus驱动采集服务写入寄存器成功", "url", m.config.Url, "unitid", m.config.UnitId, "Function", mdm.Function, "data", data, "mapping", mdm)
|
||||
slog.Debug("Modbus驱动采集服务写入寄存器成功", "url", m.config.Url, "unitid", m.config.UnitId, "Function", mdm.Function, "data", model.BytesDebug(data), "mapping", mdm)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package model
|
||||
|
||||
import (
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type DCEvent int
|
||||
|
@ -169,7 +171,7 @@ func (d *qc) UpdateCjByBits(start uint32, bits []bool) error {
|
|||
d.cjBits[i] = bits[i-start]
|
||||
}
|
||||
d.cj = EncodeBytes(d.cjBits)
|
||||
slog.Debug("UpdateCollectByBits成功", "collect", fmt.Sprintf("%v", d.cj), "collectBits", d.cjBits)
|
||||
slog.Debug("UpdateCollectByBits成功", "collect", BytesDebug(d.cj), "collectBits", BitsDebug(d.cjBits))
|
||||
// d.Emit(DCE_Collect_Update)
|
||||
return nil
|
||||
}
|
||||
|
@ -186,7 +188,7 @@ func (d *qc) UpdateCjByBytes(start uint32, values []byte) error {
|
|||
}
|
||||
copy(d.cj[start:end], values)
|
||||
d.cjBits = DecodeBools(d.cj)
|
||||
slog.Debug("UpdateCollectByBytes成功", "collect", fmt.Sprintf("%v", d.cj), "collectBits", d.cjBits)
|
||||
slog.Debug("UpdateCollectByBytes成功", "collect", BytesDebug(d.cj), "collectBits", BitsDebug(d.cjBits))
|
||||
// d.Emit(DCE_Collect_Update)
|
||||
return nil
|
||||
}
|
||||
|
@ -205,7 +207,7 @@ func (d *qc) UpdateQdByBits(start uint32, bits []bool) error {
|
|||
d.qdBits[i] = bits[i-start]
|
||||
}
|
||||
d.qd = EncodeBytes(d.qdBits)
|
||||
slog.Debug("UpdateDriveByBits成功", "drive", fmt.Sprintf("%v", d.qd), "driveBits", d.qdBits)
|
||||
slog.Debug("UpdateDriveByBits成功", "drive", BytesDebug(d.qd), "driveBits", BitsDebug(d.qdBits))
|
||||
// d.Emit(DCE_Drive_Update)
|
||||
return nil
|
||||
}
|
||||
|
@ -222,7 +224,7 @@ func (d *qc) UpdateQdByBytes(start uint32, values []byte) error {
|
|||
}
|
||||
copy(d.qd[start:end], values)
|
||||
d.qdBits = DecodeBools(d.qd)
|
||||
slog.Debug("UpdateDriveByBytes成功", "drive", fmt.Sprintf("%v", d.qd), "driveBits", d.qdBits)
|
||||
slog.Debug("UpdateDriveByBytes成功", "drive", BytesDebug(d.qd), "driveBits", BitsDebug(d.qdBits))
|
||||
// d.Emit(DCE_Drive_Update)
|
||||
return nil
|
||||
}
|
||||
|
@ -278,3 +280,19 @@ func EncodeBytes(bits []bool) (out []byte) {
|
|||
}
|
||||
return out
|
||||
}
|
||||
|
||||
func BytesDebug(bytes []byte) string {
|
||||
return hex.EncodeToString(bytes)
|
||||
}
|
||||
|
||||
func BitsDebug(bits []bool) string {
|
||||
var sb strings.Builder
|
||||
for _, v := range bits {
|
||||
if v {
|
||||
sb.WriteString("1")
|
||||
} else {
|
||||
sb.WriteString("0")
|
||||
}
|
||||
}
|
||||
return sb.String()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue