4.函数&样例:TIME和DINT的相互转化.doc
- 文档编号:2486342
- 上传时间:2022-10-30
- 格式:DOC
- 页数:2
- 大小:36.50KB
4.函数&样例:TIME和DINT的相互转化.doc
《4.函数&样例:TIME和DINT的相互转化.doc》由会员分享,可在线阅读,更多相关《4.函数&样例:TIME和DINT的相互转化.doc(2页珍藏版)》请在冰豆网上搜索。
函数&样例:
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 (毫秒数)
可以根据需求随意修改函数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 函数 样例 TIME DINT 相互 转化