时间格式与实数格式之间的转换
仿真结果如下:
IN_T为time数据类型,30s500ms转成实数OUT_R为30.5
IN_R为REAL数据类型,50.5转换成时间格式OUT_T为50s500ms
实数和时间之间存在1000ms的比例,实数转换成时间格式如下:
首先插入一个FB10块,建立输入输出变量:
IN_R-----Real输入实数
IN_T------Time输入时间
Max------Real实数溢出最大值
OUT_T----Time输出时间格式(实数转时间)
OUT_R----real输出实数格式(时间转实数)
程序段1:实数转时间
L#IN_R//装载输入实数
ABS//如果输入实数为负数我们就取绝对值
L3.153600e+007//装载实数溢出最大值,也可以自己设定转换的最大实数
>R//实数和设定最大值之间比较
JPSET//如果给定的值大于设定的最大值跳转到SET往下执行,如果不大
则往下执行
L#IN_R//装载实数
L1.000000e+003//装载1000,即时基1000ms
*R//两个数相乘
RND//取整数,转换成双整
T#OUT_T//将结果存入到时间输出
JUNEXT//无条件跳转到NEXT
SET:L#max//装载我们设定的最大实数
L1.000000e+003//装载1000ms
*R
RND
T#OUT_T
NEXT:NOP0//执行下一个扫描周期
程序段2:时间格式转实数
L#IN_T//装载时间格式的输入值
T#T_R//将它传入双整格式的临时变量T_R中
L#T_R//装载这个临时变量
DTR//将双整转换成实数
L1.000000e+003//装载1000ms
/R//转换的实数除以1000ms时基
T#OUT_R//将结果传送到实数结果输出
最后再插入背景数据块,DB1,再在主程序OB1里面调用即可。
本文发布于:2022-11-12 00:56:18,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/1270.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |