public byte[] AvoidPolluteTable(byte c) { List <byte> lbytes = new List <byte>(); lbytes.Add(0x02); lbytes.Add(c); List <ReagentNeedleAntifoulingStrategyInfo> CLItems = GetR1CrossContamination(); switch (c) { case 0x21: CLItems = GetR1CrossContamination(); break; case 0x22: CLItems = GetR2CrossContamination(); break; } foreach (ReagentNeedleAntifoulingStrategyInfo e in CLItems) { int px = myBatis.QueryRunSequenceByProject(e.PolluteProName, e.PolluteProType); int[] p = MachineControlProtocol.DecConverToHex(px); lbytes.Add((byte)p[0]); lbytes.Add((byte)p[1]); int nx = myBatis.QueryRunSequenceByProject(e.BePollutedProName, e.BePollutedProType); int[] n = MachineControlProtocol.DecConverToHex(nx); lbytes.Add((byte)n[0]); lbytes.Add((byte)n[1]); } if (lbytes.Count < 82) { for (int i = 0; i < 82 - lbytes.Count; i++) { lbytes.Add(0x30); } } lbytes.Add(0x03); lbytes.Add(0x00); lbytes.Add(0x00); byte[] ds = new byte[lbytes.Count];//85 for (int i = 0; i < lbytes.Count; i++) { ds[i] = lbytes[i]; } byte[] checksum = MachineControlProtocol.CheckSum(ds); ds[lbytes.Count - 2] = checksum[0]; ds[lbytes.Count - 1] = checksum[1]; return(ds); }
byte[] TaskEncode(TASK t, int wn) { List <byte> Listbyte = new List <byte>(); if (t.V == 0) { Listbyte.Add(0x02); Listbyte.Add(0x07); Listbyte.Add(0x30); Listbyte.Add(0x30); Listbyte.Add(0x31); int[] bytes = MachineControlProtocol.HDecConverToHex(wn); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + MachineInfo.GetWaveLengthIndex(t.PW))); Listbyte.Add((byte)('0' + MachineInfo.GetWaveLengthIndex(t.SW))); //急诊和常规都在样本位取样,急诊意思就是队列优先 if (t.PT == 1) { t.PT = 0; } Listbyte.Add((byte)('0' + t.PT)); Listbyte.Add(0x31); bytes = MachineControlProtocol.DecConverToHex(int.Parse(t.SMPPOS.TrimStart('B', 'S', 'C', 'E'))); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(t.PV); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + t.CT)); bytes = MachineControlProtocol.DecConverToHex(t.R1POS); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(t.R1VOL); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); bytes = MachineControlProtocol.DecConverToHex(t.R2POS); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(t.R2VOL); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add(0x03); } else { Listbyte.Add(0x02); Listbyte.Add(0x07); Listbyte.Add(0x30); Listbyte.Add(0x30); Listbyte.Add(0x32); int[] bytes = MachineControlProtocol.HDecConverToHex(wn); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + MachineInfo.GetWaveLengthIndex(t.PW))); Listbyte.Add((byte)('0' + MachineInfo.GetWaveLengthIndex(t.SW))); //急诊和常规都在样本位取样,急诊意思就是队列优先 if (t.PT == 1) { t.PT = 0; } Listbyte.Add((byte)('0' + t.PT)); Listbyte.Add(0x31); bytes = MachineControlProtocol.DecConverToHex(int.Parse(t.SMPPOS.TrimStart('B', 'S', 'C', 'E'))); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(t.PV); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + t.CT)); bytes = MachineControlProtocol.DecConverToHex(t.DPOS); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(t.DV); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); bytes = MachineControlProtocol.DecConverToHex(t.R2POS); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(t.R2VOL); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); //--------------------------------------------------------------- bytes = MachineControlProtocol.HDecConverToHex(wn); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + MachineInfo.GetWaveLengthIndex(t.PW))); Listbyte.Add((byte)('0' + MachineInfo.GetWaveLengthIndex(t.SW))); Listbyte.Add(0x0A); Listbyte.Add(0x31); bytes = MachineControlProtocol.DecConverToHex(int.Parse(t.SMPPOS.TrimStart('B', 'S', 'C', 'E'))); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(t.V); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add(0x01); bytes = MachineControlProtocol.DecConverToHex(t.R1POS); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(t.R1VOL); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); bytes = MachineControlProtocol.DecConverToHex(t.R2POS); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(t.R2VOL); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add(0x03); } long sum = 0; byte[] Tbytes = new byte[Listbyte.Count + 2]; for (int i = 0; i < Listbyte.Count; i++) { Tbytes[i] = Listbyte.ElementAt(i); sum += (int)Listbyte.ElementAt(i); } byte[] Tchecksum = MachineControlProtocol.CheckSum(sum); Tbytes[Tbytes.Length - 2] = Tchecksum[0]; Tbytes[Tbytes.Length - 1] = Tchecksum[1]; return(Tbytes); }
public byte[] Encode(object o) { List <byte> data = new List <byte>(); data.Add(0x02); data.Add(0x09); data.Add(0x32); try { string str = o as string; string[] filedstrs = str.Split('|'); foreach (char e in filedstrs[0]) { data.Add((byte)e); } data.Add((byte)filedstrs[1][0]); int n1 = int.Parse(filedstrs[2]); int[] nbytes = MachineControlProtocol.DecConverToHex(n1); data.Add((byte)nbytes[0]); data.Add((byte)nbytes[1]); int n2 = int.Parse(filedstrs[3]); nbytes = MachineControlProtocol.DecConverToHex(n2); data.Add((byte)nbytes[0]); data.Add((byte)nbytes[1]); data.Add((byte)filedstrs[4][0]); for (int i = 15; i <= 32; i++) { data.Add(0x30); } } catch { data.Clear(); for (int i = 1; i <= 32; i++) { data.Add(0x30); } } data.Add(0x03); data.Add(0x00); data.Add(0x00); byte[] bytes = new byte[data.Count]; for (int j = 0; j < data.Count; j++) { bytes[j] = data[j]; } byte[] checksum = MachineControlProtocol.CheckSum(bytes); bytes[bytes.Count() - 2] = checksum[0]; bytes[bytes.Count() - 1] = checksum[1]; return(bytes); }
public byte[] Encode(object o) { List <byte> data = new List <byte>(); data.Add(0x02); data.Add(0x45); string para = o as string; string d = ""; string p = ""; for (int i = 0; i < para.Length; i++) { if (para[i] != ':') { d += para[i]; } else { p = para.Substring(i + 1, para.Length - (i + 1)); break; } } switch (int.Parse(d)) { case 1: data.Add(0x30); break; case 2: data.Add(0x31); break; } string[] poses = p.Split('|'); foreach (string i in poses) { try { int[] dp = MachineControlProtocol.DecConverToHex(int.Parse(i)); data.Add((byte)dp[0]); data.Add((byte)dp[1]); } catch { continue; } } data.Add(0x03); data.Add(0x00); data.Add(0x00); byte[] bytes = new byte[data.Count]; for (int j = 0; j < data.Count; j++) { bytes[j] = data[j]; } byte[] checksum = MachineControlProtocol.CheckSum(bytes); bytes[bytes.Count() - 2] = checksum[0]; bytes[bytes.Count() - 1] = checksum[1]; return(bytes); }
byte[] TaskEncode(TASK t, int wn) { List <byte> Listbyte = new List <byte>(); if (t.V == 0) { Listbyte.Add(0x02); Listbyte.Add(0x07); //普通测试包 //if (t.ASSAYTYPE == "ISE") //{ // if (t.SMPTYPE == "U") // { // Listbyte.Add(0x31); // Listbyte.Add(0x32); // Listbyte.Add(0x31); // } // else // { // Listbyte.Add(0x31); // Listbyte.Add(0x31); // Listbyte.Add(0x31); // } //} //else //{ Listbyte.Add(0x30); Listbyte.Add(0x30); Listbyte.Add(0x31); //} int[] bytes = MachineControlProtocol.HDecConverToHex(wn); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + GetWaveLengthIndex(t.PW))); Listbyte.Add((byte)('0' + GetWaveLengthIndex(t.SW))); bytes = MachineControlProtocol.DecConverToHex(t.PPNO); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); //急诊和常规都在样本位取样,急诊意思就是队列优先 if (t.PT == 1) { t.PT = 0; } Listbyte.Add((byte)('0' + t.PT)); Listbyte.Add(0x31); bytes = MachineControlProtocol.DecConverToHex(int.Parse(t.SMPPOS.TrimStart('B', 'S', 'C', 'E'))); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(t.PV); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + t.CT)); //int rgttype = new RunService().GetRgtPanelType(); //if (rgttype == 2) //{ // t.R1POS += 45; //} bytes = MachineControlProtocol.DecConverToHex(t.R1POS); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(t.R1VOL); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + t.SF1)); bytes = MachineControlProtocol.DecConverToHex(t.R2POS); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); if (t.R2POS == 0) { bytes = MachineControlProtocol.HDecConverToHex(0); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + 0)); } else { bytes = MachineControlProtocol.HDecConverToHex(t.R2VOL); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + t.SF2)); } Listbyte.Add(0x03); } else { Listbyte.Add(0x02); Listbyte.Add(0x07); //稀释测试包 Listbyte.Add(0x30); Listbyte.Add(0x30); Listbyte.Add(0x32); int[] bytes = MachineControlProtocol.HDecConverToHex(wn); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + GetWaveLengthIndex(t.PW))); Listbyte.Add((byte)('0' + GetWaveLengthIndex(t.SW))); bytes = MachineControlProtocol.DecConverToHex(t.PPNO); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); //急诊和常规都在样本位取样,急诊意思就是队列优先 if (t.PT == 1) { t.PT = 0; } Listbyte.Add((byte)('0' + t.PT)); Listbyte.Add(0x31); bytes = MachineControlProtocol.DecConverToHex(int.Parse(t.SMPPOS.TrimStart('B', 'S', 'C', 'E'))); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(t.PV); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + t.CT)); bytes = MachineControlProtocol.DecConverToHex(t.DPOS); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(t.DV); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + t.SF1)); bytes = MachineControlProtocol.DecConverToHex(0); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(0); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + t.SF2)); //--------------------------------------------------------------- bytes = MachineControlProtocol.HDecConverToHex(wn); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + GetWaveLengthIndex(t.PW))); Listbyte.Add((byte)('0' + GetWaveLengthIndex(t.SW))); bytes = MachineControlProtocol.DecConverToHex(t.PPNO); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add(0x3A); Listbyte.Add(0x31); bytes = MachineControlProtocol.DecConverToHex(int.Parse(t.SMPPOS.TrimStart('B', 'S', 'C', 'E'))); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(t.V); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add(0x31); //int rgttype = new RunService().GetRgtPanelType(); //if (rgttype == 2) //{ // t.R1POS += 45; //} bytes = MachineControlProtocol.DecConverToHex(t.R1POS); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(t.R1VOL); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + t.SF1)); bytes = MachineControlProtocol.DecConverToHex(t.R2POS); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(t.R2VOL); Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + t.SF2)); Listbyte.Add(0x03); } long sum = 0; byte[] Tbytes = new byte[Listbyte.Count + 2]; for (int i = 0; i < Listbyte.Count; i++) { Tbytes[i] = Listbyte.ElementAt(i); sum += (int)Listbyte.ElementAt(i); } byte[] Tchecksum = MachineControlProtocol.CheckSum(sum); Tbytes[Tbytes.Length - 2] = Tchecksum[0]; Tbytes[Tbytes.Length - 1] = Tchecksum[1]; return(Tbytes); }
public byte[] Encode(object o) { string str = o as string; WashSettingData d = (WashSettingData)XmlUtilit.Deserialize(typeof(WashSettingData), str); if (d == null) { return(null); } List <byte> Listbyte = new List <byte>(); Listbyte.Add(0x02); Listbyte.Add(0x90); Listbyte.Add((byte)('0' + d.ACount)); Listbyte.Add((byte)('0' + d.BCount)); Listbyte.Add((byte)('0' + 0)); //CC int[] bytes = MachineControlProtocol.DecConverToHex(d.ASMPPosition); //DD EE Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex((int)d.ASMPVolume * 10);//FF GG II Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); int ct = (new SMPContainerTypeService().Get(d.SampleContainerType) as SMPContainerType).Code;//JJ Listbyte.Add((byte)('0' + ct)); bytes = MachineControlProtocol.DecConverToHex(d.ARGTPosition1);//KK LL Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(d.ARGTVolume1);//MM NN OO Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); bytes = MachineControlProtocol.DecConverToHex(d.ARGTPosition2);//PP QQ Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(d.ARGTVolume2);//RR SS TT UU Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add((byte)('0' + 0)); //CC bytes = MachineControlProtocol.DecConverToHex(d.BSMPPosition); //DD EE Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex((int)d.BSMPVolume * 10);//FF GG II Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); ct = (new SMPContainerTypeService().Get(d.SampleContainerType) as SMPContainerType).Code; //JJ Listbyte.Add((byte)('0' + ct)); bytes = MachineControlProtocol.DecConverToHex(d.BRGTPosition1); //KK LL Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(d.BRGTVolume1);//MM NN OO Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); bytes = MachineControlProtocol.DecConverToHex(d.BRGTPosition2);//PP QQ Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); bytes = MachineControlProtocol.HDecConverToHex(d.BRGTVolume2);//RR SS TT UU Listbyte.Add((byte)bytes[0]); Listbyte.Add((byte)bytes[1]); Listbyte.Add((byte)bytes[2]); Listbyte.Add(0x03); long sum = 0; byte[] Tbytes = new byte[Listbyte.Count + 2]; for (int i = 0; i < Listbyte.Count; i++) { Tbytes[i] = Listbyte.ElementAt(i); sum += (int)Listbyte.ElementAt(i); } byte[] Tchecksum = MachineControlProtocol.CheckSum(sum); Tbytes[Tbytes.Length - 2] = Tchecksum[0]; Tbytes[Tbytes.Length - 1] = Tchecksum[1]; return(Tbytes); }