Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Poyasnitelnaya_zapiska_ukr_variant_polnostyu_go...doc
Скачиваний:
5
Добавлен:
08.09.2019
Размер:
1.85 Mб
Скачать

Int y0,y1,y2,y3,y4; //буфер для значения датчика

try

{

serialPort1.Write("r"); //команда получить данные

Thread.Sleep(1);

serialPort1.Read(Mes, 0, 11); //получить посылку с данными

//определяем координату У

y0 = (Mes[0] << 8);

y0 |= (Mes[1]);

y1 = (Mes[2] << 8);

y1 |= (Mes[3]);

y2 = (Mes[4] << 8);

y2 |= (Mes[5]);

y3 = (Mes[6] << 8);

y3 |= (Mes[7]);

y4 = (Mes[8] << 8);

y4 |= (Mes[9]);

//расчет силы

textBox1.Text = (0.05 * y0).ToString();

// добавим в список точку

list0.Add(y1, y0);

list1.Add(y2, y0);

list2.Add(y3, y0);

list3.Add(x, y0);

list4.Add(y4, y0);

// добавим в список точку

listControl0.Add(x, y0*(1/1.024));

listControl1.Add(x, y1*(1 / 1.024));

listControl2.Add(x, y2*(1 / 1.024));

listControl3.Add(x, y3*(1 / 1.024));

listControl4.Add(x, y4*(1 / 1.024));

//вывести значения

label10.Text = (y0 * (1 / 1.024)).ToString();

label11.Text = (y1 * (1 / 1.024)).ToString();

label12.Text = (y2 * (1 / 1.024)).ToString();

label13.Text = (y3 * (1 / 1.024)).ToString();

label14.Text = (y4 * (1 / 1.024)).ToString();

//сохранить данные в excel файле

global_CSVWriter.Write(list0[list0.Count - 1].X.ToString() + ";" + list0[list0.Count - 1].Y.ToString() + ";;"

+ list1[list1.Count - 1].X.ToString() + ";" + list1[list1.Count - 1].Y.ToString() + ";;"

+ list2[list2.Count - 1].X.ToString() + ";" + list2[list2.Count - 1].Y.ToString() + ";;"

+ list3[list3.Count - 1].X.ToString() + ";" + list3[list3.Count - 1].Y.ToString() + ";;"

+ list4[list4.Count - 1].X.ToString() + ";" + list4[list4.Count - 1].Y.ToString() + "\n");

global_CSVWriter.Flush();

//время

x++;

// Обновим график

zedGraph.AxisChange();

zedGraph.Invalidate();

zedGraph1.AxisChange();

zedGraph1.Invalidate();

zedGraph2.AxisChange();

zedGraph2.Invalidate();

zedGraph3.AxisChange();

zedGraph3.Invalidate();

zedGraph4.AxisChange();

zedGraph4.Invalidate();

//проверочные

zedGraphControl1.AxisChange();

zedGraphControl1.Invalidate();

zedGraphControl2.AxisChange();

zedGraphControl2.Invalidate();

zedGraphControl3.AxisChange();

zedGraphControl3.Invalidate();

zedGraphControl4.AxisChange();

zedGraphControl4.Invalidate();

zedGraphControl5.AxisChange();

zedGraphControl5.Invalidate();

}

catch (Exception ex)

{

timer1.Enabled = false;

//заблокировать кнопки

button1.Enabled = true;

button2.Enabled = false;

btnStart.Enabled = true;

serialPort1.Close();

global_CSVWriter.Close();

MessageBox.Show("Произошол сбой.Возможные причины: \n1)Устройство не отвечает на запросы;\n2)Файл стал недоступен для записи.", " Ошибка ", MessageBoxButtons.OK);

}

}

//остановить опрос

private void button2_Click(object sender, EventArgs e)

{

serialPort1.Write("c"); //прекратить измерения

//задаем настройки опроса

timer1.Enabled = false;

serialPort1.Close();

//отобразить время завершения измерений

data2 = DateTime.Now;

lblEnd.Text = DateTime.Now.ToString();

//продолжительность измерения

lblTime.Text = (data2 - data1).ToString();

global_CSVWriter.Write("\n");

//время конца

global_CSVWriter.Write("Date end: ;" + data2.ToString() + "\n");

//продолжительность

global_CSVWriter.Write("Time: ;" + lblTime.Text + "\n");

//количество записей

global_CSVWriter.Write("Count: ;" + list0.Count.ToString() + "\n");

global_CSVWriter.Close();

//заблокировать кнопки

button1.Enabled = true;

button2.Enabled = false;

btnStart.Enabled = true;

}

