From fb9b202e2d421d7ee4e6879ae1232e481a3c6fa1 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 25 七月 2024 16:53:22 +0800 Subject: [PATCH] 1、完善协议解析代码; 2、测试系统增加功能码为99、A0命令测试。 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlCreate.java | 31 ++++++++++++++++++++++++++++++- 1 files changed, 30 insertions(+), 1 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlCreate.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlCreate.java index 2567d99..d2caefe 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlCreate.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/global/GlCreate.java @@ -16,18 +16,47 @@ index += 3 ; Integer rtuAddr2Int = Integer.parseInt(rtuAddr2) ; - ByteUtilUnsigned.short2Bytes_BE(bs, rtuAddr2Int.shortValue(), index); + ByteUtilUnsigned.short2Bytes_LE(bs, rtuAddr2Int.shortValue(), index); + } + + public static void createPw(byte[] bs, int index) throws Exception { + bs[index] = 0; + bs[index + 1] = 0; } public static void createTp(byte[] bs, int index) throws Exception { ByteUtil.string2BCD_LE(bs, DateTime.yyMMddhhmmss(), index) ; } + public static void createTp(String yyMMddhhmmss, byte[] bs, int index) throws Exception { + ByteUtil.string2BCD_LE(bs, yyMMddhhmmss, index) ; + } + public static void createLen(byte[] bsNoTail) throws Exception { int len = bsNoTail.length - ProtocolConstantV206V1_0_0.lenHead2ctrl; bsNoTail[ProtocolConstantV206V1_0_0.dataLenIndex] = (byte)len ; } + + /** + * 鐢熸垚IC鍗$紪鐮� + * 6瀛楄妭BCD鐮侊紙12浣嶈鏀垮尯鍒掞級 + 2瀛楄妭HEX + * @param icCardNo + * @param bs + * @param index + * @throws Exception + */ + public static void createIcCardNo(String icCardNo, byte[] bs, int index) throws Exception { + String icCardNo1 = icCardNo.substring(0, 12) ; + String icCardNo2 = icCardNo.substring(12) ; + + Integer icCardNo2Int = Integer.parseInt(icCardNo2) ; + ByteUtilUnsigned.short2Bytes_LE(bs, icCardNo2Int.shortValue(), index); + + index += 2 ; + ByteUtil.string2BCD_LE(bs, icCardNo1, index) ; + } + public static byte[] createCrcTail(byte[] bsNoTail) throws Exception { int crc = new CRC8_for_2_0().CRC8(bsNoTail, ProtocolConstantV206V1_0_0.ctrlIndex, bsNoTail.length -1) ; byte[] bytes = new byte[ProtocolConstantV206V1_0_0.lenTail] ; -- Gitblit v1.8.0