最近在做一個“基於C#語言的電爐溫控制軟件設計”的設計,我在大學並不是專業學習C#語言編程的,對C#的學習研究完全是處於興趣,所以編程技術也不是很厲害,遇到問題多參照網絡上的開源碼。


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//添加引用集
using Arction.WinForms.Charting;
using Arction.WinForms.Charting.SeriesXY;
namespace WindowsFormsApplication5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//畫線方法
private void PaintLine()
{
DataBaseOpe ope = new DataBaseOpe();
//禁用屬性改變引起的重畫,以便更快的渲染
lightningChartUltimate1.BeginUpdate();
//lightningChartUltimate1.Dock = DockStyle.Fill;
//添加點線系列
PointLineSeries pls = new PointLineSeries(lightningChartUltimate1.ViewXY,
lightningChartUltimate1.ViewXY.XAxes[0],
lightningChartUltimate1.ViewXY.YAxes[0]);
//顯示點
pls.PointsVisible = false;
SeriesPoint[] aPoints = new SeriesPoint[1000];
for (int iPoint = 0; iPoint < ope.GetXmax() + 1; iPoint++)
{
aPoints[iPoint].X = (double)iPoint;
aPoints[iPoint].Y = ope.GetYvalue(iPoint);
}
//為點線系列分配數據
pls.Points = aPoints;
//將點線系列添加進列表
lightningChartUltimate1.ViewXY.PointLineSeries.Add(pls);
//允許Chart繪圖
lightningChartUltimate1.EndUpdate();
}
private void buttonGO_Click(object sender, EventArgs e)
{
DataBaseOpe ope = new DataBaseOpe();
PIDdeal pid = new PIDdeal();
//LightningChart初始化
lightningChartUltimate1.ViewXY.PointLineSeries.Clear();
//數據庫初始化:清空數據庫
ope.ClearDataBase();
//PID變量初始化
pid.PIDinit();
pid.SetValue = double.Parse(textBoxSetValue.Text);
double p = double.Parse(textBoxKp.Text);
double i = double.Parse(textBoxKi.Text);
double d = double.Parse(textBoxKd.Text);
for(int j = 0;j < 1000;j++)
{
ope.AddData(j, pid.PIDcontrol(pid.SetValue, p, i, d));
}
PaintLine();
}
}
}
https://download.csdn.net/download/zpkld123/10309584
