「IEC 61131-3」變數

變數有直接變數和符號變數兩種。直接變數類似傳統可程式設計控制器的運算元,它對應某一可定址的儲存單元。符號變數用符號表示變數,其儲存地址由編譯器在編譯時指定。

直接變數

直接變數用百分數符號“%”開始,隨後是位置字首符號和大小字首符號。如果有分級,則用無符號整數表示分級,並用小數點符號“。”分隔。如:%IX0。0

「IEC 61131-3」變數

直接變量表示例子:

%IX1。3或者%I1。3 (*表示輸入單元1的第3位*) %IW4 (*表示輸入字4*) %MD48 (*表示雙字,位於儲存器48*) %Q* (*表示輸出在一個未特定的單元*)

符號變數

符號變數是指用識別符號表示的變數,變數的儲存地址可以不需要在定義時指定,而是在編譯時由編譯器分配。可以用AT關鍵字給符號變數指定儲存地址,如:

bBool AT %IX1 (*bBool儲存在輸入位1*) bBool2 AT %QX1 (*bBoo2儲存在輸出位1*) bBool3 AT %I* (*bBoo3儲存在輸出位置*) bBool4 AT %M* (*bBoo4儲存在某個暫存器*)

變數屬性

變數的屬性值可以賦予變數相關的功能。

「IEC 61131-3」變數

除了以上的屬性,IEC 61131-3標準還為變數提供了以下附加屬性。

「IEC 61131-3」變數

變數宣告

變數宣告用於建立與資料型別的關係,即告訴編譯器變數屬於什麼資料型別。可以在變數宣告時指定變數初始值,如果不作指定,則變數被初始化為資料型別的預設值。變數宣告的格式 如下:

<直接變數/符號變數> : <資料型別> ; <直接變數/符號變數> : <資料型別> := <初始值>;

變數賦值

使用賦值符號“:=”對變數賦值,如:

bBool := TRUE;

變數定義時,可賦值初值,如:

bBool : BOOL := TRUE; str : STRING(30) := ‘HWQ’; intArray : ARRAY [1。。5] OF INT := [1,2,3,4,5];

變數的初始化

變數在系統啟動時進行初始化,初始化時變數的值根據以下的準則確定:

變數具有的被保持的值。

使用者在宣告變數時規定的初始值。

變數所屬資料型別提供的預設初始值。

電源掉電後再啟動,稱為系統熱啟動。此時,變數的值應根據是否由附加屬性RETAIN來確定。如果變數具有屬性RETAIN,則變數恢復掉電前的值。反之,變數初始值由使用者規定的初始值或者該變數對應資料型別的預設初始值確定,稱之為系統的冷啟動。

對IEC61131-3變數的介紹到這裡結束,有什麼疑問大家可以在評論區留言