西門子300的基本數據類型

鄭鼎plc視頻課程 發佈 2020-08-12T14:28:59+00:00

如果在這個問題上一知半解,就會直接導致思維停留在基本邏輯編程上,延伸到後續的模擬量運算、通信數據交換等知識時,就很難真正弄懂。

十來年現場的教學經驗,發現眾多PLC學習者中,學到數據類型總會遇到坎。如果在這個問題上一知半解,就會直接導致思維停留在基本邏輯編程上,延伸到後續的模擬量運算、通信數據交換等知識時,就很難真正弄懂。原本模擬量和通信並不難,但卻又很多人學不會,根本原因就在於前面的基本數據類型不通。


今天就給大家講解為什麼要有數據類型、存儲器?它們在整個PLC裡面起到什麼作用?


PLC如果只能讓電機正轉或者反轉,閥門閉合或者關閉,指示燈閃爍等,那麼PLC就和普通的繼電器控制沒有太大區別。PLC能代替原來的繼電器控制,就是因為它像一個微型電腦一樣,還可以計算,存儲數據,不僅僅是簡單的通斷電。現實中用到的數,有正數,負數,還有帶小數點,不帶小數點,有的數大,有的數小。這些都需要PLC進行智能識別,且根據類型不同,進行分類存放,因此就有了數據類型和數據存儲器。這兩個知識點,需要同時學習。


西門子300/400要比小型機200系列的PLC功能更強大,因為數據類型增加了不少。最常用的數據類型主要有:位、字節、字、雙字、整數、雙整數、浮點數。例:PLC像現在的電腦、手機、相機一樣,都是數字化產品,裡面最基本的單位就是位,就是開關量,也叫數字量,只有兩個狀態,0和1,0代表沒電,1代表通電。PLC的內部所有的數據,本質上都是0和1組合而成。比如3這個數,比較小,存放到什麼地方呢?下面給大家展示一下幾種存儲器的類型。

(1)1個字節=8個位,用B(byte)表示

(2)1個字=16個位,用W(word)表示

(3)1個雙字=32個位,用D(double word)表示


字節,字,雙字,我們可以叫做8位、16位、32位的存儲器。怎麼區分什麼樣的數據存放到什麼樣存儲器呢?假如把存儲器想像成公園的椅子,有隻能坐8個人的,有可以坐16個人的,還有超長版坐32個人的。如果最多只有8個人,建議大家用字節(8位相等於8個人,當然坐3個人或者更少也是可以的)。如果是10個人,很顯然,字節就容不下了,推薦16位的字。如果是20個人,那麼就只能選擇32位的雙字存儲器了,其他兩個都容不下。


也就是說,8位,16位,32位分別代表了他們的最大值,字節最大就是8個位都填滿,相當於8個人都坐到椅子上,多一個都不行,因此字節的最大值就是2#11111111,換算成十進位就是255(進位之間的轉換在西門子300精品課程第一部分有詳細講解),以此類推,可以推算出來16位的最大值是65535,和32位的最大值4294967295(建議大家自己去算,如果不知道怎麼算,可以找侯老師)。


提醒一下,比如一個數是34,沒有超過255,這個數既可以存放到字節里,也可以存到字,還可以存到雙字地址里,就像雖然只有1個人,他非要占住超常版的椅子(32位)也是可以的。有同學就會問了,如果有33個人,坐什麼椅子呢?哈哈,問的好,目前還沒有這麼長的椅子,也就是說PLC目前能處理的最大數就是32位的了,其他的愛莫能助。


首先明白了8位,16位,32位存儲器的作用,然後再學習IB0,QW0,DB0.DBD0等這一類的地址或者指令時,才會靈活使用。下面用DB0數據塊為例,給大家總結一下不同的存儲器里可能存放的數據類型。

(1)DB0.DBX0.0:表示一個位,不是0就是1

(2)DB0.DBB0:字節,裡面只能是255以內的正數

(3)DB0.DBW0:字,裡面可能是0-65535的正數,也可能是-32767到 32768之間的整數(有正負之分的數)

(4)DB0.DBD0:雙字,裡面存放的類型比較多,分別是

(a)0-4294967295之間的正數

(b)-2147483648到2147483647的雙整數

(c)浮點數,即帶小數點的數


關於數據類型你清楚了嗎?好文就是用來分析的!


作者:鄭州鄭鼎-侯俊霞本文為原創內容,如需轉載請註明【作者:鄭州鄭鼎-侯俊霞,轉載自叨叨直播】,違者必究!

關鍵字: