SE: 启动扩展脉冲定时器(S7-1500) 说明 使用“启动扩展脉冲定时器”指令,在上升沿时启动所指定的定时器。如果检测到信号上升沿,将执行该指令并启动定时器。之后,在执行指令前只要逻辑运算结果变为 "0",定时器 便会在累加器 1指定的时间段中运行。只要该时间段未结束,那么查询结果为 "1" 的定时器 状态将返回查询结果 "1"。在每个信号上升沿处,该指令都将在预定的时间段重新启动定时器,定时器仍未计时结 束。 累加器 1中的时间段由时间值和时基组成。如果指定的定时器通过“启动扩展脉冲定时器”指令启动,则会根据时基对时间值进行减计数。当计数器值减为零时,定时器停止运行。 在指令执行期间定时器未启动,累加器 1中也必须存在 S5TIME 格式的有效时间段。如 果累加器 1 中无有效的 BCD 值且前导逻辑运算结果 RLO返回值“0”,则将状态位 OV 置位为 “1”。将不启动任何同步错误处理。如果累加器 1 中的 BCD 值有效,则将状态位 OV复位为 “0”。 说明 在时间单元,操作系统通过时基指定的间隔,以一个时间单位缩短时间值,直到该值为“0”。递减操作与用户程序不同步执行。定时器中的值比预期的时基Zui多短一个时间间隔值。 此处给出了如何构造时间单元的示例:L:加载定时器值 。
SD: 启动接通延时定时器(S7-1500) 说明 当在启动输入处检测到信号状态“1”时,“启动接通延时定时器”指令将启动一个编程的定时器。只要该信号状态保持为“1”,定时器将在超出累加器 1 中指定的持续时间后停止计时。如果定时器计时结束且启动输入的信号状态仍为“1”,则定时器状态的查询将返回“1”。如果启动输入处的信号状态为“0”,则将复位定时器。此时,查询定时器状态将返回信号状态“0”。只要启动输入的信号状态变为“1”,定时器将运行。定时器输出的信号状态与启动输入的信号状态相同。启动输入与输出直接互连,而非连接连 接定时器。 累加器 1中的持续时间在内部由定时器值和时基构成。指令启动时,编程的时间值减计数到 0。 在指令执行期间定时器未启动,累加器 1中也必须存在 S5TIME 格式的有效时间段。如 果累加器 1 中无有效的 BCD 值且前导逻辑运算结果 RLO返回值“0”,则将状态位 OV 置位为 “1”。将不启动任何同步错误处理。如果累加器 1 中的 BCD 值有效,则将状态位 OV复位为 “0”。 说明 在时间单元,操作系统通过时基指定的间隔,以一个时间单位缩短时间值,直到该值为“0”。递减操作与用户程序不同步执行。定时器中的值比预期的时基Zui多短一个时间间隔值。以下示例中说明了如何构造一个时间单元:另请参见“L:加载定时器值”。SS:启动保持型接通延时定时器 (S7-1500) 说明使用“启动保持型接通延时定时器”指令,在上升沿时启动所指定的定时器。如果检测到信号上升沿,将执行该指令并启动定时器。之后,在执行指令前逻辑运算结果 (RLO) 更改为 “0”,定时器也会在累加器 1中所指定的时间段内运行。当时间用完后,将查询定时器的状 态是否为 "1",并返回查询结果"1"。在执行指令前查询结果不受当前逻辑运算结果信 号状态的影响。在每个上升沿处,该指令都将在预定的时间段重新启动定时器,时间并未用完。 累加器 1中的时间段由时间值和时基组成。如果指定的定时器通过“启动保持型接通延时定时器”指令启动,则会根据时基对时间值进行减计数。当计数器值减为零时,定时器停止运 行。 在指令执行期间定时器未启动,累加器 1中也必须存在 S5TIME 格式的有效时间段。如 果累加器 1 中无有效的 BCD 值且前导逻辑运算结果 RLO返回值“0”,则将状态位 OV 置位为 “1”。将不启动任何同步错误处理。如果累加器 1 中的 BCD 值有效,则将状态位 OV复位为 “0”。 说明 在时间单元,操作系统通过时基指定的间隔,以一个时间单位缩短时间值,直到该值为“0”。递减操作与用户程序不同步执行。定时器中的值比预期的时基Zui多短一个时间间隔值。 此处给出了如何构造时间单元的示例:L:加载定时器值。SF: 启动关断延时定时器 (S7-1500) 说明使用“启动关断延时定时器”指令,在上升沿时启动所指定的定时器。如果检测到信号下降 沿,将执行该指令并启动定时器。之后,定时器将在累加器1 中指定的时间段内运行。如果 在该时间段结束之前,逻辑运算结果 (RLO) 变为“1”,则定时器复位。只有在指令执行期间检测到信号下降沿时,定时器才会重新启动。 如果在执行指令或在预定时间期间,逻辑运算结果的信号状态为 "1",则查询定时器状态是否为“1”的查询结果将返回 "1"。如果时间未用完或 RLO 为“0”,则检查定时器状态是否为“1”的 查询结果将返回“0”。 累加器1 中的时间段由时间值和时基组成。如果指定的定时器通过“启动关断延时定时器”指令启动,则会根据时基对时间值进行减计数。当计数器值减为零时,定时器停止运行。 在指令执行期间定时器未启动,累加器 1中也必须存在 S5TIME 格式的有效时间段。如 果累加器 1 中无有效的 BCD 值且前导逻辑运算结果 RLO返回值“0”,则将状态位 OV 置位为 “1”。将不启动任何同步错误处理。如果累加器 1 中的 BCD 值有效,则将状态位 OV复位为 “0”。 说明 在时间单元,操作系统通过时基指定的间隔,以一个时间单位缩短时间值,直到该值为“0”。递减操作与用户程序不同步执行。定时器中的值比预期的时基Zui多短一个时间间隔值。 此处给出了如何构造时间单元的示例:L:加载定时器值。计数器操作 (S7-1500) FR:启用计数器 (S7-1500) 说明使用“启用计数器”指令将执行“置位计数器”、“加计数”和“减计数”指令,而无需信号上升沿。在指令执行过程中,该指令将内部的边沿标志的信号状态复位为 "0"。在执行相 应计数指令之前,查询的信号状态必须一直为“1”。在执行该指令之前,如果逻辑运算结果 (RLO) 从“0”变为“1”,则执行“启用计数器”指令。对于将要执行的计数器指令,无需启用计数器。在本示例中,当操作数“Tag_Input_1”的信号状态从“0”变为“1”时,启用计数器(“MyCounter”)。如果操作数“Tag_Input_2”的信号状态为“1”,则在启用计数器后计数值减1。当地址“Tag_Input_2”的信号状态为“0”时,计数值保持不变。当地址“Tag_Input_2”的信号状态从“0”变为“1”时,无论计数器是否已启用,计数值都将减 1。 当计数器读数大于 0 时,查询计数器状态会返回结果"1"。如果计数器读数等于 0,查询结 果则为 "0"。LC:加载 BCD 码计数器值 (S7-1500) 说明 使用“加载 BCD码计数器值”指令,将指定 BCD 码计数器中的当前值传送到累加器 1 中的 低字。所加载的计数器值随后便可以 BCD形式使用,以便后续处理。 下图说明了“加载 BCD 码计数器值”指令的工作原理:R:复位计数器 (S7-1500) 说明使用“复位计数器”指令,将指定计数器中当前的计数器值复位为“0”。 在执行该指令之前,只有逻辑运算结果 (RLO)的信号状态为“1”时,才执行该指令。在执行 “复位计数器”指令之前,只要 RLO为“1”,则检查计数器状态是否为“1”的查询结果都将返回 “0”。复位计数器时,不会复位“置位计数器”、“加计数”和“减计数”指令中内部的边沿存储 器位。S:置位计数器 (S7-1500) 说明使用“置位计数器”指令,在查询时将指定的计数器置位为累加器 1 中的值。在执行该指令之前,如果逻辑运算的结果从“0”变为“1”,则执行“置位计数器”指令。也可以使用“启用计数器”指令将内部边沿存储器位复位为“0”,来实现信号上升沿。 要置位计数器,累加器 1必须包含有效的计数值。有效计数值是指以 3 个十进制数表示的 BCD 形式的值。只允许正计数值,计数指令无法处理负计数值。如果累加器1 中的 BCD 值无效, 则状态位 OV 的信号状态为“0”。如果其中的 BCD 值有效,则状态位 OV 的信号状态为“1”。将不启动任何同步错误处理。CU: 加计数 (S7-1500) 说明 在执行该指令之前,如果逻辑运算结果 (RLO)从“0”变为“1”,则使用“加计数”指令将当前 计数器值加 1。在每个信号上升沿处,计数值都将继续递增,直到达到上限“999”。在执行指令之前,如果达到限值,则 RLO 不会再影响计数值。只有在信号上升沿时,才能执行“加计数”指令。也可以使用“启用计数器”指令将内部边 沿存储器位复位为“0”,来实现信号上升沿。CD:减计数 (S7-1500) 说明 在执行该指令之前,如果逻辑运算结果 (RLO) 从“0”变为“1”,则使用“减计数”指令将当前计数器值减 1。在每个信号上升沿处,计数值都将继续递减,直到达到下限“0”。在执行指令 之前,如果达到限值,则 RLO不会再影响计数值。计数值为负数时,不进行计数。 只有在信号上升沿时,才能执行“减计数”指令。也可以使用“启用计数器”指令将内部边沿存储器位复位为“0”,来实现信号上升沿。比较器运算 (S7-1500) ? I: 比较 16 位整数 (S7-1500) 说明使用“比较 16 位整数”指令,将比较累加器 2 和累加器 1 中低字的内容,并将累加器 1 和 2 的内容解释为 16 位整数(INT)。该指令根据指定的比较函数进行比较。 说明 不支持无符号数据类型(如,UINT)。执行比较函数后,累加器 1 和 2的内容保持不变。执行比较函数后,可以使用赋值函数和 跳转函数评估逻辑运算结果。