公司主營:西門子數控,S7-200CN.S7-200smart.S7-300.S7-400.S7-1200.6ES5 ET200 人機界面,變頻器,DP總線,MM變頻器,6SE70交流工程調速變頻器6RA70等系列產品。
產品簡介
詳細介紹
西門子博途6DD18055DA0參數
所有產品均為西門子原裝,所有產品非人為損壞質保一年,(燒壞、客戶保管不善)ReadFromArrayDBL:從裝載存儲器的 ARRAY 數據塊中讀取 (S7-1500)
說明
可以使用“從裝載存儲器的 ARRAY 數據塊中讀取"(Read from ARRAY data block in load
memory) 指令從裝載存儲器 ARRAY DB 塊類型的數據塊中讀取索引應用的元素并將其寫
入目標范圍。
ARRAY 數據塊是僅包含一個 ARRAY of <數據類型> 的數據塊。ARRAY 的元素可以是
PLC 數據類型或其它任何基本數據類型。ARRAY 通常從下限“0"開始計數。
指令
4.1 指令
對 PLC 進行編程
編程和操作手冊, 10/2018 955
如果 ARRAY 數據塊使用塊屬性“僅存儲在裝載存儲器"進行,則該數組數據塊將僅
存儲在裝載存儲器中。
當 REQ 參數中檢測到上升沿時,將執行該指令。參數 BUSY 的狀態將為“1"。
當 BUSY 參數中檢測到下降沿時,將終止該指令。在一個程序周期內,DONE 參數的
狀態為“1",而且在該周期內,讀取的值將輸出到 VALUE 參數中。在所有其它程序
周期內,參數 VALUE 的值將保持不變。
如果下列條件之一,使能輸出 ENO 將返回狀態 FALSE:
● 使能輸入 EN 返回狀態 FALSE。
● 如果在執行該指令中發生錯誤。
參數
下表列出了“從裝載存儲器的 ARRAY 數據塊中讀取"指令的參數:
參數聲明數據類型存儲區說明
EN Input BOOL I、Q、M、D、
L 或常量
使能輸入
ENO Output BOOL I、Q、M、D、L 使能輸出
REQ Input BOOL I、Q、M、D、
L 或常量
REQ = "1":開始讀取
ARRAY 數據塊
DB 1) Input DB_ANY I、Q、M、D、L 待讀取的 ARRAY 數據塊。
INDEX Input DINT I、Q、M、D、
L、P 或常量
DB 中被讀取的元素。標
準值可以是常數、全局變
量或索引值。
VALUE 1) InOut VARIANT D(全局數據塊
的元素)
L(可在塊接口
的“Input"、
“InOut"
和“Temp"部分
進行聲明。)
指向待讀取工作存儲器中
的 DB 的指針,并寫入該
工作存儲器的值。
不必使用“TEMP"部分的
本地常數或變量。
BUSY Output BOOL I、Q、M、D、L BUSY = "1":仍在讀取數
組數據塊
DONE Output BOOL I、Q、M、D、L DONE = "1":該指令執行
成功
指令
4.1 指令
對 PLC 進行編程
956 編程和操作手冊, 10/2018
參數聲明數據類型存儲區說明
ERROR Output INT I、Q、M、D、
L、P
錯誤信息:
如果在該指令執行期間出
錯,則在參數 ERROR 中
輸出一個錯誤代碼。
1) 該數據塊必須創建為帶有“"塊屬性。
參數 ERROR
下表列出了 ERROR 參數值的含義:
錯誤代碼*
(W#16#...
)
說明
0000 無錯誤
80B4 存儲在 ARRAY 數據塊中的元素數據類型與 VARIANT 中傳輸的元素數據類
型不匹配。
8230 數據塊編號不正確。
8231 數據塊不存在。
8232 該數據塊太短,或者不在裝載存儲器中。
8235 該數據塊不是一個 ARRAY 數據塊。
8254 該數據塊的數據類型不正確。
8382 INDEX 參數的值超出 ARRAY 的。
8750 參數 VALUE 中數據類型 VARIANT 的值為“0"。
8751 代碼生成錯誤
8752 代碼生成錯誤
8753 VALUE 參數的大小與 ARRAY 數據塊中的元素長度不匹配。
* 在程序編輯器中,錯誤代碼可顯示為整數或十六進制值。有關切換顯式格式的更多信
息,請參見“另請參見"。
有關“READ_DBL"和“WRIT_DBL"指令觸發的錯誤代碼說明,請參見相應的指令說明。
指令
4.1 指令
對 PLC 進行編程
編程和操作手冊, 10/2018 957
示例
以下示例說明了該指令的工作原理:
????????????????????????????????
??????????
???? ??????
??????????
????
?????????????????? ????????????????
????????????????????
????????????????????
??
?????????????????????????? ??????????
??????????????????????????????????????????
?????????????????? ??????
???????? ??????????????????
???????? ??????????????????
下表將通過具體的操作數值對該指令的工作原理進行說明:
參數操作數值
REQ TagReq BOOL
DB ArrayDB 操作數“ArrayDB"是數據類
型為 ARRAY [0 to 10] of INT
的 ARRAY DB。
INDEX 2 “ArrayDB"的第二個元素
VALUE TargetField 操作數“TargetField"是 INT
數據類型的全局變量。
BUSY TagBusy BOOL
DONE TagDone BOOL
如果操作數“TagIn1"的狀態為“1"且在操作數“TagReq"處檢測到上升沿,將執行該
指令。將讀取“ArrayDB"中的第二個元素并輸出到“VALUE"參數中。在操作數“TagBusy"
處檢測到下降沿時,將中止該指令的執行同時參數 VALUE 將不再變化。如果該指令執行
成功,則使能輸出 ENO 的狀態為 TRUE,同時置位輸出“TagOut"。該指令執行后,
操作數“TagDone"的狀態將為 TRUE。
有關以上示例中編程代碼的更多信息,請參見“Sample Library for Instructions
下一篇:西門子編程軟件6ES7860-4AA01-0YX1程序安裝