//Начало измерений

private void btnStart_Click(object sender, EventArgs e)

{

frmConfig frmCnf = new frmConfig();

frmCnf.ShowDialog();

}

private void btnSave_Click_1(object sender, EventArgs e)

{

//Отображение диалога для сохранения

saveFileDialog1.Filter = "CSV files (*.csv)|*.csv";

saveFileDialog1.ShowDialog();

//получить имя файла

txtNameT.Text = saveFileDialog1.FileName;

button3.Enabled = true;

}

private void tabPage2_Click(object sender, EventArgs e)

{

}

private void button3_Click(object sender, EventArgs e)

{

//открыть файл для записи (Excel)

StreamWriter CSVWriter;

//получить имя файла

CSVWriter = new StreamWriter(txtNameT.Text);

//записать шапку

//записать информацию о измерениях

//время начала

CSVWriter.Write("Date start: ;" + data1.ToString() + "\n");

//время конца

CSVWriter.Write("Date end: ;" + DateTime.Now.ToString() + "\n");

//продолжительность

CSVWriter.Write("Time: ;" + (DateTime.Now - data1).ToString() + "\n");

//количество записей

CSVWriter.Write("Count: ;" + listControl0.Count.ToString() + "\n");

//цена деления

CSVWriter.Write("Frequency (ms): ;" + txtFren.Text + "\n");

//название графика

CSVWriter.Write("Name graph: ;" + zedGraphControl1.GraphPane.Title.Text +";;;"

+ zedGraphControl2.GraphPane.Title.Text + ";;;"

+ zedGraphControl3.GraphPane.Title.Text + ";;;"

+ zedGraphControl4.GraphPane.Title.Text + ";;;"

+ zedGraphControl5.GraphPane.Title.Text + "\n");

//Записываем заголовки осей Х и У

string _xAxisHeader0 = CheckCSVString(zedGraphControl1.GraphPane.XAxis.Title.Text);

string _yAxisHeader0 = CheckCSVString(zedGraphControl1.GraphPane.YAxis.Title.Text);

string _xAxisHeader1 = CheckCSVString(zedGraphControl2.GraphPane.XAxis.Title.Text);

string _yAxisHeader1 = CheckCSVString(zedGraphControl2.GraphPane.YAxis.Title.Text);

string _xAxisHeader2 = CheckCSVString(zedGraphControl3.GraphPane.XAxis.Title.Text);

string _yAxisHeader2 = CheckCSVString(zedGraphControl3.GraphPane.YAxis.Title.Text);

string _xAxisHeader3 = CheckCSVString(zedGraphControl4.GraphPane.XAxis.Title.Text);

string _yAxisHeader3 = CheckCSVString(zedGraphControl4.GraphPane.YAxis.Title.Text);

string _xAxisHeader4 = CheckCSVString(zedGraphControl5.GraphPane.XAxis.Title.Text);

string _yAxisHeader4 = CheckCSVString(zedGraphControl5.GraphPane.YAxis.Title.Text);

CSVWriter.Write( _xAxisHeader0 + ";" + _yAxisHeader0 + ";;"

+ _xAxisHeader1 + ";" + _yAxisHeader1 + ";;"

+ _xAxisHeader2 + ";" + _yAxisHeader2 + ";;"

+ _xAxisHeader3 + ";" + _yAxisHeader3 + ";;"

+ _xAxisHeader4 + ";" + _yAxisHeader4 + "\n");

//сохранить данные

//записываем точки из списка

for (int i = 0; i < listControl0.Count; i++)

{

CSVWriter.Write(listControl0[i].X.ToString() + ";" + listControl0[i].Y.ToString() + ";;"

+ listControl1[i].X.ToString() + ";" + listControl1[i].Y.ToString() + ";;"

+ listControl2[i].X.ToString() + ";" + listControl2[i].Y.ToString() + ";;"

+ listControl3[i].X.ToString() + ";" + listControl3[i].Y.ToString() + ";;"

+ listControl4[i].X.ToString() + ";" + listControl4[i].Y.ToString() + "\n");

}

CSVWriter.Close();

}

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]