為機床工(gōng)具企業提供深度市場分析                     

用戶名:   密碼:         免費注冊  |   申請VIP  |  

English  |   German  |   Japanese  |   添加收藏  |  
廣州數控
數控係統

車床 銑床 鑽床 數控係統 加工中心 鍛壓機床 刨插拉床 螺紋加工機床 齒輪加工機床
磨床(chuáng) 鏜床 刀具 功能部件 配件附件 檢驗測(cè)量 機床電器(qì) 特種加工 機器人

數控係統

電工(gōng)電力 工程機械(xiè) 航空航天 汽車 模具
儀器儀表(biǎo) 通用機械 軌道交通 船舶

搜索(suǒ)
熱門關鍵字:

數(shù)控機(jī)床

 | 數控車(chē)床 | 數控係統 | 滾齒機 | 數控銑床 | 銑刀 | 主軸 | 立式加工中心 | 機器人
您現在的位置:數控係統(tǒng)網> 技術前沿(yán)>基於RCS庫實現跨平台遠程通信
基於RCS庫實現跨平台遠程通信
2018-4-16  來源:轉載  作者: 桑冠林,王品,胡毅

      摘要:數控係統的信息采集存在處理速(sù)度較慢、區域限製等問題,不能滿足快速多變的需求,因(yīn)此文章提出一種利用RCS庫實現安卓終端與數控係(xì)統間遠程連接和通(tōng)信的(de)方法,安卓終(zhōng)端(duān)成為數控係統信息顯示的載體。該(gāi)方法使用Java版RCS庫,先寫(xiě)配置文件,定義(yì)消息結構,然後使用RCS庫提供的方法建立遠程連接,讀取數控(kòng)係統的消息並顯(xiǎn)示在安卓終端。實驗結果表(biǎo)明了(le)方法的可行性,配合安卓終端的(de)優勢,可以提升(shēng)工作的靈活性。

      關鍵詞:數(shù)控係統(tǒng); RCS庫; 安卓終端(duān); 遠程連接和通信

      0、引言

      數控機床伺服係統的(de)性(xìng)能不僅直(zhí)接影響著機床加工精度,也關乎數控加工能力能否(fǒu)充(chōng)分發揮,但是數控係統(tǒng)的信息采集終端基木停留在處理速度較慢且隻能針對特定係統操作(zuò)的階段。
 
      謝(xiè)書童等提(tí)出基於仿真的數控加(jiā)工多目標參數優化,獲取機床一次完整工(gōng)序的位置數據,對此次參數進行整定和優化,並(bìng)調整至下次生產加工中,因為這種方法依照真實生產數據,故(gù)保(bǎo)證了參數優化的(de)精準性,但實時性較差。田軍鋒(fēng)等提出利用RCS庫實現模塊間的通信,通過網線將數(shù)控機床與(yǔ)PC連接,並實現通信,可(kě)以使(shǐ)得數據顯示的(de)樣式更(gèng)多樣化,但這種方式受(shòu)到(dào)距離的(de)限製(zhì),且PC的攜帶不便降低了便捷性。

      為了解決上(shàng)述(shù)方法存在的弊端,本(běn)文提出(chū)一種新的信息采集方式,把移動通信技術嵌入到數控機床中。實現可以在手機上看到數控機床相關(guān)參數。解決(jué)空間局限性,具有通用性(xìng)好、擴展(zhǎn)性強、簡捷便利、處理速度快等特點,符合時代潮流,能更好的滿足用戶需(xū)求。

      1、實驗條件

      PC一台,Windows 8操作(zuò)係統,已安裝JDK,並裝有集成(chéng)ADT的Eclipse。二星Tab平板一台,安卓程序發布的載體。藍大NC-210數控係(xì)統(tǒng),作為平板遠程連接的對象。

      androids是一(yī)種基於Linux的自由及開放源(yuán)代碼的操作係統(tǒng),顯著的開放性(xìng)可以使其擁有更多的開發者,並且擁有豐富的軟(ruǎn)件資(zī)源,一經推出就迅速占領了智能手機的大(dà)部分市場份額,受到了廣泛追捧(pěng)。An-droid平台提供了一個十分寬(kuān)泛、自由的開發環境因此(cǐ)實驗選擇安卓終端作為(wéi)連(lián)接端。選用Java版RCS庫。以Java而向對(duì)象的方法,將程序抽象,以(yǐ)類封裝代碼,易於理解和(hé)使(shǐ)用。

      實(shí)驗將藍大係列產品“NC-210”作為(wéi)被連接(jiē)端,采用傳統(tǒng)編(biān)程標準。是在NC-200係統的(de)基礎上的改進型設計,采用了NC-110係統開放性的特點,提高(gāo)了插件之間的(de)互換性,使係統的結構(gòu)更加緊湊,便於調試和維護。NC-210係(xì)統(tǒng)經過了嚴(yán)格的國內外電磁兼容測試和環境試驗、測試。選擇這(zhè)款可靠(kào)性很(hěn)高的(de)產品作為被連接端無(wú)疑能更好的提高實驗的成功率。

      2、RCS庫簡介

      RCS (Realime control system)庫是由美(měi)國國家(jiā)標準與技術研究院(KIST)研(yán)究開發(fā)的軟件(jiàn)庫,可以用來輔助構建多(duō)模塊的控製係(xì)統軟件。 RCS庫是基於RCS方法(fǎ)論和參考模型結構RMA (Reference model ar-chitecture)發展起來的。它代(dài)碼(mǎ)開放,可自由的(de)使用(yòng)、擴展和裁剪,不僅提供了Java版木,還提供了C++版和(hé)Ada版的源碼。

      利用RCS庫構建的控(kòng)製係統軟件往往(wǎng)具有多模(mó)塊、分層次結構(gòu),如圖1所示。每個模塊都有(yǒu)一個命令緩(huǎn)衝區和一個狀態緩衝區。頂層模塊負責接收操作指令,並(bìng)寫命令到命令緩衝區,經過任務分析、分解,把它轉發為具有(yǒu)內部(bù)形式的控製任務信息,傳遞給中間層相關模塊。中間(jiān)層模塊會將任務細分成(chéng)更(gèng)小的任務,分配給下層模塊執行,並協(xié)調它們的動作(zuò)。下(xià)層的模塊還要不斷更新自身的狀態,子模塊通過(guò)狀態通(tōng)道將狀態緩衝區裏的狀態信息反饋給父(fù)模塊。在實際係統中,會有更多(duō)的層次關係,但是它們的原理是一樣。
 
 
 
圖1  RCS多模(mó)塊分層結構

      RCS各模塊(進程)之間是利用RCS庫提供的CMS/NML例程,通過共享內存緩衝(chōng)區傳遞信息。CMS和NML負責對數據信息進行(háng)編發和解碼,實現跨平台通信。

      CMS  (Communication Management System)是RCS軟件中的底層(céng)通信管理係統,提供(gòng)了(le)非常全(quán)麵且統一(yī)的通信接口。CMS提供的方(fāng)法將所有數據類型編碼成與平台無關的格式,這使得RCS進程可以在不(bú)同的操作係(xì)統(tǒng)上(shàng)通信。

      NML ( Neutral Message Language,中性消息語言)提供了更高層次封(fēng)裝,簡化了CMS的編程接口。所以開發人員不必了(le)解底層CMS的(de)工作過程,不必處理與特殊平台相關的問題圖。NML提供類似“mail-box”,的(de)通信方式,每(měi)個通信緩衝區可以看作一個郵箱,可以從緩衝區中讀(dú)取消息,或者向某個緩(huǎn)衝區中寫入消息;緩衝區內可以包含一個消(xiāo)息隊列,否則每次寫入信息將覆蓋原有的(de)消息。對於NML通信中的每個消息,被(bèi)稱為一個NMLmsg。 RCS庫中提供了一(yī)個NMLmsg的(de)基類,提供了信息類型定義、信息大小和數據格式轉換等基本功能(néng)。編程(chéng)時通過繼承NMLmsg進而定(dìng)義實際所需的通信數據(jù),需要(yào)注意的是數據(jù)必須在編(biān)譯(yì)時定義而不能在運行時動態生成不同(tóng)的數據(jù)結構。

      3、實驗過程

      3.1 寫配(pèi)置文件

      NML的配置信息不保(bǎo)存(cún)在中心服務器或數據庫中,而保存在文本(běn)文(wén)件裏。要實現安卓終端和數控係統間跨平台遠程連接,必(bì)須保證安卓程序和NC端程(chéng)序使用相同的(de)配置文件。配置文件主要定義兩類信息,緩衝區和線程。

      NML緩衝區用於存(cún)儲消息,實現(xiàn)內存共享。在(zài)配置文件中,每個緩衝區定義占用一整(zhěng)列,以B開頭,主要包含的參數有,Name(緩衝區名);Type(緩衝區(qū)類型),包括 SHMEM(共享內存)、GLOBMEM(全局)、LOCMEM(本地),FILEMEM(文本),Hos“主機地址),標識緩衝區所在主機的IP地址,特別要(yào)注意的是遠(yuǎn)程(chéng)訪(fǎng)問時,Host應寫NML Server的地址。

      NML進程創建和(hé)連接一個(gè)或多個NML緩衝區(qū),用於讀寫(xiě)消息。每個進程定義占用一整列,以P開(kāi)頭,主(zhǔ)要包含的因素有,Name(進程名);Buffer(進程所連(lián)接(jiē)的緩衝(chōng)區名),匹配緩衝區定義的某列,Type(進程類(lèi)型)等。

      本實驗所使用的(de)配置文件如圖2,圖3所(suǒ)示
 
  

