From 4209a352833999d7fbd1f44aa4da20ea729bea79 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 23 五月 2024 08:53:05 +0800 Subject: [PATCH] 与王工(江海)联调,并修改问题,完善协议实现代码。 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlCreate.java | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 52 insertions(+), 1 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlCreate.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlCreate.java index 16f5543..9a0db38 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlCreate.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlCreate.java @@ -32,7 +32,7 @@ index++ ; GlCreate.createRtuAddr(rtuAddr, bsHead, index); - index += 7 ; + index += 8 ; ByteUtil.hex2Bytes(commandCode, bsHead, index) ; return bsHead ; @@ -93,25 +93,69 @@ Integer icCardNo2Int = Integer.parseInt(icCardNo2) ; ByteUtilUnsigned.short2Bytes_LE(bs, icCardNo2Int.shortValue(), index); } + + public static void createDt(byte[] bs, int index) throws Exception { + ByteUtil.string2BCD_BE(bs, DateTime.ss(), index) ; ; + ByteUtil.string2BCD_BE(bs, DateTime.mm(), index + 1) ; + ByteUtil.string2BCD_BE(bs, DateTime.HH(), index + 2) ; + ByteUtil.string2BCD_BE(bs, DateTime.dd(), index + 3) ; + ByteUtil.string2BCD_BE(bs, DateTime.MM(), index + 4) ; + ByteUtil.string2BCD_BE(bs, DateTime.yy(), index + 5) ; + } + + 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_BE(bs, DateTime.ss(), index) ; ; + ByteUtil.string2BCD_BE(bs, DateTime.mm(), index + 1) ; + ByteUtil.string2BCD_BE(bs, DateTime.HH(), index + 2) ; + ByteUtil.string2BCD_BE(bs, DateTime.dd(), index + 3) ; + byte month = Byte.parseByte(DateTime.MM()) ; + byte week = (byte)(DateTime.week_Int().byteValue() << 1) ; + String month1 = "0" ; + String month2 = "0" ; + if(month < 10){ + month1 = "" + month ; + }else{ + if(month == 10){ + month1 = "0" ; + }else if(month == 11){ + month1 = "1" ; + }else if(month == 12){ + month1 = "2" ; + } + week = (byte)(week | 0x01) ; + } + month2 = "" + week ; + + ByteUtil.string2BCD_BE(bs, month2 + month1, index + 4) ; + ByteUtil.string2BCD_BE(bs, DateTime.yy(), index + 5) ; + + /* bs[index] = Byte.parseByte(DateTime.ss()) ; bs[index + 1] = Byte.parseByte(DateTime.mm()) ; bs[index + 2] = Byte.parseByte(DateTime.HH()) ; bs[index + 3] = Byte.parseByte(DateTime.dd()) ; bs[index + 4] = (byte)(DateTime.week_Int().byteValue() << 5 | Byte.parseByte(DateTime.MM())) ; bs[index + 5] = Byte.parseByte(DateTime.yy()) ; + */ } public static void createS2D(byte[] bs, int index) throws Exception { + ByteUtil.string2BCD_BE(bs, DateTime.ss(), index) ; ; + ByteUtil.string2BCD_BE(bs, DateTime.mm(), index + 1) ; + ByteUtil.string2BCD_BE(bs, DateTime.HH(), index + 2) ; + ByteUtil.string2BCD_BE(bs, DateTime.dd(), index + 3) ; + /* bs[index] = Byte.parseByte(DateTime.ss()) ; bs[index + 1] = Byte.parseByte(DateTime.mm()) ; bs[index + 2] = Byte.parseByte(DateTime.HH()) ; bs[index + 3] = Byte.parseByte(DateTime.dd()) ; + */ } public static void createLen(byte[] bsNoTail) throws Exception { @@ -126,4 +170,11 @@ bytes[1] = ProtocolConstantV206V1_0_0.P_Tail_Byte ; return bytes ; } + + public static void main(String[] args)throws Exception{ + byte[] bs = new byte[6] ; + createTp(bs, 0) ; + String hex = ByteUtil.bytes2Hex(bs,true, 0, 6) ; + System.out.println(hex); + } } -- Gitblit v1.8.0