123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
- using ZedGraph;
- namespace MOTINOVA_MC_Test
- {
-
- public partial class Form2 : Form
- {
- //力矩曲线
- private PointPairList list_TorqueData = new PointPairList();
- private LineItem myCurve_TorqueData;
-
- //传感器1曲线
- private PointPairList list_Sensor1 = new PointPairList();
- private LineItem myCurve_Sensor1;
- //传感器2曲线
- private PointPairList list_Sensor2 = new PointPairList();
- private LineItem myCurve_Sensor2;
- //传感器3曲线
- private PointPairList list_Sensor3 = new PointPairList();
- private LineItem myCurve_Sensor3;
- //电流曲线
- private PointPairList list_CurrentData = new PointPairList();
- private LineItem myCurve_CurrentData;
- //马达转速曲线
- private PointPairList list_MotorSpeedData = new PointPairList();
- private LineItem myCurve_MotorSpeedData;
- public Form2()
- {
- InitializeComponent();
- this.ControlBox = false;
- }
- private void Form2_Load(object sender, EventArgs e)
- {
- ZedGraphControl1Init();
- }
- #region ZedGraphControlInit()
- private void ZedGraphControl1Init()
- {
- this.zedGraphControl1.IsShowPointValues = true;
- this.zedGraphControl1.GraphPane.Title.Text = "曲线采集";
- this.zedGraphControl1.GraphPane.XAxis.Title.Text = "时间";
- this.zedGraphControl1.GraphPane.YAxis.Title.Text = "数值";
- this.zedGraphControl1.GraphPane.XAxis.Type = ZedGraph.AxisType.Ordinal;
- this.zedGraphControl1.IsEnableHZoom = true;
- this.zedGraphControl1.IsEnableVZoom = false;
- this.zedGraphControl1.IsZoomOnMouseCenter = true;
- this.zedGraphControl1.ZoomStepFraction = 0.1;
- this.zedGraphControl1.GraphPane.Chart.Fill.Color = Color.Black;//图表颜色
- this.zedGraphControl1.GraphPane.Fill.Color = Color.Gray;//背景
- this.zedGraphControl1.GraphPane.Chart.Fill.Type = FillType.Solid;
- this.zedGraphControl1.GraphPane.XAxis.MajorGrid.IsVisible = true;
- this.zedGraphControl1.GraphPane.YAxis.MajorGrid.IsVisible = true;
- this.zedGraphControl1.GraphPane.XAxis.MinorGrid.IsVisible = false;
- this.zedGraphControl1.GraphPane.YAxis.MinorGrid.IsVisible = false;
- this.zedGraphControl1.GraphPane.XAxis.MajorGrid.DashOff = 1f;
- this.zedGraphControl1.GraphPane.YAxis.MajorGrid.DashOff = 1f;
- this.zedGraphControl1.GraphPane.XAxis.MajorGrid.Color = Color.Gray;
- this.zedGraphControl1.GraphPane.YAxis.MajorGrid.Color = Color.Gray;
- this.zedGraphControl1.GraphPane.YAxis.Scale.Min = -5;
- this.zedGraphControl1.GraphPane.YAxis.Scale.Max = 200;
- this.zedGraphControl1.GraphPane.YAxis.Scale.MinorStep = 1;
- this.zedGraphControl1.GraphPane.YAxis.Scale.MajorStep = 5;
- this.zedGraphControl1.GraphPane.XAxis.Scale.MinorStep = 10;
- this.zedGraphControl1.GraphPane.XAxis.Scale.MajorStep = 50;
- for (int i = 0; i < 500; i++)
- {
- double x = (double)new XDate(DateTime.Now.AddSeconds(-(500 - i)));
- double y = 0;//ran.NextDouble();
- list_TorqueData.Add(x, y);
- list_Sensor1.Add(x, y);
- list_Sensor2.Add(x, y);
- list_Sensor3.Add(x, y);
- list_CurrentData.Add(x, y);
- list_MotorSpeedData.Add(x, y);
- }
- myCurve_TorqueData = zedGraphControl1.GraphPane.AddCurve("(黄色)TqSensor * 1N.m", list_TorqueData, Color.Yellow, SymbolType.None);
- myCurve_Sensor1 = zedGraphControl1.GraphPane.AddCurve("(粉色)Sensor1 * 1N.m", list_Sensor1, Color.Pink, SymbolType.None);
- myCurve_Sensor2 = zedGraphControl1.GraphPane.AddCurve("(紫色)Sensor2 * 1N.m", list_Sensor2, Color.Purple, SymbolType.None);
- myCurve_Sensor3 = zedGraphControl1.GraphPane.AddCurve("(青色)Sensor3 * 1N.m", list_Sensor3, Color.Cyan, SymbolType.None);
- myCurve_CurrentData = zedGraphControl1.GraphPane.AddCurve("(红色)BusCurrent * 0.1A", list_CurrentData, Color.Red, SymbolType.None);
- myCurve_MotorSpeedData = zedGraphControl1.GraphPane.AddCurve("(绿色)MotorSpeed * 10rpm", list_MotorSpeedData, Color.Green, SymbolType.None);
- this.zedGraphControl1.AxisChange();
- this.zedGraphControl1.Refresh();
- }
- #endregion
- private void timer1_Tick(object sender, EventArgs e)
- {
- DataRefresh();
- WaveRefresh();
- }
-
- private void DataRefresh()
- {
- textBox_Torque.Text = Class_TorqueData.String;
- textBox_Sensor1.Text = Class_Sensor1Data.String;
- textBox_Sensor2.Text = Class_Sensor2Data.String;
- textBox_Sensor3.Text = Class_Sensor3Data.String;
- textBox_Current.Text = Class_CurrentData.String;
- textBox_MotorSpeed.Text = Class_MotorSpeed.String;
- }
- private void WaveRefresh()
- {
- if (checkBox_ReadWave.Checked == true)
- {
- double x = (double)new XDate(DateTime.Now);
- /***********力矩曲线**********/
- list_TorqueData.Add(x, (double)Class_TorqueData.Data);
- if (list_TorqueData.Count >= 500)
- {
- list_TorqueData.RemoveAt(0);
- }
- /***********传感器1曲线**********/
- list_Sensor1.Add(x, (double)Class_Sensor1Data.Data);
- if (list_Sensor1.Count >= 500)
- {
- list_Sensor1.RemoveAt(0);
- }
- /***********传感器2曲线**********/
- list_Sensor2.Add(x, (double)Class_Sensor2Data.Data);
- if (list_Sensor2.Count >= 500)
- {
- list_Sensor2.RemoveAt(0);
- }
- /***********传感器3曲线**********/
- list_Sensor3.Add(x, (double)Class_Sensor3Data.Data);
- if (list_Sensor3.Count >= 500)
- {
- list_Sensor3.RemoveAt(0);
- }
- /***********电流曲线**********/
- list_CurrentData.Add(x, (double)Class_CurrentData.Data / 100);
- if (list_CurrentData.Count >= 500)
- {
- list_CurrentData.RemoveAt(0);
- }
- /***********马达转速曲线**********/
- list_MotorSpeedData.Add(x, (double)Class_MotorSpeed.Data / 10);
- if (list_MotorSpeedData.Count >= 500)
- {
- list_MotorSpeedData.RemoveAt(0);
- }
- }
- zedGraphControl1.AxisChange();
- zedGraphControl1.Refresh();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- Bitmap bit = new Bitmap(this.Width, this.Height);//实例化一个和窗体一样大的bitmap
- Graphics g = Graphics.FromImage(bit);
- g.CopyFromScreen(this.Left, this.Top, 0, 0, new Size(this.Width, this.Height));//保存整个窗体为图片
- SaveFileDialog sf = new SaveFileDialog();
- sf.Title = "保存曲线";
- if ((Class_Motor_Ver.Mode == "---") || (Class_Motor_Ver.SN == "---"))
- {
- MessageBox.Show("请查询版本信息!", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- sf.FileName = Class_Motor_Ver.Mode + "_" + Class_Motor_Ver.SN + "_";
- sf.FileName += DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss").Replace("/", "-").Replace(":", string.Empty).Replace(" ", "_") + "_曲线采集" + ".png";
- sf.Filter="图片|*.png";
- if (sf.ShowDialog() == DialogResult.OK)
- {
- bit.Save(sf.FileName);//默认保存格式为PNG,保存成jpg格式质量不是很好
- }
- }
- private void timer2_Tick(object sender, EventArgs e)
- {
- label5.Text = DateTime.Now.ToString();
- }
- private void textBox1_TextChanged(object sender, EventArgs e)
- {
- ushort Period;
-
- Period = Convert.ToUInt16(textBox_ReadDataPeriod.Text);
- if (Period < 20)
- {
- Period = 20;
- }
- timer1.Interval = Period;
- }
- #region 曲线显示设置
- private void checkBox_TorqueLine_CheckedChanged(object sender, EventArgs e)
- {
- if (checkBox_TorqueLine.Checked == true)
- {
- myCurve_TorqueData.IsVisible = true;
- }
- else
- {
- myCurve_TorqueData.IsVisible = false;
- }
- }
- private void checkBox_CurrentLine_CheckedChanged(object sender, EventArgs e)
- {
- if (checkBox_CurrentLine.Checked == true)
- {
- myCurve_CurrentData.IsVisible = true;
- }
- else
- {
- myCurve_CurrentData.IsVisible = false;
- }
- }
- private void checkBox_MotorSpeedLine_CheckedChanged(object sender, EventArgs e)
- {
- if (checkBox_MotorSpeedLine.Checked == true)
- {
- myCurve_MotorSpeedData.IsVisible = true;
- }
- else
- {
- myCurve_MotorSpeedData.IsVisible = false;
- }
- }
- private void checkBox_Sensor1_CheckedChanged(object sender, EventArgs e)
- {
- if (checkBox_Sensor1.Checked == true)
- {
- myCurve_Sensor1.IsVisible = true;
- }
- else
- {
- myCurve_Sensor1.IsVisible = false;
- }
- }
- private void checkBox_Sensor2_CheckedChanged(object sender, EventArgs e)
- {
- if (checkBox_Sensor2.Checked == true)
- {
- myCurve_Sensor2.IsVisible = true;
- }
- else
- {
- myCurve_Sensor2.IsVisible = false;
- }
- }
- private void checkBox_Sensor3_CheckedChanged(object sender, EventArgs e)
- {
- if (checkBox_Sensor3.Checked == true)
- {
- myCurve_Sensor3.IsVisible = true;
- }
- else
- {
- myCurve_Sensor3.IsVisible = false;
- }
- }
- #endregion
- }
- }
|