SETI:置位字节数组 (S7-300, S7-400) 说明使用“置位字节数组”指令,将指定字节区域中位的信号状态置位为“1”。在参数 S_BYTE 中 定义数组起点。通过在该指令的参数 N中指定要置位的位数来定义数组的大小。 说明 参数 N 的值必须是数字 8 的整数倍(例如,8、16、24 等)。 在参数 S_BYTE中指定的指针必须引用外部 I/O 存储区 (P)。由于“P”存储区是按照字节、字或 双字访问的,参数 S_BYTE中的指针必须引用与字节限值对应的操作数,即指针的位号必须为 “0”。 说明 过程映像输出 (Q) 中相应位的信号状态将复位为“0”。如果存在以下任一情况,调用“置位字节数组”指令将不起作用: • 参数 S_BYTE 中的指针没有引用外部 I/O 存储区 (P)。 •参数 S_BYTE 中指针引用的操作数不是整字节。 • 参数 N 的值不是数字 8 的整数倍。
下表列出了该指令的参数: 参数声明 数据类型 存储区 说明 S_BYTE Input POINTER P 指向数组第一个字节的指 针,其中该数组的位将被 置位对于跨区域间接寄存器寻 址,必须以双字格式指定 该指针。 N Input INT I、Q、M、D、 L、P 待置位的数组大小 以 8的整数倍(例如,8、 16、24 等)位数来指定该 数组。RESET:复位位数组 (S7-300, S7-400) 说明“复位位数组”指令用于将指定范围中位的信号状态复位为“0”。在参数 S_BIT 中使用指针定 义范围起点。如果指针指向外部 I/O的存储区,则不执行该指令。在参数 N 中指定要在指定 区域中复位的位数。如果参数 N的值为“0”,则调用该指令不起作用。下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 S_BIT InputPOINTER I、Q、M、D 指向范围中第一个位的指 针,其中该范围的位将被 复位。 对于跨区域间接寄存器寻 址,必须以双字格式指定该指针。 N Input INT I、Q、M、D、 L、P 待复位的位数。RESETP:在 I/O 区域复位位数组 (S7-400)说明 “在 I/O 区域复位位数组”指令用于将 I/O 区域中的位信号状态复位为“0”。将过程映像 输出中相应位的复位与这些I/O 位保持相同。 使用参数 N 和 SA 定义要复位的位数组。数组中的位必须属于要分配过程映像的 I/O 区域。如果选择的部分位数组没有对应插入的 I/O 设备,则该指令将尝试置位整个位数组。在这种 情况下,将在参数 RET_VAL中输出错误信息。按字节复位 I/O 区域。如果通过参数 N 和 SA 定义的位数组不是始于或止于字节边界,则调 用该指令有以下作用:• 属于要传送的第一个和Zui后一个字节,但不属于所定义位数组的位,将获取过程映像输 出中相应位的值。 警告 意外行为使用过程映像输出中相关位的值置位这些位可能导致意外响应,例如启动电机或关闭冷 却系统。 •将属于所定义位数组的位的信号状态复位为“0”。 如果参数 N 返回值“0”,调用“在 I/O 区域复位位数组”指令将不起作用。 参数下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 N Input INT I、Q、M、D、L 待复位的位数。 SAOutput POINTER P 指向待复位的第一个位的 指针。 函数值 (RET_VAL) INT I、Q、M、D、L错误信息。RESETI:复位字节数组 (S7-300, S7-400) 说明“复位字节数组”指令用于将指定字节范围中位的信号状态复位为“0”。在参数 S_BYTE 中使 用指针定义范围起点。通过在该指令的参数N 中指定要复位的位数来定义范围大小。 说明 参数 N 的值必须是数字 8 的整数倍(例如,8、16、24 等)。 在参数S_BYTE 中指定的指针必须引用外部 I/O 存储区 (P)。由于“P”存储区是按照字节、字或 双字访问的,参数 S_BYTE中的指针必须引用与字节限值对应的操作数,即指针的位号必须为 “0”。 说明 过程映像输出 (Q) 中相应位的信号状态将复位为“0”。如果存在以下任一情况,调用“复位字节数组”指令将不起作用: • 参数 S_BYTE 中的指针没有引用外部 I/O 存储区 (P)。 •参数 S_BYTE 中指针引用的操作数不是整字节。 • 参数 N 的值不是数字 8 的整数倍。下表列出了该指令的参数: 参数 声明数据类型 存储区 说明 S_BYTE Input POINTER P 指向范围中第一个字节的 指针,其中该范围的位将 被复位。对于跨区域间接寄存器寻 址,必须以双字格式指定 该指针。 N Input INT I、Q、M、D、 L、P 待复位其位的数组大小。 以8 的整数倍(例如,8、 16、24 等)位数来指定该 数组。REPL_VAL:输入替换值 (S7-300, S7-400) 说明使用“输入替代值”指令,可从一个导致程序错误的程序级同步错误组织块,在累加器 1 (ACCU 1) 中输入一个替代值。 说明只能在同步错误组织块(OB 121、OB 122)中调用“输入替代值”指令。无法再从模块读取任何值时,可使用“输入替代值”指令。每次访问该模块后都会启动 OB122。通过调用“输入替代值”指令,可将替代值加载到所中断程序段的累加器 1 中。之后,程序将使用该替代值继续执行。选择替代值时所需的信息(如,发生错误的块或受影响的地 址),位于 OB 122 的本地变量中。 参数下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 VAL Input DWORD I、Q、M、D、L 替代值 函数值(RET_VAL) INT I、Q、M、D、L 错误信息。DRUM:执行顺控程序 (S7-300, S7-400) 说明可以使用“执行顺控程序”指令,将相应步的 OUT_VAL 参数的已设定值分配给已设定的输 出位(OUT1 到 OUT16)和输出字(OUT_WORD)。当指令仍处于某特定步时,该步 必须满足参数 S_MASK中设定的使能掩码条件。如果该步的事件为真且为当前步设定的时间 已用完,或者参数 JOG的值从“0”变为“1”,则该指令进入下一步。如果参数 RESET 的信号状 态变为“1”,将复位该指令。当前步等同于预设步(DSP)。 每步所耗用的时间由预设时基 (DTBP) 与每步预设计数值 (S_PRESET) 的乘积确定。启动新步时,会将此计算值加载到参数 DCC 中,该参数包含当前步的剩余时间。例如,参数 DTBP 的 值为2,且第一个步的预设值为“100”(100 ms),则参数 DCC 的值为“200”(200 ms)。可使用定时器值和/或事件对步进行编程。如果步中包含一个事件位且定时器值为“0”的步,则在该事件位的信号状态为“1”时立即进入下一步。仅编程有定时器值的步将立即开始计时。具有事件位且时间值大于“0”的步,在该事件位的信号状态为“1”时开始计时。信号状态为“1”时, 初始化事件位。当顺控程序位于Zui后一个编程步 (LST_STEP) 且该步的时间用完时,会将参数 Q 的信号状态置位为“1”;否则复位为“0”。置位参数 Q 时,该指令将停留在该步,直至参数复位。 在可组态掩码 (S_MASK)中,可以选择输出字 (OUT_WORD) 中的各个位并通过输出值 (OUT_VAL) 置位或复位输出位(OUT1 到OUT16)。当可组态掩码的某个位的信号状态为“1” 时,OUT_VAL的值将置位/复位相应位。如果可组态掩码的某个位的信号状态为“0”,相应位 则保持不变。在信号状态为“1”时,将初始化所有 16个步中可组态掩码的所有位。 参数 OUT1 的输出位对应输出字 (OUT_WORD) 的Zui低有效位。参数 OUT16 的输出位对应输出字 (OUT_WORD) 的Zui高有效位。 在程序中插入该指令时,将打开“调用选项”(Call options)对话框,可以指定块参数将存储 在单个数据块中(单背景)或者作为局部变量存储在块接口中(多重背景)。如果创建了一个单独的数据块,则该数据块将保存到项目树“程序块 > 系统块”(Program blocks > Systemblocks) 路径中的“程序资源”(Program resources) 文件夹内。有关本主题的更多信息,请参见“另请参见”。下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 RESET Input BOOL I、Q、M、D、L信号状态“1”表示复位状 态。 JOG Input BOOL I、Q、M、D、L 当信号状态从“0”变为“1”时,该指令将进入下一步。 DRUM_EN Input BOOL I、Q、M、D、L 信号状态“1”允许顺控程序 按照事件和时间条件提前执行。 LST_STEP Input BYTE I、Q、M、D、L Zui后一个编程步的编号。 EVENT(i), 1 ≤ i ≤ 16Input BOOL I、Q、M、D、L 事件位 (i); 初始信号状态为“1”。 OUT(j), 1 ≤ j ≤ 16 OutputBOOL I、Q、M、D、L 输出位 (j) Q Output BOOL I、Q、M、D、L 信号状态“1”表示Zui后一步的时间已用完。 OUT_WORD Output WORD I、Q、M、D、 L、P 顺控程序写入输出值的目 标字地址。ERR_CODE Output WORD I、Q、M、D、 L、P 错误信息 JOG_HIS Static BOOLI、Q、M、D、L 参数 JOG 的历史位 EOD Static BOOL I、Q、M、D、L 信号状态“1”表示Zui后一步的时间已用完。 DSP Static BYTE I、Q、M、D、 L、P 顺控程序的预设步 DSC Static BYTEI、Q、M、D、 L、P 顺控程序的当前步 DCC Static DWORD I、Q、M、D、 L、P 顺控程序的当前计数值 DTBPStatic WORD I、Q、M、D、 L、P 顺控程序的预设时基 PrevTime Static TIME I、Q、M、D、L上一次的系统时间。