最近在統計設備運轉的時間,計時器意外的好用,可以知道每個動作需要花多少時間完成,其中有異常的部份可以抓出發生的頻率以及發生的固定模式。
統計運轉效率也是客戶的需求之一,提昇設備整體速度首要作的是尋找瓶頸工程,在該處動刀才能改善設備速度,降低運轉時間。
這邊自行作一個簡單的範例使用C#提供的Stopwatch,可以紀錄經過時間到毫秒。簡單界面如下圖:
與一般使用Timer的計時器不同,Stopwatch是使用系統時間作紀錄,Timer會佔用運算時間導致不準確的情況。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | public partial class Form1 : Form { System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch(); public Form1() { InitializeComponent(); } private void btn_Startsw_Click(object sender, EventArgs e) { sw.Start(); } private void btn_Stopsw_Click(object sender, EventArgs e) { sw.Stop(); label1.Text = sw.Elapsed.TotalSeconds.ToString("0.000") + "(s)."; } private void btn_Resetsw_Click(object sender, EventArgs e) { sw.Reset(); label1.Text = "0" + "(s)."; } } |
使用Stopwatch統計資料得心應手,簡單方便不受Thread的限制免去處理跨執行序的問題。
沒有留言:
張貼留言