S_PEXT:分配扩展脉冲定时器参数并启动 (S7-1500) 说明 当检测到参数 S 的信号上升沿时,“分配扩展脉冲定时器参数并启动”指令将启动预设的定 时器。只要 S 参数的信号状态更改为“0”,定时器便将运行一段预设的时间 (TV)。定时器计 时时,参数 Q 将返回信号状态“1”。 定时器达到预置时间时,参数 Q 将复位为“0”。如果在定时器计时期间参数 S 的信号状态从“0” 变为“1”,定时器将在 TV 参数中设置的时间内重新启动。 在内部此时间包括一个时间值和一个时间基准,并在参数 TV 中进行设定。指令启动时,编 程的时间值减计数到 0。时间基准指定时间值更改时的时间增量。通过参数 BI 提供当前时间 值。 如果定时器正在计时且参数 R 的信号状态变为 “1”,则当前时间值和时间基准也将设置为 0。 如果定时器未在计时,则参数 R 的信号状态“1”将不起作用。 每次访问都更新指令数据。因此,周期开始时与周期结束时的数据查询可能会返回不同的值。 说明 在时间单元,操作系统通过时基指定的间隔,以一个时间单位缩短时间值,直到该值为“0”。 递减操作与用户程序不同步执行。因此,定时器中的值比预期的时基Zui多短一个时间间隔值。 以下给出了如何构造时间单元的一个示例:另请参见“L:加载定时器值”。操作数“Timer_1”的信号状态从“0”变为“1”时,“Tag_1”启动。定时器计时时,操作数 “Tag_Status”将返回信号状态“1”。定时器达到预置时间时,操作数“Tag_Status”将复位为“0”。 如果在定时器计时期间输入 S 的信号状态从“0”变为“1”,定时器将在“Tag_Number”时间内重 新启动。
S_ODT:分配接通延时定时器参数并启动 (S7-1500) 说明 当检测到参数 S 的信号上升沿时,“分配接通延时定时器参数并启动”指令将启动预设的定 时器作为接通延时定时器。只要 S 参数的信号状态为“1”,定时器便将运行一段预设的时间 (TV)。 如果定时器达到预置时间且参数 S 的信号状态仍为“1”,则参数 Q 将返回信号状态“1”。如果 在定时器计时期间参数 S 的信号状态从“1 变为“0”,定时器将停止计时。在这种情况下,将 输出 Q 的信号状态复位为“0”。 在内部此时间包括一个时间值和一个时间基准,并在参数 TV 中进行设定。指令启动时,编 程的时间值减计数到 0。时间基准指定时间值更改时的时间增量。通过参数 BI 提供当前时间 值。 如果正在计时且输入端 R 的信号状态从“0”变为 “1”,则当前时间值和时间基准也将设置为 0。 这种情况下,参数 Q 的信号状态为“0”。如果参数 R 的信号状态为“1”,即使定时器尚未运行 同时参数 S 处的逻辑运算结果 (RLO) 为“1”,则将复位定时器。 每次访问都更新指令数据。因此,周期开始时与周期结束时的数据查询可能会返回不同的值。 说明 在时间单元,操作系统通过时基指定的间隔,以一个时间单位缩短时间值,直到该值为“0”。 递减操作与用户程序不同步执行。因此,定时器中的值比预期的时基Zui多短一个时间间隔值。 以下给出了如何构造时间单元的一个示例:另请参见“L:加载定时器值”。操作数“Timer_1”的信号状态从“0”变为“1”时,“Tag_1”启动。只要操作数“Tag_1”的信号状态为 “1”,定时器就将在持续时间“Tag_Number”内一直计时。 如果定时器达到预置时间且操作数“Tag_Status”的信号状态为“1”,则操作数“Tag_Status”将复 位为“1”。如果在定时器计时期间操作数“Tag_1”的信号状态从“1 变为“0”,定时器将停止计时。 这种情况下,操作数“Tag_Status”将返回信号状态“0”。 当前时间值在操作数“Tag_Value”中以二进制编码形式存储,并作为函数值返回。S_ODTS:分配保持型接通延时定时器参数并启动 (S7-1500) 说明 当检测到参数 S 的信号上升沿时,“分配保持型接通延时定时器参数并启动”指令将启动预 设的定时器。只要 S 参数的信号状态更改为“0”,定时器便将运行一段预设的时间 (TV)。 只要定时器超时,参数“Q”将始终返回信号状态“1”,而不考虑“S”参数的信号状态。如果在定 时器计时期间参数 S 的信号状态从“0”变为“1”,定时器将在预设的时间 TV 内重新启动。 在内部此时间包括一个时间值和一个时间基准,并在参数 TV 中进行设定。指令启动时,编 程的时间值减计数到 0。时间基准指定时间值更改时的时间增量。通过参数 BI 提供当前时间 值。 参数 R 的信号状态为“1”则当前时间值和时间基准被复位为“0”,而与参数 S 的信号状态无关。 这种情况下,参数 Q 的信号状态为“0”。 每次访问都更新指令数据。因此,周期开始时与周期结束时的数据查询可能会返回不同的值。 说明 在时间单元,操作系统通过时基指定的间隔,以一个时间单位缩短时间值,直到该值为“0”。 递减操作与用户程序不同步执行。因此,定时器中的值比预期的时基Zui多短一个时间间隔值。 以下给出了如何构造时间单元的一个示例:另请参见“L:加载定时器值”。操作数“Timer_1”的信号状态从“0”变为“1”时,“Tag_1”启动。定时器的运行时间为 “Tag_Number”。 如果定时器已达到预置时间,则操作数“Tag_Status”将返回信号状态“1”,而与操作数“Tag_1” 的信号状态无关。如果在定时器计时期间操作数 Tag_1 的信号状态从“0”变为“1”,定时器将在 “Tag_Number”时间内重新启动。 当前时间值在操作数“Tag_Value”中以二进制编码形式存储,并作为函数值返回。S_OFFDT:分配关断延时定时器参数并启动 (S7-1500) 说明 当检测到参数 S 的信号下降沿时,“分配关断延时定时器参数并启动”指令将启动预设的定 时器。定时器将运行一段预设的时间 (TV)。只要定时器在计时或参数 S 返回信号状态“1”,参 数 Q 的信号状态就为“1”。 如果定时器已达到预置时间且信号状态为“0”,则参数 Q 的信号状态将复位为“0”。如果定时 器计时期间参数 S 的信号状态从“0”变为“1”,定时器将停止。只有在检测到参数 S 的信号下 降沿后,才会重新启动定时器。 在内部此时间包括一个时间值和一个时间基准,并在参数 TV 中进行设定。指令启动时,编 程的时间值减计数到 0。时间基准指定时间值更改时的时间增量。通过参数 BI 提供当前时间 值。参数 R 的信号状态为“1”则当前时间值和时间基准被复位为“0”。这种情况下,参数 Q 的信号 状态为“0”。 每次访问都更新指令数据。因此,周期开始时与周期结束时的数据查询可能会返回不同的值。 说明 在时间单元,操作系统通过时基指定的间隔,以一个时间单位缩短时间值,直到该值为“0”。 递减操作与用户程序不同步执行。因此,定时器中的值比预期的时基Zui多短一个时间间隔值。 以下给出了如何构造时间单元的一个示例:另请参见“L:加载定时器值”。
如果操作数“Tag_1”的信号状态从“1”变为“0”,将启动“Timer_1”定时器。定时器的运行时间为 “Tag_Number”。只要定时器在计时或操作数“Tag_1”返回信号状态“1”,操作数“Tag_Status”的 信号状态就为“1”。 如果定时器已达到预置时间且操作数“Tag_1”的信号状态为“0”,则操作数“Tag_Status”的信号 状态将复位为“0”。如果在定时器计时期间操作数“Tag_1”的信号状态从“0 变为“1”,将复位定 时器。只有在检测到参数 S 的下降沿后,才会重新启动定时器。 当前时间值在操作数“Tag_Value”中以二进制编码形式存储,并作为函数值返回。计数器操作 (S7-1200, S7-1500) 调用 IEC 计数器 (S7-1200, S7-1500) 说明 IEC 计数器可声明为单实例或多重实例并在程序代码中进行调用。 在块接口中,将 IEC 计数器声明为结构中多重实例的语法如下所示: IEC 计数器声明为 ARRAY 元素 块接口中的声明CTU:增计数 (S7-1200, S7-1500) 说明 可以使用“加计数”指令递增 CV 参数的值。如果参数 CU 的信号状态从“0”变为“1”(信号上 升沿),则执行该指令,同时参数 CV 的当前计数器值加“1”。每检测到一个上升沿,计数器 值就会递增,直到其达到参数 CV 中所指定数据类型的上限。达到上限时,参数 CU 的信号 状态将不再影响该指令。 可以通过参数 Q 查询计数状态。参数 Q 的信号状态由参数 PV 决定。如果当前计数器值大于 或等于参数 PV 的值,则参数 Q 的信号状态将置位为“1”。在其它任何情况下,参数 Q 的信 号状态均为“0”。也可以为参数 PV 指定一个常数。 参数 R 的信号状态变为“1”时,参数 CV 的值将复位为“0”。只要参数 R 的信号状态为“1”,参数 CU 的信号状态就不会影响该指令。 说明 只需在程序中的某一位置处使用计数器,即可避免计数错误的风险。 每次调用“加计数”指令,都会为其分配一个 IEC 计数器用于存储指令数据。IEC 计数器是 一种具有以下某种数据类型的结构: S7-1200 系列 CPU 系统数据类型 IEC_的数据块(共 享 DB) 局部变量 • IEC_SCOUNTER / IEC_USCOUNTER • IEC_COUNTER / IEC_UCOUNTER • IEC_DCOUNTER / IEC_UDCOUNTER • CTU_SINT / CTU_USINT • CTU_INT / CTU_UINT • CTU_DINT / CTU_UDINTS7-1500 系列 CPU: 系统数据类型 IEC_的数据块(共 享 DB) 局部变量 • IEC_SCOUNTER / IEC_USCOUNTER • IEC_COUNTER / IEC_UCOUNTER • IEC_DCOUNTER / IEC_UDCOUNTER • IEC_LCOUNTER / IEC_ULCOUNTER • CTU_SINT / CTU_USINT • CTU_INT / CTU_UINT • CTU_DINT / CTU_UDINT • CTU_LINT / CTU_ULINT