Exemple #1
0
        public byte[] Encode(object o)
        {
            ManuOffsetGain ManuOffsetGain = myBatis.QueryManuOffsetGain("QueryManuOffsetGain");

            byte[] bytes = new byte[12];

            bytes[0] = 0x02;
            bytes[1] = 0x27;
            bytes[2] = (byte)('0' + ManuOffsetGain.WaveLength);
            int[] d = MachineControlProtocol.HDecConverToHex(ManuOffsetGain.OffSet);
            bytes[3]  = (byte)d[0];
            bytes[4]  = (byte)d[1];
            bytes[5]  = (byte)d[2];
            d         = MachineControlProtocol.HDecConverToHex(ManuOffsetGain.Gain);
            bytes[6]  = (byte)d[0];
            bytes[7]  = (byte)d[1];
            bytes[8]  = (byte)d[2];
            bytes[9]  = 0x03;
            bytes[10] = 0x00;
            bytes[11] = 0x00;
            byte[] checksum = MachineControlProtocol.CheckSum(bytes);
            bytes[10] = checksum[0];
            bytes[11] = checksum[1];

            return(bytes);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }