RS232光栅尺通讯协议

发布时间:2016/12/14 11:57:00

RS232光栅尺通讯协议

通訊協議 1  壓縮BCD碼格式

 PC機送出一個字元’R’(0X52)﹐本數顯箱在接收了一個’R’後﹐馬上回送17個字節給PC機。

11.jpg

17個字節如下﹕

 Byte 1stHead =0x0fe (十六進制值)

 Byte 2nd﹕符號位            

5-7=0﹕保留         

40(表示公制mm)﹐1(表示英制inch)。         

3=0﹕保留         

2Z 軸符號位﹐0表示”+”﹐1表示”-“。         

1Y 軸符號位﹐0表示”+”﹐1表示”-“。         

0X 軸符號位﹐0表示”+”﹐1表示”-“。  

Byte 3rd: 狀態位                

7-3=0﹕保留

2:  Z軸狀態﹐ 0表示OK1表示ERROR

1:  Y軸狀態﹐ 0表示OK1表示ERROR

0:  X軸狀態﹐ 0表示OK1表示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指第4BYTE, B5指第5BYTE

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: 保留  注意﹕

注意

 14.jpg

1. 不要關心不存在的軸的數值﹐例如﹕  如果Byte 8th-11th Y-value的值﹐則 4th -7th 12th -15th 不使用。

2. B4: 是指第4字節。其他類似。

3. B4 TO B17是壓縮BCD碼格式。  

4. 每個字節中,字長8位,起止位各一位,無奇偶校驗。   

 2 壓縮BCD格式舉例    

下面舉例說明該十七字節中內容如何生成。

 設三個數軸XYZ軸其中﹕ x=-3.509, y=123.478, z=250.465

1. 因為x為負數﹐其他軸的值為正數﹐所以Byte 2nd各位值如下﹕

 

图片1.png   

2.  Byte 3th:,  沒有ERROR信號

图片2.png 

 5. Byte 4th-7thX軸的值  

現在把X軸的值分解取出各位上的數分別為3509﹐低位09存儲在Byte 4th,高位35存儲在Byte 5th中。以下各圖下方的標示中的數位(如百分位﹑個位等)僅適用於本例。         Byte 4th的各位情況如下﹕    

图片3.png