Codesys数据结构:时间 标准数据类型

本文介绍了四种时间数据类型(TIME、TIME_OF_DAY、DATE、DATE_AND_TIME),以及四个与时间相关的功能块(TOF、TON、TP、RTC),详细讲解了它们的表示方式和在编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如图所示,一共有四种类型可以表示时间,但是每种类型的表示时间的分辨率不同,我们经常用到的是TIME类型,精确到毫秒

类型介绍

(1)TIME:

长度为32位的时间数据类型,分别率为毫秒,其数据类型的常量以"T#"开头,其变量建议使用前缀"t"标识,比如下面代码中的tStartTime。
其中 "D"表示天,"H"表示小时,"M"表示分钟,"S"表示秒,"MS"表示毫秒

tStartTime : TIME :=T#1D7H2M47S200MS;
(2)TIME_OF_DAY :

数据长度为32位的数据类型,分表率是毫秒,用来表示一天的时钟时间,其数据类型的常量以"TOD#"开头,其变量建议使用前缀"tod"标识,比如下面代码中的todTime。其数值代表:20点10分35秒101毫秒

todTime : TIME_OF_DAY :=TOD#20:10:35.101;(*201035101毫秒*)
(3)DATE :

数据长度为32位的数据类型,分表率是天,用来表示日期,其数据类型的常量以"D#"或者"DATE"开头,其变量建议使用前缀"date"标识,比如下面代码中的dateTime。其数值代表:2022年2月22号

dateTime : DATE :=D#2022-02-22;(*2022222*)
(4) DATE_AND_TIME :

数据长度为32位的数据类型,分表率是秒,用来表示日期时间,其数据类型的常量以"DT#"开头,其变量建议使用前缀"dt"标识,比如下面代码中的dateTime。其数值代表:2022年2月22号20点8分10秒

dtTime : DATE_AND_TIME:= DT#2022-02-22-20:08:10;(*202222220810*)

相关功能块说明

(1)TOF(IN,PT,Q,ET): 延时断开功能块;
  • 当输入IN从TRUE变为FALSE,ET开始从0计时,Q为TRUE;
  • 当记录时间ET >= 设置时间PT时,Q为FALSE;
  • 在中间过程中,如果IN从FALSE置为TRUE,ET清空为0,Q为TRUE;

(2) TON(IN,PT,Q,ET): 延时导通功能块;
  • 当输入IN从FALSE变为TRUE,ET开始从0计时,Q为FALSE;
  • 当记录时间ET >= 设置时间PT时,Q为TRUE一直到IN为FALSE;
  • 在中间过程中,如果IN从TRUE置为FALSE,ET清空为0,Q为FALSE;

(3)TP(IN,PT,Q,ET) : 脉冲定时器
  • 如果IN为FALSE,Q为FALSE, ET为0;
  • 只要IN变为TRUE,定时器开始启动,ET开始计时直到到达PT,Q为TRUE;
  • 在定时器运行中,IN即使变为FALSE,ET 也会不断计时直到到达PT,在此过程中Q也保持为TRUE;

(4) RTC(EN,PDT,Q,CDT):
  • 当输入ET变为TRUE时,CDT会以设置时间PDT为起点开始计时,Q输出为TRUE;
  • 当输入ET变为FALSE时,CDT初始化为默认值,Q输出为FALSE;

请添加图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值