EzASD-變數符號

變數符號

6.1 認識變數符號

在傳統的PLC程式開發過程中,往往需要花費很多的時間在管理裝置位址,而在面對大型的專案時, 不論在管理或除錯上都會是很大的負擔。有鑑於此,在IEC 61131-3中便導入了一般高階語言中的變數觀念,除了可自行定義變數符號名稱來取代 PLC 的裝置編號之外,更可利用自動配置位址的功能 來節省配置裝置的時間,同時也提高了程式的可讀性及開發效率。

*. .變數在EzASD中被稱之為符號(Symbol),因此在手冊之中,變數與符號代表的將會是相同的意義。

6.2 變數符號的作用範圍

變數符號在使用前必須經過宣告的程序(如下圖),且依據宣告位置的不同又可分為全域符號與區域 符號;全域符號可讓專案中的所有POU共用,而區域符號則只能在宣告該符號的POU當中使用。此 外,在不同 POU 當中的區域符號名稱是可以重複的,但若宣告的區域符號與某個全域符號的名稱重複時,則在宣告該區域符號的POU當中,系統會自動將此名稱的變數符號視為區域符號。

image

6.3 全域變數符號

雙擊專案樹的[全域符號],會打開底下全域符號表。

image

點擊符號表的欄位標題,可針對該欄位排序,而 [計算引用次數] 則會計算專案內該符號被引用的次數。

6.3.1 內建符號與註解表

新增專案時,會在全域符號表中,根據機種新增系統變數符號。

註解表裡,也會在該位址中,標示該符號當作註解。

如下圖,點擊[註解表]的內建系統變數符號註解,會在輸出面板中顯示該符號的意義。

image

6.4 變數符號類型

EzASD使用的變數符號類型,依功能分成VAR、VAR_IN、VAR_OUT、VAR_INOUT。

6.4.1 VAR(一般變數符號)

當變數符號被宣告成此類別時,代表該變數符號僅供一般的運算之用,而其所代表的意義則必須視宣告時,該變數符號被指定的資料型態或是對應的裝置名稱。

6.4.2 VAR_INPUT

此類型的變數符號主要用做API/[物件函式]的輸入端點,且只有在API/[物件函式]內部才可宣告;當API/[物件函式]接受呼叫時,便可利用此類型的變數符號來接收呼叫方的輸入值。此外,此類型的 變數符號會被排列在圖示的左側,並會配置一端點用以接受呼叫方的輸入值,如下圖。

image

6.4.3 VAR_OUTPUT

此類型的變數符號主要用做API的輸出端點,且只有在AP內部才可宣告;當API執行完畢之後,其運算的結果便可經由此類型的變數符號來回傳給呼叫方。此外,此類型的變數符號會被排列在功能塊圖示的右側,並會配置一端點用以輸出結果,如下圖。

image

6.4.4 VAR_IN_OUT

此類型的變數符號主要用做API的反饋型端點,且只有在API中才可宣告,其功能請參考下例。 當API被呼叫時,呼叫方會先將 Arr 的狀態值輸入 VAR_IN_OUT 的變數符號,而運算結束後,便會再將自己最後的狀態值反饋輸出回Arr。此外,此類型的變數符號會被排列在功能塊圖示的左右側,且兩邊端點會以黑色的粗線連結。

image

6.5 匯入/匯出

可以針對選取的變數符號匯出成csv檔,亦可匯入。

image

發表迴響