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