1.4 通過PLC 數據類型創建DB
PLC數據類型是一個用戶自定義的數據類型模板,可以由不同的數據類型組成,提供一個固定格式的數據結構,便于用戶使用。PLC數據類型的變量在程序中作為一個整體變量使用。
- 創建PLC 數據類型
在“PLC 數據類型”文件夾中,單擊“添加新數據類型”后,會創建和打開一個PLC 數據類型的聲明表。選擇該PLC 數據類型,并在快捷菜單中選擇“重命名”命令,就可以給這個PLC數據類型重新命名。然后在聲明表中聲明變量及數據類型,完成PLC 數據類型的創建。比如創建一個名稱為“PLC_DT_1”的PLC數據類型,在這個數據類型中包含3個變量,如圖7所示。
圖7
- 創建固定數據結構的 DB 塊
單擊“添加新塊”命令,選擇數據塊,并在類型的下拉列表中選擇所創建的PLC 數據類型“PLC_DT_1”,如圖8所示。
圖8
然后點擊“確定”,生成與“PLC_DT_1”相同數據結構的DB塊。
通過PLC 數據類型創建DB與通過系統數據類型創建DB的目的相同,一個是用戶自定義的數據類型,一個系統給出的特定的數據類型,但是用戶自定義的數據類型在全局DB塊中的變量類型向導中是可見的。
1.5 數組DB
數組DB是一種特殊類型的全局數據塊,它包含一個任意數據類型的數組。例如可以是基本數據類型,也可以是PLC數據類型(UDT)的數組,但這種數據塊不能包含除數組之外的其它元素。創建數組DB時需要輸入數組的數據類型和數組的上限。創建完數組DB后,可以在其屬性中隨時更改數組的上限,但是無法更改數據類型。數組DB始終啟用“優化塊訪問”(Optimized block access)屬性,不能進行標準訪問,并且為非保持性屬性,不能修改為保持性屬性。數組DB的聲明如圖9所示。
圖9
數組DB塊的名稱與塊中變量(只能有一個數組變量)的名稱是相同的,如圖10所示。
圖10
數組DB塊中變量元素的訪問需要使用“THIS[x]”替代變量的名稱,例如圖10中變量的第一個元素為DDD.THIS[0],如圖11所示。
圖11
可以使用函數“ReadFromArrayDB”和“WriteTOArrayDB”等對數組DB進行類似間接尋址的訪問,比如將數組DB中的變量值復制到“變量1”中,可以參考圖12中的程序。
圖12
在DB13(數據塊_7)中共有3個數組元素,由“Tag_58”的值決定將哪個元素的值復制給“數據塊_10”中的“變量1”。示例中“Tag_58”的值為1,所以是將“數據塊_7[1]”的值賦值給“變量1”。
1.6 什么類型的DB可以與VARIANT轉換
S7-1500中使用VARIANT數據類型變量作為程序塊中參數的傳遞,指令DB_ANY_TO_VARIANT或者VARIANT_TO_DB_ANY用于參數DB_ANY和VARIANT轉換,DB_ANY的使用是有要求的,必須是格式固定的,使用要求參考下表(DB_ANY_TO_VARIANT的在線幫助)中的加粗標記。
輸入變量 | 轉換結果... | 轉換選項 |
---|---|---|
DB_ANY | 作為 PLC 數據類型或系統數據類型 (SDT) 的實例化數據塊的數據塊。 | 可以轉換 |
DB_ANY | ...作為 ARRAY 數據塊的數據塊。 | 可以轉換 |
DB_ANY | ...作為函數塊或全局數據塊中的實例化數據塊 | 不可轉換 |
所以說通常情況下,通過系統數據類型、用戶數據類型創建的數據塊、數組DB與全局DB訪問和使用的方式是相同的,而在特殊的情快下,這些數據塊類型是不可替代的。
-
cpu
+關注
關注
68文章
10854瀏覽量
211585 -
數據
+關注
關注
8文章
7002瀏覽量
88943 -
S7-1500
+關注
關注
3文章
300瀏覽量
6392
發布評論請先 登錄
相關推薦
評論