平方根 (SQRT)

下表列出了支持此指令的控制器和应用程序。
架构
标准应用程序
安全应用程序
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器
平方根 (SQRT) 指令和运算符用于计算 Source 的平方根,并将结果放入 Dest 中。
小贴士: 在 Logix Designer 版本 36 中,此指令的助记符从 SQR 更改为 SQRT。
可用语言
梯形图
功能块图
功能块图支持以下元素:
FBD 块
FBD 函数
小贴士: FBD 函数仅适用于 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器。
SQRT fbd function
结构化文本
此指令不可用于结构化文本中。
小贴士: 在表达式中使用 SQRT 运算符可以计算出相同的结果。有关结构化文本中表达式和赋值语法的信息,请参见结构化文本语法部分。
操作数
重要提示: 以下情况下会导致运行出现意外:
  • 输出标签操作数被覆盖。
  • 结构操作数的成员被覆盖。
  • 除非另外指定,否则结构操作数由多条指令共用。
指令中混用数据类型时,需遵从相关的数据转换规则。请参阅数据转换“数据转换”部分。
梯形图
操作数
数据类型
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器
数据类型
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器
格式
说明
Source
SINT
INT
DINT
REAL
SINT
INT
DINT
LINT
USINT
UINT
UDINT
ULINT
REAL
LREAL
立即数
标签
计算该值的平方根。
Dest
SINT
INT
DINT
REAL
SINT
INT
DINT
LINT
USINT
UINT
UDINT
ULINT
REAL
LREAL
标签
用于存储指令结果的标签。
功能块图
FBD 块
操作数
数据类型
格式
说明
SQRT
FBD_MATH_ADVANCED
标签
SQRT结构
FBD_MATH_ADVANCED 结构
输入成员
数据类型
说明
EnableIn
BOOL
启用输入。如果为假,指令不会执行,也不会更新输出。
默认值为真。
Source
REAL
确定该值的平方根。
输出成员
数据类型
说明
EnableOut
BOOL
指示指令使能后是否无故障执行。
Dest
REAL
指令结果。
FBD 函数
小贴士: FBD 函数仅适用于 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器。
输入操作数(左侧引脚)
数据类型
仅 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器
说明
SourceA
SINT
USINT
INT
UINT
DINT
UDINT
LINT
ULINT
REAL
LREAL
计算该值的平方根。
输出操作数(右侧引脚)
数据类型
仅 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器
说明
Dest
DINT
UDINT
LINT
ULINT
REAL
LREAL
函数的结果。
请参阅 FBD 函数
说明
如果 Dest 不是 LREAL/REAL 类型,该指令会按如下方式处理结果的小数部分:
如果 Source 为:
(适用于 CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器)
结果小数部分的处理方式:
示例
(适用于 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器)
结果小数部分的处理方式:
示例
任何基本整型标签/值
截断
Source
DINT
3
Rounds
Source
DINT
3
Dest
DINT
1
Dest
DINT
2
任何浮点标签/值
舍入
Source
REAL
3.0
Rounds
Source
REAL
3.0
Dest
DINT
2
Dest
DINT
2
如果 Source 为负值,指令会先求 Source 的绝对值,然后再计算平方根。
对于
CompactLogix
5370、
ControlLogix
5570、
Compact GuardLogix
5370 和
GuardLogix
5570 控制器,如果 Source 是整数数据类型,且 Dest 是整数数据类型,则指令将截断结果。例如,如果整型 Source 值为 3,则结果为 1.732,Dest 值变为 1。
如果 Source 的数据类型为 REAL 但 Dest 为整型类型,则指令对结果进行舍入。例如,如果 REAL 型 Source 值为 3.0,则结果为 1.732,Dest 值变为 2。
影响数学状态标志
控制器
影响数学状态标志
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380 和 GuardLogix 5580 控制器
在一定条件下影响
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器
请参见数学状态标志部分。
严重/轻微故障
没有特定于此指令的故障。请参见“数组索引编制”通过数组建立索引,了解关于数组索引故障的信息。
执行
梯形图
条件/状态
执行的操作
预扫描
不适用
梯级输入条件为假
将梯级输出条件设置为梯级输入条件。
梯级输入条件为真
将梯级输出条件设置为梯级输入条件。
Dest = Source 的平方根。
后扫描
不适用
功能块图
FBD 块
条件/状态
执行的操作
预扫描
不适用
EnableIn 为假
将 EnableOut 设为 EnableIn。
EnableIn 为真
Dest= Source 的平方根。
如果发生溢出
将 EnableOut 设置为假
否则
将 EnableOut 设置为真
指令首次运行
不适用
指令首次扫描
不适用
后扫描
不适用
FBD 函数
小贴士: FBD 函数仅适用于 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器。
条件/状态
执行的操作
预扫描
不适用
普通扫描
Dest = Source 的平方根
指令首次运行
不适用
指令首次扫描
不适用
后扫描
不适用
示例
梯形图
功能块图
FBD 块
FBD 函数
SQR _fbd fun example
结构化文本
REAL_dest := SQRT(INT_src);
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal