字電路采用的基本數制是二進制,而人們熟悉和習慣使用的數制是十進制,因此有必要在二進制與十進制之間建立一種轉換機制,以方便數字電路的解讀和分析。
BCD碼就是一種用二進制數表示十進制數的碼制。
BCD是英文"Binary-Coded Decimal"的縮寫,直譯的意思是“二進制編碼的十進制數”,這種編碼的數制本質上是十進制。BCD碼用4個二進制數表示一個十進制數,每一位允許的范圍是2#0000~2#1001(注1),也就是十進制的0~9,采用“逢十進一”的規則。
BCD碼是有符號的,用Zui高位來表示符號,“0”表示正數,“1”表示負數。對于一個四位的BCD碼而言(16個二進制位),能表示的范圍是 “-999~+999”。為什么呢?其實比較好理解,你想,Zui高位是符號位,那么就剩下了三位,由于每一位BCD碼,其本質是十進制數,所以每一位Zui大的數都是9,所以三位數Zui大就是999,加上符號,所以四位BCD碼能表示的十進制數的范圍是 “-999~+999”。同樣的道理,八位BCD碼(32個二進制位)能表示的十進制數的范圍是“-9999999~+9999999”。
在西門子S7-300/400/1200/1500中,BCD16表示的十進制數范圍為-999到+999。位15為“0”,則符號為正,為“1”,則符號為負。位12至位14不使用。BCD32表示的十進制數范圍為-9999999 到 +9999999。
施耐德PLC中,如Unity Pro XL平臺,BCD16表示的十進制數范圍為0到9999。BCD32表示的十進制數范圍為0到99999999。
三菱PLC中,如GX Works2平臺,BCD16表示的十進制數范圍為0到9999。BCD32表示的十進制數范圍為0到99999999。
PLC內部總是按HEX格式(十六進制)進行數據計算的,在驅動非智能的顯示設備(如數碼管)顯示數據之前,往往需要將PLC內部的HEX格式數據先轉換為BCD碼,然后進行顯示輸出;將用戶以十進制方式設置的參數存入PLC內存之前,則往往需要將該BCD碼轉換為十六進制(HEX)格式。
人們在電腦顯示器上看到的十進制讀數,都是經過了計算機自動作BCD轉換后才顯示的;監控時修改的參數,則是電腦軟件作了HEX轉換后寫入的,無需人為干預而已。
BCD碼可以有多種編碼方式,例如8421碼、5421碼、2421碼、余3碼、格雷碼等。
8421碼是Zui常用的一種BCD編碼方式,在這種編碼方式中,每個十進制數字都由對應的四位二進制值表示,二進制值每一位的“1”都代表一個固定數值。將每位“1”所代表的十進制數加起來就可以得到它所代表的十進制數字。因為代碼中從左至右看每一位“1”分別代表數字“8”“4”“2”“1”,故得名8421碼。
以上是進制轉換的手動計算方法,在我們實際應用中,一般都是使用轉換工具的,微軟自帶的計算器,就帶這個功能。下面給大家介紹一下微軟自帶的計算器如何進行數據類型轉換:
Windows鍵+R,然后輸入“calc”回車,就能打開系統自帶的計算器。
點擊左上角的查看,然后選擇程序員模式,就能進行各個數進制之間的轉換了。
*注釋1:在PLC中,二進制數據通常以”2#”作為前綴,十六進制數據通常以”16#”作為前綴,十進制數據只需正常書寫即可。
- 為什么需要上位機?上位機能替代PLC實現控制嗎? 2024-12-27
- 觸摸屏不通過PLC,直接控制變頻器!老司機手把手教你如何實現! 2024-12-27
- 控制繼電器與PLC有什么不同?這6個點搞自動化的都懂! 2024-12-27
- 急停是停所有的輸出電源,還是停整個設備的電源?這個原則起碼90%電工都不知道 2024-12-27
- 一文搞懂西門子博途中的單個實例、多重實例和參數實例的區別! 2024-12-27
- 有源和無源信號到底有什么區別? 2024-12-27
- 西門子PLC與NPN、PNP傳感器接線方式,PLC入門必看 ! 2024-12-27
- 西門子將于今年發布Simatic S7-1200 G2控制器 ! 2024-12-27
- 簡單的改動,實現一個變頻器分別獨立拖動兩個電機,老板高興壞了! 2024-12-27
- 觸摸屏與PLC通訊不上?老師傅告訴你怎么解決! 2024-12-27
- S7-1200CPU與S7-200SMART s7通信(S7-1200為客戶端) 2024-12-27
- 電機運行時間排序案例分享,趕緊收藏學習! 2024-12-27
- 到底是先有電壓還是先有電流? 2024-12-27
- PLC中模擬量信號的轉換公式 2024-12-27
- 詳解西門子PLC與觸摸屏的RS485通信 2024-12-27
聯系方式
- 電 話:18126392341
- 聯系人:梁濤
- 手 機:15267534595
- 微 信:15267534595