维他命c
级别: 探索解密
精华主题: 0
发帖数量: 43 个
工控威望: 145 点
下载积分: 772 分
在线时间: 40(小时)
注册时间: 2017-08-26
最后登录: 2024-04-24
查看维他命c的 主题 / 回贴
楼主  发表于: 2021-09-04 13:35
计时器的计时时间T#XXXms的数据怎样提取成X天X时X分X秒X毫秒,比如计时器的计时时间T#20D23H55M55S200MS,怎样将20天,23小时,55分,55秒,200MS单独提取出来?
13821917697
承接电气自动化项目、电气接线图设计、IO点表、电气元器件选型
级别: 工控侠客
精华主题: 0
发帖数量: 717 个
工控威望: 3102 点
下载积分: 10588 分
在线时间: 930(小时)
注册时间: 2019-12-26
最后登录: 2024-05-03
查看13821917697的 主题 / 回贴
1楼  发表于: 2021-09-04 19:48
你用计数器 然后用1秒钟发生器 触发它 自己做留个变量 存你的时分秒  做个进制关系(也就是计数器复位)就好了
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6738 个
工控威望: 37093 点
下载积分: 8580 分
在线时间: 9387(小时)
注册时间: 2006-09-13
最后登录: 2024-05-03
查看cvlsam的 主题 / 回贴
2楼  发表于: 2021-09-04 20:17
TIME类型就是一个无符号整型数据,其是以毫秒为单位的。

一天有86400秒,也就是说有86400000毫秒,除以这个数得到的就是天数,得到的余数除以3600000就是小时,得到余数除以60000就是分钟。。。。。

Good Luck~
mmtcyq
级别: 正式会员
精华主题: 0
发帖数量: 9 个
工控威望: 99 点
下载积分: 608 分
在线时间: 6(小时)
注册时间: 2016-08-04
最后登录: 2023-03-15
查看mmtcyq的 主题 / 回贴
3楼  发表于: 2021-09-04 21:03
一、如果是200SMART:
1、可以使用BGN_ITIME和CAL_ITIME分别读取开始时刻和结束时刻的时间值,来代替计时器指令,计算出来的时间差是整数值;
2、再使用时钟库指令SET_RTC_I将这个时间差写入RTC,再立即用READ_RTC指令读取RTC,就读出日期/时间格式了。

二、如果已经有了整数型的时间值,执行第二步就行了。

三、如果已经有了日期/时间格式的计时值,直接按照存储顺序读取就可以了,注意:这个值的格式是BYTE的BCD格式。
这样处理的时间精度可能不高,在秒级。
[ 此帖被mmtcyq在2021-09-04 21:10重新编辑 ]
维他命c
级别: 探索解密
精华主题: 0
发帖数量: 43 个
工控威望: 145 点
下载积分: 772 分
在线时间: 40(小时)
注册时间: 2017-08-26
最后登录: 2024-04-24
查看维他命c的 主题 / 回贴
4楼  发表于: 2021-09-04 22:29
图片:
引用
引用第2楼cvlsam于2021-09-04 20:17发表的  :
TIME类型就是一个无符号整型数据,其是以毫秒为单位的。

一天有86400秒,也就是说有86400000毫秒,除以这个数得到的就是天数,得到的余数除以3600000就是小时,得到余数除以60000就是分钟。。。。。

Good Luck~


正解!!
能解释一下图片中的结果为什么少了0.2秒吗?