Beispiel #1
0
 private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
 {
     if (mainThread != null)
     {
         mainThread.Abort();
     }
     PLAASerialPort.GetInstance().Abort();
 }
Beispiel #2
0
        private void getData()
        {
            bool isOver = false;

            while (!isOver)
            {
                lock (port.Lockbuffer)
                {
                    if (port.DateList.Count < 1)
                    {
                        continue;
                    }
                    for (int i = 0; i < port.DateList.Count; i++)
                    {
                        byte[] data = port.DateList.Dequeue();
                        Trace.WriteLine(PLAASerialPort.byteToHexStr(data));
                        // 数据帧
                        if (data.Length == 19)
                        {
                            Equipment eqoo = mainList.Find(c => c.Address == data[1] && c.SensorType == (EM_HighType)data[2] && c.GasType == data[3]);
                            if (eqoo == null)
                            {
                                continue;
                            }

                            EquipmentData ed = new EquipmentData();

                            ed.AddTime = Parse.GetDateTime(data, 9);
                            //  DateTime format_dt;
                            //  DateTime.TryParse(ed.AddTime,out format_dt);
                            //  ed.AddTime = format_dt;
                            ed.Chroma      = (float)Math.Round(Parse.GetFloatValue(data, 5), eqoo.Point);
                            ed.EquipmentID = eqoo.ID;
                            ed.UnitType    = data[4];
                            if (!InputDataDal.AddOne(ed))
                            {
                                LogLib.Log.GetLogger(this).Warn("插入数据库错误");
                            }

                            this.Invoke(new Action <string>(addText), string.Format("{0},{1},浓度:{2},时间:{3}\r\n", eqoo.Name, eqoo.GasName, ed.Chroma, ed.AddTime));
                        }
                        else if (data.Length == 6) // 结束桢
                        {
                            isOver           = true;
                            port.IsInputData = false;
                            this.Invoke(new Action <string>(addText), "上传完成----------------------------------------------------");

                            this.Invoke(new Action <string>(c => simpleButton1.Text = c), "开始上传");
                            break;
                        }
                    }
                }

                Thread.Sleep(200);
            }
        }
Beispiel #3
0
        private void Form_InputData_Load(object sender, EventArgs e)
        {
            mainList = EquipmentDal.GetAllList();
            var sql = from a in mainList
                      group a by a.Name into g
                      select new
            {
                g.Key
            };

            sql.ToList().ForEach(c => { comboBoxEdit1.Properties.Items.Add(c.Key); });
            if (sql.ToList().Count > 0)
            {
                comboBoxEdit1.SelectedIndex = 0;
            }

            port = PLAASerialPort.GetInstance();
        }
Beispiel #4
0
 private void simpleButtonCommunication_Click(object sender, EventArgs e)
 {
     if (simpleButtonCommunication.Text == "连接")
     {
         simpleButtonCommunication.Text    = "断开";
         comboBoxEditCommunication.Enabled = false;
         comboBoxEdit5.Enabled             = false;
         comboBoxEdit6.Enabled             = false;
         PLAASerialPort.Open(comboBoxEdit5.Text, int.Parse(comboBoxEdit6.Text));
     }
     else
     {
         simpleButtonCommunication.Text    = "连接";
         comboBoxEditCommunication.Enabled = true;
         comboBoxEdit5.Enabled             = true;
         comboBoxEdit6.Enabled             = true;
         PLAASerialPort.Close();
     }
 }
Beispiel #5
0
 /// <summary>
 /// 获取界面系统配置参数
 /// </summary>
 /// <returns></returns>
 private void SaveSystemConfig()
 {
     try
     {
         systemConfig.Port         = comboBoxEdit_Port.Text;
         systemConfig.BaudRate     = int.Parse(textEdit_BaudRate.Text);
         systemConfig.Preiod       = int.Parse(textEdit_Preod.Text);
         systemConfig.PreiodUnit   = comboBoxEdit_second.SelectedIndex;
         systemConfig.Xrange       = int.Parse(textEdit_RealTime.Text);
         systemConfig.Temperature  = float.Parse(textEdit_Temperature.Text);
         systemConfig.Volume       = float.Parse(textEdit_Volume.Text);
         systemConfig.Molecular    = int.Parse(textEdit_Molecular.Text);
         systemConfig.BackupPath   = textEdit_Path.Text;
         systemConfig.Isbackup     = checkEdit_Back.Checked;
         systemConfig.BackupPreiod = int.Parse(textEdit_BackupPreiod.Text);
         systemConfig.CenterIP     = textEdit_CenterIP.Text;
         systemConfig.CenterPort   = int.Parse(textEdit_centerPort.Text);
         systemConfig.Isauto       = checkEdit_autosample.Checked;
         if (PLAASerialPort.serialport.IsOpen)
         {
             PLAASerialPort.GetInstance().Close();
             PLAASerialPort.GetInstance().Open(systemConfig.Port, systemConfig.BaudRate);
             Gloabl.IsOpen = true;
         }
         else
         {
             PLAASerialPort.GetInstance().Open(systemConfig.Port, systemConfig.BaudRate);
             Gloabl.IsOpen = true;
         }
         XmlSerializerProvider xml = new XmlSerializerProvider();
         xml.Serialize <SystemConfig>(AppDomain.CurrentDomain.BaseDirectory + "\\SystemConfig.xml", systemConfig);
         XtraMessageBox.Show("保存成功");
     }
     catch (Exception ex)
     {
         XtraMessageBox.Show("保存失败");
         LogLib.Log.GetLogger(this).Warn(ex);
     }
 }
Beispiel #6
0
        // 初始化Form
        private bool InitializeForm()
        {
            try
            {
                Gloabl.IsAdmin         = false;
                richTextBox1.Dock      = DockStyle.None;
                chartControl_Main.Dock = DockStyle.Fill;
                if (!ReadSystemConfig())
                {
                    return(false);
                }
                // 登录
                //Form_Login login = new Form_Login(systemConfig);
                //login.ShowDialog();
                //if (login.DialogResult != System.Windows.Forms.DialogResult.OK)
                //{
                //    this.Close();
                //}
                //else if (Gloabl.IsAdmin)
                //{
                //    chartControl_Main.Dock = DockStyle.Top;
                //    richTextBox1.Dock = DockStyle.Fill;
                //    richTextBox1.Visible = true;
                //}
                // 设置皮肤
                defaultLookAndFeel1.LookAndFeel.SkinName = systemConfig.SkinName;
                //DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(systemConfig.SkinName);
                // 设置数据库路径
                SqliteHelper.SetConnectionString(string.Format("Data Source={0};Version=3;", AppDomain.CurrentDomain.BaseDirectory + "\\SDData.db3"));
                //SqliteHelper.SetConnectionString(AppDomain.CurrentDomain.BaseDirectory + "SDData.db");

                mainList = EquipmentDal.GetAllList();
                gridControl_Main.DataSource = mainList;
                gridView_Main.BestFitColumns();
                gridControl_Add.DataSource = mainList;
                gridView_Add.BestFitColumns();

                DateTime time = DateTime.Now;
                dateEdit_Start.DateTime      = time.AddDays(-7);
                dateEdit_End.DateTime        = time;
                dateEdit_StartAlert.DateTime = time.AddDays(-7);
                dateEdit_EndAlert.DateTime   = time;
                InitSeries();

                if (mainList.Count < 1)
                {
                    LogLib.Log.GetLogger(this).Warn("mainList为空");
                    return(true);
                }

                mainList.ForEach(c => { comboBoxEdit_ID.Properties.Items.Add(c.Address); });

                Equipment eee = mainList.First();
                if (eee != null)
                {
                    textEdit_AddressAdd.Text            = eee.Address.ToString();
                    textEdit_GasNameAdd.Text            = eee.EName;
                    textEdit_RangeAdd.Text              = eee.Range.ToString();
                    comboBoxEdit_UnitAdd.SelectedItem   = eee.Unit;
                    comboBoxEdit_PointAdd.SelectedIndex = eee.Point;
                    textEdit_ReviseAdd.Text             = eee.Revise.ToString();
                    textEdit_HighAdd.Text = eee.HighAlert.ToString();
                    textEdit_LowAdd.Text  = eee.LowAlert.ToString();
                    comboBoxEdit_OpenAdd.SelectedIndex = eee.AlertType;
                    textEdit_PlaceAdd.Text             = eee.Place.ToString();
                }
                player = new SoundPlayer();
                player.SoundLocation = AppDomain.CurrentDomain.BaseDirectory + "\\" + systemConfig.SoundName;
                player.Load();
                if (!PLAASerialPort.GetInstance().Open(systemConfig.Port, systemConfig.BaudRate))
                {
                    LogLib.Log.GetLogger(this).Warn("串口打开失败");
                    return(false);
                }
                Gloabl.IsOpen = true;
            }
            catch (Exception ex)
            {
                LogLib.Log.GetLogger(this).Warn(ex);
                return(false);
            }
            return(true);
        }
Beispiel #7
0
 private void MainXtraForm_FormClosing(object sender, FormClosingEventArgs e)
 {
     PLAASerialPort.Close();
 }