西門子S7-300編程如何實現流量累計功能?
閱讀:2151 發布時間:2019-6-20
描述:
例如,使用測量線性速度的計量單位或者測量體積的計量單位。您可以用距離或體積作為物理量,用毫秒、秒、分鐘、小時、或天作為測量時間的單位。
用于STEP7 V5.x的功能塊"Totalizer"
下表列出了功能塊 "Totalizer" 的參數格式.
參數格式 | 數據類型 | 描述 |
---|---|---|
Input: Value | Real | 在一個時間間隔內的測量值 |
Input: Interval | Time | 測量的時間間隔 |
Input: Cycle | Time | 掃描時間 |
Input: Reset | Bool | 復位“TOTAL”輸出 |
Output: Total | Real | 累計總輸出 |
圖. 1 所示在OB35 (循環中斷)調用FB "Totalizer" .
在一個周期的單位:
- 參數 "Interval" 和 "Cycle" Time數據類型被轉換為Real.
- 轉換后的數據被傳送到臨時變量"tempInterval" 和 "tempCycle".
- 輸入參數值 "Value" 與臨時變量值"tempCycle"相乘,然后除以臨時變量值 "tempInterval" .
- 計算結果存儲在靜態變量 "Accum".
這樣,在一個特定的周期內,將緩沖區“ACCUM”中的中間結果累加上該數值,同時在同一周期內將累加結果傳送到變量“TOTAL”中.如果參數 "Reset" 值為"True",輸出參數 "Total" 復位為0.
例如
在圖.02 例子中參數值 "Value" 為 60.0 并且 時間參數 "Interval" 為1分鐘.
- 在一分鐘內,參數 "Total" 在間隔時間內從值 1 累加到 60.
- 循環時間100 毫秒代表 FB "Totalizer" 的掃描間隔 .
- 當 FB 在OB35(循環中斷),程序按照 100ms的時間間隔執行,不受OB1 (主程序)控制.
測量值“VALUE”相關的物理單位可以為,例如,米/秒、立方米/分鐘或者公里/小時。必須在輸入變量 "Interval" 中輸入物理單位的間隔時間。例如:
- 米/秒: T#1s
- 立方米/分鐘: T#1M
- 公里/小時: T#1h