REAL或LREAL输入变量的截断(切断)十进制数,转换为DOUBLE INTEGER
TRUNC_TO_DINT切断REAL, LREAL数的十进制数并传送数据类型DOUBLE INTEGER的输出变量。
如果十进制数被切断,正数将减至零,而负数将增至零。
由于实数只有约7位的分辨率,因此大数字信息将丢失。
输入
输入数据类型
输出
转换结果
如果输入变量没有数据类型REAL
输出变量大于32位DOUBLE INTEGER
如果输出变量为零
所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。
VAR
REAL_value: TRUNC;
DINT_value: DINT:=0;
END_VAR
此例使用变量。也可以对输入变量使用常量。
REAL_value的十进制数被切断。结果将作为32位DOUBLE INTEGER存储到DINT_value中。
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 2 ;
NETWORK_BODY
B(B_F,TRUNC_TO_DINT!,Instance,10,0,19,2,,?D?C);
B(B_VARIN,,REAL_value,8,0,10,2,);
B(B_VAROUT,,DINT_value,19,0,21,2,);
L(1,0,1,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY
DINT_value:=TRUNC_TO_DINT(REAL_value);
LD |
REAL_value |
TRUNC_TO_DINT |
|
ST |
DINT_value |