「IEC 61131-3」標準資料型別

IEC 61131-3定義的標準資料型別有:布林型、整型、浮點型、字串型、時間日期型別和常數。以下將逐一介紹各種資料型別。

布林型

布林變數可取值TRUE和FALSE。佔8位記憶體空間。布林型變數宣告示例:

bExec : BOOL := FALSE;bBusy : BOOL;

整型

整型資料型別共有9種分型別,各個不同的資料型別有不同的值範圍。下表列出了各整型資料型別的取值範圍和佔用的記憶體空間。需要注意的是,大型別轉換為小型別時,將會出現資訊的丟失。整型變數宣告與布林型變數宣告方法雷同。

「IEC 61131-3」標準資料型別

浮點資料型別

REAL和LREAL 被稱為浮點資料型別,用於表示有理數。REAL佔用32位記憶體空間,LREAL佔用64位記憶體空間。REAL和LREAL常數可以用尾數和指數表示,並使用美國標準,如:

rREAL : REAL := 6。9;lLREAL : LREAL := 6。9E+9;

字串變數

STRING型別變數可以是包含任何字元的字串。其容量大小在宣告變數時說明,如果不對容量大小進行說明,其預設值為80個字元。字串變數宣告示例:

CurrentGGodeLine : STRING(35) := ‘G00 X0’;

一些特殊的符號及含義如下所示:

「IEC 61131-3」標準資料型別

時間、日期型別

TIME、TIME_OF_DAY(TOD)、DATE和DATE_AND_TIME(DT)資料型別在內部作為 DWORD型別處理。

TIME型別儲存一個時間資料,主要用於標準庫中定時器的操作,最少單位為1ms。TIME型別資料格式為:T# xx d xx h xx m xx s xx ms。其中:T表示時間常數起始,#表示其後為立即數,d表示天,h表示小時,m表示分,s表示秒,ms表示毫秒。

t1: TIME := T#5D4H3M3S1MS;//t1為TIME型別,值為5天4小時3分鐘3秒1毫秒。

TIME_OF_DAY變數主要用於儲存一天中的時間,變數的時間從當天12:00AM 開始,最少單位為1ms。TIME_OF_DAY型別資料格式為:TOD#HH:mm:ss。其中:TOD表示TIME_OF_DAY常數起始,#表示其後為立即數,HH表示小時,mm表示分,ss表示秒。

td1: TIME_OF_DAY := TOD#1:1:1。1;//td1為TIME_OF_DAY型別,值為1時1分1。1秒。

DATE變數用於儲存一個日期,最小單位為秒,並從1970年1月1日12:00AM開始計算。DATE型別資料格式為:DATE#YY-MM-DD。其中:DATE表示DATE常數起始,#表示其後為立即數,YY表示年,MM表示月,DD表示日。

d1 : DATE := DATE#2019-06-12;//d1為DATE型別,值為2019年06月12日。

DATE_AND_TIME變數用於儲存一個日期和時間組合的資料,最小單位為秒,並從1970年1月1日12:00AM開始計算。DATE_AND_TIME型別資料格式為:DT#YY-MM-DD-HH:mm:ss。其中:DT表示DATE_AND_TIME常數起始,#表示其後為立即數,YY表示年,MM表示月,DD表示日,HH表示小時,mm表示分,ss表示秒。日期和時間之間用–連線。

dt1 : DATE_AND_TIME := DT#2019-06-12-10:36:31;//dt1為DATE_AND_TIME型別,值為2019年06月12日10時36分31秒。

常數

數值可以用二進位制、八進位制、十進位制和十六進位制數表示。這些數值可以是BYTE, WORD,DWORD,SINT, USINT,INT,UINT,DINT,UDINT,REAL或LREAL 型別。

14 //十進位制數2#1001_0011 //二進位制數8#67 //八進位制數16#A //十六進位制數

對IEC61131-3標準資料型別的介紹到這裡結束,大家有什麼疑問可在留言區提出,我會一一解答。

往後將對IEC61131-3的自定義資料型別作詳細介紹,有需要的朋友請多多關注!