眾多PLC學(xué)習(xí)者中,學(xué)到數(shù)據(jù)類型總會遇到坎。如果在這個問題上一知半解,就會直接導(dǎo)致思維停留在基本邏輯編程上,延伸到后續(xù)的模擬量運(yùn)算、通信數(shù)據(jù)交換等知識時,就很難真正弄懂。原本模擬量和通信并不難,但卻又很多人學(xué)不會,根本原因就在于前面的基本數(shù)據(jù)類型不通。
今天就給大家講解為什么要有數(shù)據(jù)類型、存儲器?它們在整個PLC里面起到什么作用?
PLC如果只能讓電機(jī)正轉(zhuǎn)或者反轉(zhuǎn),閥門閉合或者關(guān)閉,指示燈閃爍等,那么PLC就和普通的繼電器控制沒有太大區(qū)別。PLC能代替原來的繼電器控制,就是因為它像一個微型電腦一樣,還可以計算,存儲數(shù)據(jù),不僅僅是簡單的通斷電�,F(xiàn)實(shí)中用到的數(shù),有正數(shù),負(fù)數(shù),還有帶小數(shù)點(diǎn),不帶小數(shù)點(diǎn),有的數(shù)大,有的數(shù)小。這些都需要PLC進(jìn)行智能識別,且根據(jù)類型不同,進(jìn)行分類存放,因此就有了數(shù)據(jù)類型和數(shù)據(jù)存儲器。這兩個知識點(diǎn),需要同時學(xué)習(xí)。
西門子300/400要比小型機(jī)200系列的PLC功能更強(qiáng)大,因為數(shù)據(jù)類型增加了不少。最常用的數(shù)據(jù)類型主要有:位、字節(jié)、字、雙字、整數(shù)、雙整數(shù)、浮點(diǎn)數(shù)。例:PLC像現(xiàn)在的電腦、手機(jī)、相機(jī)一樣,都是數(shù)字化產(chǎn)品,里面最基本的單位就是位,就是開關(guān)量,也叫數(shù)字量,只有兩個狀態(tài),0和1,0代表沒電,1代表通電。PLC的內(nèi)部所有的數(shù)據(jù),本質(zhì)上都是0和1組合而成。比如3這個數(shù),比較小,存放到什么地方呢?下面給大家展示一下幾種存儲器的類型。
�。�1)1個字節(jié)=8個位,用B(byte)表示
�。�2)1個字=16個位,用W(word)表示
�。�3)1個雙字=32個位,用D(doubleword)表示
字節(jié),字,雙字,我們可以叫做8位、16位、32位的存儲器。怎么區(qū)分什么樣的數(shù)據(jù)存放到什么樣存儲器呢?假如把存儲器想象成公園的椅子,有只能坐8個人的,有可以坐16個人的,還有超長版坐32個人的。如果最多只有8個人,建議大家用字節(jié)(8位相等于8個人,當(dāng)然坐3個人或者更少也是可以的)。如果是10個人,很顯然,字節(jié)就容不下了,推薦16位的字。如果是20個人,那么就只能選擇32位的雙字存儲器了,其他兩個都容不下。
也就是說,8位,16位,32位分別代表了他們的最大值,字節(jié)最大就是8個位都填滿,相當(dāng)于8個人都坐到椅子上,多一個都不行,因此字節(jié)的最大值就是2#11111111,換算成十進(jìn)制就是255(進(jìn)制之間的轉(zhuǎn)換在西門子300精品課程第一部分有詳細(xì)講解),以此類推,可以推算出來16位的最大值是65535,和32位的最大值4294967295(建議大家自己去算)。
提醒一下,比如一個數(shù)是34,沒有超過255,這個數(shù)既可以存放到字節(jié)里,也可以存到字,還可以存到雙字地址里,就像雖然只有1個人,他非要占住超常版的椅子(32位)也是可以的。有同學(xué)就會問了,如果有33個人,坐什么椅子呢?哈哈,問的好,目前還沒有這么長的椅子,也就是說PLC目前能處理的最大數(shù)就是32位的了,其他的愛莫能助。
首先明白了8位,16位,32位存儲器的作用,然后再學(xué)習(xí)IB0,QW0,DB0.DBD0等這一類的地址或者指令時,才會靈活使用。下面用DB0數(shù)據(jù)塊為例,給大家總結(jié)一下不同的存儲器里可能存放的數(shù)據(jù)類型。
(1)DB0.DBX0.0:表示一個位,不是0就是1
�。�2)DB0.DBB0:字節(jié),里面只能是255以內(nèi)的正數(shù)
�。�3)DB0.DBW0:字,里面可能是0-65535的正數(shù),也可能是-32767到+32768之間的整數(shù)(有正負(fù)之分的數(shù))
(4)DB0.DBD0:雙字,里面存放的類型比較多,分別是
(a)0-4294967295之間的正數(shù)
�。╞)-2147483648到2147483647的雙整數(shù)
�。╟)浮點(diǎn)數(shù),即帶小數(shù)點(diǎn)的數(shù)
關(guān)于數(shù)據(jù)類型你清楚了嗎?









