在學習(xi) PLC的過程中經常會(hui) 有說到數據類型這個(ge) 概念,那到底什麽(me) 是數據類型?數據類型有什麽(me) 作用?在西門子200係列PLC中的數據類型有哪些?這些都是學習(xi) 西門子PLC不等不掌握的內(nei) 容?西門子plc中的數據類型知識點:
那到底什麽(me) 是數據類型呢?數據類型又有什麽(me) 作用呢?
數據類型是用來描述數據的長度(即二進製的位數)和屬性的。在PLC中數據類型主要的作用在三方麵:
一是對指令的選擇,比如一個(ge) 加法運算來講,師使用整數的加法指令,還是使用雙整數的加法指令或是使用實數的加法指令。
二是對存儲(chu) 器的尋址方式,數據類型的不一樣,表示數據的大小也不一樣,因此在選擇存儲(chu) 器進行數據存儲(chu) 時要以不同的方式進行尋址,如以字節的方式尋址,字的方式尋址或是雙字的方式尋址
三是決(jue) 定了數據的顯示方式,同樣的一個(ge) 8位的二進製數存儲(chu) 器存儲(chu) 的數據,你可以是ASCAII的方式進行顯示,也可以是十進製的方式現在,同樣一個(ge) 32位的二進製數存儲(chu) 器存儲(chu) 的數據,你可以是雙整數的方式顯示,也可以是浮點數的方式顯示,那具體(ti) 是什麽(me) 顯示,就取決(jue) 於(yu) 數據類型。
數據類型分類比較多,在西門子PLC中,數據類型分為(wei) 基本的數據類型、複雜的數據類型、參數數據類型、係統數據類以及硬件數據類型等,但對於(yu) S7-200係列的PLC來說,隻支持基本的數據類型,那這裏就先給大家介紹下基本的數據類型。
(1)BOOL:數據類型布爾,取值範圍為(wei) 0或是1,表示的是開關(guan) 狀態的斷開或是接通,程序中的尋址方式以為(wei) 的方式進行尋址如M0.0.對應的指令為(wei) 觸點或是線圈指令。
(2)Byte:數據類型字節, 8位的二進製數存儲(chu) 器,取值範圍0~255,對存儲(chu) 的尋址方式為(wei) 字節的方式進行尋址如VB0.對應使用的指令如MOV_B、WAND_B等。
(3)WORD:數據類型字,16位的二進製數存儲(chu) 器,取值範圍0~65535,對存儲(chu) 器的尋址方式為(wei) 字如VW10,對應使用的指令如MOV_W、WAND_W等。
(4)DWORD:數據類型雙字,32位的二進製數存儲(chu) 器,取值範圍0~4294967295,對應的尋址方式為(wei) 雙字的尋址方式,如MD0.對應使用的指令有MOV_D、WXOR_D、ROL_D等。
(5)INT:數據類型整數,16位二進製數存儲(chu) 器,取值範圍-32768~32767,與(yu) WORD的區別在於(yu) WORD存儲(chu) 的是無符號數,而INT存儲(chu) 的是有符號的數,存儲(chu) 器的最高位表示符號位,0表示整數,1表示負數,後麵的15位二進製數表示數據的大小,尋址方式也是以字的方式進行尋址,如:MW0.支持的指令有ADD_I、SUB_I等。
(6)DIN:T數據類型雙整數,32位二進製數存儲(chu) 器,取值範圍-214783648~214783647,與(yu) DWORD的區別在於(yu) DWORD存儲(chu) 的是無符號數,而DINT存儲(chu) 的是有符號的數,存儲(chu) 器的最高位表示符號位,0表示整數,1表示負數,後麵的31位二進製數表示數據的大小,尋址方式也是以字的方式進行尋址,如:MD0.支持的指令有ADD_DI、SUB_DI等。
(7)REAL:數據類型為(wei) 實數(又名浮點數),32位二進製數存儲(chu) 器,取值範圍為(wei) -3.402823E+38~-1.175495E-38(負數)1.175495E-38~3.402823E+38(正數)尋址方式為(wei) 以雙字的格式尋址,如VD100.實數的存儲(chu) 方式為(wei) 32位單精度數表示,由一位符號位,八位指數位和二十三位尾數位構成,如下所示:
(8)ASCII:數據類型字符或ASCAII。一個(ge) ASCAII需要8位二進製數存儲(chu) 器,一個(ge) 漢字需要占用2個(ge) 字節的存儲(chu) 器空間,尋址方式為(wei) 字節選擇,如:字符‘A’。存儲(chu) 到VB0中,則VB0的值存儲(chu) 內(nei) 容為(wei) :
(9)string:數據類型字符串,字符串是有多個(ge) 字符構成的,每個(ge) 字符需要占用一個(ge) 字節的存儲(chu) 空間,字符串存儲(chu) 器時,第一個(ge) 字符表示的是字符串中的字符個(ge) 數,如字符串”SMART”,存儲(chu) 到VB10中,則存儲(chu) 格式如下所示: