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