反正切(ATAN)
下表列出了支持此指令的控制器和应用程序。
架构 | 标准应用程序 | 安全应用程序 |
|---|---|---|
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 是 | 否 |
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 是 | 是 |
使能后,ATAN 指令可计算 Source 值的反正切值,并将结果存储在 Destination 中(以弧度为单位)。ATAN 运算符/函数计算 Source 的反正切值并返回浮点型结果。Destination 中的结果值大于等于 -pi/2 或小于等于 pi/2 (pi = 3.141593)。
小贴士:
在 Logix Designer 版本 36 中,此指令的助记符从 ATN 更改为 ATAN。
可用语言
梯形图

功能块图
功能块图支持以下元素:
FBDBlock

FBDFunction

结构化文本
此指令不可用于结构化文本中。
小贴士:
在表达式中使用 ATAN 运算符可以计算出相同的结果。有关结构化文本中表达式和赋值语法的信息,请参见结构化文本语法部分。
梯形图
操作数 | 数据类型 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 | 立即数 标签 | 要转换为反正切的值。 |
Destination | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | 标签 | 用于存储指令结果的标签。 |
功能块图
功能块
操作数 | 类型 | 格式 | 说明 |
ATAN 标签 | FBD_MATH_ADVANCED | 标签 | ATAN结构 |
FBD_MATH_ADVANCED 结构
输入成员 | 数据类型 | 说明 |
EnableIn | BOOL | 启用输入。如果为假,指令不会执行,也不会更新输出。 默认值为真。 |
Source | REAL | 三角函数指令的输入。 |
输出成员 | 数据类型 | 说明 |
EnableOut | BOOL | 指示指令使能后是否无故障执行。 |
Dest | REAL | 指令结果。 |
FBDFunction
小贴士:
FBD 函数仅适用于 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器。
操作数 | 数据类型 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 说明 |
Source | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | 要转换为反正切的值。 |
输出操作数(右侧引脚) | 数据类型 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 说明 |
Dest | REAL LREAL | 函数的结果。 |
请参见 FBD 函数。
运算符方面
ATAN 运算符可用于各种 RLL 表达式中。同样,在结构化文本语句中可调用 ATAN 函数。ATAN 返回包含 Source 的反正切的浮点型结果。根据上下文,可在适当情况下转换该值的数据类型。
影响数学状态标志
控制器 | 影响数学状态标志 |
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 有一定条件下影响,请参见数学状态标志部分。 |
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 是 |
严重/轻微故障
没有特定于此指令的故障。对于数组索引故障,请参阅 通过数组建立索引。
执行
梯形图
条件/状态 | 执行的操作 |
预扫描 | 不适用 |
梯级输入条件为假 | 将梯级输出条件设置为梯级输入条件。 |
梯级输入条件为真 | 将梯级输出条件设置为梯级输入条件。 Dest = Source 的反正切值。 |
后扫描 | 不适用 |
功能块图
FBDBlock
条件/状态 | 执行的操作 |
预扫描 | 不适用 |
EnableIn 为假 | 将 EnableOut 设为 EnableIn。 |
EnableIn 为真 | Dest = Source 的反正切值。 如果发生溢出 将 EnableOut 设置为假。 否则 将 EnableOut 设置为真。 |
指令首次扫描 | 不适用 |
指令首次运行 | 不适用 |
后扫描 | 不适用 |
FBDFunction
小贴士:
FBD 函数仅适用于 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器。
条件/状态 | 执行的操作 |
预扫描 | 不适用 |
普通扫描 | Dest = Source 的反正切值。 |
指令首次运行 | 不适用 |
指令首次扫描 | 不适用 |
后扫描 | 不适用 |
示例
梯形图

功能块图
FBD 块

FBD 函数

结构化文本
REAL_dest := ATAN(REAL_src);
提供反馈