圖(tú)2 緩衝區配置
 
    

圖3 線程配置

      需要注意的配置項是,緩衝區(qū)所屬主機的(de)地址,即NMLServer的地址,數控係統必須開啟NMLServer進程,否則無法遠程訪問(wèn)。另外,線程配置中線程類型必須為REMOTE類型,因為RCS庫的官方文檔裏提到:Java applicationsmust use REMOTE。

      3. 2 消息定義

      建立連接前(qián)需要定義通信消息結(jié)構,先了解Java版RCS庫的幾個重要基類:

      通道基類:基類NML是建立NML通道的基礎,通過基類NML派生出(chū)RCS_ STAT_ CHANNEL和RCSCMD_ CHANNEL。它們分別用來創建狀態(tài)通道和命令通道,從而讓關聯模塊之間(jiān)可以傳遞狀態消息和命令消息回。

      消息基類:RCS_ STAT_ MSG和RCS_ CMD_ MSGo它們都是通過繼承NMLmsg類派(pài)生出來的,分別是狀態消息基類和命令消息基類。命令消息通常是由父(fù)模塊傳遞給子模塊(kuài);而(ér)狀態消息則是由子模塊傳(chuán)遞給父模塊,並(bìng)帶有子模塊的狀態信息。結合NC-210數控係(xì)統內部的消息(xī)結構,安卓端(duān)消息結構如圖4所示。
 
  
 

圖4 狀態(tài)消息類結構圖

      3. 3 建立連接及讀取消息

      NML隱藏了繁瑣的進程間通(tōng)信與同步的實現細(xì)節,給(gěi)程序員提供了方(fāng)便的API。在開發代碼中使(shǐ)用NMLConnection)方法建立遠程(chéng)連接,獲得NML通道。並提供了4種封裝好的讀消息(xī)方法和2種(zhǒng)寫消息方法。本實(shí)驗使(shǐ)用(yòng)的是read方法,讀一個NMLmsg的同時更新was_ read,標明為已讀(dú)。遠程讀(dú)操作流程如圖5所示。
 
  

