關於安碩

【服務項目】

 自動化設備控制系統及機構設計
 PC Based 控制系統設計
 PLC 及 HMI 程式設計
 多軸運動控制
 機器視覺檢測系統設計
 資料收集及遠端監控
 設備電控電路設計及控制盤體配線
 機械手臂整合應用
 舊有設備整理及改善
 客製化程式開發
 IPC / 軸控模組 / IO 模組 代理

系統整合外包服務 E-mail: ling.ryan@gmail.com 歡迎來信連絡

2020年10月12日 星期一

[筆記]使用 ZedGraph 產生即時趨勢圖

 



public partial class Form1 : Form
    {
        private PointPairList list = new PointPairList();
        public Form1()
        {
            InitializeComponent();

            GraphPane myPane = zedGraphControl1.GraphPane;
            myPane.AddCurve("曲线1", list, Color.Blue, SymbolType.None);
            //設定標題
            myPane.Title.Text = "即時趨勢圖";
            //設定X軸標題
            myPane.XAxis.Title.Text = "時間";
            //設定X軸標題
            myPane.YAxis.Title.Text = "電壓";

            timer1.Interval = 1000;
            timer1.Enabled = true;
            timer1.Start();
            myPane.YAxis.Scale.Min = -10;
            myPane.YAxis.Scale.Max = 10;
            myPane.XAxis.Scale.Format = "HH:mm:ss";  
            myPane.XAxis.Type = ZedGraph.AxisType.DateAsOrdinal;
            myPane.XAxis.Scale.Min = 0; 
            myPane.XAxis.Scale.Max = 100; 
            myPane.XAxis.MajorGrid.IsVisible = true;
            myPane.YAxis.MajorGrid.IsVisible = true;

            zedGraphControl1.IsShowPointValues = true;
            // Make sure the Graph gets redrawn
            zedGraphControl1.Invalidate();
        }
        Random Rnd = new Random();
        private void timer1_Tick(object sender, EventArgs e)
        {

            double Value = Rnd.NextDouble() * 18 - 9;
            double x = (double)new XDate(DateTime.Now);
            list.Add(x, Value);

            zedGraphControl1.AxisChange();

            zedGraphControl1.Invalidate();
            if (list.Count >= 100)
            {
                list.RemoveAt(0);
            }
        }
    }




沒有留言:

張貼留言