示例#1
0
文件: smbPump.cs 项目: pjb7687/single
        public smbPump(pumpType pump, string port)
        {
            m_pump = pump;
            m_port = port;
            string[] limitvals;
            string test;
            switch (m_pump)
            {
                case pumpType.CHEMYX_FUSION:
                    try {
                        m_serialport = new SerialPort(port);

                        m_serialport.BaudRate = 9600;
                        m_serialport.DataBits = 8;
                        m_serialport.Parity = Parity.None;
                        m_serialport.StopBits = StopBits.One;
                        m_serialport.Handshake = Handshake.None;
                        m_serialport.ReadTimeout = 500;

                        m_serialport.Open();

                        m_serialport.Write("read limit parameter\r\n");
                        Thread.Sleep(200);
                        m_serialport.ReadLine(); // remove commands
                        limitvals = m_serialport.ReadLine().Split(' ');
                        m_maxrate = Convert.ToDouble(limitvals[0].Trim());
                        m_minrate = Convert.ToDouble(limitvals[1].Trim());
                        m_maxvolume = Convert.ToDouble(limitvals[2].Trim());
                        m_minvolume = Convert.ToDouble(limitvals[3].Trim());
                        m_serialport.ReadExisting();
                    } catch {
                        m_serialport.Close();
                        throw new Exception();
                    }
                    break;
                case pumpType.HARVARD_2000:
                    try
                    {
                        m_serialport = new SerialPort(port);

                        m_serialport.BaudRate = 9600;
                        m_serialport.DataBits = 8;
                        m_serialport.Parity = Parity.None;
                        m_serialport.StopBits = StopBits.Two;
                        m_serialport.Handshake = Handshake.None;

                        m_serialport.Open();

                        m_serialport.Write("\rVER\r");
                        Thread.Sleep(200);
                        test = m_serialport.ReadExisting();
                        if (test == "") throw new Exception();

                        m_maxrate = 31001;
                        m_minrate = 0;
                        m_maxvolume = 10000;
                        m_minvolume = 0;
                    }
                    catch
                    {
                        m_serialport.Close();
                        throw new Exception();
                    }
                    break;
            }
        }
示例#2
0
文件: smbPump.cs 项目: pjb7687/single
 public static string GetPumpName(pumpType pump)
 {
     switch (pump)
     {
         case pumpType.CHEMYX_FUSION:
             return "Chemyx Fusion Series";
         case pumpType.HARVARD_2000:
             return "Harvard 2000";
     }
     return "Unknown Pump";
 }