- 可編程序控制系統設計技術(FX系列)
- 吳啟紅
- 1202字
- 2020-11-21 15:59:31
1.3 碼制
在PLC數據處理過程中,還會經常用到各種代碼,比如二-十進制(BCD)碼、美國信息交換標準碼ASCII、格雷碼等。
圖1-4 十進制數BCD碼的表示形式
1.BCD碼
BCD(Binary Code Decimal)碼系統提供了一種處理需要從PLC輸入或輸出大數字的便利方法。BCD碼是利用4位二制數來表示十進制數0~9的方法。在BCD碼系統中,能夠通過4位數顯示的最大十進制數為9。表示方法如圖1-4所示。
為了區分BCD碼和二進制數的不同,要加括號并用下角標“BCD”表示它是一個BCD碼,已不是原來意義上的“二進制數”了。
例:86=(10000110)BCD,可以把這個代表十進制數86的BCD碼(10000110)BCD記成十六進制形式“86H”,此時的86H已不是原來意義上的十六進制“數”了,而是十進制數的86的BCD碼,就代表了十進制數86。
在PLC控制中,PLC的指輪開關和LED顯示就是PLC設備利用BCD碼的應用。
2.ASCII
ASCII(American standard code for information interchange)是美國標準信息交換碼,是用7位二進制數表示數字(阿拉伯數字0~9)、字母(26個大寫和26個小寫字母)、特殊字符(@、#、$、%等)、控制字符(NUL、NUL、STX等)、運算符號(+、-、×、÷等)等128個特殊字符表示的一種方法。ASCII見表1-2,表1-2中特殊控制功能字符解釋見表1-3。
從表1-2中,我們可以算出各個字符的ASCII,計算方法如圖1-5所示。如0的ASCII是“0”=30H,9的ASCII是“9”=39H,還有“A”=41H、…、“ENQ”=05H。我們敲鍵盤上的數字“0”鍵,輸入到計算機內存中的是ASCII的30H,存儲器中就存儲一個7bit或8bit的字,這個字可以用來表示字母、函數或表示由于按下特殊鍵所產生的控制信號數據。
在FX系列PLC產品通信時,數據交換是以ASCII的形式進行的,還用于PLC的CPU與字母數字鍵盤及打印機的連接。
表1-2 ASCII(美國標準信息交換碼)
圖1-5 ASCII計算方法
表1-3 表1-2中特殊控制功能的解釋
3.格雷碼
格雷碼是一種特殊的二進制碼,沒有使用位加權。就是說,它的每一位都沒有一個確定的權值。通過格雷碼可以只改變一個位,就從一個數變為下一個數。在計數器電路容易混亂,但在編碼器電路中是非常標準的。例如,用絕對編碼器作為位置變送器,也可以用格雷碼來確定角位置。格雷碼和相應的二進制數比較見表1-4。
表1-4 格雷碼和相應的二進制數比較
從表中可看出,二進制數制中,改變單一的“數”最多需要改變4位數字,而格雷碼只要改變一個位。例如。將二進制數0111改變成1000(十進制數7改變成8)需要改變所有4個數字。這種變化增加了在數字電路出錯的可能性。因此,格雷碼是一種錯誤最少的編碼。由于格雷碼每次變換只要改變一個位,所以格雷碼的轉變速度比其他碼,(比如BCD碼)的速度要快。
格雷碼適用于機器人運動、機床和伺服傳動系統精確控制的位置編碼。圖1-6所示為利用4位格雷碼的光學編碼器來檢測角位置的變化。圖中,確定轉軸的位置是附在轉軸上的編碼器盤,編碼器盤輸出一個數字格雷碼信號;一組固定的光敏二極管用于檢測從編碼器的徑向一列單元的反射光。每個單元將輸出一個對應于二進制數1或0的電壓,取決于光的反射量。因此碼盤上的每一列單元將產生一個不同的4位字。
圖1-6 格雷碼在光學編碼器上應用