双自变量反正切 (ATAN2)
此信息适用于 Compact GuardLogix 5380、CompactLogix 5380、ControlLogix 5580 和 GuardLogix 5580 控制器。
ATAN2 指令计算 Source 值的双自变量反正切值,并将结果存储在 Destination 中(以弧度为单位)。ATAN2 运算符/函数计算 Source 的反正切值并返回浮点型 (FLOAT) 型结果。目标中的结果值大于等于 -
p
且小于等于 p
(p
= 3.141593)。可用语言
梯形图

功能块图
功能块图仅支持 FBD 功能:
FBD 函数
小贴士:
FBD 功能仅适用于 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380 和 GuardLogix 5580 控制器。

结构化文本
此指令不可用于结构化文本中。
小贴士:
在表达式中使用 ATAN2 运算符可以计算出相同的结果。有关结构化文本中表达式和赋值语法的信息,请参见结构化文本语法部分。
操作数
重要提示:
以下情况下会导致运行出现意外:
- 输出标签操作数被覆盖。
- 结构操作数的成员将被覆盖。
- 除非另外指定,否则结构操作数由多条指令共用。
梯形图
操作数 | 数据类型 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380 和 GuardLogix 5580 控制器 | 格式 | 说明 |
Source Y | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | 立即数 标签 | ATAN2 输入的 Source Y |
Source X | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | 立即数 标签 | ATAN2 输入的 Source X |
Dest | REAL LREAL | 标签 | 用于存储指令结果的标签。 |
功能块图
FBD 函数
操作数 | 数据类型 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380 和 GuardLogix 5580 控制器 | 说明 |
Source Y | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | ATAN2 输入的 Source Y |
Source Y | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | ATAN2 输入的 Source X |
输出操作数(右侧引脚) | 数据类型 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380 和 GuardLogix 5580 控制器 | 说明 |
Dest | REAL LREAL | 函数的结果。 |
请参见 FBD 函数。
运算符方面
ATAN2 运算符可用于各种 RLL 表达式中。同样,在结构化文本语句中可调用 ATAN2 函数。ATAN2 返回浮点 (FLOAT) 型结果,其中包含 Source Y 和 Source X 的双自变量反正切结果。根据上下文的不同,可根据情况转换该值的类型。
影响数学状态标志
控制器 | 影响数学状态标志 |
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380 和 GuardLogix 5580 控制器 | 有一定条件下影响,请参见数学状态标志部分。 |
严重/轻微故障
没有特定于此指令的故障。请参见“数组索引编制”通过数组建立索引,了解关于数组索引故障的信息。
执行
梯形图
条件/状态 | 执行的操作 |
预扫描 | 不适用 |
梯级输入条件为假 | 将梯级输出条件设置为梯级输入条件。 |
梯级输入条件为真 | 将梯级输出条件设置为梯级输入条件。 Dest = ATAN2(Source Y, Source X) |
后扫描 | 不适用 |
功能块图
FBD 函数
条件/状态 | 执行的操作 |
预扫描 | 不适用 |
普通扫描 | Dest = ATAN2(Source Y, Source X) |
指令首次运行 | 不适用 |
指令首次扫描 | 不适用 |
后扫描 | 不适用 |
示例
梯形图

功能块图
FBD 函数

结构化文本
REAL_dest := ATAN2(REAL_srcY, REAL_srcX);
提供反馈