上位机学习笔记汇总

来源:互联网 发布:中国数据库市场规模 编辑:程序博客网 时间:2024/05/16 09:17


 //检测可用串口        private void CheckAvailableSeriportPort()        {            comboBox_PortName.Items.Clear();            for (int i = 1; i < 20; i++)            {                try                {                    serialPort1.PortName = "COM" + i;                    serialPort1.Open();                    serialPort1.Close();                    comboBox_PortName.Items.Add("COM" + i);                }                catch { }            }        }

       //打开串口        private void Btn_OpenSerialport_Click(object sender, EventArgs e)        {            try            {                if (serialPort1.IsOpen)                {                    serialPort1.Close();                    Btn_OpenSerialport.Text = "打开串口";                }                else                {                    serialPort1.BaudRate = Convert.ToInt32(comboBox_BandRate.Text);                    serialPort1.PortName = comboBox_PortName.Text;                    serialPort1.Open();                    Btn_OpenSerialport.Text = "关闭串口";                }            }            catch { MessageBox.Show("串口打开失败!"); }            //是否连接数据库            if(checkBox_ConnectDataBase.Checked==true)            {                ConnectDataBase();            }                }

        //连接数据库        private void ConnectDataBase()        {            try            {                string strConn = @"data source=PANLEE-PC;initial catalog=nGoal;integrated security=true";                SqlConnection conn = new SqlConnection(strConn);                conn.Open();                conn.Close();            }            catch { MessageBox.Show("未能连接数据库!"); }        }


        //串口接收数据        public string  TimeofDataReceived;        private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)        {            string data = serialPort1.ReadLine();            TimeofDataReceived = DateTime.Now.ToLongTimeString();            data_Analyse(data);         }

    //数据分析        private void data_Analyse(string Data)        {            string data_nodeNumber = Data.Substring(0, 1);            string data_value = Data.Substring(1, 4);            int node_number = Convert.ToInt32(data_nodeNumber);            if (checkBox_ConnectDataBase.Checked == true)            {                dataBase_coperation(node_number, data_value);            }            switch(node_number)            {                case 1:                    this.Invoke(new Action(() =>                    {                        chart1.Series[0].Points.AddXY(TimeofDataReceived, Convert.ToInt32(data_value, 16));                        chart1.ChartAreas["ChartArea1"].AxisX.ScaleView.Scroll(ScrollType.Last);                    }));                                     break;                case 2:                    this.Invoke(new Action(() =>                    {                        chart2.Series[0].Points.AddXY(TimeofDataReceived, Convert.ToInt32(data_value, 16));                        chart2.ChartAreas["ChartArea1"].AxisX.ScaleView.Scroll(ScrollType.Last);                    }));                        break;                case 3:                    this.Invoke(new Action(() =>                    {                        chart3.Series[0].Points.AddXY(TimeofDataReceived, Convert.ToInt32(data_value, 16));                        chart3.ChartAreas["ChartArea1"].AxisX.ScaleView.Scroll(ScrollType.Last);                    }));                      break;                case 4:                    this.Invoke(new Action(() =>                    {                        chart4.Series[0].Points.AddXY(TimeofDataReceived, Convert.ToInt32(data_value, 16));                        chart4.ChartAreas["ChartArea1"].AxisX.ScaleView.Scroll(ScrollType.Last);                    }));                    break;                default:                    break;            }                      }

 //增加数据到数据库         private void dataBase_coperation(int node_number, string data_value)        {            string sql;            switch(node_number)            {                case 1: sql = "insert into FrequencyOfNode_1(data_value,data_time) values ('" + data_value + "','" + TimeofDataReceived + "')";                    break;                case 2: sql = "insert into FrequencyOfNode_2(data_value,data_time) values ('" + data_value + "','" + TimeofDataReceived + "')";                    break;                case 3: sql = "insert into FrequencyOfNode_3(data_value,data_time) values ('" + data_value + "','" + TimeofDataReceived + "')";                    break;                default: sql = "";                    break;            }                      try            {                string strConn = @"data source=PANLEE-PC;initial catalog=DB15728;integrated security=true";                SqlConnection conn = new SqlConnection(strConn);                conn.Open();                SqlCommand cmd = new SqlCommand(sql, conn);                cmd.CommandText = sql;                cmd.ExecuteNonQuery();            }            catch { MessageBox.Show("Error"); }        }




























0 0
原创粉丝点击