博圖SCL均值計算

来自金沙江的小鱼發表於2024-10-26

這一篇學習筆記在新浪部落格記錄過,這裡再記錄一次。

工作中有時候會需要做一些均值計算,比如計算某個測量值近一分鐘的均值,近一小時均值,近一天的均值。今天在家休息,試著做一下分鐘均值,按照每秒一個資料,比如現在時刻10:07:10,那麼計算從10:06:11到10:07:10這個時間段60個測量資料的算術平均值。由於沒有實際的PLC硬體和檢測儀表,是用模擬器和隨機數來做練習。

1. 新建一個專案average,使用1500PLC,型號隨便選一款。啟用時鐘儲存器位元組MB0,其它硬體屬性使用預設設定,不組態其他硬體。設定一下CPU的時區

2. 新建一個資料塊DB1,存放實時資料、平均值、系統日期時間、和等變數,取消“最佳化的塊訪問”設定。

3. 新建OB30迴圈中斷組織塊,在裡面寫程式

讀取系統時間,前面設定時區就是為了讀取的時間是北京時間

利用系統時鐘的毫秒數作為隨機數。在OB1寫下面的程式

%MW2是word資料型別,需要轉換成real型別,在OB1中執行

根據當前秒數,在OB30將數值放入相應的陣列成員中,這裡使用SCL程式設計,比梯形圖簡潔一點

完成後下載到PLC,這樣每秒讀取一個資料放入陣列,一共60個成員,對應最近60秒的數值,SCL程式設計記錄資料,計算和與均值。

相關文章