业务销售;竭诚为你服务.
公司主营西门子PLC模块,数控伺服,触摸屏等系列产品,产品*,质保一年
![]() |
参考价 | ¥670 |
订货量 | 1 |
更新时间:2019-03-31 21:57:26浏览次数:580
联系我们时请说明是化工仪器网上看到的信息,谢谢!
西门子6ES7403-1TA01-0AA0设置
所售均为西门子原装全新未开封产品,图片仅供参考,一切以型号为准,实物保证全新,敬请放心购买.GATHER_BLK:将单个位合并到 ARRAY of <位序列> 的多个元素中
说明
指令“将各个位组合为 ARRAY of <位序列> 的多个元素"用于将仅包含布尔型元素的
ARRAY of BOOL、匿名 STRUCT 或 PLC 数据类型中的各个位组合为 ARRAY of <位序列
> 中的一个或多个元素。您可以在 COUNT_OUT 参数中要写入的目标 ARRAY 元素数
量。在此步中,还可隐式 ARRAY of BOOL、匿名 STRUCT 或 PLC 数据类型中所需
的元素数量。OUT 参数中目标 ARRAY 的元素数量可能多于 COUNT_OUT 参数中的
数量。要保存待组合的各个位,ARRAY of <位序列> 中必须包含足够的元素数目。但目
标 ARRAY 可能更大。
说明
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:在 OUT 参数处,将互连一个 ARRAY[0..5] of WORD (sourceArrayWord[2])。参
数 COUNT_IN 的值为“3"。在 IN 参数处,将互连一个 ARRAY[0..1,0..5,0..7] of BOOL
(destinationArrayBool[0,0,0])。参数 IN 和参数 OUT 中两个数组的大小均为 96 位。48 个
单个位将组合为 ARRAY of BOOL。
说明
如果源 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 进行编程
940 编程和操作手册, 10/2018
如果下列条件之一,使能输出 ENO 将返回状态“0":
● 使能输入 EN 的状态为“0"。
● 源 ARRAY 的下标不能以 BYTE、WORD、DWORD 或 LWORD 限值开始。此时,不
会向 ARRAY of <位序列> 中写入任何结果。
● ARRAY[*] of <位序列> 中未提供所需的元素数量。此时,将尽可能多地组合位序列并写
入 ARRAY of <位序列> 中。不再考虑剩余的位。
参数
下表列出了该指令的参数:
参数声明数据类型存储区说明
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
BOOL、
STRUCT 或
PLC 数据类型
的元素
ARRAY[*]
of BOOL、
STRUCT
或 PLC 数
据类型的元
素
I、Q、M、D、
L
ARRAY of
BOOL、
STRUCT 或
PLC 数据类
型,其中各个
位待组合(源
ARRAY)
这些值不得位
于的 I/O 区域
或工艺对象的
DB 内。
指令
4.1 指令
对 PLC 进行编程
编程和操作手册, 10/2018 941
参数声明数据类型存储区说明
S7-1200 S7-1500
COUNT_OU
T
Input USINT,
UINT, UDINT
USINT,
UINT,
UDINT,
ULINT
I、Q、M、D、
L
计数目标
ARRAY 的元
素数量。
该值不得位于
的 I/O 区域或
工艺对象的数
据库内。
OUT Output ARRAY[*] of
<位序列> 的
元素
ARRAY[*]
of <位序列
> 的元素
I、Q、M、D、
L
保存各个位的
ARRAY of <
位序列>(目
标 ARRAY)
可以从指令框的“???"下拉列表中选择所需位序列。
有关有效数据类型的更多信息,请参见“另请参见"。
下限为“0"的源 ARRAY 示例
在块接创建以下变量:
变量区域数据类型
Enable Input BOOL
SourceArrayBool ARRAY[0..95] of BOOL
CounterOutput UDINT
EnableOut Output BOOL
DestinationArrayWord ARRAY[0..5] of WORD
以下示例说明了该指令的工作原理:
指令
4.1 指令
对 PLC 进行编程
942 编程和操作手册, 10/2018
下表将通过具体的操作数值对该指令的工作原理进行说明:
参数操作数数据类型
IN SourceArrayBool[0] 操作数“SourceArrayBool"
的数据类型为 ARRAY[0..95]
of BOOL。这意味着,它可
提供 96 个 BOOL 元素,可
再次组合成字。
COUNT_OUT CounterOutput = 3 UDINT3(要写入 3 个字。这
意味着源 ARRAY 中必须包
含 48 个位。)
OUT DestinationArrayWord[2] 操作
数“DestinationArrayWord"
的数据类型为 ARRAY[0..5]
of WORD。这意味着包含 6
个 WORD 元素。
如果操作数 #Enable 在使能输入 EN 返回状态“1",则将执行该指令。从操作数
#SourceArrayBool 的第 1 个元素开始,将 48 个位组合到操作数 #DestinationArrayWord
中。目标 ARRAY 中的起点是第三个元素。这意味着前 16 位将写入目标 ARRAY 的第三
个字,第二组 16 位写入第四个字,第三组 16 位写入第五个字。如果在指令执行期间出现
错误,操作数 #EnableOut 将在使能输出 ENO 处返回状态“0"。