国产aaaa级全身裸体精油片_337p人体粉嫩久久久红粉影视_一区中文字幕在线观看_国产亚洲精品一区二区_欧美裸体男粗大1609_午夜亚洲激情电影av_黄色小说入口_日本精品久久久久中文字幕_少妇思春三a级_亚洲视频自拍偷拍

首頁 > 化工知識 > 西門子SCL編程入門教程連載(13)-日期時間數據類型

西門子SCL編程入門教程連載(13)-日期時間數據類型

時間:2020-09-25 來源:方正智芯 瀏覽:

日期和時間是PLC編程經常需要處理的數據,本節(jié)我們先來認識下西門子SCL編程語言所支持的日期時間數據類型,以便為后續(xù)介紹日期時間指令打下基礎。

IEC61131-3定義了8種時間日期數據類型,分別是:

  • TIME

  • LTIME(LONG TIME)

  • DATE

  • LDATE

  • TIME_OF_DAY(TOD)

  • LTIME_OF_DAY(LTOD)

  • DATE_AND_TIME(DT)

  • LDATE_AND_TIME(LDT)

數據來源:IEC61131-3:2013 Table 10 -Elementary date types(page 31)
西門子SCL編程語言符合IEC61131-3標準,也支持這些數據類型,下面我們來具體看下:

1、TIME(時間)

TIME類型的長度為4個字節(jié)(32bits),它可以表達包括天(day)、小時 (hour)、分鐘(minute)、秒(second)、毫秒(millisecond)的信息。

TIME類型的數據用于定時器計時,其常量以"T#"標識,比如:T#9d20h12m20s630ms(9天20小時12分鐘20秒630毫秒),其取值范圍為:T#-24d20h31m23s648ms ~ T#+24d20h31m23s647ms;

2、LTIME(LONG TIME)

LTIME類型的長度為8個字節(jié)(64bits),它可以表達包括天(day)、小時(hour)、分鐘(minute)、秒(second)、毫秒(millisecond)、微秒(microsecond)及納秒(nanosecond)的信息,同樣可用于定時器計時。
LTIME的常量以"LT#"標識,

比如:LT#50d20h25m14s830ms652us315ns(50天20小時25分鐘14秒830毫秒652微秒315納秒),其取值范圍為:LT#-106751d23h47m16s854ms775us808ns~LT#+106751d23h47m16s854ms775us807ns。
使用LTIME類型時并不需要將所有的時間單位寫出,LT#2h10s是個合格的常量。
需要說明的是:只有S7-1500系列CPU支持LTIME類型

3、S5TIME(S5時間類型)

S5TIME是西門子S7-300/400系列CPU支持的時間類型,其長度為2個字節(jié)(16bits)。S5TIME以BCD碼來存放時間信息,其常量以"S5T#"標識,比如:S5T#1s500ms(1秒500毫秒),可表達的時間范圍為:S5T#0ms~S5T#2h_46m_30s_0ms;

4、DATE(日期)

DATE數據類型的長度為2個字節(jié),它將日期的信息存放在無符號整數里。DATE數據類型的常量以"D#"標識,比如D#2019-12-11,其取值范圍為:D#1990-01-01 to D#2168-12-31。

5、TOD(TIME_OF_DATE)

TIME_OF_DATE數據類型的長度4個字節(jié),它存放當前時間從午夜0:00算起所走經過的毫秒數(milliseconds)。

TIME_OF_DATE數據類型的常量以"TOD#"標識,其取值范圍為:TOD#00:00:00.000 ~ TOD#23:59:59.999;

6、LTOD(LONG_TIME_OF_DATE)

LONG_TIME_OF_DATE數據類型的長度為8個字節(jié),它存放當前時間從午夜0:00開始所走過的納秒數。

LONG_TIME_OF_DATE的常量以"LTOD#"標識,其取值范圍為:LTOD#00:00:00.000000000 ~ LTOD#23:59:59.999999999;
需要說明的是:只有S7-1500系列CPU支持LTOD類型

7、DATE_AND_TIME

DATE_AND_TIME數據類型的長度為8個字節(jié),它以BCD碼存放日期及時間數據(精確到毫秒)。
DATE_AND_TIME各字節(jié)的定義如下:

字節(jié)

描述

取值范圍

0

年(year)

1990年~2089年

BCD#90=1990

BCD0#=2000

BCD89#=2089

1

月(month)

BCD#1~BCD#12

2

日(day)

BCD#1~BCD#31

3

小時(hour)

BCD#0~BCD#23

4

分鐘(minute)

BCD#0~BCD#59

5

秒(second)

BCD#0~BCD#59

6

微秒的前兩個最高權重位 BCD#0~BCD#99

7(4MSB)

微秒的最低權重位 BCD#0~BCD#9

7(4LSB)

一周中的第幾天 BCD#1~BCD#7

DATE_AND_TIME的常量以“DT#”標識,

比如當前時間為:DT#2019-12-12-20:47:32.621

注:關于最低權重位和最高權重位,請看官網:https://www.founderchip.com/?id=41這篇文章;

8、DATE_AND_LTIME

DATE_AND_LTIME的長度為8個字節(jié),它存放從1970:0:0開始到現在所經過的時間(納秒數);

DATE_AND_LTIME的常量以”LDT#”標識,其取值范圍為:LDT#1970-01-01-0:0:0.000000000~LDT#2263-04-11-23:47:16.854775808
需要說明的是:只有S7-1500系列CPU支持LDT類型

9、DTL

DTL的長度為12個字節(jié),它可以存放日期及時間(精確到納秒)數據,其格式定義如下:

字節(jié)

描述

數據類型

取值范圍

0

年(year)

UNIT

1970~2262

1
2

月(month)

USINT

1~12

3

日(day)

USINT

1~31
4

一周中第幾天

USINT

1~7
5

小時(hour)

USINT

0~23
6

分鐘(minute)

USINT

0~59
7 納秒(nanosecond) UDINT 0~999999999
8
9
10
11

DTL的常量以”DTL#”標識,其取值范圍為:DTL#1970-01-01-00:00:00.0 ~ DTL#2262-04-11-23:47:16.854775807
好了,關于SCL的日期時間數據類型就介紹到這里。

版權:如無特殊注明,文章轉載自網絡,侵權請聯系cnmhg168#163.com刪除!文件均為網友上傳,僅供研究和學習使用,務必24小時內刪除。
相關推薦