PLC結構化文字(ST)——變數型別和變數屬性

J_Sheng發表於2024-09-06

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的資料都會進行儲存。以上內容均出自---倍福虛擬學院

總結

瞭解每種型別的特點,一定要合理使用。

相關文章