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