4.函数&样例:TIME和DINT的相互转化Word文件下载.doc
《4.函数&样例:TIME和DINT的相互转化Word文件下载.doc》由会员分享,可在线阅读,更多相关《4.函数&样例:TIME和DINT的相互转化Word文件下载.doc(2页珍藏版)》请在冰点文库上搜索。
![4.函数&样例:TIME和DINT的相互转化Word文件下载.doc](https://file1.bingdoc.com/fileroot1/2023-5/11/ab136f44-d16b-4847-9f91-07f2b9b1eb71/ab136f44-d16b-4847-9f91-07f2b9b1eb711.gif)
天数,小时数,分钟数,秒数和毫秒数?
<
b>
如何将这些个别变量:
天数,小时数,分钟数,秒数和毫秒数(“DINT”数据类型)反向转换为“TIME”数据类型?
/p>
解答:
“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”到“TIME”的转换:
(毫秒数)
可以根据需求随意修改函数。