4.函数&样例:TIME和DINT的相互转化.doc

上传人:wj 文档编号:7393881 上传时间:2023-05-11 格式:DOC 页数:2 大小:36.50KB
下载 相关 举报
4.函数&样例:TIME和DINT的相互转化.doc_第1页
第1页 / 共2页
4.函数&样例:TIME和DINT的相互转化.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

4.函数&样例:TIME和DINT的相互转化.doc

《4.函数&样例:TIME和DINT的相互转化.doc》由会员分享,可在线阅读,更多相关《4.函数&样例:TIME和DINT的相互转化.doc(2页珍藏版)》请在冰点文库上搜索。

4.函数&样例:TIME和DINT的相互转化.doc

函数&样例:

TIME和DINT的相互转化

问题:

如何将“TIME”数据类型的变量转换为“DINT”数据类型,使得转换后以下个别变量仍然保留:

天数,小时数,分钟数,秒数和毫秒数?

如何将这些个别变量:

天数,小时数,分钟数,秒数和毫秒数(“DINT”数据类型)反向转换为“TIME”数据类型?

解答:

 “TIME”类型的变量内容被解释为毫秒数并且保存为有符号的32位定点数(占用一个双字)。

为了将数据类型“TIME”(以毫秒数计数)拆分到上述参数中,建议按下列步骤操作:

天数的计算:

days=TIME_value/86400000//1天=86400000毫秒。

daysinhours=days*24//以小时来计算天数。

daysinminutes=days*1440//以分钟数来计算天数。

daysinseconds=days*86400//以秒数来计算天数。

ddaysinmilliseconds=days*86400000//以毫秒数来计算天数。

小时数的计算:

Hours=(TIME_value/3600000)-daysinhours

hoursinminutes=hours*60//以分钟数计算小时数。

hoursinseconds=hours*3600//以秒数计算小时数。

hoursinmilliseconds=hours*3600000//以毫秒数计算小时数。

分钟数的计算:

Minutes=(TIME_value/60000)-daysinminutes-hoursinminutes

minutesinseconds=minutes*60//以秒数计算分钟数。

miniutesinmilliseconds=minutes*60000//以毫秒数计算分钟数。

秒数的计算:

Seconds=(TIME_value/1000)-daysinseconds-hoursinseconds-minutesinseconds

ssecondsinmilliseconds=seconds*1000//以毫秒数计算秒数。

毫秒数的计算:

Milliseconds=TIME_value-daysinmilliseconds-hoursinmilliseconds-secondsinmilliseconds.

现在,如果想把上述参数(类型:

DINT)反向转换为数据类型为“TIME”的变量,那么首先需要将变量(天数,小时数,分钟数和秒数)转化为毫秒数然后把所有变量相加在一起。

该样例中含有一个STEP7V5.1项目,包含了从数据类型“Time”到数据类型“DINT”的转换(FC12)和从数据类型“DINT”到数据类型“TIME”的转换(FC11)。

从“TIME”到“DINT”的转换:

输入:

  

Time_value类型:

 

TIME (毫秒数)

输出:

 

天类型:

  

DINT

输出:

 

小时类型:

DINT

输出:

 

分钟类型:

  

DINT

输出:

 

秒类型:

 

DINT

输出:

 

毫秒类型:

  

DINT

 从“DINT”到“TIME”的转换:

输入:

 

天类型:

  

DINT

输入:

  

小时类型:

DINT

输入:

  

分钟类型:

  

DINT

输入:

  

秒类型:

 

DINT

输入:

  

毫秒类型:

  

DINT

输出:

  

Time_value类型:

 

TIME (毫秒数)

 可以根据需求随意修改函数。

展开阅读全文
相关搜索
资源标签

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2