當(dāng)前位置:機電之家首頁 >> PLC技術(shù)>> PLC文案資料 >> plc教程 >> 容易讓人糊涂的BCD碼和十六進制數(shù)
容易讓人糊涂的BCD碼和十六進制數(shù)

     BCD碼(Binary-Coded Decimal‎)是二進制編碼的十進制數(shù)的縮寫,BCD碼用4位二進制數(shù)表示一位十進制數(shù)。BCD碼各位的數(shù)值范圍為2#0000~2#1001,對應(yīng)于十進制數(shù)0~9。BCD碼不能使用十六進制的A~F(2#1010~2#1111)這6個數(shù)字。BCD碼本質(zhì)上是十進制數(shù),因此相鄰兩位逢十進一。
     BCD碼的最高位二進制數(shù)是符號位,負數(shù)的符號位為1,正數(shù)為0。16位BCD碼的范圍為–999~+999。
     下圖的撥碼開關(guān)將顯示的數(shù)字轉(zhuǎn)換為4位二進制數(shù)。
PLC用12個數(shù)字量輸入點讀取的是3位BCD碼,它的值為2#1000 0010 1001,即十六進制數(shù)16#829。

     BCD碼沒有單獨的表示方法,而是借用了十六進制的表示方法,因此二者很容易混淆。
     下圖是S7-300/400的BCD碼和整數(shù)的相互轉(zhuǎn)換指令,可以看到在指令中BCD碼均用十六進制的形式表示。

     在程序中,怎么知道一個數(shù)字是BCD碼還是十六進制數(shù)呢?
     1)看數(shù)據(jù)的來源和用途。BCD碼一般用于輸入和輸出,例如來自撥碼開關(guān)的數(shù)據(jù)是BCD碼,送給顯示
電梯樓層的譯碼器芯片的是BCD碼。
     2)看手冊的規(guī)定,例如數(shù)據(jù)類型DATE_AND_TIME中的日期和時間值是BCD碼,計數(shù)器的預(yù)設(shè)值PV和當(dāng)前計數(shù)值CV_BCD為BCD碼。
     怎樣監(jiān)視BCD碼?
     在變量表和程序狀態(tài)監(jiān)控中,用十六進制格式監(jiān)視BCD碼。
     怎樣輸入BCD碼?
     從上圖可以看出,BCD碼用十六進制格式輸入,其最高位(符號位)為16#F(2#1111)。BCD碼的低3位各位只能是0~9,如果是16#A~16#F則會出錯。
     計數(shù)器的預(yù)設(shè)值PV是0~999的BCD碼,可以用格式為C#的常數(shù)(C#1~C#999)作為計數(shù)器的預(yù)設(shè)值。
     下圖用MW42提供計數(shù)器的預(yù)設(shè)值PV,如果用MOVE指令將十進制數(shù)348(對應(yīng)的十六進制數(shù)為16#15C)傳送給MW42,進入RUN模式時,操作系統(tǒng)將它轉(zhuǎn)換為BCD碼時出錯(16#15C不是BCD碼),不能切換到RUN模式。
     輸入預(yù)設(shè)值348時,應(yīng)改為將C#348傳送給MW42,它會
自動地變?yōu)閃#16#348,當(dāng)然也可以直接輸入16#348。沒有必要用I_BCD指令將348轉(zhuǎn)換為BCD碼W#16#348后,再傳送給MW42。

作者:未知 點擊:550次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:容易讓人糊涂的BCD碼和十六進制數(shù)
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《容易讓人糊涂的BCD碼和十六進制數(shù)》相關(guān)權(quán)利人與機電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

曾經(jīng)理 【求購】  定制酒店香...  2025-12-12
張瑜 【求購】  防靜電橡膠...  2025-12-12
劉強 【求購】  保溫板  2025-12-12
曹先生 【求購】  鎂合金  2025-12-12
趙經(jīng)理 【求購】  防火密封膠  2025-12-12
A 【求購】  鐵路接觸網(wǎng)...  2025-12-11
 【求購】  西門子ET...  2025-12-11
唐多 【求購】  DCS系統(tǒng)...  2025-12-11
VIP公司推薦