S7-1200數據類型詳解

數據類型用來描述數據的長度和屬性,即用於指定數據元素的大小及如何解釋數據,每個指令至少支持一個數據類型,而部分指令支持多種數據類型;因此指令上使用的操作數的數據類型必須和指令所支持的數據類型一致,所以在建立變量的過程中,我們需要對建立的變量分配相應的數據類型

在TIA Portal中設計程序時,用於建立變量的區域有:變量表、DB塊、FB塊、FC塊、OB塊的接口區,但並不是所有數據類型對應的變量表都可以在這些區域中建立

S7-1200PLC中所支持的數據類型分為基本的數據類型、複雜的數據類型、參數數據類型、系統數據類型、硬件數據類型及用戶自定義數據類型

基本數據類型:是PLC編程中最常用的數據類型,通常把佔用存儲空間64個二進制位以下的數據類型稱為基本的數據類型。包括位、位系列、整數、浮點數、日期&時間、字符

S7-1200數據類型詳解

1、無符號整數型:位(BOOL)字節(BYTE)字(WORD)雙字(DWORD)及字符(CHAR)

2、整數數據類型:整數類型有有符號整數和無符號整數。

有符號整數:短整數型(SInt),整數型(Int)和雙整數型(DInt)

無符號整數:無符號短整數型(USInt),無符號整數型(UInt)、無符號雙整數型(UDInt)

基本數據類型的存儲格式

所有整數的數據類型表示符號都有INT,符號帶S的表示短整數型,帶D的表示雙整數型,帶U的表示無符號整數,符號中不帶S或D的表示整型,不帶U的表示有符號整數型

整數有正整數和負整數,整數存儲器中的最高為表示符號位,最高位為0表示正整數,最高位為則1表示負整數

如:數值5和-5分別存在MB100中,MB100的數據類型為SINT

S7-1200數據類型詳解

實數的存儲格式

實數又稱為浮點數,有單精度(32位)浮點數和雙精度(64位)浮點數;單、雙精度浮點數在表示方式除了存儲空間不一樣之外,存儲方式都是一樣的

32位單精度浮點數中,最高位為浮點數的符號位,正浮點數為0 ,負浮點數為1

S7-1200數據類型詳解

時間和日期的數據類型

S7-1200數據類型詳解

時間數據類型 TIME主要用於定時器的設置,為32位的有符號的雙整數,其單位為MS

日期數據類型DATA用於指定日期,為16位的無符號整數

DTL數據類型使用12個字節的結構來保存日期和時間信息,12個字節中含年、月、日、星期、時、分、秒和納秒。主要用於對系統時鐘的設置和讀取;DTL的每一部分均含有不同的數據類型和取值範圍,指定值的數據類型必須與相應的數據類型一致。可在全局數據塊或塊的接口區定義,不能在變量表中定義。DTL數據類型的存儲格式如圖所示:

S7-1200數據類型詳解

字符和字符串數據類型

S7-1200數據類型詳解

字符和字符串可在全局數據塊或塊的接口區定義,不能在變量表中定義。

Char(8位字符)存儲器中佔用一個字節,可以存儲器以ASCII格式編碼的單個字符,Wchar(16位字符)在存儲器中佔用一個字的空間,可包含任意字符表示形式。

String(字符串)數據類型存儲一串單字節字符, String提供了多大256個字節,前兩個字節分別表示字節中最大的字符數和當前的字符數,定義字符串的最大長度可以減少它的佔用存儲空間

Wsting數據類型與sting數據類型接近,支持單字值的較長字符串,第一個字包含最大總字符數,下一個字包含的是當前的總字符數,接下來的字符串可含最多65534個字

數組數據類型(ARRAY)

數組數據類型(ARRAY)是有數量固定且多個相同數據類型的多個元素組成;ARRAY類型可以在DB、OB/FC/FB接口區、PLC數據類型處定義;無法在PLC變量表中定義。

數組格式為:Array[lo..hi]of type.其中lo表示的是low,hi表示high為數組元素編號的下標和上標。取值範圍為[-32768--32767] type為基本數據類型

S7-1200數據類型詳解

結構數據類型(Struct)

結構數據類型(Struct)是一種由指定書目的數據元素且不同數據類型元素組成的數據結構,其元素可以是基本數據類型,也可以是Struct、數組等複雜數據類型以及PLC數據類型(UDT)等。

Struct類型嵌套Struct類型的深度限制為 8 級,Struct類型的變量在程序中可作為一個變量整體,也可單獨使用組成該Struct的元素。Struct 類型可以在DB、OB/FC/FB接口區、PLC數據類型(UDT) 處定義使用。

S7-1200數據類型詳解

訪問方式如下

S7-1200數據類型詳解

Variant 數據類型

Variant類型是一個參數數據類型,只能出現在除FB的靜態變量以外的OB/FC/FB接口區。

Variant類型的實參是一個可以指向不同數據類型變量的指針。它可以指向基本數據類型,也可以指向複雜數據類型、UDT等。

Variant 數據類型的操作數不佔用背景數據塊或工作存儲器中的空間,但是將佔用 CPU 上的裝載存儲器的存儲空間,該變量只能在塊的接口參數中建立

調用某個塊時,可以將該塊的Variant參數連接任何數據類型的變量。除了傳遞變量的指針外,還會傳遞變量的類型信息。該塊中可以利用Variant的相關指令,將其識別出並進行處理。

PLC數據類型(UDT)

UDT類型是一種由多個不同數據類型元素組成的數據結構,元素可以是基本數據類型,也可以是STRUCT、數組等複雜數據類型以及其它UDT等。UDT類型嵌套UDT類型的深度限制為 8 級。

UDT類型可以在DB、OB/FC/FB接口區處使用。PLC變量表中的I和Q也可以使用UDT類型。

UDT類型可在程序中統一更改和重複使用,一旦某UDT類型發生修改,執行軟件全部編譯可以自動更新所有使用該數據類型的變量。

定義為UDT類型的變量在程序中可作為一個變量整體使用,也可單獨使用組成該變量的元素。此外還可以在新建DB塊時,直接創建UDT類型的DB,該DB只包含一個UDT類型的變量。

UDT類型作為整體使用時,可以與Variant、DB_ANY類型及相關指令默契配合。UDT是Struct類型的升級替代,功能基本完全兼容Struct類型

S7-1200數據類型詳解

1、點擊CPU菜單下,PLC數據類型中的“添加新數據類型”按鈕

2、在彈出頁面可以添加需要的變量、類型、起始值、註釋等


End

文章來源:PLC技術,本文系網絡轉載,版權歸原作者所有。但因轉載眾多,無法確認真正原始作者,故僅標明轉載來源。本文所用視頻、圖片、文字如涉及作品版權問題,請第一時間告知,我們將根據您提供的證明材料確認版權並按國家標準支付稿酬或立即刪除內容!本文內容為原作者觀點,並不代表本公眾號贊同其觀點和對其真實性負責。


分享到:


相關文章: