基于树莓派的CODESYS编程(5)——ST语言编程的基础:时间日...: 20211020090237163469175724934.png_基于树莓派的CODESYS编程(5)——ST语言编程的基础:时间日... - 酷德网 - CoDeSys软件教程下载,CoDeSys工控资讯门户 

酷德网

HSC6490-cn中国制造,中国芯~
搜索附件  
酷德网 附件中心 硬件及厂商专区 树莓派 Raspberry PI 基于树莓派的CODESYS编程(5)——ST语言编程的基础:时间日...: 20211020090237163469175724934.png

基于树莓派的CODESYS编程(5)——ST语言编程的基础:时间日...: 20211020090237163469175724934.png

 

基于树莓派的CODESYS编程(5)——ST语言编程的基础:时间日...:
  今天这篇文章我们来介绍下CODESYS编程环境下ST语言时间日期数据类型,这是后续编程的基础。
  1、时间数据类型

  1.1、TIME:长度为32位的时间数据类型,符合PLC编程标准IEC61131-3,分辨率为毫秒。TIME类型的常量以"T#"开头,其取值范围为:T#0D0H0M0S0MS~T#49D17H2M47S295MS,其中"D"表示"天","H"表示"小时","M"表示"分钟","S"表示"秒","MS"表示"毫秒";

  在实际使用时,没有必要把所有的单位都列出。TIME变量建议使用前缀"t"标识,比如下面的代码定义了一个tHold变量,其初始值为3小时20分钟;
  tHold : TIME :=T#3H20M; //保持时间
  1.2、LTIME:长度为64位的时间数据类型,分辨率为纳秒。LTIME类型的常量以"LTIME#"开头,其取值范围为:LTIME#0NS~LTIME#213503D23H34M33S709MS551US615NS,其中"US"表示微秒,"NS"表示纳秒,其它D/H/M/S/MS与TIME类型中的定义相同。LTIME类型变量建议前缀为"lt",比如下面的代码定义了一个ltRunning的变量,其初始值为20天31秒;
  ltRunning : LTIME :=LTIME#20D31S;
  2、日期数据类型

  日期数据类型包括六种:DATE、DATE_AND_TIME、TIME_OF_DATE、LDATE、LDATE_AND_TIME和LTIME_OF_DAY。

  2.1、DATE(日期)

  DATE的数据长度为32位,用来表示日期。DATE常量以"DATE#"或"D#"开头,其取值范围为:D#1970-01-01~D#2106-02-07。建议的命名前缀为"date",比如下面的代码定义了一个名称为"dateStart"的变量,其初始值为2021-10-19:
  dateStart: DATE:=DATE#2021-10-19;
  2.2、DATE_AND_TIME(日期时间)

  DATE_AND_TIME的数据长度为32位,用来表示日期及时间,分辨率为秒。其常量以DT#开头,取值范围为:DT#1970-1-1-0:0:0~DT#2106-02-07-06:28:15。建议的命名前缀为"dt",比如下面的代码定义了一个名称为"dtTimeNow"的变量,其初始值为2021-10-19-13:53:00;
  dtTimeNow: DATE_AND_TIME:=DT#2021-10-19-13:53:00;
  2.3、TIME_OF_DAY(时钟)

  TIME_OF_DAY的数据长度为32位,用来表示一天的时钟时间,分辨率为毫秒。其常量以"TOD#"开头,取值范围为:TOD#0:0:0~TOD#23:59:59.999。建议的命名前缀为"tod",比如下面的代码定义了一个名称为"todTimer"的变量,其初始值为14:08:59.555(14点08分59秒555毫秒)
  todTime: TIME_OF_DAY:=TOD#14:08:59.555;
  2.4、LDATE(长日期)

  LDATE与DATE类似,不过它的数据长度为64位,可表示的日期范围更长。其常量以"LD#"开头,取值范围为:LD#1970-1-1~LD#2554-7-21;建议的变量命名前缀为"ld",比如下面的代码定义了一个名称为"ldStart"的变量,其初始值为2021-10-19
  ldStart: LDATE:=LDATE#2021-10-19;
  2.5、LDATE_AND_TIME(长日期时间)

  LDATE_AND_TIME与之前介绍的DATE_AND_TIME类似,不过它使用LDATE取代之前的DATE,因而数据长度也是64位。其常量以"LDT#"开头,取值范围为:LDT#1970-1-1-0:0:0~LDT#2554-7-21-23:59:59.99999999。建议的命名前缀为"ldt",比如下面的代码定义了一个名称为"ldtTimeStart"的变量,其初始值为:LDT#2021-10-19-14:32:00
  ldtTimeStart: LDATE_AND_TIME:=LDT#2021-10-19-14:32:00;
  2.6、LTIME_OF_DAY(长时钟)

  LTIME_OF_DAY与TIME_OF_DAY类似,也用来表示时钟。不过它的数据长度为64位,可表示时钟精确到纳秒。其常量以"LTOD#"开头,取值范围为:LTOD#0:0:0~LTOD#23:59:59.999999999。建议的命名前缀为"ltod",比如下面的代码定义了一个名称为"ltodClock"的变量,其初始值为:8:38:00.89998989
  ltodTime: LTIME_OF_DAY:=LTOD#8:38:00.89998989;
  之前在西门子SCL编程基础的文章中也曾介绍过日期时间数据类型,二者有相似之处,也有不同的地方。比如虽然都有TIME类型,但取值范围不同。

  西门子SCL语言中TIME类型用作32位符号整数,其取值范围为:

  T#-24d_20h_31m_23s_648ms~T#+24d_20h_31m_23s_647ms。

  而CODESYS的TIME类型用作32位符号整数,其取值范围为:

  T#0d0h0m0s0ms~T#49d17h2m47s295ms。还有一些其它的区别,请看文章《西门子SCL编程入门教程连载(13)-日期时间数据类型》。

基于树莓派的CODESYS编程(5)——ST语言编程的基础:时间日...: 20211020090237163469175724934.png

顶部qrcode底部
关注酷德网订阅号,获取更多资讯!

QQ|小黑屋|手机版|Archiver|酷德论坛 ( 苏ICP备16065247号-1 )|网站地图

GMT+8, 2024-9-21 15:53 , Processed in 0.074560 second(s), 21 queries .

酷德网

© 2001-2013 Hicodesys. 技术支持 by 酷德网

返回顶部