新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > RS422通信在DNC控制系統(tǒng)中的應(yīng)用

RS422通信在DNC控制系統(tǒng)中的應(yīng)用

作者: 時間:2012-07-04 來源:網(wǎng)絡(luò) 收藏

1) 通信信息及地址的編碼

系統(tǒng)中RS422總線的一點對多點的通信是將所有下位機的接收端并聯(lián)在總線上,接至上位機的發(fā)送端:而將所有下位機的發(fā)送端并聯(lián)在總線上,接至上位機的接收端。因此,選擇下位機和分辨下位機,確定通信路徑是完成通信的第一步。

本系統(tǒng)采用一個字節(jié)來傳遞命令信息加地址信息或狀態(tài)信息加地址信息,分別稱為命令字、狀態(tài)字。從上位機向下位機傳送的為命令字,從下位機向上位機傳送的為狀態(tài)字。字節(jié)中地址信息占用字節(jié)的低四位,編碼為1~3。命令信息或狀態(tài)信息占用字節(jié)的高四位,地址信息、命令信息、狀態(tài)信息都應(yīng)該是獨立和唯一的。

例如,急停命令信息編碼040,若上位機想控制地址編碼為1的正在加工的機床急停,則發(fā)送命令字應(yīng)為041,該機床就會執(zhí)行相應(yīng)的動作,其他機床不予理會。又例如,若上位機接收到一個為02的狀態(tài)字,由于編輯狀態(tài)信息編碼為000,故可相應(yīng)判別出此狀態(tài)字為地址編碼為2的機床的編輯狀態(tài)信息。

2) 命令字、狀態(tài)字和文件傳輸?shù)耐ㄐ偶s定

在本系統(tǒng)通信中,通信的內(nèi)容除了有命令和狀態(tài),還有文件的傳輸,而文件中的字符是隨機的,很可能會被某臺機床誤認為是對本機床的命令字而發(fā)生誤動作:另外,由于電磁干擾和網(wǎng)絡(luò)沖突的存在,接到的字符也可能并不是發(fā)送的字符。因此,為保證通信的可靠性和正確性,應(yīng)該在通信設(shè)計中采取某些通信約定。

采用了特殊字符的雙字符啟動和正反碼校驗技術(shù)來實現(xiàn)上述目的。正反碼校驗技術(shù)是指在發(fā)送完字符的正碼后,接著發(fā)送其反碼,這樣接收方就可根據(jù)前后兩字符是否為反碼來判斷接收是否正確。正反碼校驗技術(shù)對每一字符的每一位都進行校驗,比傳統(tǒng)的奇偶校驗及累加和校驗要可靠得多。特殊啟動字符BREAK規(guī)定為0X80,低四位字節(jié)為零,由于下位機的地址編碼為1~3,故命令字與狀態(tài)字都不會出現(xiàn)與BREAK相同的字符:文件傳輸中也采用正反碼校驗技術(shù),因此文件傳輸中也不會出現(xiàn)連續(xù)的兩個BREAK字符,保證了正確啟動,不會引起誤動作。

系統(tǒng)中約定不論是上位機發(fā)送命令,還是下位機發(fā)送狀態(tài),都必須先發(fā)送兩個連續(xù)的BREAK,然后發(fā)送命令字或狀態(tài)字,再接著發(fā)送其反碼,這樣連續(xù)幾個字符稱為一幀。

在這樣的通信約定下,對于下位機來說,只有在它接收到符合約定的命令幀后,才判斷接收到了正確的命令字,進而判斷該命令是否為上位機對本機的命令。如果是,則返回正確的響應(yīng),否則不予理睬。上位機在接收到下位機的正確響應(yīng)后,就了解到下位機已經(jīng)正確接收了:若上位機在規(guī)定的時間內(nèi)(至少為幀往返總線一周所用時間)接收不到正確響應(yīng),上位機會三次重發(fā)來糾錯。對于上位機也是如此,只有在它接收到符合約定的狀態(tài)幀后,才認為接收到了正確的狀態(tài)字。

筆者采用Borland C++ 3.1 for DOS語言與Z80匯編語言編寫了通信功能模塊和系統(tǒng)的其他功能模塊。

3 結(jié)語

該DNC已經(jīng)應(yīng)用于浙江華能數(shù)控研究所的三面打孔機系統(tǒng)中,并在邯鄲冶金機械備件廠得到推廣。系統(tǒng)工作穩(wěn)定、可靠,達到預(yù)期的控制目的,證明可靠。


上一頁 1 2 下一頁

關(guān)鍵詞: RS422通信 DNC 控制系統(tǒng)

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