圖5  Remote Read Operation

      1遠(yuǎn)程(chéng)訪(fǎng)問者(移動終端(duān))發送讀指定緩衝區的請求到NMLServer,這個動(dòng)作由NML自動完成。

      (2)下級模塊將狀態消息寫入Server的狀態緩(huǎn)衝(chōng)區。

      (3) Server從狀態緩衝區(本地)中讀取狀態消息(xī)。

      (4) Server通(tōng)過無線網絡(luò)將請求結果發送給讀(dú)請求者。完成一(yī)次遠程讀操作。

      實現安卓終端遠(yuǎn)程讀取數控係統數據消息,需要保證:

      (1)硬件層而,雙方IP位於同一局域網段內,數控係統通過網線與(yǔ)無線路由器相連,安卓(zhuó)手機連(lián)接該無線路由的無線信號。

      (2)軟件層麵,要保(bǎo)證通信雙方配置文件相同(tóng)且消息結構定(dìng)義的一致。

      4、實驗(yàn)結果演示

      作者將實驗結果打印在(zài)Eclipse控製台(tái),方便測試(shì)和查看(kàn)。下麵將(jiāng)根據打印結果分析不同的(de)情況及原因。

      (1)連接失敗,如圖6所示。
 
  

圖6 連接失敗

      分析原因:配置文件錯誤,如緩衝區所在主機(NMLServer)地址配置錯(cuò)誤,或(huò)協議和端口號配置錯誤。拋出NMLException,顯(xiǎn)示連接不到指定主機的指定端口。

      解決方(fāng)法(fǎ):
 
      ①確保通信雙方位(wèi)於(yú)同一局域網網段內。 ②安卓端和數控係統端配置文(wén)件必須保(bǎo)持一(yī)致。 ③確定數控係統端NMLServer已(yǐ)開啟。

      (2)讀取消息為(wéi)空,如圖7所示。
 
   

圖7 讀不到消息

      分析原因:①安卓端和數控係統端消息結構定義不一致。②  NMLServer的狀態緩衝區(qū)中沒有消息。

      解決方法:①安卓端消息的結構必須和數控係統端(duān)消息結構一(yī)致。②檢查NML進程所讀取的緩衝區裏是否有消(xiāo)息。③最好通信雙方使用的RCS庫具有相同的版本號。

      (3)正確的(de)實驗結果,如圖8所示。
 
  

圖8 正確的實驗結果

      本次實驗分別打印出了軸編程位(wèi)置和軸位置(zhì)實際值。其他位置(zhì)參數,命令消息,NML錯誤(wù)消息的獲得與(yǔ)狀(zhuàng)態(tài)消(xiāo)息獲得類似。

      5、結論

      本文提出基於RCS庫實現安卓終端與數控係統間遠程連接和通信,通信過(guò)程(chéng)的處理交給(gěi)通信管理係統CMS,直(zhí)接調用中性消息語言NML封裝(zhuāng)好的(de)方法實現(xiàn)。實驗結果證實了安卓終端遠程連接並訪問(wèn)數控係統的可(kě)行性,所以配合移(yí)動終端具備的通用性(xìng)好,計算速度快,攜(xié)帶方便等優勢,將移動通信(xìn)技術嵌入到數(shù)控機床中,必將成為趨勢。遠程機床(chuáng)監(jiān)控,遠程機床(chuáng)操控,遠程機電參數優化,遠程故障排除(chú)等都將在不遠的未來實現。

      來源:1.中國科學院大學   2. 中國科學院沈陽計(jì)算技術研究所高(gāo)檔數控國家(jiā)土程研究中(zhōng)心  3.沈陽高精數控技術有限公司
    投(tóu)稿(gǎo)箱:
        如果您有機床行業、企業相關新聞稿件發表,或進行資訊合(hé)作,歡迎聯係本網編輯部, 郵箱:skjcsc@vip.sina.com
国产999精品2卡3卡4卡丨日韩欧美视频一区二区在线观看丨一区二区三区日韩免费播放丨九色91精品国产网站丨XX性欧美肥妇精品久久久久久丨久久久久国产精品嫩草影院丨成人免费a级毛片丨五月婷婷六月丁香综合