全国服务热线 15801815554

SIEMENS西门子 S120伺服电机 1FK7022-5AK21-1VG5

更新时间:2024-07-06 08:00:00
价格:请来电询价
西门子:代理商
S120:全新原装 假一罚十
德国:现货 实体经营
联系电话:15801815554
联系手机:15801815554
联系人:邓经理
让卖家联系我
详细介绍


             下限为“0”的目标 ARRAY 示例 在块接口中创建以下变量: 变量 区域 数据类型 Enable Input BOOL SourceArrayWord ARRAY[0..5] of WORD CounterInput UDINT EnableOut Output BOOL DestinationArrayBool ARRAY[0..95] of BOOL 以下示例说明了该指令的工作原理:下表将通过具体的操作数值对该指令的工作原理进行说明: 参数 操作数 数据类型 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”。下表将通过具体的操作数值对该指令的工作原理进行说明: 参数 操作数 数据类型 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 位不写入。 有关上述示例的更多信息和程序代码,请参见“指令的示例库”。

            GATHER:将各个位组合为位序列 (S7-1200, S7-1500) 说明 指令“将各个位组合为位序列”用于将仅包含布尔型元素的 ARRAY of BOOL、匿名 STRUCT 或 PLC 数据类型中的各个位组合为一个位序列。位序列保存在数据类型为 BYTE、WORD、 DWORD 或 LWORD 的变量中。 说明 多维 ARRAY of BOOL 使用“将各个位组合为位序列”指令时,不支持多维 ARRAY of BOOL。 说明 ARRAY、STRUCT 或 PLC 数据类型的长度 ARRAY、STRUCT 或 PLC 数据类型中包含的元素数目必须恰好等于位序列指定的数量。 例如,如果数据类型为 BYTE,则 ARRAY、匿名 STRUCT 或 PLC 数据类型中必须恰好包含 8 个 元素(WORD = 16、DWORD = 32、LWORD = 64)。 说明 该指令的可用性 该指令可用于固件版本为 V4.2 及以上版本的 S7-1200 系列 CPU 和固件版本为 V2.1 及以上 版本的 S7-1500 系列 CPU。 如果满足下列条件之一,使能输出 ENO 将返回信号状态“0”: • 使能输入 EN 的信号状态为“0”。 • ARRAY、匿名 STRUCT 或 PLC 数据类型 (UDT)中 BOOL 元素的数量少于或多于位序列所指 定的数量。此时,系统不传送 BOOL 元素。 • 可用的元素数少于所需的位数量。下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 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 数据类型 *:8、16、 32 或 64 个元 素 ARRAY[*] of BOOL、 STRUCT 或 PLC 数据类 型 *:8、 16、32 或 64 个元素 I、Q、M、 D、L ARRAY、 STRUCT 或 PLC 数据类 型,这些数据 类型中的各个 位将组合为一 个位序列。 这些值不得位 于的 I/O 区域 或工艺对象的 DB 内。 OUT Output BYTE, WORD, DWORD BYTE, WORD, DWORD, LWORD I、Q、M、 D、L 组合后的位序 列,保存在一 个变量中 可以从指令框的“???”下拉列表中选择所需位序列。 有关有效数据类型的更多信息,请参见“另请参见”。下表将通过具体的操作数值对该指令的工作原理进行说明: 参数 操作数 数据类型 IN SourceArray 操作数“SourceArray”的数据 类型为 ARRAY[0..15] of BOOL。其中包含 16 个元 素,因此与需要将位进行组 合的字的长度相当。 OUT DestinationWord WORD(16 位) 如果操作数 #Enable 在使能输入 EN 返回信号状态“1”,则将执行该指令。操作数 #SourceArray 的各个位将组合为一个 WORD。如果在指令执行期间出现错误,操作数 #EnableOut 将在使能输出 ENO 处返回信号状态“0”。 有关上述示例的更多信息和程序代码,请参见“指令的示例库”。如果操作数 #Enable 在使能输入 EN 返回信号状态“1”,则将执行该指令。操作数 #SourceUDT 的各个位将组合为一个 WORD。如果在指令执行期间出现错误,操作数 #EnableOut 将在使 能输出 ENO 处返回信号状态“0”。GATHER_BLK:将单个位合并到 ARRAY of <位序列> 的多个元素中 (S7-1200, S7-1500) 说明 指令“将各个位组合为 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 的下限处开始计算。通过以下公式进行相应计算:如果满足下列条件之一,使能输出 ENO 将返回信号状态“0”: • 使能输入 EN 的信号状态为“0”。 • 源 ARRAY 的下标不能以 BYTE、WORD、DWORD 或 LWORD 限值开始。此时,不会向 ARRAY of <位序列> 中写入任何结果。 • ARRAY[*] of <位序列> 中未提供所需的元素数量。 – S7-1500-CPU:此时,将尽可能多地组合位序列并写入 ARRAY of <位序列> 中。不再 考虑剩余的位。 – S7-1200-CPU:不含复制过程。 说明 S7-1200-CPU:使能输出 ENO = 0 使能输出 ENO 的信号状态为“0”时,不会将任何数据写入输出参数 OUT 中。如果操作数 #Enable 在使能输入 EN 返回信号状态“1”,则将执行该指令。从操作数 #SourceArrayBool 的第 1 个元素开始,将 48 个位组合到操作数 #DestinationArrayWord 中。 目标 ARRAY 中的起点是第三个元素。这意味着前 16 位将写入目标 ARRAY 的第三个字,第 二组 16 位写入第四个字,第三组 16 位写入第五个字。如果在指令执行期间出现错误,操 作数 #EnableOut 将在使能输出 ENO 处返回信号状态“0”。

联系方式

  • 地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201100
  • 电话:15801815554
  • 联系人:邓经理
  • 手机:15801815554
  • 微信:15801815554
  • QQ:190755061