
RS232光栅尺通讯协议
发布时间:2016/12/14 11:57:00RS232光栅尺通讯协议
通訊協議 1 壓縮BCD碼格式
由PC機送出一個字元’R’(0X52)﹐本數顯箱在接收了一個’R’後﹐馬上回送17個字節給PC機。
這17個字節如下﹕
Byte 1st﹕Head =0x0fe (十六進制值)。
Byte 2nd﹕符號位
位5-7=0﹕保留
位4﹕0(表示公制mm)﹐1(表示英制inch)。
位3=0﹕保留
位2﹕Z 軸符號位﹐0表示”+”﹐1表示”-“。
位1﹕Y 軸符號位﹐0表示”+”﹐1表示”-“。
位0﹕X 軸符號位﹐0表示”+”﹐1表示”-“。
Byte 3rd: 狀態位
位7-3=0﹕保留
位2: Z軸狀態﹐ 0表示OK﹐1表示ERROR。
位1: Y軸狀態﹐ 0表示OK﹐1表示ERROR。
位0: X軸狀態﹐ 0表示OK﹐1表示ERROR。
Byte 4th-7th: X軸的值﹐採用壓縮BCD碼格式即
X-value = B4 + B5 *102+B6*104+B7*106
例如﹕設X軸的值為 1234.567
那么 B4=0X67, B5 = 0X45 ﹐B6 = 0X23 , B7=01
注﹕ B4指第4個BYTE, B5指第5個BYTE
Byte 8th-11th: Y軸的值。也採用壓縮BCD碼格式即
Y-value = B8 + B9 *102+B10*104+B11*106
Byte 12th-15th: Z軸的值﹐同樣採用壓縮BCD碼格式即
Z-value = B12+B13*102+B14*104+B15*106
Byte 16th-17th: 保留 注意﹕
注意
1. 不要關心不存在的軸的數值﹐例如﹕ 如果Byte 8th-11th 是Y-value的值﹐則 4th -7th 和12th -15th 不使用。
2. B4: 是指第4字節。其他類似。
3. 從B4 TO B17是壓縮BCD碼格式。
4. 每個字節中,字長8位,起止位各一位,無奇偶校驗。
2 壓縮BCD格式舉例
下面舉例說明該十七字節中內容如何生成。
設三個數軸X﹑Y﹑Z軸其中﹕ x=-3.509, y=123.478, z=250.465。
1. 因為x為負數﹐其他軸的值為正數﹐所以Byte 2nd各位值如下﹕
2. Byte 3th:, 沒有ERROR信號
5. Byte 4th-7th是X軸的值
現在把X軸的值分解取出各位上的數分別為3﹐5﹐0﹐9﹐低位0和9存儲在Byte 4th,高位3和5存儲在Byte 5th中。以下各圖下方的標示中的數位(如百分位﹑個位等)僅適用於本例。 Byte 4th的各位情況如下﹕