//--------体温数据导入图表-------------------------// public void Add_TemperatureDatas() { //Console.WriteLine(temperature); if (temperature != null) { //向体温数据列表中添加数据 temperatureDatas.Add(temperature); tempVolume++; foreach (TemperatureDataType temp in temperatureDatas) { String str = temp.TemperatureInteger + "." + temp.TemperatureDecimal; this.chart2.Series[0].Points.AddY(System.Convert.ToDouble(str)); } } else { TemperatureDataType temp = new TemperatureDataType(); temp.TemperatureInteger = 0; temp.TemperatureDecimal = 0; String str = temp.TemperatureInteger + "." + temp.TemperatureDecimal; temperatureDatas.Add(temp); foreach (TemperatureDataType t in temperatureDatas) { this.chart2.Series[0].Points.AddY(System.Convert.ToDouble(str)); } } //this.timer1.Stop(); }
private void timer1_Tick(object sender, EventArgs e) { if (Form1.stop) { this.component.EmptyingQueue(); this.timer1.Stop(); return; } if (component.input_ports != null) { foreach (Input_port input_port in component.input_ports) { if (input_port.Port_queue1.Count > 0) //若input端口内部队列有数据 { Object data = input_port.Port_queue1.Dequeue(); if (data.GetType().Name != "TemperatureDataType") //若不是体温数据则不显示 { return; } temperature = (TemperatureDataType)data; } else { temperature = null; } } } Set_TemperatureMonitoringChart(); //设置体温监控图表 Add_TemperatureDatas(); //添加体温数据 Series series = TemperatureChart.Series[0]; //设置点在体温监控图表首次出现位置 TemperatureChart.ChartAreas[0].AxisX.ScaleView.Position = series.Points.Count - 20; }
private void timer1_Tick(object sender, EventArgs e) { if (Form1.stop) { this.component.EmptyingQueue(); this.timer1.Stop(); return; } if (component.input_ports == null) { return; } foreach (Input_port input_port in component.input_ports) { if (input_port.Port_queue1.Count > 0) //若input端口内部队列有数据 { Object data = (Object)input_port.Port_queue1.Dequeue(); switch (data.GetType().Name) { case "BloodPressureDataType": bloodPressure = (BloodPressureDataType)data; break; case "TemperatureDataType": temperature = (TemperatureDataType)data; break; case "HeartRateDataType": heartRate = (HeartRateDataType)data; break; } } else //若input端口内部队列无数据 { bloodPressure = null; temperature = null; heartRate = null; } } Set_BloodPressureMonitoringChart(); //设置血压监控图表 Add_BloodPressureDatas(); //添加血压数据 Series series1 = BloodPressureChart.Series[0]; //设置点在血压监控图表首次出现位置 BloodPressureChart.ChartAreas[0].AxisX.ScaleView.Position = series1.Points.Count - 145; Set_TemperatureMonitoringChart(); //设置体温监控图表 Add_TemperatureDatas(); //添加体温数据 Series series2 = TemperatureChart.Series[0]; //设置点在体温监控图表首次出现位置 TemperatureChart.ChartAreas[0].AxisX.ScaleView.Position = series2.Points.Count - 145; Set_HeartRateMonitoringChart(); //设置心率监控图表 Add_HeartRateDatas(); //添加心率数据 Series series3 = HeartRateChart.Series[0]; //设置点在心率监控图表首次出现位置 HeartRateChart.ChartAreas[0].AxisX.ScaleView.Position = series3.Points.Count - 145; }
/******************************************** * 函数名称:MonitorTemperatureData() * 功能:显示体温类型数据 * 参数:data 表示所要显示的数据 * 返回值:无 * ******************************************/ private void MonitorTemperatureData(Object data) { TemperatureDataType temp = (TemperatureDataType)data; if (this.richTextBox1.CanFocus) { this.richTextBox1.AppendText("[" + temp.TemperatureInteger + "." + temp.TemperatureDecimal + "] "); } }
private void timer1_Tick(object sender, EventArgs e) { if (Form1.stop) { //MessageBox.Show("显示组件终止!"); this.component.EmptyingQueue(); this.timer1.Stop(); return; } //if (Form1.pause) //{ // //MessageBox.Show("显示组件暂停!"); // //this.timer1.Stop(); // this.manualResetEvent = new ManualResetEvent(false); // manualResetEvent.WaitOne(); //} //若显示控制器组件input端口数组不为空 if (component.input_ports != null) { foreach (Input_port input_port in component.input_ports) { try { if (input_port.Port_queue1.Count > 0) //若input端口内部队列有数据 { switch (input_port.Port_name1) { case "BloodPressurePort": bloodPressure = (BloodPressureDataType)input_port.Port_queue1.Dequeue(); break; case "TemperaturePort": temperature = (TemperatureDataType)input_port.Port_queue1.Dequeue(); break; case "HeartRatePort": heartRate = (HeartRateDataType)input_port.Port_queue1.Dequeue(); break; default: Object temp = (Object)input_port.Port_queue1.Dequeue(); if (temp.GetType().Name == "BloodPressureDataType") { bloodPressure = (BloodPressureDataType)temp; } else if (temp.GetType().Name == "TemperatureDataType") { temperature = (TemperatureDataType)temp; } else if (temp.GetType().Name == "HeartRateDataType") { heartRate = (HeartRateDataType)temp; } break; } } else //若input端口内部队列无数据 { switch (input_port.Port_name1) { case "BloodPressurePort": bloodPressure = null; break; case "TemperaturePort": temperature = null; break; case "HeartRatePort": heartRate = null; break; default: bloodPressure = null; temperature = null; heartRate = null; break; } } } catch (Exception e1) { Console.WriteLine(e1.Message); } } // foreach (Input_port input_port in component.input_ports) } //if(component.input_ports != null) //Random rd = new Random(); //++++++++ Debug 显示组件内部生成血压数据++++++++// //high = rd.Next(110, 140); //low = rd.Next(50, 90); //bloodPressure = new int[] { high, low }; //+++++++++++++++++++++++++++++++++++++++++++++++// Set_BloodPressureMonitoringChart(); //设置血压监控图表 Add_BloodPressureDatas(); Series series = chart1.Series[0]; //设置点在血压监控图表首次出现位置 chart1.ChartAreas[0].AxisX.ScaleView.Position = series.Points.Count - 10; //++++++++ Debug 显示组件内部生成血压数据+++++++++++++++++++++++++++++++++++++++++// //temperature = Math.Round((rd.NextDouble() * (max_temp - min_temp) + min_temp), 1); //Console.WriteLine("temp=" + temperature); //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++// Set_TemperatureMonitoringChart(); //设置体温监控图表 Add_TemperatureDatas(); Series series2 = chart2.Series[0]; //设置点在体温监控图表首次出现位置 chart2.ChartAreas[0].AxisX.ScaleView.Position = series2.Points.Count - 10; //++++++++ Debug 显示组件内部生成心率数据++++++++// //Random rd = new Random(); //hartRate = rd.Next(min_rate, max_rate); //+++++++++++++++++++++++++++++++++++++++++++++++// Set_HeartRateMonitoringChart(); //设置心率监控图表 Add_HeartRateDatas(); Series series3 = chart3.Series[0]; //设置点在心率监控图表首次出现位置 chart3.ChartAreas[0].AxisX.ScaleView.Position = series3.Points.Count - 10; //-----------数据量统计-----------// //Set_DataStatisticsChart(); //Add_DataStatistics(); }