摘要:介紹了為三面打孔機用DNC控制系統(tǒng)開發(fā)的PC機用RS422通信板,以及它的通信協(xié)議。該DNC系統(tǒng)已經(jīng)應用于浙江華能數(shù)控研究所的三面打孔機中苔眼,并在邯鄲冶金機械備件廠得到推廣。 |
1 DNC系統(tǒng)的網(wǎng)絡結構
- 物理層 采用平衡型標準RS422接口,以提高數(shù)據(jù)傳輸?shù)目煽啃栽拍础T谛碌钠胶庑蜆藴蔙S422中(見附圖)侦副,發(fā)送器與接收器均以差分方式工作,每個信號用兩根導線傳輸驼鞭,整個接口無需共用信號線就可以正常工作。信號的電平由兩根導線上的信號的差值來表示尺碰,電壓范圍為-6~+6V挣棕,相對于其中的一根導線來說,差值為+ 4~+6V表示二進制的“0”亲桥,差值為-4~-6V表示二進制的“1”洛心。對于新的平衡型標準RS422來說,當傳輸距離達到1000m時题篷,信號傳輸速率在 100kb/s以下词身,在10m以內(nèi)的近距離傳輸中,速率可達10Mb/s木砾。由于每個信號均用雙線傳輸农灯,這種差分平衡結構能從地線的干擾中分離出有效信號,差分接收器可區(qū)分0.20V以上的電位差瘸劳,因此品扯,可不受對地參考系統(tǒng)之地電位的波動和共模電磁干擾的影響。
- 鏈路層 本DNC系統(tǒng)控制系統(tǒng)采用異步串行通信方式妖恨。系統(tǒng)約定:數(shù)據(jù)的傳輸采用正反碼校驗:命令字和狀態(tài)字在發(fā)送時捻钢,必須先發(fā)送兩個BREAK,然后發(fā)送命令字或狀態(tài)字足沥,再發(fā)送其反碼:文件傳輸時稻续,32個字節(jié)(正反碼)組成一個信息包。
圖 新平衡型RS422 - 應用層 這一層是面向用戶的,主要為命令的輸入和傳輸結果的說明滔菠。其中命令的輸入包括上位機對下位機實時控制命令的輸入和文件傳輸命令的輸入逮碾。傳輸結果的說明有兩種:當命令或文件正確傳輸時,在屏幕上顯示正確傳輸標志:當命令或文件錯誤傳輸時涕瘸,在屏幕上顯示錯誤傳輸標志涡相。
2 本DNC控制系統(tǒng)通信規(guī)程的約定
- 通信信息及地址的編碼
- 系統(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)信息都應該是獨立和唯一的颊嘱。
- 例如宋睦,急停命令信息編碼040,若上位機想控制地址編碼為1的正在加工的機床急停腊拍,則發(fā)送命令字應為041琐侣,該機床就會執(zhí)行相應的動作,其他機床不予理會呆淑。又例如汇径,若上位機接收到一個為02的狀態(tài)字曼刀,由于編輯狀態(tài)信息編碼為000,故可相應判別出此狀態(tài)字為地址編碼為2的機床的編輯狀態(tài)信息史隆。
- 命令字魂务、狀態(tài)字和文件傳輸?shù)耐ㄐ偶s定
- 在本DNC系統(tǒng)通信中,通信的內(nèi)容除了有命令和狀態(tài)泌射,還有文件的傳輸粘姜,而文件中的字符是隨機的,很可能會被某臺機床誤認為是對本機床的命令字而發(fā)生誤動作:另外熔酷,由于電磁干擾和網(wǎng)絡沖突的存在孤紧,接到的字符也可能并不是發(fā)送的字符。因此拒秘,為保證通信的可靠性和正確性号显,應該在通信設計中采取某些通信約定。
- 本DNC 控制系統(tǒng)采用了特殊字符的雙字符啟動和正反碼校驗技術來實現(xiàn)上述目的躺酒。正反碼校驗技術是指在發(fā)送完字符的正碼后押蚤,接著發(fā)送其反碼,這樣接收方就可根據(jù)前后兩字符是否為反碼來判斷接收是否正確羹应。正反碼校驗技術對每一字符的每一位都進行校驗揽碘,比傳統(tǒng)的奇偶校驗及累加和校驗要可靠得多。特殊啟動字符BREAK規(guī)定為0X80脆逊,低四位字節(jié)為零箫俯,由于下位機的地址編碼為1~3,故命令字與狀態(tài)字都不會出現(xiàn)與BREAK相同的字符:文件傳輸中也采用正反碼校驗技術陌沟,因此文件傳輸中也不會出現(xiàn)連續(xù)的兩個BREAK字符,保證了正確啟動竹恃,不會引起誤動作截巢。
- 系統(tǒng)中約定不論是上位機發(fā)送命令,還是下位機發(fā)送狀態(tài)肘勾,都必須先發(fā)送兩個連續(xù)的BREAK呻蚪,然后發(fā)送命令字或狀態(tài)字,再接著發(fā)送其反碼箫废,這樣連續(xù)幾個字符稱為一幀础姚。
- 在這樣的通信約定下,對于下位機來說譬功,只有在它接收到符合約定的命令幀后填恬,才判斷接收到了正確的命令字,進而判斷該命令是否為上位機對本機的命令奋隶。如果是擂送,則返回正確的響應,否則不予理睬。上位機在接收到下位機的正確響應后嘹吨,就了解到下位機已經(jīng)正確接收了:若上位機在規(guī)定的時間內(nèi)(至少為幀往返總線一周所用時間)接收不到正確響應搬味,上位機會三次重發(fā)來糾錯。對于上位機也是如此蟀拷,只有在它接收到符合約定的狀態(tài)幀后碰纬,才認為接收到了正確的狀態(tài)字。
- 筆者采用Borland C++ 3.1 for DOS語言與Z80匯編語言編寫了通信功能模塊和DNC系統(tǒng)的其他功能模塊问芬。
3 結語
聲明:本網(wǎng)站所收集的部分公開資料來源于互聯(lián)網(wǎng)酌泰,轉載的目的在于傳遞更多信息及用于網(wǎng)絡分享,并不代表本站贊同其觀點和對其真實性負責触法,也不構成任何其他建議漂烂。本站部分作品是由網(wǎng)友自主投稿和發(fā)布、編輯整理上傳展稼,對此類作品本站僅提供交流平臺束多,不為其版權負責。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻俩堡、圖片拳股、文字如涉及作品版權問題,請第一時間告知氏诽,我們將根據(jù)您提供的證明材料確認版權并按國家標準支付稿酬或立即刪除內(nèi)容事匈,以保證您的權益!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn壳凳。
網(wǎng)友評論
匿名:
最新反饋
注冊獲取更多行業(yè)信息
- 暫無反饋
無須注冊,輕松溝通