PLC Structured Text Object Oriented Programming PLC結構化文本(ST)——變數類型和變數屬性 變數類型 變數類型關鍵字 說明 外部讀寫 內部讀寫 VAR 內部變數,程式組織單元內部的變數 不允許 讀/寫 VAR_INPUT 輸入變數,由外部提供,在程 ...
PLC Structured Text Object Oriented Programming
PLC結構化文本(ST)——變數類型和變數屬性
變數類型
變數類型關鍵字 | 說明 | 外部讀寫 | 內部讀寫 |
---|---|---|---|
VAR | 內部變數,程式組織單元內部的變數 | 不允許 | 讀/寫 |
VAR_INPUT | 輸入變數,由外部提供,在程式組織單元內部不能修改 | 讀/寫 | 讀 |
VAR_OUTPUT | 輸出變數,由程式組織單元提供給外部實體使用 | 寫 | 讀/寫 |
VAR_IN_OUT | 輸入-輸出變數,由外部實體提供,能在程式組織單元內部修改 | 讀/寫 | 讀/寫 |
VAR_EXTERNAL | 外部變數,能在程式組織單元內部修改,由全局變數組態VAR_GLOBAL提供 | 讀/寫 | 讀/寫 |
VAR_GLOBAL | 全局變數,能在對應的配置、資源內使用 | 讀/寫 | 讀/寫 |
VAR_ACCESS | 存取變數,用於與外部設備的不同程式見變數的傳遞 | 讀/寫 | 讀/寫 |
VAR_TEMP | 暫存變數,在程式或功能塊中暫時存儲的變數 | 讀/寫 | 讀/寫 |
VAR_CONFIG | 配置變數,實例規定的初始化和地址分配 | 不允許 | 讀 |
Tips : VAR_IN_OUT聲明的變數,線上監控可以看出它的實際類型,本質上是引用類型(REFERENCE TO)。
變數屬性
變數屬性關鍵字 | 說明 |
---|---|
RETAIN | 保持型變數,用於掉電保持。熱複位後值還保存,冷複位就被清除。 |
PERSISTENT | 持久型變數,熱複位後被清空 |
VAR PETAIN PERSISTENT | 與下麵一樣 |
VAR PERSISTENT PETAIN | 兩者功能一樣,皆為保持型變數,用於掉電保持 |
CONSTANT | 常量 |
Tips : 熱複位相當於重啟PLC,軟複位相當於重新下載程式。
TwinCAT2中Retain與Persistent區別
- 在TwinCAT停止時,
Retain
變數保存到一個二進位文件中(TwinCAT\Boot\TCPLC_R_x.wbp,x=1..4 runtime number)
- 優點:啟動時間短,可以迅速把數據恢復到記憶體中。
- 缺點:如果這個文件被破壞,TwinCAT也不會啟動。
- 建議:由於這個缺點的存在,所以不建議大家使用RETAIN類型變數。
- 在TwinCAT停止時,
Persistent
變數保存到一個二進位文件中(TwinCAT\Boot\TCPLC_T_x.wbp,x=1..4 runtime number)
.變數的名字、路徑、數據長度、數值都會保存到一個二進位文件中。- 優點:如果啟動時文件被破壞了,變數就會變為初始值。程式還是可以啟動的。
- 缺點:數據恢復到記憶體的時間比較長,如果使用FB來保存數據的話會需要更多的時間。
Persistent
保存的二進位文件尺寸比Retain
大。
Tips : 如果某個Persistent變數只是FB中的一個數據,那麼整個FB的數據都會進行保存。以上內容均出自---倍福虛擬學院
總結
瞭解每種類型的特點,一定要合理使用。