認(rèn)識SIMATIC S7系列PLC的"日期時間"數(shù)據(jù)類型
工業(yè)生產(chǎn)的數(shù)據(jù)統(tǒng)計需要準(zhǔn)確的日期時間信息,PLC必須具有處理日期時間的功能。今天這篇文章,我們來認(rèn)識下西門子的S7系列PLC的日期時間數(shù)據(jù)類型,及如何調(diào)用系統(tǒng)提供的函數(shù)來對日期時間進行讀寫操作。

在S7-300/400中,用來記錄日期時間信息的數(shù)據(jù)類型稱為“DT(DATE_AND_TIME)”。該數(shù)據(jù)類型以BCD碼的形式存放日期時間信息,總長度為8個字節(jié);其最小值為:DT#1990-01-01-00:00:00.000;最大值為:DT#2089-12-31-23:59:59.999。
DT(DATE_AND_TIME)數(shù)據(jù)類型中各字節(jié)的含義見下面的表格:

我們來認(rèn)識下這個表格:首先,BCD碼是以四位二進制數(shù)來表示一位十進制數(shù),它“逢十進一”,其本質(zhì)是十進制數(shù)。一個八位的BCD碼,能表示的十進制數(shù)值范圍為0~99;
有了這個概念,你應(yīng)該就能理解Byte0(年)的取值范圍;
在DT(DATE_AND_TIME)類型中,還有一個3位數(shù)的微秒值。我們知道一個字節(jié)(8 bits)最大能表示2位數(shù)(0~99)的BCD值,因此要表示3位數(shù)(0~999),需要12位(12 bits)。因此在該數(shù)據(jù)結(jié)構(gòu)中,用字節(jié)6(Byte6)來表示微秒值的前兩位最高權(quán)重位(2 MSB),用字節(jié)7(Byte7)的高四位最高權(quán)重位(4MSB)來表示微秒值得最低權(quán)重位(1LSB)。
關(guān)于最高權(quán)重位、最低權(quán)重位請參考文章:給你講個來自《格列佛游記》的計算機故事
在S7-1200/1500系列PLC中,日期時間數(shù)據(jù)類型被稱為“DTL(DATE_AND_TIME_LONG)”。DTL類型的長度為12個字節(jié),最小值為:DTL#1970-01-01-00:00:00.0,最大值為:DTL#2262-04-11-23:47:16.854775807。
DTL數(shù)據(jù)類型具體的定義見下面的表格:

可以看出DTL與之前的DT格式有很大的不同:
1)DTL用一個無符號的整數(shù)(UNIT)來表示“年”,其范圍為1970~2262;
2)DTL沒有采用BCD碼來表示數(shù)據(jù),其數(shù)據(jù)類型為無符號整型(UINT)、無符號短整型(USINT)或者無符號雙整型(UDINT);
注:無符號整型(UINT)的長度為16位(16 bits);無符號短整型(USINT)的長度為8位(8 bits);無符號雙整型(UDINT)的長度為32位(32 bits);
3)DTL可以支持納秒級的時間值;
到目前為止,我們知道了兩種日期時間數(shù)據(jù)類型,那么怎么對其進行讀寫操作呢?
1.讀操作
可以使用指令(系統(tǒng)函數(shù))“RD_SYS_T”來讀取CPU內(nèi)部的日期時間值。
RD_SYS_T有兩個參數(shù):RET_VAL和OUT:
1)RET_VAL:是指令執(zhí)行的返回值,用來表示指令執(zhí)行的狀態(tài)。數(shù)據(jù)類型為整型(INT);
2)OUT:指令成功執(zhí)行后所得到的CPU當(dāng)前的日期時間值。數(shù)據(jù)類型為DT或者DTL;
2.寫操作
可以使用指令(系統(tǒng)函數(shù))“WR_SYS_T”來對CPU的日期時間值進行設(shè)置。
WR_SYS_T有兩個參數(shù):IN和RET_VAL:
1)IN:新的日期時間值(數(shù)據(jù)類型:DT或者DTL);
2)RET_VAL:返回值,表示指令執(zhí)行的狀態(tài)(數(shù)據(jù)類型:整型);
注:S7-1200系列PLC僅支持DTL數(shù)據(jù)類型,S7-1500系列PLC支持DT、DTL和LDT三種數(shù)據(jù)類型。
好了,本文我們介紹了SIMATIC S7-300/400 及S7-1200/1500系列PLC的日期時間類型及其讀寫指令。關(guān)于操作實例及S7-200 Smart的日期時間類型,我們將在后續(xù)的文章中介紹。
-
Origin(Pro):學(xué)習(xí)版的窗口限制【數(shù)據(jù)繪圖】 2020-08-07
-
如何卸載Aspen Plus并再重新安裝,這篇文章告訴你! 2020-05-29
-
CAD視口的邊框線看不到也選不中是怎么回事,怎么解決? 2020-06-04
-
教程 | Origin從DSC計算焓和比熱容 2020-08-31
-
Aspen Plus安裝過程中RMS License證書安裝失敗的解決方法,親測有效! 2021-10-15
-
CAD外部參照無法綁定怎么辦? 2020-06-03
-
CAD中如何將布局連帶視口中的內(nèi)容復(fù)制到另一張圖中? 2020-07-03
