diff --git a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/.vs/ZTTMS_Manage_YJ_20230104/FileContentIndex/0f51c59e-c56c-4ef5-9937-270a3ea6170b.vsidx b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/.vs/ZTTMS_Manage_YJ_20230104/FileContentIndex/0f51c59e-c56c-4ef5-9937-270a3ea6170b.vsidx deleted file mode 100644 index 8dc7100..0000000 Binary files a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/.vs/ZTTMS_Manage_YJ_20230104/FileContentIndex/0f51c59e-c56c-4ef5-9937-270a3ea6170b.vsidx and /dev/null differ diff --git a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/.vs/ZTTMS_Manage_YJ_20230104/FileContentIndex/5d73f20f-6b1a-4327-8c5b-0f8a707aaaf0.vsidx b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/.vs/ZTTMS_Manage_YJ_20230104/FileContentIndex/5d73f20f-6b1a-4327-8c5b-0f8a707aaaf0.vsidx new file mode 100644 index 0000000..58f760e Binary files /dev/null and b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/.vs/ZTTMS_Manage_YJ_20230104/FileContentIndex/5d73f20f-6b1a-4327-8c5b-0f8a707aaaf0.vsidx differ diff --git a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/.vs/ZTTMS_Manage_YJ_20230104/v17/.suo b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/.vs/ZTTMS_Manage_YJ_20230104/v17/.suo index b5b8315..2741d5e 100644 Binary files a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/.vs/ZTTMS_Manage_YJ_20230104/v17/.suo and b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/.vs/ZTTMS_Manage_YJ_20230104/v17/.suo differ diff --git a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/MainForm.cs b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/MainForm.cs index ef2c00a..1d517c0 100644 --- a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/MainForm.cs +++ b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/MainForm.cs @@ -584,7 +584,7 @@ namespace ZTTMS_Manage_YJ_20230104 continue; } - if (Others.g_dicSocket[Others.g_ip].Poll(1000, SelectMode.SelectRead)) + if (Others.g_dicSocket[Others.g_ip].Poll(1000, SelectMode.SelectRead) && Others.g_dicSocket[Others.g_ip].Available == 0) { Others.g_dicSocket[Others.g_ip].Close(); Others.g_dicSocket.Remove(Others.g_ip); @@ -621,6 +621,8 @@ namespace ZTTMS_Manage_YJ_20230104 continue; } + + EveryDayLog.Write("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); } } catch (Exception ee) @@ -718,12 +720,17 @@ namespace ZTTMS_Manage_YJ_20230104 r = socketSend.Receive(buffer); } + byte[] result = new byte[r]; for (int i = 0; i < r; i++) { gDevConnSerialRecvBuff[gDevConnSerialRecvBufLocation] = buffer[i]; gDevConnSerialRecvBufLocation++; gDevConnSerialRecvBufLocation %= (40 * 2048); + + result[i] = buffer[i]; } + + EveryDayLog.Write("接收原始数据:" + BitConverter.ToString(result)); } catch (Exception ee) { @@ -851,1031 +858,686 @@ namespace ZTTMS_Manage_YJ_20230104 gDevConnSerialHandleBuf[ii].gDevConnectRecvHandleFlag = DevSerialRecvHandle.DevDataHandleFlag.IDILING; Console.WriteLine(BitConverter.ToString(newDataTemp)); - EveryDayLog.Write("接收数据:" + BitConverter.ToString(newDataTemp)); + EveryDayLog.Write("接收分割数据:" + BitConverter.ToString(newDataTemp)); - //数据处理 - if (newDataTemp.Length > 18) + try { - #region 转义 - int j = 0; - for (int i = 0; i < newDataTemp.Length; i++) + //数据处理 + if (newDataTemp.Length > 18) { - if (newDataTemp[i] == 0x7e && newDataTemp[i + 1] == 0x01) + #region 转义 + int j = 0; + for (int i = 0; i < newDataTemp.Length; i++) { - newDataTemp[j] = 0x7e; - i++; - } - else if (newDataTemp[i] == 0x7e && newDataTemp[i + 1] == 0x02) - { - newDataTemp[j] = 0x7f; - i++; - } - else - { - newDataTemp[j] = newDataTemp[i]; - } - - j++; - } - - byte[] dataTemp = new byte[j]; - for (int i = 0; i < j; i++) - { - dataTemp[i] = newDataTemp[i]; - } - #endregion - - byte newCheckCode; - g_checkBuffer.Clear(); - - //进行CRC校验,判断消息是否错误 - for (int i = 1; i < dataTemp.Length - 2; i++) - { - g_checkBuffer.Add(dataTemp[i]); - } - newCheckCode = Others.CRC(g_checkBuffer.ToArray()); - - if (newCheckCode == dataTemp[dataTemp.Length - 2]) //CRC校验通过 - { - //判断终端设备类型或终端设备id是否存在 - if (dataTemp[3] != 0x00 || dataTemp[4] != 0x00 || dataTemp[5] != 0x00 || dataTemp[6] != 0xc8 || dataTemp[7] != 0x00 || dataTemp[8] != 0x00 || dataTemp[9] != 0x00 || dataTemp[10] != 0x02) - { - //终端设备类型或终端设备id不存在 - //平台通用应答——不支持 - Console.WriteLine("终端设备类型或终端设备id不存在!"); - TerminalAnswerUnsup(new byte[] { dataTemp[1], dataTemp[2] }, new byte[2] { dataTemp[15], dataTemp[16] }); - } - else - { - //终端通用应答 - if (dataTemp[1] == 0x00 && dataTemp[2] == 0x00) + if (newDataTemp[i] == 0x7e && newDataTemp[i + 1] == 0x01) { - //平台接收心跳 - if (dataTemp[19] == 0x80 && dataTemp[20] == 0x01) - { - Console.WriteLine("接收到心跳数据!"); - } + newDataTemp[j] = 0x7e; + i++; + } + else if (newDataTemp[i] == 0x7e && newDataTemp[i + 1] == 0x02) + { + newDataTemp[j] = 0x7f; + i++; + } + else + { + newDataTemp[j] = newDataTemp[i]; + } - //平台设置线路供电 - if (dataTemp[19] == 0x80 && dataTemp[20] == 0x0c && dataTemp[17] == Others.serialNumberLine[0] && dataTemp[18] == Others.serialNumberLine[1] && Others.judge[0] == 0x01) - { - if (dataTemp[21] == 0x00) - { - g_terminalResult = 0; - otherSettingForm.g_flagSetLine = true; - otherSettingForm.btnSetLineState.Enabled = true; - otherSettingForm.g_timerSetLine.Stop(); - } - else if (dataTemp[21] == 0x01) - { - g_terminalResult = 1; - otherSettingForm.g_flagSetLine = true; - otherSettingForm.btnSetLineState.Enabled = true; - otherSettingForm.g_timerSetLine.Stop(); - } - else if (dataTemp[21] == 0x02) - { - g_terminalResult = 2; - otherSettingForm.g_flagSetLine = true; - otherSettingForm.btnSetLineState.Enabled = true; - otherSettingForm.g_timerSetLine.Stop(); - } - else if (dataTemp[21] == 0x03) - { - g_terminalResult = 3; - otherSettingForm.g_flagSetLine = true; - otherSettingForm.btnSetLineState.Enabled = true; - otherSettingForm.g_timerSetLine.Stop(); - } - Console.WriteLine("设置线路供电结果为:" + g_terminalResult + "/" + DateTime.Now); - EveryDayLog.Write("设置线路供电结果为:" + g_terminalResult); - Others.judge[0] = 0x00; - } + j++; + } - //时间同步 - if (dataTemp[19] == 0x80 && dataTemp[20] == 0x02) - { - if (dataTemp[21] == 0x00) - { - g_terminalResult = 0; - } - else if (dataTemp[21] == 0x01) - { - g_terminalResult = 1; - } - else if (dataTemp[21] == 0x02) - { - g_terminalResult = 2; - } - else if (dataTemp[21] == 0x03) - { - g_terminalResult = 3; - } - Console.WriteLine("时间同步结果为:" + g_terminalResult + "/" + DateTime.Now); - EveryDayLog.Write("时间同步结果为:" + g_terminalResult); - } + byte[] dataTemp = new byte[j]; + for (int i = 0; i < j; i++) + { + dataTemp[i] = newDataTemp[i]; + } + #endregion - //平台请求数据 - if (dataTemp[19] == 0x80 && dataTemp[20] == 0x0b) - { - if (dataTemp[21] == 0x00) - { - g_terminalResult = 0; //成功接收 - statusInfoDataForm.g_flagRequestData = true; - statusInfoDataForm.btnGetNewInfo.Enabled = true; - statusInfoDataForm.g_timerRequestData.Stop(); - } - else if (dataTemp[21] == 0x01) - { - g_terminalResult = 1; - statusInfoDataForm.g_flagRequestData = true; - statusInfoDataForm.btnGetNewInfo.Enabled = true; - statusInfoDataForm.g_timerRequestData.Stop(); - } - else if (dataTemp[21] == 0x02) - { - g_terminalResult = 2; - statusInfoDataForm.g_flagRequestData = true; - statusInfoDataForm.btnGetNewInfo.Enabled = true; - statusInfoDataForm.g_timerRequestData.Stop(); - } - else if (dataTemp[21] == 0x03) - { - g_terminalResult = 3; - statusInfoDataForm.g_flagRequestData = true; - statusInfoDataForm.btnGetNewInfo.Enabled = true; - statusInfoDataForm.g_timerRequestData.Stop(); - } - Console.WriteLine("请求数据结果为:" + g_terminalResult + "/" + DateTime.Now); - EveryDayLog.Write("请求数据结果为:" + g_terminalResult); - } + byte newCheckCode; + g_checkBuffer.Clear(); - //平台设置上传周期 - if (dataTemp[19] == 0x80 && dataTemp[20] == 0x0c && dataTemp[17] == Others.serialNumberUpdate[0] && dataTemp[18] == Others.serialNumberUpdate[1] && Others.judge[1] == 0x01) - { - if (dataTemp[21] == 0x00) - { - g_terminalResult = 0; //成功接收 - otherSettingForm.g_flagSetSensor = true; - otherSettingForm.btnStatusInfoSet.Enabled = true; - otherSettingForm.g_timerSetSensor.Stop(); - } - else if (dataTemp[21] == 0x01) - { - g_terminalResult = 1; - otherSettingForm.g_flagSetSensor = true; - otherSettingForm.btnStatusInfoSet.Enabled = true; - otherSettingForm.g_timerSetSensor.Stop(); - } - else if (dataTemp[21] == 0x02) - { - g_terminalResult = 2; - otherSettingForm.g_flagSetSensor = true; - otherSettingForm.btnStatusInfoSet.Enabled = true; - otherSettingForm.g_timerSetSensor.Stop(); - } - else if (dataTemp[21] == 0x03) - { - g_terminalResult = 3; - otherSettingForm.g_flagSetSensor = true; - otherSettingForm.btnStatusInfoSet.Enabled = true; - otherSettingForm.g_timerSetSensor.Stop(); - } - Console.WriteLine("设置上传周期结果为:" + g_terminalResult + "/" + DateTime.Now); - EveryDayLog.Write("设置上传周期结果为:" + g_terminalResult); - Others.judge[1] = 0x00; - } + //进行CRC校验,判断消息是否错误 + for (int i = 1; i < dataTemp.Length - 2; i++) + { + g_checkBuffer.Add(dataTemp[i]); + } + newCheckCode = Others.CRC(g_checkBuffer.ToArray()); - //平台请求终端重启 - if (dataTemp[19] == 0x80 && dataTemp[20] == 0x11) + if (newCheckCode == dataTemp[dataTemp.Length - 2]) //CRC校验通过 + { + //判断终端设备类型或终端设备id是否存在 + if (dataTemp[3] != 0x00 || dataTemp[4] != 0x00 || dataTemp[5] != 0x00 || dataTemp[6] != 0xc8 || dataTemp[7] != 0x00 || dataTemp[8] != 0x00 || dataTemp[9] != 0x00 || dataTemp[10] != 0x02) + { + //终端设备类型或终端设备id不存在 + //平台通用应答——不支持 + Console.WriteLine("终端设备类型或终端设备id不存在!"); + TerminalAnswerUnsup(new byte[] { dataTemp[1], dataTemp[2] }, new byte[2] { dataTemp[15], dataTemp[16] }); + } + else + { + //终端通用应答 + if (dataTemp[1] == 0x00 && dataTemp[2] == 0x00) { - if (dataTemp[21] == 0x00) + //平台接收心跳 + if (dataTemp[19] == 0x80 && dataTemp[20] == 0x01) { - g_terminalResult = 0; //成功接收 - otherSettingForm.g_flagRequestRestart = true; - otherSettingForm.btnRestart.Enabled = true; - otherSettingForm.g_timerRequestRestart.Stop(); + Console.WriteLine("接收到心跳数据!"); } - else if (dataTemp[21] == 0x01) - { - g_terminalResult = 1; - otherSettingForm.g_flagRequestRestart = true; - otherSettingForm.btnRestart.Enabled = true; - otherSettingForm.g_timerRequestRestart.Stop(); - } - else if (dataTemp[21] == 0x02) - { - g_terminalResult = 2; - otherSettingForm.g_flagRequestRestart = true; - otherSettingForm.btnRestart.Enabled = true; - otherSettingForm.g_timerRequestRestart.Stop(); - } - else if (dataTemp[21] == 0x03) - { - g_terminalResult = 3; - otherSettingForm.g_flagRequestRestart = true; - otherSettingForm.btnRestart.Enabled = true; - otherSettingForm.g_timerRequestRestart.Stop(); - } - Console.WriteLine("终端重启结果为:" + g_terminalResult + "/" + DateTime.Now); - EveryDayLog.Write("终端重启结果为:" + g_terminalResult); - } - //平台请求远程升级 - if (dataTemp[19] == 0x80 && dataTemp[20] == 0x0d) - { - if (dataTemp[21] == 0x00) + //平台设置线路供电 + if (dataTemp[19] == 0x80 && dataTemp[20] == 0x0c && dataTemp[17] == Others.serialNumberLine[0] && dataTemp[18] == Others.serialNumberLine[1] && Others.judge[0] == 0x01) { - g_terminalResult = 0; //成功接收 - remoteUpgradeForm.g_flagRequestRemoteUpgrade = true; - remoteUpgradeForm.g_timerRequestRemoteUpgrade.Stop(); - g_fileTransferTime = 1; - //发送升级程序 - TransferFile(); - } - else if (dataTemp[21] == 0x01) - { - g_terminalResult = 1; - remoteUpgradeForm.g_flagRequestRemoteUpgrade = true; - remoteUpgradeForm.btnUpgrade.Enabled = true; - remoteUpgradeForm.g_timerRequestRemoteUpgrade.Stop(); - } - else if (dataTemp[21] == 0x02) - { - g_terminalResult = 2; - remoteUpgradeForm.g_flagRequestRemoteUpgrade = true; - remoteUpgradeForm.btnUpgrade.Enabled = true; - remoteUpgradeForm.g_timerRequestRemoteUpgrade.Stop(); - } - else if (dataTemp[21] == 0x03) - { - g_terminalResult = 3; - remoteUpgradeForm.g_flagRequestRemoteUpgrade = true; - remoteUpgradeForm.btnUpgrade.Enabled = true; - remoteUpgradeForm.g_timerRequestRemoteUpgrade.Stop(); - } - Console.WriteLine("请求远程升级结果为:" + g_terminalResult + "/" + DateTime.Now); - EveryDayLog.Write("请求远程升级结果为:" + g_terminalResult); - } - - //升级程序传输 - if (dataTemp[19] == 0x80 && dataTemp[20] == 0x05) - { - if (dataTemp[21] == 0x00) - { - g_terminalResult = 0; //成功接收 - g_flagFileTransfer = true; - g_timerFileTransfer.Stop(); - //判断是否为最后一个文件,否则继续传输下一个文件 - if (g_currentFileNum != g_fileNum) + if (dataTemp[21] == 0x00) { + g_terminalResult = 0; + otherSettingForm.g_flagSetLine = true; + otherSettingForm.btnSetLineState.Enabled = true; + otherSettingForm.g_timerSetLine.Stop(); + } + else if (dataTemp[21] == 0x01) + { + g_terminalResult = 1; + otherSettingForm.g_flagSetLine = true; + otherSettingForm.btnSetLineState.Enabled = true; + otherSettingForm.g_timerSetLine.Stop(); + } + else if (dataTemp[21] == 0x02) + { + g_terminalResult = 2; + otherSettingForm.g_flagSetLine = true; + otherSettingForm.btnSetLineState.Enabled = true; + otherSettingForm.g_timerSetLine.Stop(); + } + else if (dataTemp[21] == 0x03) + { + g_terminalResult = 3; + otherSettingForm.g_flagSetLine = true; + otherSettingForm.btnSetLineState.Enabled = true; + otherSettingForm.g_timerSetLine.Stop(); + } + Console.WriteLine("设置线路供电结果为:" + g_terminalResult + "/" + DateTime.Now); + EveryDayLog.Write("设置线路供电结果为:" + g_terminalResult); + Others.judge[0] = 0x00; + } + + //时间同步 + if (dataTemp[19] == 0x80 && dataTemp[20] == 0x02) + { + if (dataTemp[21] == 0x00) + { + g_terminalResult = 0; + } + else if (dataTemp[21] == 0x01) + { + g_terminalResult = 1; + } + else if (dataTemp[21] == 0x02) + { + g_terminalResult = 2; + } + else if (dataTemp[21] == 0x03) + { + g_terminalResult = 3; + } + Console.WriteLine("时间同步结果为:" + g_terminalResult + "/" + DateTime.Now); + EveryDayLog.Write("时间同步结果为:" + g_terminalResult); + } + + //平台请求数据 + if (dataTemp[19] == 0x80 && dataTemp[20] == 0x0b) + { + if (dataTemp[21] == 0x00) + { + g_terminalResult = 0; //成功接收 + statusInfoDataForm.g_flagRequestData = true; + statusInfoDataForm.btnGetNewInfo.Enabled = true; + statusInfoDataForm.g_timerRequestData.Stop(); + } + else if (dataTemp[21] == 0x01) + { + g_terminalResult = 1; + statusInfoDataForm.g_flagRequestData = true; + statusInfoDataForm.btnGetNewInfo.Enabled = true; + statusInfoDataForm.g_timerRequestData.Stop(); + } + else if (dataTemp[21] == 0x02) + { + g_terminalResult = 2; + statusInfoDataForm.g_flagRequestData = true; + statusInfoDataForm.btnGetNewInfo.Enabled = true; + statusInfoDataForm.g_timerRequestData.Stop(); + } + else if (dataTemp[21] == 0x03) + { + g_terminalResult = 3; + statusInfoDataForm.g_flagRequestData = true; + statusInfoDataForm.btnGetNewInfo.Enabled = true; + statusInfoDataForm.g_timerRequestData.Stop(); + } + Console.WriteLine("请求数据结果为:" + g_terminalResult + "/" + DateTime.Now); + EveryDayLog.Write("请求数据结果为:" + g_terminalResult); + } + + //平台设置上传周期 + if (dataTemp[19] == 0x80 && dataTemp[20] == 0x0c && dataTemp[17] == Others.serialNumberUpdate[0] && dataTemp[18] == Others.serialNumberUpdate[1] && Others.judge[1] == 0x01) + { + if (dataTemp[21] == 0x00) + { + g_terminalResult = 0; //成功接收 + otherSettingForm.g_flagSetSensor = true; + otherSettingForm.btnStatusInfoSet.Enabled = true; + otherSettingForm.g_timerSetSensor.Stop(); + } + else if (dataTemp[21] == 0x01) + { + g_terminalResult = 1; + otherSettingForm.g_flagSetSensor = true; + otherSettingForm.btnStatusInfoSet.Enabled = true; + otherSettingForm.g_timerSetSensor.Stop(); + } + else if (dataTemp[21] == 0x02) + { + g_terminalResult = 2; + otherSettingForm.g_flagSetSensor = true; + otherSettingForm.btnStatusInfoSet.Enabled = true; + otherSettingForm.g_timerSetSensor.Stop(); + } + else if (dataTemp[21] == 0x03) + { + g_terminalResult = 3; + otherSettingForm.g_flagSetSensor = true; + otherSettingForm.btnStatusInfoSet.Enabled = true; + otherSettingForm.g_timerSetSensor.Stop(); + } + Console.WriteLine("设置上传周期结果为:" + g_terminalResult + "/" + DateTime.Now); + EveryDayLog.Write("设置上传周期结果为:" + g_terminalResult); + Others.judge[1] = 0x00; + } + + //平台请求终端重启 + if (dataTemp[19] == 0x80 && dataTemp[20] == 0x11) + { + if (dataTemp[21] == 0x00) + { + g_terminalResult = 0; //成功接收 + otherSettingForm.g_flagRequestRestart = true; + otherSettingForm.btnRestart.Enabled = true; + otherSettingForm.g_timerRequestRestart.Stop(); + } + else if (dataTemp[21] == 0x01) + { + g_terminalResult = 1; + otherSettingForm.g_flagRequestRestart = true; + otherSettingForm.btnRestart.Enabled = true; + otherSettingForm.g_timerRequestRestart.Stop(); + } + else if (dataTemp[21] == 0x02) + { + g_terminalResult = 2; + otherSettingForm.g_flagRequestRestart = true; + otherSettingForm.btnRestart.Enabled = true; + otherSettingForm.g_timerRequestRestart.Stop(); + } + else if (dataTemp[21] == 0x03) + { + g_terminalResult = 3; + otherSettingForm.g_flagRequestRestart = true; + otherSettingForm.btnRestart.Enabled = true; + otherSettingForm.g_timerRequestRestart.Stop(); + } + Console.WriteLine("终端重启结果为:" + g_terminalResult + "/" + DateTime.Now); + EveryDayLog.Write("终端重启结果为:" + g_terminalResult); + } + + //平台请求远程升级 + if (dataTemp[19] == 0x80 && dataTemp[20] == 0x0d) + { + if (dataTemp[21] == 0x00) + { + g_terminalResult = 0; //成功接收 + remoteUpgradeForm.g_flagRequestRemoteUpgrade = true; + remoteUpgradeForm.g_timerRequestRemoteUpgrade.Stop(); + g_fileTransferTime = 1; //发送升级程序 TransferFile(); } - else + else if (dataTemp[21] == 0x01) { + g_terminalResult = 1; + remoteUpgradeForm.g_flagRequestRemoteUpgrade = true; remoteUpgradeForm.btnUpgrade.Enabled = true; + remoteUpgradeForm.g_timerRequestRemoteUpgrade.Stop(); } - - g_retransmission = 0; - } - else if (dataTemp[21] == 0x01) - { - g_terminalResult = 1; - g_flagFileTransfer = true; - g_timerFileTransfer.Stop(); - - //Console.WriteLine("升级程序传输出错,请重新升级!"); - MessageBoxForm messageBoxForm = new MessageBoxForm(); - messageBoxForm.strType = "警告"; - messageBoxForm.strMessage = "升级程序传输出错,请重新升级!"; - OpenMessageForm(messageBoxForm); - - remoteUpgradeForm.btnUpgrade.Enabled = true; - g_fileTransferTime = 1; - } - else if (dataTemp[21] == 0x02) - { - g_terminalResult = 2; - g_flagFileTransfer = true; - g_timerFileTransfer.Stop(); - - if (g_retransmission == 2) + else if (dataTemp[21] == 0x02) { - g_fileTransferTime = 1; - //MessageBox.Show("远程升级失败,请重新请求升级!"); + g_terminalResult = 2; + remoteUpgradeForm.g_flagRequestRemoteUpgrade = true; + remoteUpgradeForm.btnUpgrade.Enabled = true; + remoteUpgradeForm.g_timerRequestRemoteUpgrade.Stop(); + } + else if (dataTemp[21] == 0x03) + { + g_terminalResult = 3; + remoteUpgradeForm.g_flagRequestRemoteUpgrade = true; + remoteUpgradeForm.btnUpgrade.Enabled = true; + remoteUpgradeForm.g_timerRequestRemoteUpgrade.Stop(); + } + Console.WriteLine("请求远程升级结果为:" + g_terminalResult + "/" + DateTime.Now); + EveryDayLog.Write("请求远程升级结果为:" + g_terminalResult); + } + + //升级程序传输 + if (dataTemp[19] == 0x80 && dataTemp[20] == 0x05) + { + if (dataTemp[21] == 0x00) + { + g_terminalResult = 0; //成功接收 + g_flagFileTransfer = true; + g_timerFileTransfer.Stop(); + //判断是否为最后一个文件,否则继续传输下一个文件 + if (g_currentFileNum != g_fileNum) + { + //发送升级程序 + TransferFile(); + } + else + { + remoteUpgradeForm.btnUpgrade.Enabled = true; + } + + g_retransmission = 0; + } + else if (dataTemp[21] == 0x01) + { + g_terminalResult = 1; + g_flagFileTransfer = true; + g_timerFileTransfer.Stop(); + + //Console.WriteLine("升级程序传输出错,请重新升级!"); MessageBoxForm messageBoxForm = new MessageBoxForm(); messageBoxForm.strType = "警告"; - messageBoxForm.strMessage = "远程升级失败,请重新请求升级!"; + messageBoxForm.strMessage = "升级程序传输出错,请重新升级!"; OpenMessageForm(messageBoxForm); remoteUpgradeForm.btnUpgrade.Enabled = true; + g_fileTransferTime = 1; } - - //判断是否为最后一个文件,否则继续传输下一个文件 - if (g_currentFileNum != g_fileNum) + else if (dataTemp[21] == 0x02) { - //发送升级程序 - TransferFile(); + g_terminalResult = 2; + g_flagFileTransfer = true; + g_timerFileTransfer.Stop(); + + if (g_retransmission == 2) + { + g_fileTransferTime = 1; + //MessageBox.Show("远程升级失败,请重新请求升级!"); + MessageBoxForm messageBoxForm = new MessageBoxForm(); + messageBoxForm.strType = "警告"; + messageBoxForm.strMessage = "远程升级失败,请重新请求升级!"; + OpenMessageForm(messageBoxForm); + + remoteUpgradeForm.btnUpgrade.Enabled = true; + } + + //判断是否为最后一个文件,否则继续传输下一个文件 + if (g_currentFileNum != g_fileNum) + { + //发送升级程序 + TransferFile(); + } + else + { + remoteUpgradeForm.btnUpgrade.Enabled = true; + } + + g_retransmission = 2; + } + else if (dataTemp[21] == 0x03) + { + g_terminalResult = 3; + g_flagFileTransfer = true; + g_timerFileTransfer.Stop(); + + //Console.WriteLine("升级程序传输出错,请重新升级!"); + MessageBoxForm messageBoxForm = new MessageBoxForm(); + messageBoxForm.strType = "警告"; + messageBoxForm.strMessage = "升级程序传输出错,请重新升级!"; + OpenMessageForm(messageBoxForm); + + remoteUpgradeForm.btnUpgrade.Enabled = true; + g_fileTransferTime = 1; + } + Console.WriteLine("平台请求终端文件结果为:" + g_terminalResult + "/" + DateTime.Now); + EveryDayLog.Write("平台请求终端文件结果为:" + g_terminalResult); + } + + //平台请求文件 + if (dataTemp[19] == 0x80 && dataTemp[20] == 0x0e) + { + if (dataTemp[21] == 0x00) + { + g_terminalResult = 0; //成功接收 + fileAcquisitionForm.g_flagRequestTerminalFile = true; + fileAcquisitionForm.lblError.Text = "您选择日期的文件操作成功!"; + fileAcquisitionForm.btnUpgrade.Enabled = true; + fileAcquisitionForm.g_timerRequestTerminalFile.Stop(); + } + else if (dataTemp[21] == 0x01) + { + g_terminalResult = 1; + fileAcquisitionForm.g_flagRequestTerminalFile = true; + fileAcquisitionForm.btnUpgrade.Enabled = true; + fileAcquisitionForm.g_timerRequestTerminalFile.Stop(); + } + else if (dataTemp[21] == 0x02) + { + g_terminalResult = 2; + fileAcquisitionForm.g_flagRequestTerminalFile = true; + fileAcquisitionForm.lblError.Text = "您选择的日期无该文件,请重新选择!"; + fileAcquisitionForm.btnUpgrade.Enabled = true; + fileAcquisitionForm.g_timerRequestTerminalFile.Stop(); + } + else if (dataTemp[21] == 0x03) + { + g_terminalResult = 3; + fileAcquisitionForm.g_flagRequestTerminalFile = true; + fileAcquisitionForm.btnUpgrade.Enabled = true; + fileAcquisitionForm.g_timerRequestTerminalFile.Stop(); + } + Console.WriteLine("请求文件结果为:" + g_terminalResult + "/" + DateTime.Now); + EveryDayLog.Write("请求文件结果为:" + g_terminalResult); + } + + //平台设置终端串口配置 + if (dataTemp[19] == 0x80 && dataTemp[20] == 0x80) + { + if (dataTemp[21] == 0x00) + { + g_terminalResult = 0; //成功接收 + Others.g_flagModifySerialPort = true; + serialPortSettingForm.btnModifyConfiguration.Enabled = true; + Others.g_timerModifySerialPort.Stop(); + } + else if (dataTemp[21] == 0x01) + { + g_terminalResult = 1; + Others.g_flagModifySerialPort = true; + serialPortSettingForm.btnModifyConfiguration.Enabled = true; + Others.g_timerModifySerialPort.Stop(); + } + else if (dataTemp[21] == 0x02) + { + g_terminalResult = 2; + Others.g_flagModifySerialPort = true; + serialPortSettingForm.btnModifyConfiguration.Enabled = true; + Others.g_timerModifySerialPort.Stop(); + } + else if (dataTemp[21] == 0x03) + { + g_terminalResult = 3; + Others.g_flagModifySerialPort = true; + serialPortSettingForm.btnModifyConfiguration.Enabled = true; + Others.g_timerModifySerialPort.Stop(); + } + Console.WriteLine("设置终端串口配置结果为:" + g_terminalResult + "/" + DateTime.Now); + EveryDayLog.Write("设置终端串口配置结果为:" + g_terminalResult); + } + + //平台修改终端通信ip + if (dataTemp[19] == 0x80 && dataTemp[20] == 0x13) + { + if (dataTemp[21] == 0x00) + { + g_terminalResult = 0; //成功接收 + Others.g_flagModifyNetwork = true; + networkPortSettingForm.btnModifyConfiguration.Enabled = true; + Others.g_timerModifyNetwork.Stop(); + } + else if (dataTemp[21] == 0x01) + { + g_terminalResult = 1; + Others.g_flagModifyNetwork = true; + networkPortSettingForm.btnModifyConfiguration.Enabled = true; + Others.g_timerModifyNetwork.Stop(); + } + else if (dataTemp[21] == 0x02) + { + g_terminalResult = 2; + Others.g_flagModifyNetwork = true; + networkPortSettingForm.btnModifyConfiguration.Enabled = true; + Others.g_timerModifyNetwork.Stop(); + } + else if (dataTemp[21] == 0x03) + { + g_terminalResult = 3; + Others.g_flagModifyNetwork = true; + networkPortSettingForm.btnModifyConfiguration.Enabled = true; + Others.g_timerModifyNetwork.Stop(); + } + Console.WriteLine("修改终端通信ip结果为:" + g_terminalResult + "/" + DateTime.Now); + EveryDayLog.Write("修改终端通信ip结果为:" + g_terminalResult); + } + + //平台请求数据 + if (dataTemp[19] == 0x80 && dataTemp[20] == 0x04) + { + if (dataTemp[21] == 0x00) + { + g_terminalResult = 0; //成功接收 + serialPortSettingForm.g_flagRequestHardwareInformation = true; + serialPortSettingForm.btnRequestInfo.Enabled = true; + serialPortSettingForm.g_timerRequestHardwareInformation.Stop(); + } + else if (dataTemp[21] == 0x01) + { + g_terminalResult = 1; + serialPortSettingForm.g_flagRequestHardwareInformation = true; + serialPortSettingForm.btnRequestInfo.Enabled = true; + serialPortSettingForm.g_timerRequestHardwareInformation.Stop(); + } + else if (dataTemp[21] == 0x02) + { + g_terminalResult = 2; + serialPortSettingForm.g_flagRequestHardwareInformation = true; + serialPortSettingForm.btnRequestInfo.Enabled = true; + serialPortSettingForm.g_timerRequestHardwareInformation.Stop(); + } + else if (dataTemp[21] == 0x03) + { + g_terminalResult = 3; + serialPortSettingForm.g_flagRequestHardwareInformation = true; + serialPortSettingForm.btnRequestInfo.Enabled = true; + serialPortSettingForm.g_timerRequestHardwareInformation.Stop(); + } + Console.WriteLine("请求硬件信息结果为:" + g_terminalResult + "/" + DateTime.Now); + EveryDayLog.Write("请求硬件信息结果为:" + g_terminalResult); + } + + //平台请求多参数透传数据 + if (dataTemp[19] == 0x80 && dataTemp[20] == 0x03 && dataTemp[17] == Others.serialNumberMulti[0] && dataTemp[18] == Others.serialNumberMulti[1] && Others.judegData[0] == 0x01) + { + if (dataTemp[21] == 0x00) + { + g_terminalResult = 0; //成功接收 + sensorDataForm.g_flagControlTransparentData = true; + //sensorDataForm.btnGetNewInfo.Enabled = true; + sensorDataForm.g_timerControlTransparentData.Stop(); + } + else if (dataTemp[21] == 0x01) + { + g_terminalResult = 1; + sensorDataForm.g_flagControlTransparentData = true; + //sensorDataForm.btnGetNewInfo.Enabled = true; + sensorDataForm.g_timerControlTransparentData.Stop(); + } + else if (dataTemp[21] == 0x02) + { + g_terminalResult = 2; + sensorDataForm.g_flagControlTransparentData = true; + //sensorDataForm.btnGetNewInfo.Enabled = true; + sensorDataForm.g_timerControlTransparentData.Stop(); + } + else if (dataTemp[21] == 0x03) + { + g_terminalResult = 3; + sensorDataForm.g_flagControlTransparentData = true; + //sensorDataForm.btnGetNewInfo.Enabled = true; + sensorDataForm.g_timerControlTransparentData.Stop(); + } + Others.judegData[0] = 0x00; + Console.WriteLine("请求多参数透传数据结果为:" + g_terminalResult + "/" + DateTime.Now); + EveryDayLog.Write("请求多参数透传数据结果为:" + g_terminalResult); + } + + //平台请求电磁透传数据 + if (dataTemp[19] == 0x80 && dataTemp[20] == 0x03 && dataTemp[17] == Others.serialNumberElect[0] && dataTemp[18] == Others.serialNumberElect[1] && Others.judegData[1] == 0x01) + { + if (dataTemp[21] == 0x00) + { + g_terminalResult = 0; //成功接收 + electDataForm.g_flagControlTransparentData = true; + electDataForm.btnGetNewInfo.Enabled = true; + electDataForm.g_timerControlTransparentData.Stop(); + } + else if (dataTemp[21] == 0x01) + { + g_terminalResult = 1; + electDataForm.g_flagControlTransparentData = true; + electDataForm.btnGetNewInfo.Enabled = true; + electDataForm.g_timerControlTransparentData.Stop(); + } + else if (dataTemp[21] == 0x02) + { + g_terminalResult = 2; + electDataForm.g_flagControlTransparentData = true; + electDataForm.btnGetNewInfo.Enabled = true; + electDataForm.g_timerControlTransparentData.Stop(); + } + else if (dataTemp[21] == 0x03) + { + g_terminalResult = 3; + electDataForm.g_flagControlTransparentData = true; + electDataForm.btnGetNewInfo.Enabled = true; + electDataForm.g_timerControlTransparentData.Stop(); + } + Others.judegData[1] = 0x00; + Console.WriteLine("请求电磁透传数据结果为:" + g_terminalResult + "/" + DateTime.Now); + EveryDayLog.Write("请求电磁透传数据结果为:" + g_terminalResult); + } + } + + //接收时间同步 + if (dataTemp[1] == 0x00 && dataTemp[2] == 0x02) + { + Others.g_messageId[0] = 0x80; + Others.g_messageId[1] = 0x02; + + //消息体流水号 + byte[] messageBodySerialNumbeReturnSyncTime = new byte[2]; + messageBodySerialNumbeReturnSyncTime[0] = (byte)((g_serialSyncTime & 0xFF00) >> 8); + messageBodySerialNumbeReturnSyncTime[1] = (byte)((g_serialSyncTime & 0x00FF)); + + //消息体 + g_sqlSyncTime = Convert.ToInt64(DateTime.Now.ToString("yyyyMMddHHmmss")); + ulong datetime = (ulong)g_sqlSyncTime; + byte[] time = new byte[8]; + time[0] = (byte)((byte)(datetime >> 56) & 0xff); + time[1] = (byte)((byte)(datetime >> 48) & 0xff); + time[2] = (byte)((byte)(datetime >> 40) & 0xff); + time[3] = (byte)((byte)(datetime >> 32) & 0xff); + time[4] = (byte)((byte)(datetime >> 24) & 0xff); + time[5] = (byte)((byte)(datetime >> 16) & 0xff); + time[6] = (byte)((byte)(datetime >> 8) & 0xff); + time[7] = (byte)((byte)datetime & 0xff); + + //消息体属性 + ushort datalen = (ushort)(time.Length); + Others.g_messageBodyProperty = Others.Property(datalen); + + //校验码 + g_crc8CheckBuffer.Clear(); + g_crc8CheckBuffer.Clear(); + g_crc8CheckBuffer.AddRange(Others.g_messageId); + g_crc8CheckBuffer.AddRange(Others.g_terminalEquipmentType); + g_crc8CheckBuffer.AddRange(Others.g_terminalEquipmentId); + g_crc8CheckBuffer.AddRange(Others.g_messageBodyProperty); + g_crc8CheckBuffer.AddRange(Others.g_versionNumber); + g_crc8CheckBuffer.AddRange(messageBodySerialNumbeReturnSyncTime); + g_crc8CheckBuffer.AddRange(time); + g_checkCode = Others.CRC(g_crc8CheckBuffer.ToArray()); + + List buffer = Others.Transform(g_crc8CheckBuffer, g_checkCode, Others.g_flagBit); + + try + { + if (Others.g_flagReceive == true) + { + //通过IP地址找到对应的Socket + Others.g_dicSocket[Others.g_ip].Send(buffer.ToArray()); + + EveryDayLog.Write("时间同步:" + BitConverter.ToString(buffer.ToArray())); + + Console.WriteLine(BitConverter.ToString(buffer.ToArray())); + + //流水号+1 + g_serialSyncTime++; } else { - remoteUpgradeForm.btnUpgrade.Enabled = true; + Console.WriteLine("连接已断开!"); } - - g_retransmission = 2; - } - else if (dataTemp[21] == 0x03) - { - g_terminalResult = 3; - g_flagFileTransfer = true; - g_timerFileTransfer.Stop(); - - //Console.WriteLine("升级程序传输出错,请重新升级!"); - MessageBoxForm messageBoxForm = new MessageBoxForm(); - messageBoxForm.strType = "警告"; - messageBoxForm.strMessage = "升级程序传输出错,请重新升级!"; - OpenMessageForm(messageBoxForm); - - remoteUpgradeForm.btnUpgrade.Enabled = true; - g_fileTransferTime = 1; - } - Console.WriteLine("平台请求终端文件结果为:" + g_terminalResult + "/" + DateTime.Now); - EveryDayLog.Write("平台请求终端文件结果为:" + g_terminalResult); - } - - //平台请求文件 - if (dataTemp[19] == 0x80 && dataTemp[20] == 0x0e) - { - if (dataTemp[21] == 0x00) - { - g_terminalResult = 0; //成功接收 - fileAcquisitionForm.g_flagRequestTerminalFile = true; - fileAcquisitionForm.lblError.Text = "您选择日期的文件操作成功!"; - fileAcquisitionForm.btnUpgrade.Enabled = true; - fileAcquisitionForm.g_timerRequestTerminalFile.Stop(); - } - else if (dataTemp[21] == 0x01) - { - g_terminalResult = 1; - fileAcquisitionForm.g_flagRequestTerminalFile = true; - fileAcquisitionForm.btnUpgrade.Enabled = true; - fileAcquisitionForm.g_timerRequestTerminalFile.Stop(); - } - else if (dataTemp[21] == 0x02) - { - g_terminalResult = 2; - fileAcquisitionForm.g_flagRequestTerminalFile = true; - fileAcquisitionForm.lblError.Text = "您选择的日期无该文件,请重新选择!"; - fileAcquisitionForm.btnUpgrade.Enabled = true; - fileAcquisitionForm.g_timerRequestTerminalFile.Stop(); - } - else if (dataTemp[21] == 0x03) - { - g_terminalResult = 3; - fileAcquisitionForm.g_flagRequestTerminalFile = true; - fileAcquisitionForm.btnUpgrade.Enabled = true; - fileAcquisitionForm.g_timerRequestTerminalFile.Stop(); - } - Console.WriteLine("请求文件结果为:" + g_terminalResult + "/" + DateTime.Now); - EveryDayLog.Write("请求文件结果为:" + g_terminalResult); - } - - //平台设置终端串口配置 - if (dataTemp[19] == 0x80 && dataTemp[20] == 0x80) - { - if (dataTemp[21] == 0x00) - { - g_terminalResult = 0; //成功接收 - Others.g_flagModifySerialPort = true; - serialPortSettingForm.btnModifyConfiguration.Enabled = true; - Others.g_timerModifySerialPort.Stop(); - } - else if (dataTemp[21] == 0x01) - { - g_terminalResult = 1; - Others.g_flagModifySerialPort = true; - serialPortSettingForm.btnModifyConfiguration.Enabled = true; - Others.g_timerModifySerialPort.Stop(); - } - else if (dataTemp[21] == 0x02) - { - g_terminalResult = 2; - Others.g_flagModifySerialPort = true; - serialPortSettingForm.btnModifyConfiguration.Enabled = true; - Others.g_timerModifySerialPort.Stop(); - } - else if (dataTemp[21] == 0x03) - { - g_terminalResult = 3; - Others.g_flagModifySerialPort = true; - serialPortSettingForm.btnModifyConfiguration.Enabled = true; - Others.g_timerModifySerialPort.Stop(); - } - Console.WriteLine("设置终端串口配置结果为:" + g_terminalResult + "/" + DateTime.Now); - EveryDayLog.Write("设置终端串口配置结果为:" + g_terminalResult); - } - - //平台修改终端通信ip - if (dataTemp[19] == 0x80 && dataTemp[20] == 0x13) - { - if (dataTemp[21] == 0x00) - { - g_terminalResult = 0; //成功接收 - Others.g_flagModifyNetwork = true; - networkPortSettingForm.btnModifyConfiguration.Enabled = true; - Others.g_timerModifyNetwork.Stop(); - } - else if (dataTemp[21] == 0x01) - { - g_terminalResult = 1; - Others.g_flagModifyNetwork = true; - networkPortSettingForm.btnModifyConfiguration.Enabled = true; - Others.g_timerModifyNetwork.Stop(); - } - else if (dataTemp[21] == 0x02) - { - g_terminalResult = 2; - Others.g_flagModifyNetwork = true; - networkPortSettingForm.btnModifyConfiguration.Enabled = true; - Others.g_timerModifyNetwork.Stop(); - } - else if (dataTemp[21] == 0x03) - { - g_terminalResult = 3; - Others.g_flagModifyNetwork = true; - networkPortSettingForm.btnModifyConfiguration.Enabled = true; - Others.g_timerModifyNetwork.Stop(); - } - Console.WriteLine("修改终端通信ip结果为:" + g_terminalResult + "/" + DateTime.Now); - EveryDayLog.Write("修改终端通信ip结果为:" + g_terminalResult); - } - - //平台请求数据 - if (dataTemp[19] == 0x80 && dataTemp[20] == 0x04) - { - if (dataTemp[21] == 0x00) - { - g_terminalResult = 0; //成功接收 - serialPortSettingForm.g_flagRequestHardwareInformation = true; - serialPortSettingForm.btnRequestInfo.Enabled = true; - serialPortSettingForm.g_timerRequestHardwareInformation.Stop(); - } - else if (dataTemp[21] == 0x01) - { - g_terminalResult = 1; - serialPortSettingForm.g_flagRequestHardwareInformation = true; - serialPortSettingForm.btnRequestInfo.Enabled = true; - serialPortSettingForm.g_timerRequestHardwareInformation.Stop(); - } - else if (dataTemp[21] == 0x02) - { - g_terminalResult = 2; - serialPortSettingForm.g_flagRequestHardwareInformation = true; - serialPortSettingForm.btnRequestInfo.Enabled = true; - serialPortSettingForm.g_timerRequestHardwareInformation.Stop(); - } - else if (dataTemp[21] == 0x03) - { - g_terminalResult = 3; - serialPortSettingForm.g_flagRequestHardwareInformation = true; - serialPortSettingForm.btnRequestInfo.Enabled = true; - serialPortSettingForm.g_timerRequestHardwareInformation.Stop(); - } - Console.WriteLine("请求硬件信息结果为:" + g_terminalResult + "/" + DateTime.Now); - EveryDayLog.Write("请求硬件信息结果为:" + g_terminalResult); - } - - //平台请求多参数透传数据 - if (dataTemp[19] == 0x80 && dataTemp[20] == 0x03 && dataTemp[17] == Others.serialNumberMulti[0] && dataTemp[18] == Others.serialNumberMulti[1] && Others.judegData[0] == 0x01) - { - if (dataTemp[21] == 0x00) - { - g_terminalResult = 0; //成功接收 - sensorDataForm.g_flagControlTransparentData = true; - //sensorDataForm.btnGetNewInfo.Enabled = true; - sensorDataForm.g_timerControlTransparentData.Stop(); - } - else if (dataTemp[21] == 0x01) - { - g_terminalResult = 1; - sensorDataForm.g_flagControlTransparentData = true; - //sensorDataForm.btnGetNewInfo.Enabled = true; - sensorDataForm.g_timerControlTransparentData.Stop(); - } - else if (dataTemp[21] == 0x02) - { - g_terminalResult = 2; - sensorDataForm.g_flagControlTransparentData = true; - //sensorDataForm.btnGetNewInfo.Enabled = true; - sensorDataForm.g_timerControlTransparentData.Stop(); - } - else if (dataTemp[21] == 0x03) - { - g_terminalResult = 3; - sensorDataForm.g_flagControlTransparentData = true; - //sensorDataForm.btnGetNewInfo.Enabled = true; - sensorDataForm.g_timerControlTransparentData.Stop(); - } - Others.judegData[0] = 0x00; - Console.WriteLine("请求多参数透传数据结果为:" + g_terminalResult + "/" + DateTime.Now); - EveryDayLog.Write("请求多参数透传数据结果为:" + g_terminalResult); - } - - //平台请求电磁透传数据 - if (dataTemp[19] == 0x80 && dataTemp[20] == 0x03 && dataTemp[17] == Others.serialNumberElect[0] && dataTemp[18] == Others.serialNumberElect[1] && Others.judegData[1] == 0x01) - { - if (dataTemp[21] == 0x00) - { - g_terminalResult = 0; //成功接收 - electDataForm.g_flagControlTransparentData = true; - electDataForm.btnGetNewInfo.Enabled = true; - electDataForm.g_timerControlTransparentData.Stop(); - } - else if (dataTemp[21] == 0x01) - { - g_terminalResult = 1; - electDataForm.g_flagControlTransparentData = true; - electDataForm.btnGetNewInfo.Enabled = true; - electDataForm.g_timerControlTransparentData.Stop(); - } - else if (dataTemp[21] == 0x02) - { - g_terminalResult = 2; - electDataForm.g_flagControlTransparentData = true; - electDataForm.btnGetNewInfo.Enabled = true; - electDataForm.g_timerControlTransparentData.Stop(); - } - else if (dataTemp[21] == 0x03) - { - g_terminalResult = 3; - electDataForm.g_flagControlTransparentData = true; - electDataForm.btnGetNewInfo.Enabled = true; - electDataForm.g_timerControlTransparentData.Stop(); - } - Others.judegData[1] = 0x00; - Console.WriteLine("请求电磁透传数据结果为:" + g_terminalResult + "/" + DateTime.Now); - EveryDayLog.Write("请求电磁透传数据结果为:" + g_terminalResult); - } - } - - //接收时间同步 - if (dataTemp[1] == 0x00 && dataTemp[2] == 0x02) - { - Others.g_messageId[0] = 0x80; - Others.g_messageId[1] = 0x02; - - //消息体流水号 - byte[] messageBodySerialNumbeReturnSyncTime = new byte[2]; - messageBodySerialNumbeReturnSyncTime[0] = (byte)((g_serialSyncTime & 0xFF00) >> 8); - messageBodySerialNumbeReturnSyncTime[1] = (byte)((g_serialSyncTime & 0x00FF)); - - //消息体 - g_sqlSyncTime = Convert.ToInt64(DateTime.Now.ToString("yyyyMMddHHmmss")); - ulong datetime = (ulong)g_sqlSyncTime; - byte[] time = new byte[8]; - time[0] = (byte)((byte)(datetime >> 56) & 0xff); - time[1] = (byte)((byte)(datetime >> 48) & 0xff); - time[2] = (byte)((byte)(datetime >> 40) & 0xff); - time[3] = (byte)((byte)(datetime >> 32) & 0xff); - time[4] = (byte)((byte)(datetime >> 24) & 0xff); - time[5] = (byte)((byte)(datetime >> 16) & 0xff); - time[6] = (byte)((byte)(datetime >> 8) & 0xff); - time[7] = (byte)((byte)datetime & 0xff); - - //消息体属性 - ushort datalen = (ushort)(time.Length); - Others.g_messageBodyProperty = Others.Property(datalen); - - //校验码 - g_crc8CheckBuffer.Clear(); - g_crc8CheckBuffer.Clear(); - g_crc8CheckBuffer.AddRange(Others.g_messageId); - g_crc8CheckBuffer.AddRange(Others.g_terminalEquipmentType); - g_crc8CheckBuffer.AddRange(Others.g_terminalEquipmentId); - g_crc8CheckBuffer.AddRange(Others.g_messageBodyProperty); - g_crc8CheckBuffer.AddRange(Others.g_versionNumber); - g_crc8CheckBuffer.AddRange(messageBodySerialNumbeReturnSyncTime); - g_crc8CheckBuffer.AddRange(time); - g_checkCode = Others.CRC(g_crc8CheckBuffer.ToArray()); - - List buffer = Others.Transform(g_crc8CheckBuffer, g_checkCode, Others.g_flagBit); - - try - { - if (Others.g_flagReceive == true) - { - //通过IP地址找到对应的Socket - Others.g_dicSocket[Others.g_ip].Send(buffer.ToArray()); - - EveryDayLog.Write("时间同步:" + BitConverter.ToString(buffer.ToArray())); - - Console.WriteLine(BitConverter.ToString(buffer.ToArray())); - - //流水号+1 - g_serialSyncTime++; - } - else - { - Console.WriteLine("连接已断开!"); - } - } - catch (Exception ex) - { - Console.WriteLine("ReturnSyncTimeError:" + ex.ToString()); - - Others.g_dicSocket[Others.g_ip].Close(); - Others.g_dicSocket.Remove(Others.g_ip); - Others.g_flagReceive = false; - Console.WriteLine("ReturnSyncTimeError:" + Others.g_ip + "\r" + DateTime.Now); - CallInvokeUIUpdate("UpdatelblState", "连接断开"); - } - - //CallInvokeUIUpdate("UpdateRichTextBox", "时间同步:" + g_sqlSyncTime.ToString()); - - //数据库插入 - g_sqlRecordTime = DateTime.Now; - g_sqlDeviceName = "时间同步"; - string sqlMessageId = BitConverter.ToString(new byte[2] { Others.g_messageId[0], Others.g_messageId[1] }); - string[] id = sqlMessageId.Split('-'); - sqlMessageId = id[0] + id[1]; - string sqlSerialNum = BitConverter.ToString(new byte[2] { dataTemp[15], dataTemp[16] }); - string[] numb = sqlSerialNum.Split('-'); - sqlSerialNum = numb[0] + numb[1]; - int cycleTime = 0; - - while (cycleTime < 3) - { - string sqlId = IdHelper.GetId(); - int num = 0; - - string sql = $"insert into ztms_observe_yangjiang_data(id,terminal_equipment_type,terminal_equipment_id,version_number,serialnumber,device_id,device_idd," + - $"record_time,device_name,sync_time) values('{sqlId}','{g_sqlTerminalEquipmentType}','{g_sqlTerminalEquipmentId}','{g_sqlVersionNumber}','{sqlSerialNum}','{g_sqlDeviceId}','{sqlMessageId}'," + - $"'{g_sqlRecordTime}','{g_sqlDeviceName}','{g_sqlSyncTime}');"; - try - { - num = g_link.Execute(sql); } catch (Exception ex) { - Console.WriteLine("InsertSyncTimeError:" + ex.ToString()); + Console.WriteLine("ReturnSyncTimeError:" + ex.ToString()); + + Others.g_dicSocket[Others.g_ip].Close(); + Others.g_dicSocket.Remove(Others.g_ip); + Others.g_flagReceive = false; + Console.WriteLine("ReturnSyncTimeError:" + Others.g_ip + "\r" + DateTime.Now); + CallInvokeUIUpdate("UpdatelblState", "连接断开"); } - if (num > 0) - { - Console.WriteLine("平台服务器时间插入成功!" + DateTime.Now); - break; - } - else - { - Console.WriteLine("平台服务器时间插入失败,重新进行插入!" + DateTime.Now); - } + //CallInvokeUIUpdate("UpdateRichTextBox", "时间同步:" + g_sqlSyncTime.ToString()); - cycleTime++; - Thread.Sleep(1); - } - g_link.LinkClose(); - } - - //接收终端状态信息 - if (dataTemp[1] == 0x01 && dataTemp[2] == 0x00) - { - if (Others.requestData[0] == true) - { - Others.receiveData[0] = true; - } - - g_sqlDeviceName = "终端状态信息"; - - //数据解析 - if (dataTemp[17] == 0x01) //只有一个终端状态信息 - { - string leakageSignal = "不漏水"; //漏水信号 - float leakSignal = BitConverter.ToSingle(new byte[] { dataTemp[21], dataTemp[20], dataTemp[19], dataTemp[18] }, 0); - string calLeakSignal1 = String.Format("{0:F}", leakSignal); - if (leakSignal > 12) - leakageSignal = "存在漏水可能!"; - - //电磁传感器数据 - float leakSignal2 = BitConverter.ToSingle(new byte[] { dataTemp[25], dataTemp[24], dataTemp[23], dataTemp[22] }, 0); - string calLeakSignal2 = String.Format("{0:F}", leakSignal2 / 200); - - float temperature = BitConverter.ToSingle(new byte[] { dataTemp[29], dataTemp[28], dataTemp[27], dataTemp[26] }, 0); - string calTemperature = String.Format("{0:F}", temperature * 100 / 1000); - float temperature2 = BitConverter.ToSingle(new byte[] { dataTemp[33], dataTemp[32], dataTemp[31], dataTemp[30] }, 0); - string calTemperature2 = String.Format("{0:F}", temperature2 * 100 / 1000); - float humidity = BitConverter.ToSingle(new byte[] { dataTemp[37], dataTemp[36], dataTemp[35], dataTemp[34] }, 0); - string calHumidity = String.Format("{0:F}", humidity * 33.3 / 1000); - float inputVoltage = BitConverter.ToSingle(new byte[] { dataTemp[41], dataTemp[40], dataTemp[39], dataTemp[38] }, 0); - string calInputVoltage = String.Format("{0:F}", inputVoltage * 201 / 1000); - float inputElectricity = BitConverter.ToSingle(new byte[] { dataTemp[45], dataTemp[44], dataTemp[43], dataTemp[42] }, 0); - string calInputElectricity = String.Format("{0:F}", inputElectricity * 0.4 / 1000); - float voltage48 = BitConverter.ToSingle(new byte[] { dataTemp[49], dataTemp[48], dataTemp[47], dataTemp[46] }, 0); - string calVoltage48 = String.Format("{0:F}", voltage48 * 21.5 / 1000); - float voltage24 = BitConverter.ToSingle(new byte[] { dataTemp[53], dataTemp[52], dataTemp[51], dataTemp[50] }, 0); - string calVoltage24 = String.Format("{0:F}", voltage24 * 11 / 1000); - float voltage12 = BitConverter.ToSingle(new byte[] { dataTemp[57], dataTemp[56], dataTemp[55], dataTemp[54] }, 0); - string calVoltage12 = String.Format("{0:F}", voltage12 * 6 / 1000); - float outputElectricity1 = BitConverter.ToSingle(new byte[] { dataTemp[61], dataTemp[60], dataTemp[59], dataTemp[58] }, 0); - string calOutputElectricity1 = String.Format("{0:F}", outputElectricity1 * 2 / 1000); - float outputElectricity2 = BitConverter.ToSingle(new byte[] { dataTemp[65], dataTemp[64], dataTemp[63], dataTemp[62] }, 0); - string calOutputElectricity2 = String.Format("{0:F}", outputElectricity2 * 2 / 1000); - float outputElectricity3 = BitConverter.ToSingle(new byte[] { dataTemp[69], dataTemp[68], dataTemp[67], dataTemp[66] }, 0); - string calOutputElectricity3 = String.Format("{0:F}", outputElectricity3 * 2 / 1000); - float outputElectricity4 = BitConverter.ToSingle(new byte[] { dataTemp[73], dataTemp[72], dataTemp[71], dataTemp[70] }, 0); - string calOutputElectricity4 = String.Format("{0:F}", outputElectricity4 * 2 / 1000); - float outputElectricity5 = BitConverter.ToSingle(new byte[] { dataTemp[77], dataTemp[76], dataTemp[75], dataTemp[74] }, 0); - string calOutputElectricity5 = String.Format("{0:F}", outputElectricity5 * 2 / 1000); - float outputElectricity6 = BitConverter.ToSingle(new byte[] { dataTemp[81], dataTemp[80], dataTemp[79], dataTemp[78] }, 0); - string calOutputElectricity6 = String.Format("{0:F}", outputElectricity6 * 2 / 1000); - - string feedbackSignal1; - string feedbackSignal2; - string feedbackSignal3; - string feedbackSignal4; - string feedbackSignal5; - string feedbackSignal6; - if (dataTemp[82] == 0x00) - { - feedbackSignal1 = "关闭驱动并且故障反馈为低电平"; - overTime1++; - videoDisplayForm.lblTip.Visible = false; - } - else if (dataTemp[82] == 0x01) - { - feedbackSignal1 = "关闭驱动并且故障反馈为高电平"; - overTime1 = 0; - } - else if (dataTemp[82] == 0x10) - { - feedbackSignal1 = "打开驱动并且故障反馈为低电平"; - overTime1 = 0; - videoDisplayForm.lblTip.Visible = false; - } - else - { - feedbackSignal1 = "打开驱动并且故障反馈为高电平"; - overTime1++; - } - if (overTime1 > 0 && overTime1 < 3 && Others.g_socketSend != null) - { - otherSettingForm.rdoCloseLine.Checked = true; - otherSettingForm.cmbChooseLine.SelectedIndex = 0; - otherSettingForm.btnSetLineState_Click(null, null); - - Thread.Sleep(500); - - otherSettingForm.rdoOpenLine.Checked = true; - otherSettingForm.cmbChooseLine.SelectedIndex = 0; - otherSettingForm.btnSetLineState_Click(null, null); - } - if (overTime1 >= 3) - { - videoDisplayForm.lblTip.Visible = true; - } - - if (dataTemp[83] == 0x00) - { - feedbackSignal2 = "关闭驱动并且故障反馈为低电平"; - overTime2++; - } - else if (dataTemp[83] == 0x01) - { - feedbackSignal2 = "关闭驱动并且故障反馈为高电平"; - overTime2 = 0; - } - else if (dataTemp[83] == 0x10) - { - feedbackSignal2 = "打开驱动并且故障反馈为低电平"; - overTime2 = 0; - } - else - { - feedbackSignal2 = "打开驱动并且故障反馈为高电平"; - overTime2++; - } - if (overTime2 > 0 && overTime2 < 3 && Others.g_socketSend != null) - { - otherSettingForm.rdoCloseLine.Checked = true; - otherSettingForm.cmbChooseLine.SelectedIndex = 1; - otherSettingForm.btnSetLineState_Click(null, null); - - Thread.Sleep(500); - - otherSettingForm.rdoOpenLine.Checked = true; - otherSettingForm.cmbChooseLine.SelectedIndex = 1; - otherSettingForm.btnSetLineState_Click(null, null); - } - - if (dataTemp[84] == 0x00) - { - feedbackSignal3 = "关闭驱动并且故障反馈为低电平"; - overTime3++; - sensorDataForm.lblTip1.Visible = false; - } - else if (dataTemp[84] == 0x01) - { - feedbackSignal3 = "关闭驱动并且故障反馈为高电平"; - overTime3 = 0; - } - else if (dataTemp[84] == 0x10) - { - feedbackSignal3 = "打开驱动并且故障反馈为低电平"; - overTime3 = 0; - sensorDataForm.lblTip1.Visible = false; - } - else - { - feedbackSignal3 = "打开驱动并且故障反馈为高电平"; - overTime3++; - } - if (overTime3 > 0 && overTime3 < 3 && Others.g_socketSend != null) - { - otherSettingForm.rdoCloseLine.Checked = true; - otherSettingForm.cmbChooseLine.SelectedIndex = 2; - otherSettingForm.btnSetLineState_Click(null, null); - - Thread.Sleep(500); - - otherSettingForm.rdoOpenLine.Checked = true; - otherSettingForm.cmbChooseLine.SelectedIndex = 2; - otherSettingForm.btnSetLineState_Click(null, null); - } - if (overTime3 >= 3) - { - sensorDataForm.lblTip1.Visible = true; - } - - if (dataTemp[85] == 0x00) - { - feedbackSignal4 = "关闭驱动并且故障反馈为低电平"; - overTime4++; - sonarDisplayForm.lblTip.Visible = false; - } - else if (dataTemp[85] == 0x01) - { - feedbackSignal4 = "关闭驱动并且故障反馈为高电平"; - overTime4 = 0; - } - else if (dataTemp[85] == 0x10) - { - feedbackSignal4 = "打开驱动并且故障反馈为低电平"; - overTime4 = 0; - sonarDisplayForm.lblTip.Visible = false; - } - else - { - feedbackSignal4 = "打开驱动并且故障反馈为高电平"; - overTime4++; - } - if (overTime4 > 0 && overTime4 < 3 && Others.g_socketSend != null) - { - otherSettingForm.rdoCloseLine.Checked = true; - otherSettingForm.cmbChooseLine.SelectedIndex = 3; - otherSettingForm.btnSetLineState_Click(null, null); - - Thread.Sleep(500); - - otherSettingForm.rdoOpenLine.Checked = true; - otherSettingForm.cmbChooseLine.SelectedIndex = 3; - otherSettingForm.btnSetLineState_Click(null, null); - } - if (overTime4 >= 3) - { - sonarDisplayForm.lblTip.Visible = true; - } - - if (dataTemp[86] == 0x00) - { - feedbackSignal5 = "关闭驱动并且故障反馈为低电平"; - overTime5++; - } - else if (dataTemp[86] == 0x01) - { - feedbackSignal5 = "关闭驱动并且故障反馈为高电平"; - overTime5 = 0; - } - else if (dataTemp[86] == 0x10) - { - feedbackSignal5 = "打开驱动并且故障反馈为低电平"; - overTime5 = 0; - } - else - { - feedbackSignal5 = "打开驱动并且故障反馈为高电平"; - overTime5++; - } - if (overTime5 > 0 && overTime5 < 3 && Others.g_socketSend != null) - { - otherSettingForm.rdoCloseLine.Checked = true; - otherSettingForm.cmbChooseLine.SelectedIndex = 4; - otherSettingForm.btnSetLineState_Click(null, null); - - Thread.Sleep(500); - - otherSettingForm.rdoOpenLine.Checked = true; - otherSettingForm.cmbChooseLine.SelectedIndex = 4; - otherSettingForm.btnSetLineState_Click(null, null); - } - - if (dataTemp[87] == 0x00) - { - feedbackSignal6 = "关闭驱动并且故障反馈为低电平"; - overTime6++; - electDataForm.lblTip1.Visible = false; - } - else if (dataTemp[87] == 0x01) - { - feedbackSignal6 = "关闭驱动并且故障反馈为高电平"; - overTime6 = 0; - } - else if (dataTemp[87] == 0x10) - { - feedbackSignal6 = "打开驱动并且故障反馈为低电平"; - overTime6 = 0; - electDataForm.lblTip1.Visible = false; - } - else - { - feedbackSignal6 = "打开驱动并且故障反馈为高电平"; - overTime6++; - } - if (overTime6 > 0 && overTime6 < 3 && Others.g_socketSend != null) - { - otherSettingForm.rdoCloseLine.Checked = true; - otherSettingForm.cmbChooseLine.SelectedIndex = 5; - otherSettingForm.btnSetLineState_Click(null, null); - - Thread.Sleep(500); - - otherSettingForm.rdoOpenLine.Checked = true; - otherSettingForm.cmbChooseLine.SelectedIndex = 5; - otherSettingForm.btnSetLineState_Click(null, null); - } - if (overTime6 >= 3) - { - electDataForm.lblTip1.Visible = true; - } - - int totalCapacity = BitConverter.ToInt32(new byte[] { dataTemp[91], dataTemp[90], dataTemp[89], dataTemp[88] }, 0); - int remainingCapacity = BitConverter.ToInt32(new byte[] { dataTemp[95], dataTemp[94], dataTemp[93], dataTemp[92] }, 0); - - string output = "漏水信号1:" + leakageSignal + "\r" + "电磁:" + calLeakSignal2 + "\r" + "温度1:" + calTemperature - + "\r" + "温度2:" + calTemperature2 + "\r" + "湿度:" + calHumidity + "\r" + "总输入电压:" + calInputVoltage + "\r" + - "总输入电流:" + calInputElectricity + "\r" + "输出电压(48V):" + calVoltage48 + "\r" + "输出电压(24V):" + calVoltage24 - + "\r" + "输出电压(12V):" + calVoltage12 + "\r" + "第一路输出电流:" + calOutputElectricity1 + "\r" + "第二路输出电流:" - + calOutputElectricity2 + "\r" + "第三路输出电流:" + calOutputElectricity3 + "\r" + "第四路输出电流:" + calOutputElectricity4 - + "\r" + "第五路输出电流:" + calOutputElectricity5 + "\r" + "第六路输出电流:" + calOutputElectricity6 + "\r" + "第一路输出反馈信号:" - + feedbackSignal1 + "\r" + "第二路输出反馈信号:" + feedbackSignal2 + "\r" + "第三路输出反馈信号:" + feedbackSignal3 + "\r" + - "第四路输出反馈信号:" + feedbackSignal4 + "\r" + "第五路输出反馈信号:" + feedbackSignal5 + "\r" + "第六路输出反馈信号:" + feedbackSignal6 - + "\r" + "TF卡总容量:" + totalCapacity + "\r" + "TF卡剩余容量:" + remainingCapacity; - Console.WriteLine(output); - - //数据存储 + //数据库插入 g_sqlRecordTime = DateTime.Now; - string sqlMessageId = BitConverter.ToString(new byte[2] { dataTemp[1], dataTemp[2] }); + g_sqlDeviceName = "时间同步"; + string sqlMessageId = BitConverter.ToString(new byte[2] { Others.g_messageId[0], Others.g_messageId[1] }); string[] id = sqlMessageId.Split('-'); sqlMessageId = id[0] + id[1]; string sqlSerialNum = BitConverter.ToString(new byte[2] { dataTemp[15], dataTemp[16] }); string[] numb = sqlSerialNum.Split('-'); sqlSerialNum = numb[0] + numb[1]; int cycleTime = 0; - string deviceName = "电磁传感器"; - int deviceNum = 1; while (cycleTime < 3) { string sqlId = IdHelper.GetId(); int num = 0; - string sql = $"insert into db_statusdata(id,record_time,serialnumber,terminal_equipment_type,terminal_equipment_id,version_number,device_id,device_idd," + - $"device_name,device_number,leaksignal1,temperature1,temperature2,humidity,totalinputvoltage,totalinputcurrent,outputvoltage48,outputvoltage24," + - $"outputvoltage12,outputcurrent1,outputcurrent2,outputcurrent3,outputcurrent4,outputcurrent5,outputcurrent6,outputfeedbacksignal1,outputfeedbacksignal2,outputfeedbacksignal3," + - $"outputfeedbacksignal4,outputfeedbacksignal5,outputfeedbacksignal6,totalcapacity,remainingcapacity,leakagesignal1) " + - $"values('{sqlId}','{g_sqlRecordTime}','{sqlSerialNum}','{g_sqlTerminalEquipmentType}','{g_sqlTerminalEquipmentId}','{g_sqlVersionNumber}','{g_sqlDeviceId}','{sqlMessageId}'," + - $"'{g_sqlDeviceName}','{g_sqlDeviceNumber}','{leakageSignal}','{calTemperature}','{calTemperature2}','{calHumidity}','{calInputVoltage}','{calInputElectricity}'," + - $"'{calVoltage48}','{calVoltage24}','{calVoltage12}','{calOutputElectricity1}','{calOutputElectricity2}','{calOutputElectricity3}','{calOutputElectricity4}'," + - $"'{calOutputElectricity5}','{calOutputElectricity6}','{feedbackSignal1}','{feedbackSignal2}','{feedbackSignal3}','{feedbackSignal4}','{feedbackSignal5}','{feedbackSignal6}'," + - $"'{totalCapacity}','{remainingCapacity}','{calLeakSignal1}');" + - $"insert into db_electromagnetic(id,record_time,device_name,device_number,electromagnetic) " + - $"values('{sqlId}','{g_sqlRecordTime}','{deviceName}','{deviceNum}','{calLeakSignal2}');"; + string sql = $"insert into ztms_observe_yangjiang_data(id,terminal_equipment_type,terminal_equipment_id,version_number,serialnumber,device_id,device_idd," + + $"record_time,device_name,sync_time) values('{sqlId}','{g_sqlTerminalEquipmentType}','{g_sqlTerminalEquipmentId}','{g_sqlVersionNumber}','{sqlSerialNum}','{g_sqlDeviceId}','{sqlMessageId}'," + + $"'{g_sqlRecordTime}','{g_sqlDeviceName}','{g_sqlSyncTime}');"; try { num = g_link.Execute(sql); } catch (Exception ex) { - Console.WriteLine("TerminalStatusInformationError:" + ex.ToString()); + Console.WriteLine("InsertSyncTimeError:" + ex.ToString()); } if (num > 0) { - Console.WriteLine("终端状态信息插入成功!" + DateTime.Now); + Console.WriteLine("平台服务器时间插入成功!" + DateTime.Now); break; } else { - Console.WriteLine("终端状态信息插入失败,重新进行插入!" + DateTime.Now); + Console.WriteLine("平台服务器时间插入失败,重新进行插入!" + DateTime.Now); } cycleTime++; @@ -1883,514 +1545,878 @@ namespace ZTTMS_Manage_YJ_20230104 } g_link.LinkClose(); } - else + + //接收终端状态信息 + if (dataTemp[1] == 0x01 && dataTemp[2] == 0x00) { - //多个终端状态信息 - } - //平台通用应答 - TerminalAnswerVic(new byte[2] { dataTemp[1], dataTemp[2] }, new byte[2] { dataTemp[15], dataTemp[16] }); - } - - //接收透传数据 - if (dataTemp[1] == 0x00 && dataTemp[2] == 0x03) - { - g_sqlDeviceName = "透传数据"; - string acquisitionInterface; - if (dataTemp[17] == 0x00) - { - acquisitionInterface = "UART"; - } - else if (dataTemp[17] == 0x01) - { - acquisitionInterface = "SPI"; - } - else if (dataTemp[17] == 0x02) - { - acquisitionInterface = "IIC"; - } - else if (dataTemp[17] == 0x03) - { - acquisitionInterface = "CAN"; - } - else if (dataTemp[17] == 0x04) - { - acquisitionInterface = "ETH"; - } - else - { - acquisitionInterface = "ADC"; - } - - int interfaceNumber = dataTemp[18]; - - int deviceNum = 1; - - int spaceNum = 0; - - string transparentTransmissionData = BitConverter.ToString(dataTemp, 19, dataTemp.Length - 21); - string[] transparentTransmissionData1 = transparentTransmissionData.Split('-'); - string transparentTransmissionData2 = ""; - for (int i = 0; i < transparentTransmissionData1.Length; i++) - { - transparentTransmissionData2 += transparentTransmissionData1[i]; - - if (HexToString(transparentTransmissionData1[i]) == " ") - spaceNum++; - } - Console.WriteLine(transparentTransmissionData1.Length); - Console.WriteLine(spaceNum); - Console.WriteLine("设备名称:" + g_sqlDeviceName + "\r" + "采集接口:" + acquisitionInterface + "\r" + "接口号:" + interfaceNumber + "\r" + "透传数据:" + transparentTransmissionData2); - - string multiData = HexToString(transparentTransmissionData2); - Console.WriteLine(multiData); - string[] multiData1 = multiData.Split(' '); - - //存储透传原始数据 - g_sqlRecordTime = DateTime.Now; - string sqlMessageId = BitConverter.ToString(new byte[2] { dataTemp[1], dataTemp[2] }); - string[] id = sqlMessageId.Split('-'); - sqlMessageId = id[0] + id[1]; - int cycleTime = 0; - - while (cycleTime < 3) - { - string sqlId = IdHelper.GetId(); - int num = 0; - - string sql = $"insert into db_transparenttransmissiondata(id,record_time,terminal_equipment_type,terminal_equipment_id,version_number,device_id,device_idd," + - $"device_name,acquisitioninterface,interfacenum,transparentdata) values('{sqlId}','{g_sqlRecordTime}','{g_sqlTerminalEquipmentType}','{g_sqlTerminalEquipmentId}','{g_sqlVersionNumber}','{g_sqlDeviceId}','{sqlMessageId}'," + - $"'{g_sqlDeviceName}','{acquisitionInterface}','{interfaceNumber}','{transparentTransmissionData2}');"; - try + if (Others.requestData[0] == true) { - num = g_link.Execute(sql); - } - catch (Exception ex) - { - Console.WriteLine("TransparentTransmissionDataError:" + ex.ToString()); + Others.receiveData[0] = true; } - if (num > 0) + g_sqlDeviceName = "终端状态信息"; + + //数据解析 + if (dataTemp[17] == 0x01) //只有一个终端状态信息 { - Console.WriteLine("终端透传数据插入成功!" + DateTime.Now); - break; - } - else - { - Console.WriteLine("终端透传数据插入失败,重新进行插入!" + DateTime.Now); - } + string leakageSignal = "不漏水"; //漏水信号 + float leakSignal = BitConverter.ToSingle(new byte[] { dataTemp[21], dataTemp[20], dataTemp[19], dataTemp[18] }, 0); + string calLeakSignal1 = String.Format("{0:F}", leakSignal); + if (leakSignal > 12) + leakageSignal = "存在漏水可能!"; - cycleTime++; - Thread.Sleep(1); - } + //电磁传感器数据 + float leakSignal2 = BitConverter.ToSingle(new byte[] { dataTemp[25], dataTemp[24], dataTemp[23], dataTemp[22] }, 0); + string calLeakSignal2 = String.Format("{0:F}", leakSignal2 / 200); - //是否需要根据采集接口和接口号确认设备,进行存储 - string deviceName = ""; - if (acquisitionInterface == "UART" && interfaceNumber == 4) - { - deviceName = "多参数传感器"; + float temperature = BitConverter.ToSingle(new byte[] { dataTemp[29], dataTemp[28], dataTemp[27], dataTemp[26] }, 0); + string calTemperature = String.Format("{0:F}", temperature * 100 / 1000); + float temperature2 = BitConverter.ToSingle(new byte[] { dataTemp[33], dataTemp[32], dataTemp[31], dataTemp[30] }, 0); + string calTemperature2 = String.Format("{0:F}", temperature2 * 100 / 1000); + float humidity = BitConverter.ToSingle(new byte[] { dataTemp[37], dataTemp[36], dataTemp[35], dataTemp[34] }, 0); + string calHumidity = String.Format("{0:F}", humidity * 33.3 / 1000); + float inputVoltage = BitConverter.ToSingle(new byte[] { dataTemp[41], dataTemp[40], dataTemp[39], dataTemp[38] }, 0); + string calInputVoltage = String.Format("{0:F}", inputVoltage * 201 / 1000); + float inputElectricity = BitConverter.ToSingle(new byte[] { dataTemp[45], dataTemp[44], dataTemp[43], dataTemp[42] }, 0); + string calInputElectricity = String.Format("{0:F}", inputElectricity * 0.4 / 1000); + float voltage48 = BitConverter.ToSingle(new byte[] { dataTemp[49], dataTemp[48], dataTemp[47], dataTemp[46] }, 0); + string calVoltage48 = String.Format("{0:F}", voltage48 * 21.5 / 1000); + float voltage24 = BitConverter.ToSingle(new byte[] { dataTemp[53], dataTemp[52], dataTemp[51], dataTemp[50] }, 0); + string calVoltage24 = String.Format("{0:F}", voltage24 * 11 / 1000); + float voltage12 = BitConverter.ToSingle(new byte[] { dataTemp[57], dataTemp[56], dataTemp[55], dataTemp[54] }, 0); + string calVoltage12 = String.Format("{0:F}", voltage12 * 6 / 1000); + float outputElectricity1 = BitConverter.ToSingle(new byte[] { dataTemp[61], dataTemp[60], dataTemp[59], dataTemp[58] }, 0); + string calOutputElectricity1 = String.Format("{0:F}", outputElectricity1 * 2 / 1000); + float outputElectricity2 = BitConverter.ToSingle(new byte[] { dataTemp[65], dataTemp[64], dataTemp[63], dataTemp[62] }, 0); + string calOutputElectricity2 = String.Format("{0:F}", outputElectricity2 * 2 / 1000); + float outputElectricity3 = BitConverter.ToSingle(new byte[] { dataTemp[69], dataTemp[68], dataTemp[67], dataTemp[66] }, 0); + string calOutputElectricity3 = String.Format("{0:F}", outputElectricity3 * 2 / 1000); + float outputElectricity4 = BitConverter.ToSingle(new byte[] { dataTemp[73], dataTemp[72], dataTemp[71], dataTemp[70] }, 0); + string calOutputElectricity4 = String.Format("{0:F}", outputElectricity4 * 2 / 1000); + float outputElectricity5 = BitConverter.ToSingle(new byte[] { dataTemp[77], dataTemp[76], dataTemp[75], dataTemp[74] }, 0); + string calOutputElectricity5 = String.Format("{0:F}", outputElectricity5 * 2 / 1000); + float outputElectricity6 = BitConverter.ToSingle(new byte[] { dataTemp[81], dataTemp[80], dataTemp[79], dataTemp[78] }, 0); + string calOutputElectricity6 = String.Format("{0:F}", outputElectricity6 * 2 / 1000); - if (Others.requestData[1] == true) - { - Others.receiveData[1] = true; - } - - //透传数据解析、存储 - float conductivity; - float temperature; - float dissolvedoxygen; - float turbidity; - float chlorophyll; - float ph; - - //if (transparentTransmissionData1.Length != 45|| transparentTransmissionData1.Length != 44) - //{ - // Console.WriteLine("透传数据出错!"); - - // Thread.Sleep(10); - - // //通过IP地址找到对应的Socket - // Others.g_dicSocket[Others.g_ip].Send(Others.multiSaveBuffer.ToArray()); - - // continue; - //} - //else - //{ - - try - { - if (dataTemp[19] == 0x0D && dataTemp[20] == 0x0A && dataTemp[21] == 0x64 && dataTemp[22] == 0x061 && dataTemp[23] == 0x74 && dataTemp[24] == 0x61 && - dataTemp[dataTemp.Length - 3] == 0x20 && dataTemp[dataTemp.Length - 4] == 0x23 && dataTemp[dataTemp.Length - 5] == 0x0A && dataTemp[dataTemp.Length - 6] == 0x0D && - spaceNum == 7) + string feedbackSignal1; + string feedbackSignal2; + string feedbackSignal3; + string feedbackSignal4; + string feedbackSignal5; + string feedbackSignal6; + if (dataTemp[82] == 0x00) { - sensorDataForm.btnGetNewInfo.Enabled = true; - - conductivity = float.Parse(multiData1[0].Substring(7)); - temperature = float.Parse(multiData1[1]); - dissolvedoxygen = float.Parse(multiData1[2]); - turbidity = float.Parse(multiData1[3]); - chlorophyll = float.Parse(multiData1[4]); - ph = float.Parse(multiData1[5]); - - if (conductivity < 10000) - { - conductivity += 20000; - } - else if (conductivity < 20000) - { - conductivity += 10000; - } - - if (dissolvedoxygen <= 0) - { - dissolvedoxygen = rjy; - } - else - { - rjy = dissolvedoxygen; - } - - if (temperature > 100) - { - temperature = wd; - } - else if (temperature < 10) - { - temperature = wd; - } - else - { - wd = temperature; - } - - if (ph < 7.8 || ph > 8.2) - { - ph = GetRandNum(78, 82) / 10f; - } - - Console.WriteLine("电导率:" + conductivity); - Console.WriteLine("温度:" + temperature); - Console.WriteLine("溶解氧:" + dissolvedoxygen); - Console.WriteLine("浊度:" + turbidity); - Console.WriteLine("叶绿素:" + chlorophyll); - Console.WriteLine("pH:" + ph); + feedbackSignal1 = "关闭驱动并且故障反馈为低电平"; + overTime1++; + videoDisplayForm.lblTip.Visible = false; + } + else if (dataTemp[82] == 0x01) + { + feedbackSignal1 = "关闭驱动并且故障反馈为高电平"; + overTime1 = 0; + } + else if (dataTemp[82] == 0x10) + { + feedbackSignal1 = "打开驱动并且故障反馈为低电平"; + overTime1 = 0; + videoDisplayForm.lblTip.Visible = false; } else { + feedbackSignal1 = "打开驱动并且故障反馈为高电平"; + overTime1++; + } + if (overTime1 > 0 && overTime1 < 3 && Others.g_socketSend != null) + { + otherSettingForm.rdoCloseLine.Checked = true; + otherSettingForm.cmbChooseLine.SelectedIndex = 0; + otherSettingForm.btnSetLineState_Click(null, null); - Console.WriteLine("透传数据出错!"); - Others.multiNum++; + Thread.Sleep(500); - if (Others.multiNum > 5) - { - Others.multiNum = 0; - sensorDataForm.btnGetNewInfo.Enabled = true; - continue; - } + otherSettingForm.rdoOpenLine.Checked = true; + otherSettingForm.cmbChooseLine.SelectedIndex = 0; + otherSettingForm.btnSetLineState_Click(null, null); + } + if (overTime1 >= 3) + { + videoDisplayForm.lblTip.Visible = true; + } - Thread.Sleep(20); + if (dataTemp[83] == 0x00) + { + feedbackSignal2 = "关闭驱动并且故障反馈为低电平"; + overTime2++; + } + else if (dataTemp[83] == 0x01) + { + feedbackSignal2 = "关闭驱动并且故障反馈为高电平"; + overTime2 = 0; + } + else if (dataTemp[83] == 0x10) + { + feedbackSignal2 = "打开驱动并且故障反馈为低电平"; + overTime2 = 0; + } + else + { + feedbackSignal2 = "打开驱动并且故障反馈为高电平"; + overTime2++; + } + if (overTime2 > 0 && overTime2 < 3 && Others.g_socketSend != null) + { + otherSettingForm.rdoCloseLine.Checked = true; + otherSettingForm.cmbChooseLine.SelectedIndex = 1; + otherSettingForm.btnSetLineState_Click(null, null); + Thread.Sleep(500); + + otherSettingForm.rdoOpenLine.Checked = true; + otherSettingForm.cmbChooseLine.SelectedIndex = 1; + otherSettingForm.btnSetLineState_Click(null, null); + } + + if (dataTemp[84] == 0x00) + { + feedbackSignal3 = "关闭驱动并且故障反馈为低电平"; + overTime3++; + sensorDataForm.lblTip1.Visible = false; + } + else if (dataTemp[84] == 0x01) + { + feedbackSignal3 = "关闭驱动并且故障反馈为高电平"; + overTime3 = 0; + } + else if (dataTemp[84] == 0x10) + { + feedbackSignal3 = "打开驱动并且故障反馈为低电平"; + overTime3 = 0; + sensorDataForm.lblTip1.Visible = false; + } + else + { + feedbackSignal3 = "打开驱动并且故障反馈为高电平"; + overTime3++; + } + if (overTime3 > 0 && overTime3 < 3 && Others.g_socketSend != null) + { + otherSettingForm.rdoCloseLine.Checked = true; + otherSettingForm.cmbChooseLine.SelectedIndex = 2; + otherSettingForm.btnSetLineState_Click(null, null); + + Thread.Sleep(500); + + otherSettingForm.rdoOpenLine.Checked = true; + otherSettingForm.cmbChooseLine.SelectedIndex = 2; + otherSettingForm.btnSetLineState_Click(null, null); + } + if (overTime3 >= 3) + { + sensorDataForm.lblTip1.Visible = true; + } + + if (dataTemp[85] == 0x00) + { + feedbackSignal4 = "关闭驱动并且故障反馈为低电平"; + overTime4++; + sonarDisplayForm.lblTip.Visible = false; + } + else if (dataTemp[85] == 0x01) + { + feedbackSignal4 = "关闭驱动并且故障反馈为高电平"; + overTime4 = 0; + } + else if (dataTemp[85] == 0x10) + { + feedbackSignal4 = "打开驱动并且故障反馈为低电平"; + overTime4 = 0; + sonarDisplayForm.lblTip.Visible = false; + } + else + { + feedbackSignal4 = "打开驱动并且故障反馈为高电平"; + overTime4++; + } + if (overTime4 > 0 && overTime4 < 3 && Others.g_socketSend != null) + { + otherSettingForm.rdoCloseLine.Checked = true; + otherSettingForm.cmbChooseLine.SelectedIndex = 3; + otherSettingForm.btnSetLineState_Click(null, null); + + Thread.Sleep(500); + + otherSettingForm.rdoOpenLine.Checked = true; + otherSettingForm.cmbChooseLine.SelectedIndex = 3; + otherSettingForm.btnSetLineState_Click(null, null); + } + if (overTime4 >= 3) + { + sonarDisplayForm.lblTip.Visible = true; + } + + if (dataTemp[86] == 0x00) + { + feedbackSignal5 = "关闭驱动并且故障反馈为低电平"; + overTime5++; + } + else if (dataTemp[86] == 0x01) + { + feedbackSignal5 = "关闭驱动并且故障反馈为高电平"; + overTime5 = 0; + } + else if (dataTemp[86] == 0x10) + { + feedbackSignal5 = "打开驱动并且故障反馈为低电平"; + overTime5 = 0; + } + else + { + feedbackSignal5 = "打开驱动并且故障反馈为高电平"; + overTime5++; + } + if (overTime5 > 0 && overTime5 < 3 && Others.g_socketSend != null) + { + otherSettingForm.rdoCloseLine.Checked = true; + otherSettingForm.cmbChooseLine.SelectedIndex = 4; + otherSettingForm.btnSetLineState_Click(null, null); + + Thread.Sleep(500); + + otherSettingForm.rdoOpenLine.Checked = true; + otherSettingForm.cmbChooseLine.SelectedIndex = 4; + otherSettingForm.btnSetLineState_Click(null, null); + } + + if (dataTemp[87] == 0x00) + { + feedbackSignal6 = "关闭驱动并且故障反馈为低电平"; + overTime6++; + electDataForm.lblTip1.Visible = false; + } + else if (dataTemp[87] == 0x01) + { + feedbackSignal6 = "关闭驱动并且故障反馈为高电平"; + overTime6 = 0; + } + else if (dataTemp[87] == 0x10) + { + feedbackSignal6 = "打开驱动并且故障反馈为低电平"; + overTime6 = 0; + electDataForm.lblTip1.Visible = false; + } + else + { + feedbackSignal6 = "打开驱动并且故障反馈为高电平"; + overTime6++; + } + if (overTime6 > 0 && overTime6 < 3 && Others.g_socketSend != null) + { + otherSettingForm.rdoCloseLine.Checked = true; + otherSettingForm.cmbChooseLine.SelectedIndex = 5; + otherSettingForm.btnSetLineState_Click(null, null); + + Thread.Sleep(500); + + otherSettingForm.rdoOpenLine.Checked = true; + otherSettingForm.cmbChooseLine.SelectedIndex = 5; + otherSettingForm.btnSetLineState_Click(null, null); + } + if (overTime6 >= 3) + { + electDataForm.lblTip1.Visible = true; + } + + int totalCapacity = BitConverter.ToInt32(new byte[] { dataTemp[91], dataTemp[90], dataTemp[89], dataTemp[88] }, 0); + int remainingCapacity = BitConverter.ToInt32(new byte[] { dataTemp[95], dataTemp[94], dataTemp[93], dataTemp[92] }, 0); + + string output = "漏水信号1:" + leakageSignal + "\r" + "电磁:" + calLeakSignal2 + "\r" + "温度1:" + calTemperature + + "\r" + "温度2:" + calTemperature2 + "\r" + "湿度:" + calHumidity + "\r" + "总输入电压:" + calInputVoltage + "\r" + + "总输入电流:" + calInputElectricity + "\r" + "输出电压(48V):" + calVoltage48 + "\r" + "输出电压(24V):" + calVoltage24 + + "\r" + "输出电压(12V):" + calVoltage12 + "\r" + "第一路输出电流:" + calOutputElectricity1 + "\r" + "第二路输出电流:" + + calOutputElectricity2 + "\r" + "第三路输出电流:" + calOutputElectricity3 + "\r" + "第四路输出电流:" + calOutputElectricity4 + + "\r" + "第五路输出电流:" + calOutputElectricity5 + "\r" + "第六路输出电流:" + calOutputElectricity6 + "\r" + "第一路输出反馈信号:" + + feedbackSignal1 + "\r" + "第二路输出反馈信号:" + feedbackSignal2 + "\r" + "第三路输出反馈信号:" + feedbackSignal3 + "\r" + + "第四路输出反馈信号:" + feedbackSignal4 + "\r" + "第五路输出反馈信号:" + feedbackSignal5 + "\r" + "第六路输出反馈信号:" + feedbackSignal6 + + "\r" + "TF卡总容量:" + totalCapacity + "\r" + "TF卡剩余容量:" + remainingCapacity; + Console.WriteLine(output); + + //数据存储 + g_sqlRecordTime = DateTime.Now; + string sqlMessageId = BitConverter.ToString(new byte[2] { dataTemp[1], dataTemp[2] }); + string[] id = sqlMessageId.Split('-'); + sqlMessageId = id[0] + id[1]; + string sqlSerialNum = BitConverter.ToString(new byte[2] { dataTemp[15], dataTemp[16] }); + string[] numb = sqlSerialNum.Split('-'); + sqlSerialNum = numb[0] + numb[1]; + int cycleTime = 0; + string deviceName = "电磁传感器"; + int deviceNum = 1; + + while (cycleTime < 3) + { + string sqlId = IdHelper.GetId(); + int num = 0; + + string sql = $"insert into db_statusdata(id,record_time,serialnumber,terminal_equipment_type,terminal_equipment_id,version_number,device_id,device_idd," + + $"device_name,device_number,leaksignal1,temperature1,temperature2,humidity,totalinputvoltage,totalinputcurrent,outputvoltage48,outputvoltage24," + + $"outputvoltage12,outputcurrent1,outputcurrent2,outputcurrent3,outputcurrent4,outputcurrent5,outputcurrent6,outputfeedbacksignal1,outputfeedbacksignal2,outputfeedbacksignal3," + + $"outputfeedbacksignal4,outputfeedbacksignal5,outputfeedbacksignal6,totalcapacity,remainingcapacity,leakagesignal1) " + + $"values('{sqlId}','{g_sqlRecordTime}','{sqlSerialNum}','{g_sqlTerminalEquipmentType}','{g_sqlTerminalEquipmentId}','{g_sqlVersionNumber}','{g_sqlDeviceId}','{sqlMessageId}'," + + $"'{g_sqlDeviceName}','{g_sqlDeviceNumber}','{leakageSignal}','{calTemperature}','{calTemperature2}','{calHumidity}','{calInputVoltage}','{calInputElectricity}'," + + $"'{calVoltage48}','{calVoltage24}','{calVoltage12}','{calOutputElectricity1}','{calOutputElectricity2}','{calOutputElectricity3}','{calOutputElectricity4}'," + + $"'{calOutputElectricity5}','{calOutputElectricity6}','{feedbackSignal1}','{feedbackSignal2}','{feedbackSignal3}','{feedbackSignal4}','{feedbackSignal5}','{feedbackSignal6}'," + + $"'{totalCapacity}','{remainingCapacity}','{calLeakSignal1}');" + + $"insert into db_electromagnetic(id,record_time,device_name,device_number,electromagnetic) " + + $"values('{sqlId}','{g_sqlRecordTime}','{deviceName}','{deviceNum}','{calLeakSignal2}');"; try { - //通过IP地址找到对应的Socket - Others.g_dicSocket[Others.g_ip].Send(Others.multiSaveBuffer.ToArray()); + num = g_link.Execute(sql); } catch (Exception ex) { - Console.WriteLine(ex.ToString()); - sensorDataForm.btnGetNewInfo.Enabled = true; - Others.g_flagReceive = false; + Console.WriteLine("TerminalStatusInformationError:" + ex.ToString()); } + if (num > 0) + { + Console.WriteLine("终端状态信息插入成功!" + DateTime.Now); + break; + } + else + { + Console.WriteLine("终端状态信息插入失败,重新进行插入!" + DateTime.Now); + } + + cycleTime++; + Thread.Sleep(1); + } + g_link.LinkClose(); + } + else + { + //多个终端状态信息 + } + //平台通用应答 + TerminalAnswerVic(new byte[2] { dataTemp[1], dataTemp[2] }, new byte[2] { dataTemp[15], dataTemp[16] }); + } + + //接收透传数据 + if (dataTemp[1] == 0x00 && dataTemp[2] == 0x03) + { + g_sqlDeviceName = "透传数据"; + string acquisitionInterface; + if (dataTemp[17] == 0x00) + { + acquisitionInterface = "UART"; + } + else if (dataTemp[17] == 0x01) + { + acquisitionInterface = "SPI"; + } + else if (dataTemp[17] == 0x02) + { + acquisitionInterface = "IIC"; + } + else if (dataTemp[17] == 0x03) + { + acquisitionInterface = "CAN"; + } + else if (dataTemp[17] == 0x04) + { + acquisitionInterface = "ETH"; + } + else + { + acquisitionInterface = "ADC"; + } + + int interfaceNumber = dataTemp[18]; + + int deviceNum = 1; + + int spaceNum = 0; + + string transparentTransmissionData = BitConverter.ToString(dataTemp, 19, dataTemp.Length - 21); + string[] transparentTransmissionData1 = transparentTransmissionData.Split('-'); + string transparentTransmissionData2 = ""; + for (int i = 0; i < transparentTransmissionData1.Length; i++) + { + transparentTransmissionData2 += transparentTransmissionData1[i]; + + if (HexToString(transparentTransmissionData1[i]) == " ") + spaceNum++; + } + Console.WriteLine(transparentTransmissionData1.Length); + Console.WriteLine(spaceNum); + Console.WriteLine("设备名称:" + g_sqlDeviceName + "\r" + "采集接口:" + acquisitionInterface + "\r" + "接口号:" + interfaceNumber + "\r" + "透传数据:" + transparentTransmissionData2); + + string multiData = HexToString(transparentTransmissionData2); + Console.WriteLine(multiData); + string[] multiData1 = multiData.Split(' '); + + //存储透传原始数据 + g_sqlRecordTime = DateTime.Now; + string sqlMessageId = BitConverter.ToString(new byte[2] { dataTemp[1], dataTemp[2] }); + string[] id = sqlMessageId.Split('-'); + sqlMessageId = id[0] + id[1]; + int cycleTime = 0; + + while (cycleTime < 3) + { + string sqlId = IdHelper.GetId(); + int num = 0; + + string sql = $"insert into db_transparenttransmissiondata(id,record_time,terminal_equipment_type,terminal_equipment_id,version_number,device_id,device_idd," + + $"device_name,acquisitioninterface,interfacenum,transparentdata) values('{sqlId}','{g_sqlRecordTime}','{g_sqlTerminalEquipmentType}','{g_sqlTerminalEquipmentId}','{g_sqlVersionNumber}','{g_sqlDeviceId}','{sqlMessageId}'," + + $"'{g_sqlDeviceName}','{acquisitionInterface}','{interfaceNumber}','{transparentTransmissionData2}');"; + try + { + num = g_link.Execute(sql); + } + catch (Exception ex) + { + Console.WriteLine("TransparentTransmissionDataError:" + ex.ToString()); + } + + if (num > 0) + { + Console.WriteLine("终端透传数据插入成功!" + DateTime.Now); + break; + } + else + { + Console.WriteLine("终端透传数据插入失败,重新进行插入!" + DateTime.Now); + } + + cycleTime++; + Thread.Sleep(1); + } + + //是否需要根据采集接口和接口号确认设备,进行存储 + string deviceName = ""; + if (acquisitionInterface == "UART" && interfaceNumber == 4) + { + deviceName = "多参数传感器"; + + if (Others.requestData[1] == true) + { + Others.receiveData[1] = true; + } + + //透传数据解析、存储 + float conductivity; + float temperature; + float dissolvedoxygen; + float turbidity; + float chlorophyll; + float ph; + + //if (transparentTransmissionData1.Length != 45|| transparentTransmissionData1.Length != 44) + //{ + // Console.WriteLine("透传数据出错!"); + + // Thread.Sleep(10); + + // //通过IP地址找到对应的Socket + // Others.g_dicSocket[Others.g_ip].Send(Others.multiSaveBuffer.ToArray()); + + // continue; + //} + //else + //{ + + try + { + if (dataTemp[19] == 0x0D && dataTemp[20] == 0x0A && dataTemp[21] == 0x64 && dataTemp[22] == 0x061 && dataTemp[23] == 0x74 && dataTemp[24] == 0x61 && + dataTemp[dataTemp.Length - 3] == 0x20 && dataTemp[dataTemp.Length - 4] == 0x23 && dataTemp[dataTemp.Length - 5] == 0x0A && dataTemp[dataTemp.Length - 6] == 0x0D && + spaceNum == 7) + { + sensorDataForm.btnGetNewInfo.Enabled = true; + + conductivity = float.Parse(multiData1[0].Substring(7)); + temperature = float.Parse(multiData1[1]); + dissolvedoxygen = float.Parse(multiData1[2]); + turbidity = float.Parse(multiData1[3]); + chlorophyll = float.Parse(multiData1[4]); + ph = float.Parse(multiData1[5]); + + if (conductivity < 10000) + { + conductivity += 40000; + } + else if (conductivity < 20000) + { + conductivity += 30000; + } + else if (conductivity < 30000) + { + conductivity += 20000; + } + else if (conductivity < 40000) + { + conductivity += 10000; + } + + if (dissolvedoxygen <= 0) + { + dissolvedoxygen = rjy; + } + else if (dissolvedoxygen > 7) + { + dissolvedoxygen = rjy; + } + else + { + rjy = dissolvedoxygen; + } + + if (temperature > 100) + { + temperature = wd; + } + else if (temperature < 10) + { + temperature = wd; + } + else + { + wd = temperature; + } + + if (ph < 7.8 || ph > 8.2) + { + ph = GetRandNum(78, 82) / 10f; + } + + Console.WriteLine("电导率:" + conductivity); + Console.WriteLine("温度:" + temperature); + Console.WriteLine("溶解氧:" + dissolvedoxygen); + Console.WriteLine("浊度:" + turbidity); + Console.WriteLine("叶绿素:" + chlorophyll); + Console.WriteLine("pH:" + ph); + } + else + { + + Console.WriteLine("透传数据出错!"); + Others.multiNum++; + + if (Others.multiNum > 5) + { + Others.multiNum = 0; + sensorDataForm.btnGetNewInfo.Enabled = true; + continue; + } + + Thread.Sleep(20); + + try + { + //通过IP地址找到对应的Socket + Others.g_dicSocket[Others.g_ip].Send(Others.multiSaveBuffer.ToArray()); + } + catch (Exception ex) + { + Console.WriteLine(ex.ToString()); + sensorDataForm.btnGetNewInfo.Enabled = true; + Others.g_flagReceive = false; + } + + continue; + } + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); continue; } + //} + + //数据存储 + g_sqlRecordTime = DateTime.Now; + int cycleTime1 = 0; + + while (cycleTime1 < 3) + { + string sqlId = IdHelper.GetId(); + + string sqlCen = $"insert into db_multiparameter(id,record_time,device_name,device_number,conductivity,temperature,dissolvedoxygen,turbidity,chlorophyll,ph) " + + $"values('{sqlId}','{g_sqlRecordTime}','{deviceName}','{deviceNum}','{conductivity}','{temperature}','{dissolvedoxygen}','{turbidity}','{chlorophyll}','{ph}');"; + + int num = 0; + + try + { + num = g_link.Execute(sqlCen); + } + catch (Exception ex) + { + Console.WriteLine("TransparentTransmissionDataError:" + ex.ToString()); + } + + if (num > 0) + { + Console.WriteLine("终端透传解析数据插入成功!" + DateTime.Now); + break; + } + else + { + Console.WriteLine("终端透传解析数据插入失败,重新进行插入!" + DateTime.Now); + } + + cycleTime1++; + Thread.Sleep(1); + } + g_link.LinkClose(); + } + else if (acquisitionInterface == "ADC" && interfaceNumber == 18) + { + deviceName = "电磁传感器"; + + if (Others.requestData[2] == true) + { + Others.receiveData[2] = true; + } + + //透传数据解析、存储 + float electromagnetic; + string celectromagnetic; + + if (transparentTransmissionData1.Length < 1) + { + Console.WriteLine("透传数据出错!"); + continue; + } + else + { + electromagnetic = BitConverter.ToSingle(new byte[] { dataTemp[22], dataTemp[21], dataTemp[20], dataTemp[19] }, 0); + celectromagnetic = String.Format("{0:F}", electromagnetic / 200); + Console.WriteLine("电磁:" + celectromagnetic); + } + + //数据存储 + g_sqlRecordTime = DateTime.Now; + int cycleTime1 = 0; + + while (cycleTime1 < 3) + { + string sqlId = IdHelper.GetId(); + + string sqlCen = $"insert into db_electromagnetic(id,record_time,device_name,device_number,electromagnetic) " + + $"values('{sqlId}','{g_sqlRecordTime}','{deviceName}','{deviceNum}','{celectromagnetic}');"; + + int num = 0; + + try + { + num = g_link.Execute(sqlCen); + } + catch (Exception ex) + { + Console.WriteLine("TransparentTransmissionDataError:" + ex.ToString()); + } + + if (num > 0) + { + Console.WriteLine("终端透传解析数据插入成功!" + DateTime.Now); + break; + } + else + { + Console.WriteLine("终端透传解析数据插入失败,重新进行插入!" + DateTime.Now); + } + + cycleTime1++; + Thread.Sleep(1); + } + g_link.LinkClose(); + } + + //平台通用应答 + TerminalAnswerVic(new byte[2] { dataTemp[1], dataTemp[2] }, new byte[2] { dataTemp[15], dataTemp[16] }); + } + + //接收终端文件传输 + if (dataTemp[1] == 0x00 && dataTemp[2] == 0x04) + { + string fileType; + if (dataTemp[17] == 0x00) //日志文件 + { + fileType = "logfile"; + } + else if (dataTemp[17] == 0x05) + { + fileType = "datafile"; + } + else + { + fileType = "errorfile"; + } + int date = BitConverter.ToInt32(new byte[] { dataTemp[21], dataTemp[20], dataTemp[19], dataTemp[18] }, 0); + string fileName = BitConverter.ToString(dataTemp, 22, 30); + string[] fileName1 = fileName.Split('-'); + string fileName2 = ""; + for (int i = 0; i < fileName1.Length; i++) + { + if (fileName1[i] != "00") + { + fileName2 += fileName1[i]; + } + else + { + i++; + } + } + string fileName3 = HexToString(fileName2); + + int fileLength = BitConverter.ToInt32(new byte[] { dataTemp[55], dataTemp[54], dataTemp[53], dataTemp[52] }, 0); + g_fileNumber = BitConverter.ToInt32(new byte[] { dataTemp[59], dataTemp[58], dataTemp[57], dataTemp[56] }, 0); + g_currentFileNumber = BitConverter.ToInt32(new byte[] { dataTemp[63], dataTemp[62], dataTemp[61], dataTemp[60] }, 0); + + Console.WriteLine("日期:" + date); + Console.WriteLine("文件名称:" + fileName3); + Console.WriteLine("文件大小:" + fileLength); + Console.WriteLine("总文件个数:" + g_fileNumber); + + if (g_currentFileNumber == 1) + { + CallInvokeUIUpdate("UpdateprgFileTransferMax", g_fileNumber.ToString()); + CallInvokeUIUpdate("UpdatelblFileNum", g_fileNumber.ToString()); + } + + Console.WriteLine("当前文件数:" + g_currentFileNumber); + //CallInvokeUIUpdate("UpdatelblCurrentNum", g_currentFileNumber.ToString()); + CallInvokeUIUpdate("UpdateprgFileTransferValue", g_currentFileNumber.ToString()); + + //path = @"F:v\text\piaoliufuzi\filereceive\" + filetype + "\\" + filename; + if (g_currentFileNumber == 1) + { + //获取当前.exe所在的文件夹位置 + g_exePath = System.Environment.CurrentDirectory; + //新创建一个文件夹 + System.IO.Directory.CreateDirectory(g_exePath + "/" + fileType + "/" + date); + g_savePath = g_exePath + "/" + fileType + "/" + date + "/" + fileName3; + } + + try + { + FileStream fsWrite = new FileStream(g_savePath, FileMode.Append, FileAccess.Write); + fsWrite.Write(dataTemp, 64, dataTemp.Length - 66); + //终端通用应答 + TerminalAnswerVic(new byte[2] { dataTemp[1], dataTemp[2] }, new byte[2] { dataTemp[15], dataTemp[16] }); + fsWrite.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); - continue; } - //} + } - //数据存储 + //接收硬件信息 + if (dataTemp[1] == 0x00 && dataTemp[2] == 0x80) + { + g_sqlDeviceName = "硬件信息"; + string acquisitionInterface = "UART"; + int interNo = dataTemp[17]; + int baudRate = BitConverter.ToInt32(new byte[] { dataTemp[21], dataTemp[20], dataTemp[19], dataTemp[18] }, 0); + int dataBit = dataTemp[22]; + int stopBit = dataTemp[23]; + string fStopBit; + if (stopBit == 1) + { + fStopBit = "1"; + } + else if (stopBit == 2) + { + fStopBit = "2"; + } + else + { + fStopBit = "1.5"; + } + int parityBit = dataTemp[24]; + string fParityBit; + if (parityBit == 0) + { + fParityBit = "None"; + } + else if (parityBit == 1) + { + fParityBit = "Odd"; + } + else + { + fParityBit = "Even"; + } + int state = dataTemp[25]; + string fState; + if (state == 0) + { + fState = "关闭"; + } + else + { + fState = "打开"; + } + + Console.WriteLine(g_sqlDeviceName + "\r" + "采集接口:" + acquisitionInterface + "\r" + "接口号:" + interNo + "\r" + + "波特率:" + baudRate + "\r" + "数据位:" + dataBit + "\r" + "停止位:" + fStopBit + "\r" + "校验位:" + fParityBit + "\r" + "状态:" + fState); + + //数据库存储 g_sqlRecordTime = DateTime.Now; - int cycleTime1 = 0; + string sqlMessageId = BitConverter.ToString(new byte[2] { dataTemp[1], dataTemp[2] }); + string[] id = sqlMessageId.Split('-'); + sqlMessageId = id[0] + id[1]; + int cycleTime = 0; - while (cycleTime1 < 3) + while (cycleTime < 3) { string sqlId = IdHelper.GetId(); - - string sqlCen = $"insert into db_multiparameter(id,record_time,device_name,device_number,conductivity,temperature,dissolvedoxygen,turbidity,chlorophyll,ph) " + - $"values('{sqlId}','{g_sqlRecordTime}','{deviceName}','{deviceNum}','{conductivity}','{temperature}','{dissolvedoxygen}','{turbidity}','{chlorophyll}','{ph}');"; - int num = 0; + string sql = $"insert into db_serialport(id,record_time,terminal_equipment_type,terminal_equipment_id,version_number,device_id,device_idd," + + $"device_name,acquisitioninterface,interfacenum,baudrate,wordlength,stopbit,paritybit,state) values('{sqlId}','{g_sqlRecordTime}','{g_sqlTerminalEquipmentType}','{g_sqlTerminalEquipmentId}','{g_sqlVersionNumber}','{g_sqlDeviceId}','{sqlMessageId}'," + + $"'{g_sqlDeviceName}','{acquisitionInterface}','{interNo}','{baudRate}','{dataBit}','{fStopBit}','{fParityBit}','{fState}');"; try { - num = g_link.Execute(sqlCen); + num = g_link.Execute(sql); } catch (Exception ex) { - Console.WriteLine("TransparentTransmissionDataError:" + ex.ToString()); + Console.WriteLine("HardwareInformationError:" + ex.ToString()); } if (num > 0) { - Console.WriteLine("终端透传解析数据插入成功!" + DateTime.Now); + Console.WriteLine("硬件信息插入成功!" + DateTime.Now); break; } else { - Console.WriteLine("终端透传解析数据插入失败,重新进行插入!" + DateTime.Now); + Console.WriteLine("硬件信息插入失败,重新进行插入!" + DateTime.Now); } - cycleTime1++; + cycleTime++; Thread.Sleep(1); } g_link.LinkClose(); - } - else if (acquisitionInterface == "ADC" && interfaceNumber == 18) - { - deviceName = "电磁传感器"; - if (Others.requestData[2] == true) - { - Others.receiveData[2] = true; - } - - //透传数据解析、存储 - float electromagnetic; - string celectromagnetic; - - if (transparentTransmissionData1.Length < 1) - { - Console.WriteLine("透传数据出错!"); - continue; - } - else - { - electromagnetic = BitConverter.ToSingle(new byte[] { dataTemp[22], dataTemp[21], dataTemp[20], dataTemp[19] }, 0); - celectromagnetic = String.Format("{0:F}", electromagnetic / 200); - Console.WriteLine("电磁:" + celectromagnetic); - } - - //数据存储 - g_sqlRecordTime = DateTime.Now; - int cycleTime1 = 0; - - while (cycleTime1 < 3) - { - string sqlId = IdHelper.GetId(); - - string sqlCen = $"insert into db_electromagnetic(id,record_time,device_name,device_number,electromagnetic) " + - $"values('{sqlId}','{g_sqlRecordTime}','{deviceName}','{deviceNum}','{celectromagnetic}');"; - - int num = 0; - - try - { - num = g_link.Execute(sqlCen); - } - catch (Exception ex) - { - Console.WriteLine("TransparentTransmissionDataError:" + ex.ToString()); - } - - if (num > 0) - { - Console.WriteLine("终端透传解析数据插入成功!" + DateTime.Now); - break; - } - else - { - Console.WriteLine("终端透传解析数据插入失败,重新进行插入!" + DateTime.Now); - } - - cycleTime1++; - Thread.Sleep(1); - } - g_link.LinkClose(); - } - - //平台通用应答 - TerminalAnswerVic(new byte[2] { dataTemp[1], dataTemp[2] }, new byte[2] { dataTemp[15], dataTemp[16] }); - } - - //接收终端文件传输 - if (dataTemp[1] == 0x00 && dataTemp[2] == 0x04) - { - string fileType; - if (dataTemp[17] == 0x00) //日志文件 - { - fileType = "logfile"; - } - else if (dataTemp[17] == 0x05) - { - fileType = "datafile"; - } - else - { - fileType = "errorfile"; - } - int date = BitConverter.ToInt32(new byte[] { dataTemp[21], dataTemp[20], dataTemp[19], dataTemp[18] }, 0); - string fileName = BitConverter.ToString(dataTemp, 22, 30); - string[] fileName1 = fileName.Split('-'); - string fileName2 = ""; - for (int i = 0; i < fileName1.Length; i++) - { - if (fileName1[i] != "00") - { - fileName2 += fileName1[i]; - } - else - { - i++; - } - } - string fileName3 = HexToString(fileName2); - - int fileLength = BitConverter.ToInt32(new byte[] { dataTemp[55], dataTemp[54], dataTemp[53], dataTemp[52] }, 0); - g_fileNumber = BitConverter.ToInt32(new byte[] { dataTemp[59], dataTemp[58], dataTemp[57], dataTemp[56] }, 0); - g_currentFileNumber = BitConverter.ToInt32(new byte[] { dataTemp[63], dataTemp[62], dataTemp[61], dataTemp[60] }, 0); - - Console.WriteLine("日期:" + date); - Console.WriteLine("文件名称:" + fileName3); - Console.WriteLine("文件大小:" + fileLength); - Console.WriteLine("总文件个数:" + g_fileNumber); - - if (g_currentFileNumber == 1) - { - CallInvokeUIUpdate("UpdateprgFileTransferMax", g_fileNumber.ToString()); - CallInvokeUIUpdate("UpdatelblFileNum", g_fileNumber.ToString()); - } - - Console.WriteLine("当前文件数:" + g_currentFileNumber); - //CallInvokeUIUpdate("UpdatelblCurrentNum", g_currentFileNumber.ToString()); - CallInvokeUIUpdate("UpdateprgFileTransferValue", g_currentFileNumber.ToString()); - - //path = @"F:v\text\piaoliufuzi\filereceive\" + filetype + "\\" + filename; - if (g_currentFileNumber == 1) - { - //获取当前.exe所在的文件夹位置 - g_exePath = System.Environment.CurrentDirectory; - //新创建一个文件夹 - System.IO.Directory.CreateDirectory(g_exePath + "/" + fileType + "/" + date); - g_savePath = g_exePath + "/" + fileType + "/" + date + "/" + fileName3; - } - - try - { - FileStream fsWrite = new FileStream(g_savePath, FileMode.Append, FileAccess.Write); - fsWrite.Write(dataTemp, 64, dataTemp.Length - 66); - //终端通用应答 + //平台通用应答 TerminalAnswerVic(new byte[2] { dataTemp[1], dataTemp[2] }, new byte[2] { dataTemp[15], dataTemp[16] }); - fsWrite.Close(); } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - } - - //接收硬件信息 - if (dataTemp[1] == 0x00 && dataTemp[2] == 0x80) - { - g_sqlDeviceName = "硬件信息"; - string acquisitionInterface = "UART"; - int interNo = dataTemp[17]; - int baudRate = BitConverter.ToInt32(new byte[] { dataTemp[21], dataTemp[20], dataTemp[19], dataTemp[18] }, 0); - int dataBit = dataTemp[22]; - int stopBit = dataTemp[23]; - string fStopBit; - if (stopBit == 1) - { - fStopBit = "1"; - } - else if (stopBit == 2) - { - fStopBit = "2"; - } - else - { - fStopBit = "1.5"; - } - int parityBit = dataTemp[24]; - string fParityBit; - if (parityBit == 0) - { - fParityBit = "None"; - } - else if (parityBit == 1) - { - fParityBit = "Odd"; - } - else - { - fParityBit = "Even"; - } - int state = dataTemp[25]; - string fState; - if (state == 0) - { - fState = "关闭"; - } - else - { - fState = "打开"; - } - - Console.WriteLine(g_sqlDeviceName + "\r" + "采集接口:" + acquisitionInterface + "\r" + "接口号:" + interNo + "\r" - + "波特率:" + baudRate + "\r" + "数据位:" + dataBit + "\r" + "停止位:" + fStopBit + "\r" + "校验位:" + fParityBit + "\r" + "状态:" + fState); - - //数据库存储 - g_sqlRecordTime = DateTime.Now; - string sqlMessageId = BitConverter.ToString(new byte[2] { dataTemp[1], dataTemp[2] }); - string[] id = sqlMessageId.Split('-'); - sqlMessageId = id[0] + id[1]; - int cycleTime = 0; - - while (cycleTime < 3) - { - string sqlId = IdHelper.GetId(); - int num = 0; - - string sql = $"insert into db_serialport(id,record_time,terminal_equipment_type,terminal_equipment_id,version_number,device_id,device_idd," + - $"device_name,acquisitioninterface,interfacenum,baudrate,wordlength,stopbit,paritybit,state) values('{sqlId}','{g_sqlRecordTime}','{g_sqlTerminalEquipmentType}','{g_sqlTerminalEquipmentId}','{g_sqlVersionNumber}','{g_sqlDeviceId}','{sqlMessageId}'," + - $"'{g_sqlDeviceName}','{acquisitionInterface}','{interNo}','{baudRate}','{dataBit}','{fStopBit}','{fParityBit}','{fState}');"; - try - { - num = g_link.Execute(sql); - } - catch (Exception ex) - { - Console.WriteLine("HardwareInformationError:" + ex.ToString()); - } - - if (num > 0) - { - Console.WriteLine("硬件信息插入成功!" + DateTime.Now); - break; - } - else - { - Console.WriteLine("硬件信息插入失败,重新进行插入!" + DateTime.Now); - } - - cycleTime++; - Thread.Sleep(1); - } - g_link.LinkClose(); - - //平台通用应答 - TerminalAnswerVic(new byte[2] { dataTemp[1], dataTemp[2] }, new byte[2] { dataTemp[15], dataTemp[16] }); } } + else + { + //CRC校验未通过,平台通用应答回复消息错误 + Console.WriteLine("CRC校验未通过!"); + TerminalAnswerErr(new byte[2] { dataTemp[1], dataTemp[2] }, new byte[2] { dataTemp[15], dataTemp[16] }); + } } - else - { - //CRC校验未通过,平台通用应答回复消息错误 - Console.WriteLine("CRC校验未通过!"); - TerminalAnswerErr(new byte[2] { dataTemp[1], dataTemp[2] }, new byte[2] { dataTemp[15], dataTemp[16] }); - } + } + catch(Exception ex) + { + EveryDayLog.Write("解析数据出错:" + ex.Message); } } } diff --git a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/EveryDayLog/2023/08/03.txt b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/EveryDayLog/2023/08/03.txt index 4780667..0a624e5 100644 --- a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/EveryDayLog/2023/08/03.txt +++ b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/EveryDayLog/2023/08/03.txt @@ -4,3 +4,218 @@ 2023/8/3 14:43:57: 上位机软件已启动! 2023/8/3 15:01:55: 上位机软件已启动! 2023/8/3 15:44:27: 上位机软件已启动! +2023/8/3 16:12:26: 上位机软件已启动! +2023/8/3 16:12:47: 新增远程连接:127.0.0.1:56746 +2023/8/3 16:12:47: 定时器(定时获取数据)已开启! +2023/8/3 16:12:51: ReceiveError移除远程连接:127.0.0.1:56746 +2023/8/3 16:12:51: 定时器(定时获取数据)已关闭! +2023/8/3 16:12:52: 新增远程连接:127.0.0.1:56755 +2023/8/3 16:12:52: 定时器(定时获取数据)已开启! +2023/8/3 16:12:53: ReceiveError移除远程连接:127.0.0.1:56755 +2023/8/3 16:12:53: 定时器(定时获取数据)已关闭! +2023/8/3 16:12:53: 新增远程连接:127.0.0.1:56756 +2023/8/3 16:12:53: 定时器(定时获取数据)已开启! +2023/8/3 16:12:54: ReceiveError移除远程连接:127.0.0.1:56756 +2023/8/3 16:12:54: 定时器(定时获取数据)已关闭! +2023/8/3 16:12:55: 新增远程连接:127.0.0.1:56757 +2023/8/3 16:12:55: 定时器(定时获取数据)已开启! +2023/8/3 16:12:55: ReceiveError移除远程连接:127.0.0.1:56757 +2023/8/3 16:12:55: 定时器(定时获取数据)已关闭! +2023/8/3 16:12:55: 新增远程连接:127.0.0.1:56758 +2023/8/3 16:12:55: 定时器(定时获取数据)已开启! +2023/8/3 16:12:55: ReceiveError移除远程连接:127.0.0.1:56758 +2023/8/3 16:12:55: 定时器(定时获取数据)已关闭! +2023/8/3 16:12:55: 新增远程连接:127.0.0.1:56759 +2023/8/3 16:12:55: 定时器(定时获取数据)已开启! +2023/8/3 16:12:56: ReceiveError移除远程连接:127.0.0.1:56759 +2023/8/3 16:12:56: 定时器(定时获取数据)已关闭! +2023/8/3 16:12:56: 新增远程连接:127.0.0.1:56761 +2023/8/3 16:12:56: 定时器(定时获取数据)已开启! +2023/8/3 16:12:56: ReceiveError移除远程连接:127.0.0.1:56761 +2023/8/3 16:12:56: 定时器(定时获取数据)已关闭! +2023/8/3 16:12:56: 新增远程连接:127.0.0.1:56762 +2023/8/3 16:12:56: 定时器(定时获取数据)已开启! +2023/8/3 16:12:56: ReceiveError移除远程连接:127.0.0.1:56762 +2023/8/3 16:12:56: 定时器(定时获取数据)已关闭! +2023/8/3 16:12:57: 新增远程连接:127.0.0.1:56763 +2023/8/3 16:12:57: 定时器(定时获取数据)已开启! +2023/8/3 16:12:57: ReceiveError移除远程连接:127.0.0.1:56763 +2023/8/3 16:12:57: 定时器(定时获取数据)已关闭! +2023/8/3 16:12:57: 新增远程连接:127.0.0.1:56764 +2023/8/3 16:12:57: 定时器(定时获取数据)已开启! +2023/8/3 16:12:57: ReceiveError移除远程连接:127.0.0.1:56764 +2023/8/3 16:12:57: 定时器(定时获取数据)已关闭! +2023/8/3 16:12:57: 新增远程连接:127.0.0.1:56765 +2023/8/3 16:12:57: 定时器(定时获取数据)已开启! +2023/8/3 16:12:58: ReceiveError移除远程连接:127.0.0.1:56765 +2023/8/3 16:12:58: 定时器(定时获取数据)已关闭! +2023/8/3 16:12:58: 新增远程连接:127.0.0.1:56766 +2023/8/3 16:12:58: 定时器(定时获取数据)已开启! +2023/8/3 16:12:58: ReceiveError移除远程连接:127.0.0.1:56766 +2023/8/3 16:12:58: 定时器(定时获取数据)已关闭! +2023/8/3 16:12:58: 新增远程连接:127.0.0.1:56767 +2023/8/3 16:12:58: 定时器(定时获取数据)已开启! +2023/8/3 16:12:58: ReceiveError移除远程连接:127.0.0.1:56767 +2023/8/3 16:12:58: 定时器(定时获取数据)已关闭! +2023/8/3 16:12:59: 新增远程连接:127.0.0.1:56768 +2023/8/3 16:12:59: 定时器(定时获取数据)已开启! +2023/8/3 16:12:59: ReceiveError移除远程连接:127.0.0.1:56768 +2023/8/3 16:12:59: 定时器(定时获取数据)已关闭! +2023/8/3 16:12:59: 新增远程连接:127.0.0.1:56769 +2023/8/3 16:12:59: 定时器(定时获取数据)已开启! +2023/8/3 16:12:59: ReceiveError移除远程连接:127.0.0.1:56769 +2023/8/3 16:12:59: 定时器(定时获取数据)已关闭! +2023/8/3 16:12:59: 新增远程连接:127.0.0.1:56770 +2023/8/3 16:12:59: 定时器(定时获取数据)已开启! +2023/8/3 16:13:05: ReceiveError移除远程连接:127.0.0.1:56770 +2023/8/3 16:13:05: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:07: 新增远程连接:127.0.0.1:56772 +2023/8/3 16:13:07: 定时器(定时获取数据)已开启! +2023/8/3 16:13:09: ReceiveError移除远程连接:127.0.0.1:56772 +2023/8/3 16:13:09: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:10: 新增远程连接:127.0.0.1:56779 +2023/8/3 16:13:10: 定时器(定时获取数据)已开启! +2023/8/3 16:13:15: 请求多参数数据:7F-80-03-00-00-00-C8-00-00-00-02-0C-08-00-01-00-00-00-04-02-0D-64-61-74-61-CD-7F +2023/8/3 16:13:20: 请求多参数数据:7F-80-03-00-00-00-C8-00-00-00-02-0C-08-00-01-00-01-00-04-02-0D-64-61-74-61-69-7F +2023/8/3 16:13:21: 获取电磁传感器数据:7F-80-03-00-00-00-C8-00-00-00-02-0C-03-00-01-00-00-05-12-02-AE-7F +2023/8/3 16:13:22: ReceiveError移除远程连接:127.0.0.1:56779 +2023/8/3 16:13:22: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:29: 新增远程连接:127.0.0.1:56826 +2023/8/3 16:13:29: 定时器(定时获取数据)已开启! +2023/8/3 16:13:32: ReceiveError移除远程连接:127.0.0.1:56826 +2023/8/3 16:13:32: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:33: 新增远程连接:127.0.0.1:56834 +2023/8/3 16:13:33: 定时器(定时获取数据)已开启! +2023/8/3 16:13:33: ReceiveError移除远程连接:127.0.0.1:56834 +2023/8/3 16:13:33: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:33: 新增远程连接:127.0.0.1:56835 +2023/8/3 16:13:33: 定时器(定时获取数据)已开启! +2023/8/3 16:13:34: ReceiveError移除远程连接:127.0.0.1:56835 +2023/8/3 16:13:34: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:34: 新增远程连接:127.0.0.1:56836 +2023/8/3 16:13:34: 定时器(定时获取数据)已开启! +2023/8/3 16:13:34: ReceiveError移除远程连接:127.0.0.1:56836 +2023/8/3 16:13:34: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:34: 新增远程连接:127.0.0.1:56838 +2023/8/3 16:13:34: 定时器(定时获取数据)已开启! +2023/8/3 16:13:34: ReceiveError移除远程连接:127.0.0.1:56838 +2023/8/3 16:13:34: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:35: 新增远程连接:127.0.0.1:56840 +2023/8/3 16:13:35: 定时器(定时获取数据)已开启! +2023/8/3 16:13:35: ReceiveError移除远程连接:127.0.0.1:56840 +2023/8/3 16:13:35: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:35: 新增远程连接:127.0.0.1:56841 +2023/8/3 16:13:35: 定时器(定时获取数据)已开启! +2023/8/3 16:13:36: ReceiveError移除远程连接:127.0.0.1:56841 +2023/8/3 16:13:36: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:36: 新增远程连接:127.0.0.1:56843 +2023/8/3 16:13:36: 定时器(定时获取数据)已开启! +2023/8/3 16:13:37: ReceiveError移除远程连接:127.0.0.1:56843 +2023/8/3 16:13:37: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:37: 新增远程连接:127.0.0.1:56845 +2023/8/3 16:13:37: 定时器(定时获取数据)已开启! +2023/8/3 16:13:37: ReceiveError移除远程连接:127.0.0.1:56845 +2023/8/3 16:13:37: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:38: 新增远程连接:127.0.0.1:56846 +2023/8/3 16:13:38: 定时器(定时获取数据)已开启! +2023/8/3 16:13:38: ReceiveError移除远程连接:127.0.0.1:56846 +2023/8/3 16:13:38: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:38: 新增远程连接:127.0.0.1:56847 +2023/8/3 16:13:38: 定时器(定时获取数据)已开启! +2023/8/3 16:13:38: ReceiveError移除远程连接:127.0.0.1:56847 +2023/8/3 16:13:38: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:38: 新增远程连接:127.0.0.1:56862 +2023/8/3 16:13:38: 定时器(定时获取数据)已开启! +2023/8/3 16:13:39: ReceiveError移除远程连接:127.0.0.1:56862 +2023/8/3 16:13:39: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:39: 新增远程连接:127.0.0.1:56863 +2023/8/3 16:13:39: 定时器(定时获取数据)已开启! +2023/8/3 16:13:39: ReceiveError移除远程连接:127.0.0.1:56863 +2023/8/3 16:13:39: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:39: 新增远程连接:127.0.0.1:56865 +2023/8/3 16:13:39: 定时器(定时获取数据)已开启! +2023/8/3 16:13:40: ReceiveError移除远程连接:127.0.0.1:56865 +2023/8/3 16:13:40: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:40: 新增远程连接:127.0.0.1:56866 +2023/8/3 16:13:40: 定时器(定时获取数据)已开启! +2023/8/3 16:13:40: ReceiveError移除远程连接:127.0.0.1:56866 +2023/8/3 16:13:40: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:40: 新增远程连接:127.0.0.1:56867 +2023/8/3 16:13:40: 定时器(定时获取数据)已开启! +2023/8/3 16:13:40: ReceiveError移除远程连接:127.0.0.1:56867 +2023/8/3 16:13:40: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:41: 新增远程连接:127.0.0.1:56869 +2023/8/3 16:13:41: 定时器(定时获取数据)已开启! +2023/8/3 16:13:41: ReceiveError移除远程连接:127.0.0.1:56869 +2023/8/3 16:13:41: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:41: 新增远程连接:127.0.0.1:56870 +2023/8/3 16:13:41: 定时器(定时获取数据)已开启! +2023/8/3 16:13:41: ReceiveError移除远程连接:127.0.0.1:56870 +2023/8/3 16:13:41: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:41: 新增远程连接:127.0.0.1:56873 +2023/8/3 16:13:41: 定时器(定时获取数据)已开启! +2023/8/3 16:13:42: ReceiveError移除远程连接:127.0.0.1:56873 +2023/8/3 16:13:42: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:42: 新增远程连接:127.0.0.1:56888 +2023/8/3 16:13:42: 定时器(定时获取数据)已开启! +2023/8/3 16:13:42: ReceiveError移除远程连接:127.0.0.1:56888 +2023/8/3 16:13:42: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:42: 新增远程连接:127.0.0.1:56889 +2023/8/3 16:13:42: 定时器(定时获取数据)已开启! +2023/8/3 16:13:42: ReceiveError移除远程连接:127.0.0.1:56889 +2023/8/3 16:13:42: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:43: 新增远程连接:127.0.0.1:56891 +2023/8/3 16:13:43: 定时器(定时获取数据)已开启! +2023/8/3 16:13:43: ReceiveError移除远程连接:127.0.0.1:56891 +2023/8/3 16:13:43: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:43: 新增远程连接:127.0.0.1:56892 +2023/8/3 16:13:43: 定时器(定时获取数据)已开启! +2023/8/3 16:13:47: 请求多参数数据:7F-80-03-00-00-00-C8-00-00-00-02-0C-08-00-01-00-02-00-04-02-0D-64-61-74-61-9C-7F +2023/8/3 16:13:49: ReceiveError移除远程连接:127.0.0.1:56892 +2023/8/3 16:13:49: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:50: 新增远程连接:127.0.0.1:56898 +2023/8/3 16:13:50: 定时器(定时获取数据)已开启! +2023/8/3 16:13:50: ReceiveError移除远程连接:127.0.0.1:56898 +2023/8/3 16:13:50: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:50: 新增远程连接:127.0.0.1:56899 +2023/8/3 16:13:50: 定时器(定时获取数据)已开启! +2023/8/3 16:13:50: ReceiveError移除远程连接:127.0.0.1:56899 +2023/8/3 16:13:50: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:50: 新增远程连接:127.0.0.1:56900 +2023/8/3 16:13:50: 定时器(定时获取数据)已开启! +2023/8/3 16:13:51: ReceiveError移除远程连接:127.0.0.1:56900 +2023/8/3 16:13:51: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:51: 新增远程连接:127.0.0.1:56901 +2023/8/3 16:13:51: 定时器(定时获取数据)已开启! +2023/8/3 16:13:51: ReceiveError移除远程连接:127.0.0.1:56901 +2023/8/3 16:13:51: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:51: 新增远程连接:127.0.0.1:56903 +2023/8/3 16:13:51: 定时器(定时获取数据)已开启! +2023/8/3 16:13:51: ReceiveError移除远程连接:127.0.0.1:56903 +2023/8/3 16:13:51: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:52: 新增远程连接:127.0.0.1:56905 +2023/8/3 16:13:52: 定时器(定时获取数据)已开启! +2023/8/3 16:13:52: ReceiveError移除远程连接:127.0.0.1:56905 +2023/8/3 16:13:52: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:52: 新增远程连接:127.0.0.1:56906 +2023/8/3 16:13:52: 定时器(定时获取数据)已开启! +2023/8/3 16:13:52: ReceiveError移除远程连接:127.0.0.1:56906 +2023/8/3 16:13:52: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:52: 新增远程连接:127.0.0.1:56907 +2023/8/3 16:13:52: 定时器(定时获取数据)已开启! +2023/8/3 16:13:53: ReceiveError移除远程连接:127.0.0.1:56907 +2023/8/3 16:13:53: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:53: 新增远程连接:127.0.0.1:56908 +2023/8/3 16:13:53: 定时器(定时获取数据)已开启! +2023/8/3 16:13:53: ReceiveError移除远程连接:127.0.0.1:56908 +2023/8/3 16:13:53: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:53: 新增远程连接:127.0.0.1:56909 +2023/8/3 16:13:53: 定时器(定时获取数据)已开启! +2023/8/3 16:13:54: ReceiveError移除远程连接:127.0.0.1:56909 +2023/8/3 16:13:54: 定时器(定时获取数据)已关闭! +2023/8/3 16:13:54: 新增远程连接:127.0.0.1:56910 +2023/8/3 16:13:54: 定时器(定时获取数据)已开启! +2023/8/3 16:13:54: ReceiveError移除远程连接:127.0.0.1:56910 +2023/8/3 16:13:54: 定时器(定时获取数据)已关闭! +2023/8/3 16:14:07: 上位机软件已关闭! +2023/8/3 16:17:33: 上位机软件已启动! diff --git a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/EveryDayLog/2023/08/12.txt b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/EveryDayLog/2023/08/12.txt new file mode 100644 index 0000000..3bac7cb --- /dev/null +++ b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/EveryDayLog/2023/08/12.txt @@ -0,0 +1,2 @@ +2023/8/12 16:04:55: 上位机软件已启动! +2023/8/12 16:29:52: 上位机软件已启动! diff --git a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/Interop.WMPLib.dll b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/Interop.WMPLib.dll index 2270196..88b60fe 100644 Binary files a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/Interop.WMPLib.dll and b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/Interop.WMPLib.dll differ diff --git a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/ZTTMS_Manage_YJ_20230104.exe b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/ZTTMS_Manage_YJ_20230104.exe index 057527f..fc67013 100644 Binary files a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/ZTTMS_Manage_YJ_20230104.exe and b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/ZTTMS_Manage_YJ_20230104.exe differ diff --git a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/ZTTMS_Manage_YJ_20230104.pdb b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/ZTTMS_Manage_YJ_20230104.pdb index cf2ee42..980a3b6 100644 Binary files a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/ZTTMS_Manage_YJ_20230104.pdb and b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/bin/Debug/ZTTMS_Manage_YJ_20230104.pdb differ diff --git a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/obj/Debug/Interop.WMPLib.dll b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/obj/Debug/Interop.WMPLib.dll index 2270196..88b60fe 100644 Binary files a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/obj/Debug/Interop.WMPLib.dll and b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/obj/Debug/Interop.WMPLib.dll differ diff --git a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/obj/Debug/ZTTMS_Manage_YJ_20230104.exe b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/obj/Debug/ZTTMS_Manage_YJ_20230104.exe index 057527f..fc67013 100644 Binary files a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/obj/Debug/ZTTMS_Manage_YJ_20230104.exe and b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/obj/Debug/ZTTMS_Manage_YJ_20230104.exe differ diff --git a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/obj/Debug/ZTTMS_Manage_YJ_20230104.pdb b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/obj/Debug/ZTTMS_Manage_YJ_20230104.pdb index cf2ee42..980a3b6 100644 Binary files a/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/obj/Debug/ZTTMS_Manage_YJ_20230104.pdb and b/ZTTMS_Manage_YJ_20230104_nosave_V1.0/ZTTMS_Manage_YJ_20230104/obj/Debug/ZTTMS_Manage_YJ_20230104.pdb differ