天天看點

超好了解|一文搞懂數值在CPU是如何存儲的

作者:技成PLC課堂

導讀

我們都知道PLC是一台工業微型計算機,是以所有的資料在PLC中都是以二進制數的形式存儲,是以不同的資料類型所存儲的資料不同,同時根據不同的資料,所能表示的二進制位也有所不同。

應用舉例

下面通過一個例子充分了解資料的存儲方式。

例:若V3.5=1,V1.0=1 VB2=10 VB0=5

求V0.1=?、V2.3=?、VB1=?、VB3=?、VW0=?、 VD0=?

1求V0.1的值

VB0有V0.0-V0.7八個位組成,其中V0.0為低位,V0.7為高位;根據已知條件VB0=5,是以把每個位以二進制格式展開後,再采用位權的方法以十進制的形式進行展開排列,此時便知道每個位的值是多少,VB0=5,則V0.0和V0.2為1。如圖1-35所示得知V0.1=0。

超好了解|一文搞懂數值在CPU是如何存儲的

圖1-35 資料排列

2求V2.3的值

V2.3為VB2中的一個位,VB2有V2.0-V2.7八個位組成,根據已知條件VB2=10,是以把每個位以二進制格式展開後,再采用位權的方法以十進制的形式進行展開排列,此時便知道每個位的值是多少,VB0=10,則V2.0和V2.3為1。如圖1-35所示得知V2.3=1。

3求VB1的值

VB1有V1.0-V1.7八個位組成,根據已知條件V1.0=1,是以把每個位以二進制格式展開後,再采用位權的方法以十進制的形式進行展開排列,此時便知道每個位的值是多少,V1.0=1,則隻有V1.0一個位為1。如圖1-36所示得知VB1=1。

超好了解|一文搞懂數值在CPU是如何存儲的

圖1-36 VB1資料排列

4求VB3的值

VB3有V3.0-V3.7八個位組成,根據已知條件V3.5=1,是以把每個位以二進制格式展開後,再采用位權的方法以十進制的形式進行展開排列,此時便知道每個位的值是多少,V3.5=1,則隻有V3.5一個位為1。如圖1-36所示得知VB3=32。

5求VW0的值

VW0有VB0和VB1兩個位元組組成,已知條件VB0=5、V1.0=1,根據上述的結果把每個位元組中的每個位以二進制格式展開,再采用位權的方法以十進制的形式進行展開排列,此時便知道每個位的值各是多少,如圖1-37所示得知VW0由1024+256+1組合,最終VW0=1281。

超好了解|一文搞懂數值在CPU是如何存儲的

圖1-37 VW0資料排列

注意:當涉及到多位元組組合尋址時,遵循“高位址,低位元組”的規律。是以VB0是高位址、低位元組。

6求VD0的值

VD0有VB0、VB1、VB2、VB3四個位元組組成,已知條件V3.5=1,V1.0=1 VB2=10 VB0=5,根據上述的結果把每個位元組中的每個位以二進制格式展開,再進行4個二進制為一組進行8421BCD碼換算成十進制數,如圖1-38所示得知最終VD0=16#5010A20。

超好了解|一文搞懂數值在CPU是如何存儲的

圖1-37 VD0資料排列

總結

1、通過上面的示例我們能夠發現,一個32位的存儲器中會包含16位的字、8位的位元組、以及一個BOOL位,因為在使用過程中需要特别注意位址的重疊。

2、當我們想導通某一個位或幾個位時,寫入對應字至存儲器中就會有相應的輸出。

3、在西門子的尋址方式中,遵循的是高位址低位元組,比如VW0,VB0是低位元組,但是屬于高位址。

免責聲明:本文轉自網絡,版權歸原作者所有,如涉及作品版權問題,請及時與我們聯系删除,謝謝!

如何擷取電氣熱門資料?

操作指引如下!

超好了解|一文搞懂數值在CPU是如何存儲的

繼續閱讀