数学函数 (S7-300,S7-400) NEG:取反 (S7-300, S7-400) 说明可以使用“取反”指令更改操作数值的符号。例如,如果值为正值,则输出该值的负等效值。 如果指令结果超出输出 OUT指定的数据类型的允许范围(仅对整数有效),则输出 OUT 的 值无效。 参数 下表列出了该指令的参数: 参数 声明 数据类型 存储区说明 <操作数> Input 整数、浮点数 I、Q、M、D、 L、P 或常数 输入值 <结果> Output整数、浮点数 I、Q、M、D、 L、P 输入值取反 可以从“???”下拉列表中选择该指令的数据类型。有关有效数据类型的更多信息,请参见“另请参见”。
操作系统会在冷启动期间复位“加减计数”指令的实例。如果要在暖启动后初始化该指令的 实例,则必须在启动 OB时使用以下参数值调用要初始化的实例: • 用作加计数器时,参数 R 的值必须设置为“1”。 • 用作减计数器时,参数 LD的值必须设置为“1”。在这种情况下,需要在参数 PV 中为 CV 参 数指定所需的初始值。如果“加减计数”指令的实例位于其它块中,则可以通过诸如初始化上级块来复位这些实例。执行“加减计数”指令之前,需要事先预设一个逻辑运算。该运算可以放置在程序段的中间 或者末尾。 参数 下表列出了该指令的参数: 参数声明 数据类型 存储区 说明 CU Input BOOL I、Q、M、D、L 加计数输入 CD Input BOOLI、Q、M、D、L 减计数输入 R Input BOOL I、Q、M、D、 L、T、C、P 复位输入 LD Input BOOLI、Q、M、D、 L、P 装载输入 PV Input INT I、Q、M、D、 L、P 或常量 输出 QU 被设置的值/LD = 1的情况下,输出 CV 被设 置的值。 QU Output BOOL I、Q、M、D、L 加计数器的状态 QD Output BOOLI、Q、M、D、L 减计数器的状态 CV Output INT I、Q、M、D、 L、P 当前计数器值可以从“???”下拉列表中选择该指令的数据类型。有关有效数据类型的更多信息,请参见“另请参见”。当输入“Tag_StartCTU”或“Tag_StartCTD”的信号状态从“0”变为“1”(信号上升沿)时,将执行“加减计数”指令。输入“Tag_StartCTU”出现信号上升沿时,当前计数器值加 1 并存储在输出“Tag_CounterValue”中。输入“Tag_StartCTD”出现信号上升沿时,当前计数器值减 1 并存储在输出“Tag_CounterValue”中。输入 CU 出现信号上升沿时,计数器值将递增,直至其达到 上限值 32767。输入 CD出现信号上升沿时,计数器值将递减,直至其达到 INT 的下限值 -32768。只要当前计数器值大于或等于输入“Tag_PresetValue”的值,输出“Tag_CounterStatusUP”的信号状态就为“1”。在其它任何情况下,输出“Tag_CounterStatusUP”的信号状态均为“0”。 只要当前计数器值小于或等于0,“Tag_CounterStatusDOWN”输出的信号状态就为“1”。在其它任何情况下,输出“Tag_CounterStatusDOWN”的信号状态均为“0”。MIN:获取Zui小值 (S7-300,S7-400) 说明 可以使用“获取Zui小值”指令,比较输入 IN1、IN2 和 IN3 的值,并将Zui小的值写入输出 OUT中。只有当所有输入的变量均为同一种数据类型时,才能执行该指令。 如果满足以下某个条件,则输出 OUT 的值无效: •指定的变量不具有相同的数据类型。 • 浮点数的值无效。 参数 下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 IN1Input 整数、浮点数 I、Q、M、D、 L、P 第一个输入值 IN2 Input 整数、浮点数 I、Q、M、D、 L、P第二个输入值 IN3 Input 整数、浮点数 I、Q、M、D、 L、P 第三个输入值 OUT Output 整数、浮点数I、Q、M、D、 L、P 结果 可以从“???”下拉列表中选择该指令的数据类型。 有关有效数据类型的更多信息,请参见“另请参见”。说明 参数分配 在输入参数中,只允许使用数据类型 INT、DINT 和 REAL,IEC 检查禁用时也同样如此。 如果使用WORD 或 DWORD 数据类型的输入参数,则指令将返回未知结果。 函数的输入参数 (Input)、输出参数 (Output)和输入/输出参数 (InOut) 不得连接到指 令的输入和输出参数。如果需要,使用临时变量 (Temp) 作为缓冲。MAX:获取Zui大值(S7-300, S7-400) 说明 可以使用“获取Zui大值”指令,比较输入 IN1、IN2 和 IN3 的值,并将Zui大的值写入输出OUT 中。只有当所有输入的变量均为同一种数据类型时,才能执行该指令。 如果满足以下某个条件,则输出 OUT 的值无效: •指定的变量不具有相同的数据类型。 • 浮点数的值无效。下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 IN1 Input整数、浮点数 I、Q、M、D、 L、P 第一个输入值 IN2 Input 整数、浮点数 I、Q、M、D、 L、P 第二个输入值 IN3Input 整数、浮点数 I、Q、M、D、 L、P 第三个输入值 OUT Output 整数、浮点数 I、Q、M、D、 L、P 结果可以从“???”下拉列表中选择该指令的数据类型。 有关有效数据类型的更多信息,请参见“另请参见”。 说明 参数分配在输入参数中,只允许使用数据类型 INT、DINT 和 REAL,IEC 检查禁用时也同样如此。 如果使用 WORD 或DWORD 数据类型的输入参数,则指令将返回未知结果。 函数的输入参数 (Input)、输出参数 (Output)和输入/输出参数 (InOut) 不得连接到指 令的输入和输出参数。如果需要,使用临时变量 (Temp)作为缓冲。LIMIT:设置限值 (S7-300, S7-400) 说明 可以使用“设置限值”指令,将输入 IN 的值限制在输入 MN与 MX 的值范围之间。如果输入 IN 的值满足条件 MN <= IN <= MX,则复制到 OUT输出中。如果不满足该条件且输入值 IN 低 于下限 MN,则将输出 OUT 设置为输入 MN 的值。如果超出上限 MX,则将输出OUT 设置 为输入 MX 的值。 如果输入 MN 的值大于输入 MX 的值,则结果为未定义。只有当所有输入的变量均为同一种数据类型时,才能执行该指令。 如果满足以下某个条件,则输出 OUT 的值无效: • 指定的变量不具有相同的数据类型。 •某个操作数的值无效。 • MN 输入的值大于 MX 输入的值。下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 MNInput 整数、浮点数 I、Q、M、D、 L、P 下限 IN Input 整数、浮点数 I、Q、M、D、 L、P 输入值 MXInput 整数、浮点数 I、Q、M、D、 L、P 上限 OUT Output 整数、浮点数 I、Q、M、D、 L、P 结果可以从“???”下拉列表中选择该指令的数据类型。 有关有效数据类型的更多信息,请参见“另请参见”。 说明 参数分配在输入参数中,只允许使用数据类型 INT、DINT 和 REAL,IEC 检查禁用时也同样如此。 如果使用 WORD 或DWORD 数据类型的输入参数,则指令将返回未知结果。 函数的输入参数 (Input)、输出参数 (Output)和输入/输出参数 (InOut) 不得连接到指 令的输入和输出参数。如果需要,使用临时变量 (Temp) 作为缓冲。SQR:计算平方(S7-300, S7-400) 说明 可以使用“计算平方”指令计算操作数的浮点值平方,并将结果写入到输出中。如果操作数包含无效的浮点数,则结果值无效。 参数 下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 <操作数>Input 浮点数 I、Q、M、D、 L、P 或常数 输入值 <结果> Output 浮点数 I、Q、M、D、 L、P输入值的平方 有关有效数据类型的更多信息,请参见“另请参见”。SQRT:计算平方根 (S7-300, S7-400) 说明使用“计算平方根”指令,可以计算输入值的平方根,并将结果保存到指定的操作数中。如果输入值大于零,则该指令的结果为正数。如果输入值小于零,则该指令返回一个无效浮点 数。如果操作数的值为“0”,则结果也为“0”。 参数下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 <操作数> Input 浮点数 I、Q、M、D、 L、P或常数 输入值 <结果> Output 浮点数 I、Q、M、D、L 输入值的平方根有关有效数据类型的更多信息,请参见“另请参见”。