diff --git a/Correlator/Util/CommandSender.cs b/Correlator/Util/CommandSender.cs index c8c5777..d20b376 100644 --- a/Correlator/Util/CommandSender.cs +++ b/Correlator/Util/CommandSender.cs @@ -90,11 +90,10 @@ const string version = "20"; var btVersion = byte.Parse(version, NumberStyles.HexNumber); - //获取时间(年-月-日-时-分-秒),年号-2000 - byte[] timeOid = - { - StringUtil.Year, StringUtil.Mon, StringUtil.Day, StringUtil.Hor, StringUtil.Min, StringUtil.Sec - }; //时间oid + //后续到CRC字段前的字节总长度(不包括长度字段和CRC字段)。 + byte[] totalLen = { 0x00, 0x1F }; + + byte[] btDevId = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; //广播模式,设备类型不解析 const string routeFlag = "1"; var btRouteFlag = byte.Parse(routeFlag, NumberStyles.HexNumber); @@ -111,22 +110,28 @@ const string seq = "1"; var btSeq = byte.Parse(seq, NumberStyles.HexNumber); - byte[] oid = { 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }; + byte[] oidTag = { 0x40, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00 }; - byte[] totalLen = { 0x00, 0x13 }; + //获取时间(年-月-日-时-分-秒),年号-2000 + byte[] timeTag = + { + 0x10, 0x00, 0x00, 0x51, 0x00, 0x06, + StringUtil.Year, StringUtil.Mon, StringUtil.Day, StringUtil.Hor, StringUtil.Min, StringUtil.Sec + }; //时间oid //wrap the whole data - var result = new byte[1 + 1 + 2 + 6 + 1 + 2 + 2 + 1 + oid.Length]; + var result = new byte[35]; result[0] = preambleByte; result[1] = btVersion; totalLen.CopyTo(result, 2); - timeOid.CopyTo(result, 4); + btDevId.CopyTo(result, 4); result[10] = btRouteFlag; btDstNode.CopyTo(result, 11); btPdu.CopyTo(result, 13); result[15] = btSeq; - oid.CopyTo(result, 16); + oidTag.CopyTo(result, 16); + timeTag.CopyTo(result, 23); //增加CRC校验 var strCrc = $"{(int)CodeUtil.CRC16_AD(result):X}".To16HexString(); diff --git a/Correlator/Util/CommandSender.cs b/Correlator/Util/CommandSender.cs index c8c5777..d20b376 100644 --- a/Correlator/Util/CommandSender.cs +++ b/Correlator/Util/CommandSender.cs @@ -90,11 +90,10 @@ const string version = "20"; var btVersion = byte.Parse(version, NumberStyles.HexNumber); - //获取时间(年-月-日-时-分-秒),年号-2000 - byte[] timeOid = - { - StringUtil.Year, StringUtil.Mon, StringUtil.Day, StringUtil.Hor, StringUtil.Min, StringUtil.Sec - }; //时间oid + //后续到CRC字段前的字节总长度(不包括长度字段和CRC字段)。 + byte[] totalLen = { 0x00, 0x1F }; + + byte[] btDevId = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; //广播模式,设备类型不解析 const string routeFlag = "1"; var btRouteFlag = byte.Parse(routeFlag, NumberStyles.HexNumber); @@ -111,22 +110,28 @@ const string seq = "1"; var btSeq = byte.Parse(seq, NumberStyles.HexNumber); - byte[] oid = { 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }; + byte[] oidTag = { 0x40, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00 }; - byte[] totalLen = { 0x00, 0x13 }; + //获取时间(年-月-日-时-分-秒),年号-2000 + byte[] timeTag = + { + 0x10, 0x00, 0x00, 0x51, 0x00, 0x06, + StringUtil.Year, StringUtil.Mon, StringUtil.Day, StringUtil.Hor, StringUtil.Min, StringUtil.Sec + }; //时间oid //wrap the whole data - var result = new byte[1 + 1 + 2 + 6 + 1 + 2 + 2 + 1 + oid.Length]; + var result = new byte[35]; result[0] = preambleByte; result[1] = btVersion; totalLen.CopyTo(result, 2); - timeOid.CopyTo(result, 4); + btDevId.CopyTo(result, 4); result[10] = btRouteFlag; btDstNode.CopyTo(result, 11); btPdu.CopyTo(result, 13); result[15] = btSeq; - oid.CopyTo(result, 16); + oidTag.CopyTo(result, 16); + timeTag.CopyTo(result, 23); //增加CRC校验 var strCrc = $"{(int)CodeUtil.CRC16_AD(result):X}".To16HexString(); diff --git a/Correlator/Util/SerialPortManager.cs b/Correlator/Util/SerialPortManager.cs index 06d90ba..1b22b8a 100644 --- a/Correlator/Util/SerialPortManager.cs +++ b/Correlator/Util/SerialPortManager.cs @@ -86,7 +86,6 @@ break; } - Debug.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " operateType => " + operateType); if (operateType != "WakeupResponse") return; if (FlowStatus.IsHydrophone && FlowStatus.CanCollectData) { @@ -407,10 +406,6 @@ CommandSender.SendCellAndStatusCollectCmd(Sp, devId); Sp.Write("ATA" + Environment.NewLine); } - else - { - Debug.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " SerialPortManager => 采集数据不能查询信号"); - } } public int SetSignalIntensity(int value)