加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

【S7-300】Step7如何将定时器(Timer)的剩余时间转为浮点数(Real)?

(2013-10-17 22:50:56)
分类: 图说S7-300

在Step7中定时器(Timer)的输出参数BI、BCD,是其剩余时间的两种数据格式。BI以整数Int格式显示,BCD以BCD格式显示。如何将BI、BCD转为秒为单位的浮点数(Real),下面提供了思路和例程。

1 定时器(Timer)的参数说明
定时器(Timer)在编程中大量使用,有时会用到其剩余时间,例如用剩余时间进行其他运算和编程,或者在其它厂家的触摸屏上显示。这时,需将定时器的剩余时间转为浮点数(Real),以秒为单位。
下面是调用定时器的程序截图,预设定时时间为1分钟为例。

【S7-300】Step7如何将定时器(Timer)的剩余时间转为浮点数(Real)?

 

首先,分析定时器的各参数含义,按鼠标左键点击定时器框图后按F1键会看到step7帮助信息,如下图。

【S7-300】Step7如何将定时器(Timer)的剩余时间转为浮点数(Real)?

由此可见输出参数BI、BCD是定时器剩余时间的两种数据格式。BI以整数Int格式显示,BCD以BCD格式显示。注意,此处BCD格式即是S5Time格式,其数据结构和时基如下:

【S7-300】Step7如何将定时器(Timer)的剩余时间转为浮点数(Real)?

http://ugc.qpic.cn/adapt/0/4bde3cf2-a4bb-ccc1-62ac-4be7316353c1/800

明显看出,参数BI转为秒为单位的浮点数,必须利用参数BCD的时基。参数BCD转为秒为单位的浮点数,需调用库函数FC33(S5TI_TIM)。

2 剩余时间参数BI,转为秒为单位的浮点数(Real)
思路:参数BI -> 整数INT -> 双整数DI -> 浮点数Real -> 取参数BCD的时基 -> 根据不同时基,转为秒为单位的浮点数Real。编程如下:

 

【S7-300】Step7如何将定时器(Timer)的剩余时间转为浮点数(Real)?

【S7-300】Step7如何将定时器(Timer)的剩余时间转为浮点数(Real)?

3 剩余时间参数BCD,转为秒为单位的浮点数(Real)
思路:参数BCD -> 时间S5Time -> 库函数FC33(S5TI_TIM) -> 时间Time -> 双整数DI -> 浮点数Real -> 除以1000.0,转为秒为单位的浮点数Real。编程如下:

【S7-300】Step7如何将定时器(Timer)的剩余时间转为浮点数(Real)?

4 结果显示
本例程中,定时器的预设定时时间为1分钟,启动定时器,截图如下。
可见,截图时定时器剩余时间为30s500ms,参数BI和BCD转为秒为单位的浮点数,均为30.5秒。

【S7-300】Step7如何将定时器(Timer)的剩余时间转为浮点数(Real)?

 

【S7-300】Step7如何将定时器(Timer)的剩余时间转为浮点数(Real)?



================================================

工控老鬼技Bloghttp://blog.sina.com.cn/wincchome 

启程培中心 http://www.gongkong8.com/

E-mailgongkong8@foxmail.com

QQ 920500908

================================================

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有