前言:在很多項目中,需要累計設備的運行、停機、故障時間,當然實現該功能的編程方法也是多種多樣,各有千秋,不過有的方法累計誤差會越來越大,比如:在連續任務里用定時器來累計時間,就存在一定的誤差。本文分享一種編程簡單、基本無累計誤差的方法,僅供參考。
方法步驟
1. 在編程界面,新建一個任務.

2. 在彈出的配置窗口,Type選擇Periodic(周期任務),Period:1000ms,這樣一個周期為1s的周期任務就建成了.

3. 然后,新建程序,編寫一段累計時間的程序。本文:電機停機、運行累計時間,條件滿足開始累計,先是按秒累計,再除以3600換算成小時。關於數據的大小說明:一個DINT數據類型最大能計時為2147483647秒,換算成年:2147483647/3600/24/365=68年,一個項目的工程周期按50年來計算,存儲的數據足夠了,不用擔心溢出問題.

4. 下載程序,CPU運行狀態,模擬電機停機、運行,這樣就可以進行時間累計了.

5. 查看掃描周期,最大為35us,最小為5us,平均值在20us,即為0.00002s,基本無誤差.

結束語:PLC編程不一定非要高級指令,有時候簡單指令就能實現復雜功能。另外,本文例子可以在仿真器里實現,它真的很強大,基本上可以模擬任何指令,要充分利用起來。
--abseMe:堅持原創 注重實用
