產品簡介
由于ARRAY DB類型為“優化塊訪問"屬性,且不能更改,所以 ARRAY DB不支持標準訪問。
本地數據區(L)
![]() |
上海燁哲自動化科技有限公司 |
—— 銷售熱線 ——
18201799071 |
ARRAY DB是一種特殊類型的全局DB,僅包含一個ARRAY數組類型。ARRAY的元素可以是PLC數據類型或其它任何數據類型。這種DB不能包含除ARRAY 之外的其它元素。可以使用“ReadFromArrayDB”指令從ARRAY DB中讀取數據并寫入目標區域中。
由于ARRAY DB類型為“優化塊訪問”屬性,且不能更改,所以 ARRAY DB不支持標準訪問。
本地數據區(L)
本地數據區位于CPU的系統數據區,地址標識符為“L”。本地數據區用于存儲FC(函數)、FB(函數塊)的臨時變量、以及OB(“標準”訪問的組織塊)中的開始信息、參數傳送信息及梯形圖編程的內部邏輯結果(*標準程序塊)等。在程序中訪問本地數據區的表示方法與訪問輸入輸出映像區的表示方法類似。
Slice訪問可以方便快捷地訪問數據類型為Byte、Word、Dword和Lword變量中的Bit、Byte、Word以及DWord, Slice訪問的優勢是訪問簡單靈活,直觀,無需對訪問的目標地址單獨定義。
Slice訪問支持I/Q/DB/M等數據區,尤其適用于優化的DB。由于優化的DB內變量沒有偏移地址,所以無法通過地址直接訪問一個變量內部的數據,例如變量中的一個位信號或字節等信號。這時就可以通過Slice訪問方式來實現。例如,DB內變量“My_DW_Variable”是一個DWord類型的變量,如需訪問該變量的第2個字,則訪問格式為My_DW_Variable.W1;“My_W_Variable”是一個Word數據類型的變量,訪問該變量的第1個bit的訪問格式為My_W_Variable.X0 。如圖5- 22所示。
AT訪問也稱之為AT變量覆蓋,是指通過在程序塊的接口數據區附加聲明來覆蓋所聲明的變量。其優勢在于無需指令即可根據需要,實現變量的自由拆分,拆分后的變量可在程序中使用。可以選擇對不同數據類型的已聲明變量進行AT訪問。具體使用方法可以參考圖5- 23中的示例。
首先將程序塊“AT_Demo” FC 5的訪問屬性修改為標準的塊訪問,之后在該塊內定義一個類型為字符串(String)的輸入變量 “Message”。在變量“Message”下新建一行,在該行數據類型中輸入“AT”,然后定義一個名為“AT_Message”的結構體。根據字符串“String”的數據結構,創建一個結構體變量對變量“Message”進行拆分。該結構體一個變量為“Max_Length”,類型為SINT,對應“Message”字符串中可存儲的大字符長度;第二個變量為“Act_Length”, 類型也為SINT,對應“Message”字符串中的實際字符數量;第三個變量“Letter”為字符數組。