public static void DisConnec(AsyncTCPServer tCPServer, byte[] data) { if (data[0] == 0xbc && data[1] == 0x90 && data[2] == 0x03) { SendData(new byte[] { 0xac, 0xac }, tCPServer); } }
/// <summary> /// 反接状态 /// </summary> /// <param name="tCPServer"></param> /// <param name="data"></param> /// <param name="ISTRUE"></param> public static void QueryDisStata(AsyncTCPServer tCPServer, byte[] data, bool ISTRUE) { if (data[0] == 0xbd && data[1] == 0xaa && data[2] == 0xff) { if (ISTRUE == true) { SendData(new byte[] { 0xac, 0x00 }, tCPServer); } else { SendData(new byte[] { 0xee, 0xee }, tCPServer); } } }
public static void SetPar(AsyncTCPServer tCPServer, byte[] data, bool IsSuccess) { if (IsSuccess) { if (data.Length >= 3) { //在此解析数据和设置参数 byte Sum = Convert.ToByte(0xac + data[data.Length - 2]); SendData(new byte[] { 0xac, data[data.Length - 2], Sum }, tCPServer); } } else { SendData(new byte[] { 0xee, 0xee }, tCPServer); } }
public static void SendData(byte[] senddata, AsyncTCPServer tCPServer) { try { // state = (TCPClientState)tCPServer._clients.ToArray()[0]; var temp = tCPServer._clients.ToArray(); foreach (var a in temp) { tCPServer.Send((TCPClientState)a, senddata); } // tCPServer.Send(state.TcpClient, senddata); } catch (SocketException ex) { throw ex; } }
public void ReturnMessages(AsyncTCPServer AsTcp, byte[] data) { if (data != null) { switch (data[0]) { case 0x02: TestClass.SerchSend(AsTcp, data); break; case 0xcc: if (data[1] == 0x90) { TestClass.Connec(AsTcp, data); } else { if (MisTak.Success != TestResult.WorkTest.ChangeVolate(AnalysisData.DeelVolate(data))) { TestClass.SetPar(AsTcp, data, true); } } break; case 0xbc: TestClass.DisConnec(AsTcp, data); break; case 0x41: if (MisTak.Success == TestResult.WorkTest.ChangeFre(AnalysisData.DeelFre(data))) { TestClass.SetPar(AsTcp, data, true); } else { TestClass.SetPar(AsTcp, data, false); } break; case 0x42: if (MisTak.Success == TestResult.WorkTest.ChangeVolate(AnalysisData.DeelVolate(data))) //不确定是否是ASkll码 { TestClass.SetPar(AsTcp, data, true); } else { TestClass.SetPar(AsTcp, data, false); } break; case 0xac: if (MisTak.Success == TestResult.WorkTest.StartPower()) //无启动电源选项 { TestClass.SetPar(AsTcp, data, true); } else { TestClass.SetPar(AsTcp, data, false); } break; case 0xed: if (MisTak.Success == TestResult.WorkTest.ClosePower()) //无启动电源选项 { TestClass.SetPar(AsTcp, data, true); } else { TestClass.SetPar(AsTcp, data, false); } break; case 0x32: TestResult.WorkTest.ChangeTestCn((float)Convert.ToDouble(AnalysisData.DeelCn(data)[0])); TestResult.WorkTest.ChangeTestCnTan((float)Convert.ToDouble(AnalysisData.DeelCn(data)[1])); //CnTan协议无法测量 TestClass.SetPar(AsTcp, data, true); break; case 0x3a: if (TestResult.WorkTest.IsTestting) //启动测量 { IsRunning = true; ISStart = true; } else { IsRunning = false; ISStart = false; } TestClass.SetPar(AsTcp, data, ISStart); break; case 0xda: // AnalysisData.DeelFreAndVolate(data);//发送需要的和中数据 TestClass.QueryFreAndVolate(AsTcp, data, new byte[36]); //电压频率,问题,高压侧电压低压侧电压 break; case 0xff: if (IsRunning) { TestClass.QueryTestState(AsTcp, data, new byte[] { 0xac, 0xac }); } else { TestClass.QueryTestState(AsTcp, data, new byte[] { 0xee, 0xee }); } break; case 0xfd: // TestClass.QueryTestResult(tCPServer, data, AnalysisData.DeelTestResult(TestResultData));//Test ISStart = true; // SendData += TestMesseages_SendData; break; case 0xbd: //反接板状态,查询协议确实 TestClass.QueryDisStata(AsTcp, data, true); break; default: break; } } }
public TestMesseages(AsyncTCPServer tCPServer, byte[] data) { this.tCPServer = tCPServer; this.data = data; }
private void TestMesseages_SendData(AsyncTCPServer tCPServer, byte[] testresult) { TestClass.QueryTestResult(tCPServer, data, AnalysisData.DeelTestResult(testresult)); }
/// <summary> /// 查询发送 02 /// </summary> public static void SerchSend(AsyncTCPServer tCPServer, byte[] data) { SendData(new byte[] { 0xac, data[data.Length - 2] }, tCPServer); }
public static void QueryFreAndVolate(AsyncTCPServer tCPServer, byte[] data, byte[] NeedReturnData) { SendData(NeedReturnData, tCPServer); }
/// <summary> /// 查询测量结果 /// </summary> /// <param name="tCPServer"></param> /// <param name="data"></param> /// <param name="NeedReturnData"></param> public static void QueryTestResult(AsyncTCPServer tCPServer, byte[] data, byte[] NeedReturnData) { SendData(NeedReturnData, tCPServer); }