1、天数,小时数,分钟数,秒数和毫秒数?如何将这些个别变量:天数,小时数,分钟数,秒数和毫秒数(“DINT” 数据类型)反向转换为“TIME”数据类型? /p 解答:“TIME”类型的变量内容被解释为毫秒数并且保存为有符号的32位定点数(占用一个双字)。为了将数据类型“TIME”( 以毫秒数计数)拆分到上述参数中, 建议按下列步骤操作:天数的计算:days = TIME_value / 86400000 /1 天 = 86400000毫秒。daysinhours = days * 24 /以小时来计算天数。daysinminutes = days * 1440 /以分钟数来计算天数。daysins
2、econds = days * 86400 /以秒数来计算天数。ddaysinmilliseconds = days * 86400000 /以毫秒数来计算天数。小时数的计算:Hours = (TIME_value / 3600000) - daysinhourshoursinminutes = hours * 60 /以分钟数计算小时数。hoursinseconds = hours * 3600 /以秒数计算小时数。hoursinmilliseconds = hours * 3600000 /以毫秒数计算小时数。分钟数的计算:Minutes = (TIME_value / 60000) -
3、daysinminutes - hoursinminutesminutesinseconds = minutes * 60 /以秒数计算分钟数。miniutesinmilliseconds = minutes * 60000 /以毫秒数计算分钟数。秒数的计算:Seconds = (TIME_value / 1000) - daysinseconds - hoursinseconds - minutesinsecondsssecondsinmilliseconds = seconds * 1000 /以毫秒数计算秒数。毫秒数的计算:Milliseconds = TIME_value - days
4、inmilliseconds - hoursinmilliseconds - secondsinmilliseconds. 现在,如果想把上述参数(类型:DINT)反向转换为数据类型为“TIME”的变量,那么首先需要将变量(天数, 小时数,分钟数和秒数)转化为毫秒数然后把所有变量相加在一起。该 样例中含有一个STEP 7 V5.1项目,包含了从数据类型“Time”到数据类型“DINT”的转换(FC12)和从数据类型“ DINT”到数据类型“TIME”的 转换(FC11)。从“TIME”到“DINT”的转换:输入:Time_value 类型:TIME(毫秒数)输出:天类型:DINT小时类型:分钟类型:秒类型:毫秒类型:从“DINT”到“TIME”的转换: (毫秒数)可以根据需求随意修改函数。