截断 (TRUNC)

下表列出了支持此指令的控制器和应用程序。
架构
标准应用程序
安全应用程序
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器
启用后,TRUNC 指令移除(截断)源的小数部分,并将结果存储在目标中。
小贴士: 在 Logix Designer 版本 36 中,此指令的助记符从 TRN 更改为 TRUNC。
可用语言
梯形图
功能块图
功能块图支持以下元素:
FBD 块
FBD 函数
小贴士: FBD 函数仅适用于 CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器。
结构化文本
此指令不可用于结构化文本中。
小贴士: 在表达式中使用 TRUNC 运算符可以计算出相同的结果。有关结构化文本中表达式和赋值语法的信息,请参见部分。
操作数
重要提示: 以下情况下会导致运行出现意外:
  • 输出标签操作数被覆盖。
  • 结构操作数的成员被覆盖。
  • 除非另外指定,否则结构操作数由多条指令共用。
指令中混用数据类型时,需遵从相关的数据转换规则。请参阅 数据转换
梯形图
操作数
数据类型
CompactLogix
5370、
ControlLogix
5570、
Compact GuardLogix
5370 和
GuardLogix
5570 控制器
数据类型
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器
格式
说明
Source
REAL
REAL
LREAL
立即数
标签
要截断的值。
Destination
SINT
INT
DINT
REAL
SINT
INT
DINT
LINT
USINT
UINT
UDINT
ULINT
REAL
LREAL
标签
用于存储指令结果的标签。
功能块图
FBD 块
操作数
类型
格式
说明
TRUNC
FBD_TRUNCATE
标签
TRN 结构
FBD 函数
输入操作数(左侧引脚)
数据类型
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器
说明
Source
REAL
LREAL
要截断的值
输出操作数(右侧引脚)
数据类型
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器
说明
Dest
LINT
函数的结果。
请参阅
FBD_TRUNCATE 结构
输入成员
数据类型
说明
EnableIn
BOOL
启用输入。如果为假,指令不会执行,也不会更新输出。
默认值为真。
Source
REAL
转换指令的输入。
输入还可以通过输入标签获取 SINT、INT、DINT、LINT、USINT、UINT、UDINT、ULINT 和 LREAL。但是整型类型将首先转换为 REAL 类型。
将 SINT、INT、USINT 或 UINT 转换为 REAL 类型时,不会损失数据精度。
将 32 位类型(DINT、UDINT)转换为 REAL 类型时,可能会损失数据精度。两种数据类型都是以 32 位存储数据,但 REAL 类型 32 位中的一些位用于存储指数值。如果精度出现损失,控制器从 32 位类型(DINT、UDINT)的最低有效位获取数据。
将 64 位类型(LINT、ULINT 和 LREAL)转换为 REAL 类型时,可能会损失数据精度。
输出成员
数据类型
说明
EnableOut
BOOL
指示指令使能后是否无故障执行。
Dest
DINT
指令结果。
说明
截断并不是对值进行舍入;而是无论小数部分的值为何,非小数部分均保持不变。
影响数学状态标志
控制器
是否影响数学状态标志
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器
有一定条件下影响,请参阅
CompactLogix
5370、
ControlLogix
5570、
Compact GuardLogix
5370 和
GuardLogix
5570 控制器
严重/轻微故障
没有特定于此指令的故障。请参阅以了解数组索引错误。
执行
梯形图
条件/状态
执行的操作
预扫描
不适用。
梯级输入条件为假
将梯级输出条件设置为梯级输入条件。
梯级输入条件为真
将梯级输出条件设置为梯级输入条件。
Dest = Source 的截断值。
后扫描
不适用。
功能块图
FBD 块
条件/状态
执行的操作
预扫描
不适用
EnableIn 为假
将 EnableOut 设为 EnableIn。
EnableIn 为真
Dest = Source 的截断值。
如果发生溢出
将 EnableOut 设置为假。
否则
将 EnableOut 设置为真。
指令首次扫描
不适用
指令首次运行
不适用
后扫描
不适用
FBD 函数
条件/状态
执行的操作
预扫描
不适用
普通扫描
Dest = Source 的截断值。
指令首次运行
不适用
指令首次扫描
不适用
后扫描
不适用
示例
梯形图
功能块图
FBD 块
FBD 函数
结构化文本
REAL_dest := TRUNC(REAL_src);
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal