三菱plc數制轉換及位、字數據的相互表示

數據格式的轉換和顯示在plc的使用中非常重要。

在plc中數據的表示有二進制、8進制、10進制、16進制、BCD碼、ASCII碼的新式,三菱的fx3系列為16位的,意思就是一個數據寄存器最多能儲存16位的數據,如果想表示32位的,則需要使用連續兩個數據寄存器來完成,這裡的位數是2進制的位數並且十進制的,新手或不清楚計算機的工控人員在理解數據這塊一定要明白處理器說的位數都是指二級制的,包括運算都是以二級制的形式進行的,理解二進制很重要。

三菱plc數制轉換及位、字數據的相互表示

二進制數據

在平常使用中我們輸入或監控數據採用十進制例如對plc進行監控所看到的數據無論以什麼樣的格式我們看到的都是十進制的數據,這塊我們一定要注意,在做一些通訊的時候我們的命令或接受來的數據是16進制或ASCII碼,而這些數據在plc監控時就是10進制,與我們想要看到命令碼或返回值不一樣。

對於新手來說,數據這快需要下點功夫尤其對於沒有計算機基礎的電工人員。

plc能儲存數據的元件,如字元件數據寄存器D當然是,另外還可以通過位元件(M、Y)的組合來表示,這在plc程序中經常見到,如K4M10,K2Y0等,下面我們通過在人機界面進行數值轉換。

三菱plc數制轉換及位、字數據的相互表示

人機界面數制轉換

對16位數據和32位數據進行2進制、16進制、10進制的轉換,MOV指令將字元件的數值用位元件組合的形式來表達,MOV D0 K1M0,K1表示4連續位將數據D0(16進制)中的低四位的狀態傳輸到M0~M3中,K2就是連續8位,同時通過這樣可以很好的理解數據D的存儲構造。

上面一排的M15代表符號位,正數是0,負數是1,所以16的數據範圍是-2^15~+2^15即-32768~+32768,同理32位的數據範圍:-2147483648~+2147483648。

我們隨意輸入一個數25149:

三菱plc數制轉換及位、字數據的相互表示

MOV D0 K1M0

三菱plc數制轉換及位、字數據的相互表示

MOV D0 K2M0

三菱plc數制轉換及位、字數據的相互表示

MOV D0 K3M0

三菱plc數制轉換及位、字數據的相互表示

MOV D0 K4M0

我們從上圖發現,數據寄存器的二進制與位狀態顯示一致,就是說將D用KnM組成表示,二進制的1就代表M的通,在plc內部的數據寄存器也同樣採用這種構造來存儲數據。接下來我們看下負數的區別,我們顯示-1和+1看下:

三菱plc數制轉換及位、字數據的相互表示

-1的顯示

三菱plc數制轉換及位、字數據的相互表示

+1的顯示

+1的顯示所有進制都是1好理解,為什麼-1是1111111111111111,或者FFFF呢,而不是我們想的1000000000000001?請大家評論留言!

視頻加載中...
-->


分享到:


相關文章: