業務銷售;竭誠為你服務.
公司主營西門子PLC模塊,數控伺服,觸摸屏等系列產品,產品*,質保一年
![]() |
參考價 | ¥670 |
訂貨量 | 1 |
更新時間:2019-06-02 17:29:15瀏覽次數:400
聯系我們時請說明是化工儀器網上看到的信息,謝謝!
西門子6FC5250-0AD14-0AA1定制
敬請放心購買!量大價優,歡迎選購!從裝載內存的數組數據塊中讀取 (S7-1500)
說明
可以使用“從裝載存儲器的 ARRAY 數據塊中讀取"(Read from ARRAY data block in load
memory) 指令從裝載存儲器 ARRAY DB 塊類型的數據塊中讀取索引應用的元素并將其寫
入目標范圍。
ARRAY 數據塊是僅包含一個 ARRAY of <數據類型> 的數據塊。ARRAY 的元素可以是
PLC 數據類型或其它任何基本數據類型。ARRAY 通常從下限“0"開始計數。
如果 ARRAY 數據塊使用塊屬性“僅存儲在裝載存儲器"進行,則該數組數據塊將僅
存儲在裝載存儲器中。
當 REQ 參數中檢測到上升沿時,將執行該指令。參數 BUSY 的狀態將為“1"。
當 BUSY 參數中檢測到下降沿時,將終止該指令。在一個程序周期內,DONE 參數的
狀態為“1",而且在該周期內,讀取的值將輸出到 VALUE 參數中。在所有其它程序
周期內,參數 VALUE 的值將保持不變。
指令
4.1 指令
對 PLC 進行編程
1614 編程和操作手冊, 10/2018
參數
下表列出了“從裝載存儲器的 ARRAY 數據塊中讀取"指令的參數:
參數聲明數據類型存儲區說明
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":該指令執行
成功
ERROR Output INT I、Q、M、D、
L、P
錯誤信息:
如果在該指令執行期間出
錯,則在參數 ERROR 中
輸出一個錯誤代碼。
1) 該數據塊必須創建為帶有“"塊屬性。
指令
4.1 指令
對 PLC 進行編程
編程和操作手冊, 10/2018 1615
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"指令觸發的錯誤代碼說明,請參見相應的指令說明。
示例
以下示例說明了該指令的工作原理:
STL 說明
CALL ReadFromArrayDBL,
"ReadFromArrayDBL_DB"
// 調用指令
REQ := "TagReg" // 出現上升沿時執行該指令。
DB := "ArrayDB" // 待讀取數據的數據塊。
INDEX := 2 // 從數據塊中讀取元素 [2]。
VALUE := "TargetField" // 從參數 VALUE 中讀取值。
BUSY := "TagBusy" // 指示該指令是否仍在執行中。
DONE := "TagDone" // 指示該指令是否結束執行。
ERROR := "TagError" // 錯誤信息
指令
4.1 指令
對 PLC 進行編程
1616 編程和操作手冊, 10/2018
下表將通過具體的操作數值對該指令的工作原理進行說明:
參數操作數值
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
當“TagReq"操作數中檢測到上升沿時,將執行該指令。將讀取“ArrayDB"中的第二
個元素并輸出到“VALUE"參數中。在操作數“TagBusy"處檢測到下降沿時,將中止該指
令的執行同時參數 VALUE 將不再變化。該指令執行后,操作數“TagDone"的狀態將
為 TRUE。
參見
有效數據類型概述 (頁 247)
狀態字的基本信息 (頁 200)
READ_DBL: 從裝載存儲器的數據塊中讀取數據 (頁 3119)
WRIT_DBL: 將數據寫入到裝載存儲器的數據塊中 (頁 3124)
ARRAY 數據塊的使用示例 (頁 48)
同步指令和異步指令之間的不同之處 (頁 699)
STL 基礎知識 (
下一篇:西門子6FC5250-0AD14-0AA0寫程序