公司主營:西門子數控,S7-200CN.S7-200smart.S7-300.S7-400.S7-1200.6ES5 ET200 人機界面,變頻器,DP總線,MM變頻器,6SE70交流工程調速變頻器6RA70等系列產品。
產品簡介
詳細介紹
西門子組態6AV2105-0MA15-0AA0銷售
因為誠信所以簡單,成交只是開始,服務*止步。SCATTER_BLK:將 ARRAY of <位序列> 中的元素解析為單個位
說明
“將位序列 ARRAY 的元素解析為單個位"指令用于將 BYTE、WORD、DWORD 或
LWORD 數據類型的 ARRAY 分解為單個位,并保存在元素類型僅為布爾型的 ARRAY of
BOOL、匿名 STRUCT 或 PLC 數據類型中。在 COUNT_IN 參數中,可待解析源
ARRAY 中的元素數目。IN 參數中源 ARRAY 的元素數量可能多于 COUNT_IN 參數中的指
定數量。要保存所解析位序列的各個位,ARRAY of BOOL、匿名 STRUCT 或 PLC 數據
類型中必須包含足夠的元素數量。但這可能會目標存儲區空間。
說明
ARRAY of BOOL
如果 ARRAY 是一個 ARRAY of BOOL,即使未顯式聲明,也將對所包含維度的填充
位進行計數。
示例 1:ARRAY[1..10,0..4,1..2] of BOOL 的處理與 ARRAY[1..10,0..4,1..8] of BOOL
或 ARRAY[0..399] of BOOL 類似。
示例 2:在 IN 參數處,將互連一個 ARRAY[0..5] of WORD (sourceArrayWord[2])。參數
COUNT_IN 的值為“3"。在 OUT 參數處,將互連一個 ARRAY[0..1,0..5,0..7] of BOOL
(destinationArrayBool[0,0,0])。參數 IN 和參數 OUT 中兩個數組的大小均為 96 位。ARRAY
of WORD 將解析為 48 個單個位。
說明
如果目標 ARRAY 的 ARRAY 下限不是“0",請注意以下幾點:
出于性能方面的原因,索引必須始終以 BYTE、WORD、DWORD 或 LWORD 開始。
這就意味著索引必須從 ARRAY 的下限處開始計算。通過以下公式進行相應計算:
有效下標 = ARRAY 下限 + n(位序列數量)× 所需位序列位數
對于 ARRAY[-2..45] of BOOL 和位序列 WORD,計算如下所示:
● 有效索引 (-2) = -2 + 0 × 16
● 有效索引 (14) = -2 + 1 × 16
● 有效索引 (30) = -2 + 2 × 16
相關示例,請參見如下內容。
說明
該指令的可用性
該指令可用于固件版本為 V4.2 及以上版本的 S7-1200 系列 CPU 和固件版本為 V2.1 及以
上版本的 S7-1500 系列 CPU。
指令
4.1 指令
對 PLC 進行編程
編程和操作手冊, 10/2018 931
例如,通過這種您可以解析狀態字,并使用索引讀取和改變單個位的狀態。使用
GATHER,可再次將各個位組合為位序列。
如果下列條件之一,使能輸出 ENO 將返回狀態“0":
● 使能輸入 EN 的狀態為“0"。
● 源 ARRAY 中的元素數量少于 COUNT_IN 參數中的數量。
● 目標 ARRAY 的索引不以 BYTE、WORD、DWORD 或 LWORD 開始。在這種情
況中,將不向 ARRAY of BOOL 中寫入任何結果。
● ARRAY[*] of BOOL、STRUCT 或 PLC 數據類型未提供所需的元素數量。此時,將盡
可能多地解析位序列并寫入 ARRAY of BOOL、匿名 STRUCT 或 PLC 數據類型中。其
余位序列將不考慮在內。
參數
下表列出了該指令的參數:
參數聲明數據類型存儲區說明
S7-1200 S7-1500
EN Input BOOL BOOL I、Q、M、D、
L 或常量
使能輸入
ENO Output BOOL BOOL I、Q、M、D、
L
使能輸出
IN Input ARRAY[*] of
<位序列> 的
元素
ARRAY[*]
of <位序列
> 的元素
I、Q、M、D、
L
所解析的
ARRAY of <
位序列>
這些值不得位
于的 I/O 區域
或工藝對象的
DB 內。
指令
4.1 指令
對 PLC 進行編程
932 編程和操作手冊, 10/2018
參數聲明數據類型存儲區說明
S7-1200 S7-1500
COUNT_IN Input USINT,
UINT, UDINT
USINT,
UINT,
UDINT,
ULINT
I、Q、M、D、
L
對待解析源
ARRAY 中的
元素數量進行
計數。
該值不得位于
的 I/O 區域或
工藝對象的數
據庫內。
OUT Output ARRAY[*] of
BOOL、
STRUCT 或
PLC 數據類型
的元素
ARRAY[*]
of BOOL、
STRUCT
或 PLC 數
據類型的元
素
I、Q、M、D、
L
保存
ARRAY、
STRUCT 或
PLC 數據類型
中的各個位
可以從指令框的“???"下拉列表中選擇所需位序列。
有關有效數據類型的更多信息,請參見“另請參見"。
下限為“0"的目標 ARRAY 示例
在塊接創建以下變量:
變量區域數據類型
Enable Input BOOL
SourceArrayWord ARRAY[0..5] of WORD
CounterInput UDINT
EnableOut Output BOOL
DestinationArrayBool ARRAY[0..95] of BOOL
以下示例說明了該指令的工作原理:
??????????????????????
?????? ???????? ??
???? ??????
????????
??????????????????????????????????????
?????????????????????????? ????????????????
????????????????????????????????????????????????
?????????????? ????????????????????
指令
4.1 指令
對 PLC 進行編程
編程和操作手冊, 10/2018 933
下表將通過具體的操作數值對該指令的工作原理進行說明:
參數操作數數據類型
IN SourceArrayWord[2] ARRAY[0..5] of WORD(可
以解析 96 位。)
COUNT_IN CounterInput = 3 UDINT3(將解析 3 個字或
48 位。這意味著目標
ARRAY 中至少需包含 48 個
位。)
OUT DestinationArrayBool[0] 操作
數“DestinationArrayBool"
的數據類型為 ARRAY[0..95]
of BOOL。這表示它可以提
供 96 個 BOOL 元素。
如果操作數 #Enable 在使能輸入 EN 返回狀態“1",則將執行該指令。從分配給操作
數 #DestinationArrayBool 各元素的第 1 個元素開始,將操作數 #SourceArrayWord 的第
3、第 4 和第 5 個 WORD 解析為單個的位 (48)。如果在指令執行期間出現錯誤,操作數
#EnableOut 將在使能輸出 ENO 處返回狀態“0"。
下限為“-2"的目標 ARRAY 示例
在塊接創建以下變量:
變量區域數據類型
Enable Input BOOL
SourceArrayWord ARRAY[0..5] of WORD
CounterInput UDINT
EnableOut Output BOOL
DestinationArrayBool ARRAY[-2..93] of BOOL
以下示例說明了該指令的工作原理:
??????????????????????
?????? ???????? ??
???? ??????
????????
??????????????????????????????????????
?????????????????????????? ????????????????
??????????????????????????????????????????????????
?????????????? ????????????????????
指令
4.1 指令
對 PLC 進行編程
934 編程和操作手冊, 10/2018
下表將通過具體的操作數值對該指令的工作原理進行說明:
參數操作數數據類型
IN SourceArrayWord[2] ARRAY[0..5] of WORD(可
以解析 96 位。)
COUNT_IN CounterInput = 3 UDINT3(將解析 3 個字或
48 位。這意味著目標
ARRAY 中至少需包含 48 個
位。)
OUT DestinationArrayBool[14] 操作
數“DestinationArrayBool"
的數據類型為
ARRAY[-2..93] of BOOL。
這表示它可以提供 96 個
BOOL 元素。
如果操作數 #Enable 在使能輸入 EN 返回狀態“1",則將執行該指令。從分配給操作
數 #DestinationArrayBool 的各元素的第 16 個元素開始,將操作數 #SourceArrayWord 的
第 3、第 4 和第 5 個字解析為單個位 (48)。如果在指令執行期間出現錯誤,操作數
#EnableOut 將在使能輸出 ENO 處返回狀態“0"。其余 32 位不寫入。
有關上述示例的更多信息和程序代碼,請參見“指令的示例庫 (頁 697)"
下一篇:西門子編程軟件6ES7823-0BA00-1BA0現貨