亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于RCS庫實(shí)現(xiàn)跨平臺遠(yuǎn)程通信*

        2016-07-04 01:11:54桑冠林
        關(guān)鍵詞:數(shù)控系統(tǒng)

        桑冠林,王 品,胡 毅

        (1.中國科學(xué)院大學(xué),北京 100049;2.中國科學(xué)院沈陽計(jì)算技術(shù)研究所 高檔數(shù)控國家工程研究中心,沈陽 110168;3.沈陽高精數(shù)控技術(shù)有限公司,沈陽 110168)

        基于RCS庫實(shí)現(xiàn)跨平臺遠(yuǎn)程通信*

        桑冠林1,2,王品2,3,胡毅3

        (1.中國科學(xué)院大學(xué),北京100049;2.中國科學(xué)院沈陽計(jì)算技術(shù)研究所 高檔數(shù)控國家工程研究中心,沈陽110168;3.沈陽高精數(shù)控技術(shù)有限公司,沈陽110168)

        摘要:數(shù)控系統(tǒng)的信息采集存在處理速度較慢、區(qū)域限制等問題,不能滿足快速多變的需求,因此文章提出一種利用RCS庫實(shí)現(xiàn)安卓終端與數(shù)控系統(tǒng)間遠(yuǎn)程連接和通信的方法,安卓終端成為數(shù)控系統(tǒng)信息顯示的載體。該方法使用Java版RCS庫,先寫配置文件,定義消息結(jié)構(gòu),然后使用RCS庫提供的方法建立遠(yuǎn)程連接,讀取數(shù)控系統(tǒng)的消息并顯示在安卓終端。實(shí)驗(yàn)結(jié)果表明了方法的可行性,配合安卓終端的優(yōu)勢,可以提升工作的靈活性。

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

        0引言

        數(shù)控機(jī)床伺服系統(tǒng)的性能不僅直接影響著機(jī)床加工精度,也關(guān)乎數(shù)控加工能力能否充分發(fā)揮,但是數(shù)控系統(tǒng)的信息采集終端基本停留在處理速度較慢且只能針對特定系統(tǒng)操作的階段。

        謝書童等提出基于仿真的數(shù)控加工多目標(biāo)參數(shù)優(yōu)化[1],獲取機(jī)床一次完整工序的位置數(shù)據(jù),對此次參數(shù)進(jìn)行整定和優(yōu)化,并調(diào)整至下一次生產(chǎn)加工中,因?yàn)檫@種方法依照真實(shí)生產(chǎn)數(shù)據(jù),故保證了參數(shù)優(yōu)化的精準(zhǔn)性,但實(shí)時性較差。田軍鋒等提出利用RCS庫實(shí)現(xiàn)模塊間的通信,通過網(wǎng)線將數(shù)控機(jī)床與PC連接,并實(shí)現(xiàn)通信,可以使得數(shù)據(jù)顯示的樣式更多樣化[2],但這種方式受到距離的限制,且PC的攜帶不便降低了便捷性。

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

        1實(shí)驗(yàn)條件

        PC一臺,Windows 8 操作系統(tǒng),已安裝JDK,并裝有集成ADT的Eclipse。三星Tab平板一臺,安卓程序發(fā)布的載體。藍(lán)天NC-210數(shù)控系統(tǒng),作為平板遠(yuǎn)程連接的對象。

        Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),顯著的開放性可以使其擁有更多的開發(fā)者,并且擁有豐富的軟件資源,一經(jīng)推出就迅速占領(lǐng)了智能手機(jī)的大部分市場份額,受到了廣泛追捧。 Android平臺提供了一個十分寬泛、自由的開發(fā)環(huán)境[3],因此實(shí)驗(yàn)選擇安卓終端作為連接端。選用Java版RCS庫。以Java面向?qū)ο蟮姆椒?,將程序抽象,以類封裝代碼,易于理解和使用。

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

        2RCS庫簡介

        RCS(Real-time control system)庫是由美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)研究開發(fā)的軟件庫,可以用來輔助構(gòu)建多模塊的控制系統(tǒng)軟件[5]。RCS庫是基于RCS方法論和參考模型結(jié)構(gòu)RMA(Reference model architecture)發(fā)展起來的。它代碼開放,可自由的使用、擴(kuò)展和裁剪,不僅提供了Java版本,還提供了C++版和Ada版的源碼。

        利用RCS庫構(gòu)建的控制系統(tǒng)軟件往往具有多模塊、分層次結(jié)構(gòu),如圖1所示。每個模塊都有一個命令緩沖區(qū)和一個狀態(tài)緩沖區(qū)。頂層模塊負(fù)責(zé)接收操作指令,并寫命令到命令緩沖區(qū),經(jīng)過任務(wù)分析、分解,把它轉(zhuǎn)發(fā)為具有內(nèi)部形式的控制任務(wù)信息,傳遞給中間層相關(guān)模塊。中間層模塊會將任務(wù)細(xì)分成更小的任務(wù),分配給下層模塊執(zhí)行,并協(xié)調(diào)它們的動作。下層的模塊還要不斷更新自身的狀態(tài),子模塊通過狀態(tài)通道將狀態(tài)緩沖區(qū)里的狀態(tài)信息反饋給父模塊[6]。在實(shí)際系統(tǒng)中,會有更多的層次關(guān)系,但是它們的原理是一樣。

        圖1 RCS多模塊分層結(jié)構(gòu)

        RCS各模塊(進(jìn)程)之間是利用RCS庫提供的CMS/NML例程,通過共享內(nèi)存緩沖區(qū)傳遞信息。CMS和NML負(fù)責(zé)對數(shù)據(jù)信息進(jìn)行編發(fā)和解碼,實(shí)現(xiàn)跨平臺通信[6]。

        CMS (Communication Management System)是RCS軟件中的底層通信管理系統(tǒng),提供了非常全面且統(tǒng)一的通信接口。CMS提供的方法將所有數(shù)據(jù)類型編碼成與平臺無關(guān)的格式,這使得RCS進(jìn)程可以在不同的操作系統(tǒng)上通信。

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

        3實(shí)驗(yàn)過程

        3.1寫配置文件

        NML的配置信息不保存在中心服務(wù)器或數(shù)據(jù)庫中,而保存在文本文件里。要實(shí)現(xiàn)安卓終端和數(shù)控系統(tǒng)間跨平臺遠(yuǎn)程連接,必須保證安卓程序和NC端程序使用相同的配置文件。配置文件主要定義兩類信息,緩沖區(qū)和線程。

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

        NML進(jìn)程創(chuàng)建和連接一個或多個NML緩沖區(qū),用于讀寫消息。每個進(jìn)程定義占用一整列,以P開頭,主要包含的因素有,Name(進(jìn)程名);Buffer(進(jìn)程所連接的緩沖區(qū)名),匹配緩沖區(qū)定義的某列,Type(進(jìn)程類型)等。

        本實(shí)驗(yàn)所使用的配置文件如圖2、圖3所示。

        圖2 緩沖區(qū)配置

        圖3 線程配置

        需要注意的配置項(xiàng)是,緩沖區(qū)所屬主機(jī)的地址,即NMLServer的地址,數(shù)控系統(tǒng)必須開啟NMLServer進(jìn)程,否則無法遠(yuǎn)程訪問。另外,線程配置中線程類型必須為REMOTE類型,因?yàn)镽CS庫的官方文檔里提到:Java applications must use REMOTE[8]。

        3.2消息定義

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

        通道基類:基類NML是建立NML通道的基礎(chǔ),通過基類NML派生出RCS_STAT_CHANNEL和RCS_CMD_CHANNEL。它們分別用來創(chuàng)建狀態(tài)通道和命令通道,從而讓關(guān)聯(lián)模塊之間可以傳遞狀態(tài)消息和命令消息[9]。

        消息基類:RCS_STAT_MSG和RCS_CMD_MSG。它們都是通過繼承NMLmsg類派生出來的,分別是狀態(tài)消息基類和命令消息基類。命令消息通常是由父模塊傳遞給子模塊;而狀態(tài)消息則是由子模塊傳遞給父模塊,并帶有子模塊的狀態(tài)信息。結(jié)合NC-210數(shù)控系統(tǒng)內(nèi)部的消息結(jié)構(gòu),安卓端消息結(jié)構(gòu)如圖4所示。

        圖4 狀態(tài)消息類結(jié)構(gòu)圖

        3.3建立連接及讀取消息

        NML隱藏了繁瑣的進(jìn)程間通信與同步的實(shí)現(xiàn)細(xì)節(jié),給程序員提供了方便的API。在開發(fā)代碼中使用NMLConnection()方法建立遠(yuǎn)程連接,獲得NML通道。并提供了4種封裝好的讀消息方法和2種寫消息方法。本實(shí)驗(yàn)使用的是 read()方法,讀一個NMLmsg的同時更新was_read,標(biāo)明為已讀。遠(yuǎn)程讀操作流程如圖5所示[10]。

        圖5 Remote Read Operation

        (1)遠(yuǎn)程訪問者(移動終端)發(fā)送讀指定緩沖區(qū)的請求到NMLServer,這個動作由NML自動完成。

        (2)下級模塊將狀態(tài)消息寫入Server的狀態(tài)緩沖區(qū)。

        (3)Server從狀態(tài)緩沖區(qū)(本地)中讀取狀態(tài)消息。

        (4)Server通過無線網(wǎng)絡(luò)將請求結(jié)果發(fā)送給讀請求者。完成一次遠(yuǎn)程讀操作。

        實(shí)現(xiàn)安卓終端遠(yuǎn)程讀取數(shù)控系統(tǒng)數(shù)據(jù)消息,需要保證:

        (1)硬件層面,雙方IP位于同一局域網(wǎng)段內(nèi),數(shù)控系統(tǒng)通過網(wǎng)線與無線路由器相連,安卓手機(jī)連接該無線路由的無線信號。

        (2)軟件層面,要保證通信雙方配置文件相同且消息結(jié)構(gòu)定義的一致。

        4實(shí)驗(yàn)結(jié)果演示

        作者將實(shí)驗(yàn)結(jié)果打印在Eclipse控制臺,方便測試和查看。下面將根據(jù)打印結(jié)果分析不同的情況及原因。

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

        圖6 連接失敗

        分析原因:配置文件錯誤,如緩沖區(qū)所在主機(jī)(NMLServer)地址配置錯誤,或協(xié)議和端口號配置錯誤。拋出NMLException,顯示連接不到指定主機(jī)的指定端口。

        解決方法:①確保通信雙方位于同一局域網(wǎng)網(wǎng)段內(nèi)。②安卓端和數(shù)控系統(tǒng)端配置文件必須保持一致。③確定數(shù)控系統(tǒng)端NMLServer已開啟。

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

        圖7 讀不到消息

        分析原因:①安卓端和數(shù)控系統(tǒng)端消息結(jié)構(gòu)定義不一致。② NMLServer的狀態(tài)緩沖區(qū)中沒有消息。

        解決方法:①安卓端消息的結(jié)構(gòu)必須和數(shù)控系統(tǒng)端消息結(jié)構(gòu)一致。②檢查NML進(jìn)程所讀取的緩沖區(qū)里是否有消息。③最好通信雙方使用的RCS 庫具有相同的版本號。

        (3)正確的實(shí)驗(yàn)結(jié)果,如圖8所示。

        圖8 正確的實(shí)驗(yàn)結(jié)果

        本次實(shí)驗(yàn)分別打印出了軸編程位置和軸位置實(shí)際值。其他位置參數(shù),命令消息,NML錯誤消息的獲得與狀態(tài)消息獲得類似。

        5結(jié)論

        本文提出基于RCS庫實(shí)現(xiàn)安卓終端與數(shù)控系統(tǒng)間遠(yuǎn)程連接和通信,通信過程的處理交給通信管理系統(tǒng)CMS,直接調(diào)用中性消息語言NML封裝好的方法實(shí)現(xiàn)。實(shí)驗(yàn)結(jié)果證實(shí)了安卓終端遠(yuǎn)程連接并訪問數(shù)控系統(tǒng)的可行性,所以配合移動終端具備的通用性好,計(jì)算速度快,攜帶方便等優(yōu)勢,將移動通信技術(shù)嵌入到數(shù)控機(jī)床中,必將成為趨勢。遠(yuǎn)程機(jī)床監(jiān)控,遠(yuǎn)程機(jī)床操控,遠(yuǎn)程機(jī)電參數(shù)優(yōu)化,遠(yuǎn)程故障排除等都將在不遠(yuǎn)的未來實(shí)現(xiàn)。

        [參考文獻(xiàn)]

        [1] 謝書童,郭隱彪. 雙刀并行數(shù)控車削中的切削參數(shù)優(yōu)化方法 [J]. 中國機(jī)械工程第卷期,2014, 25(14):1941-1946.

        [2] 田軍鋒,馬躍,吳文江,等.利用RCS庫實(shí)現(xiàn)數(shù)控系統(tǒng)模塊間的通信 [J].微計(jì)算機(jī)信息,2009,25(7):121-122.

        [3] 李培林. 安卓系統(tǒng)的應(yīng)用及發(fā)展趨勢展望 [J]. 計(jì)算機(jī)光盤軟件與應(yīng)用,2012(18):160-16.

        [4] 黃艷,于東,吳文江,等.基于藍(lán)天數(shù)控系統(tǒng)的STEP-NC控制器設(shè)計(jì)[J].制造技術(shù)與機(jī)床,2007(12):24-28.

        [5] 梁紅波,裴海龍,楊春.利用RCS開發(fā)工具構(gòu)建實(shí)時控制系統(tǒng)[J].福建電腦,2014(5):180-182.

        [6] 郭秀萍,張?jiān)粕?基于RCS模塊的梯階分布控制系統(tǒng) [J].計(jì)算機(jī)應(yīng)用,2003,23(3):67-69.

        [6] GaziV, MooreM, Passino K M. Real-time control system soft-ware for intelligent system developmen:t Experiments and an edu-cational program [A]. Proceedingsof the 1998 IEEE Internation-alSymposium on IntelligentControl [C]. Piscataway, NJ, USA:IEEE, 1998,102-107.

        [7] 梁紅波. 基于RCS庫構(gòu)建分布式實(shí)時控制系統(tǒng) [J] .信息與控制,2011,35(5):581-583.

        [8] 麥向習(xí), 裴海龍. 利用RCS庫構(gòu)建控制系統(tǒng)軟件 [J] .微計(jì)算機(jī)信息,2005,21(10):23-25.

        [9] 李?;?于東,胡毅,等.數(shù)控系統(tǒng)網(wǎng)絡(luò)通信平臺的設(shè)計(jì)與實(shí)現(xiàn) [J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(4):1141-1146.

        (編輯趙蓉)

        Remote Communication Based on RCS Library

        SANG Guan-lin1,2,WANG Pin2,3,HU Yi3

        (1.University of Chinese Academy of Sciences,Beijing 100049,China;2.National Engineering Research Center for High-End CNC, Shenyang Institute of Computing Technology,Chinese Academy of Sciences, Shenyang 110168,China)

        Abstract:The information collection of numerical control system has the problems such as slow speed of processing and regional restriction,this has been unable to meet the rapidly changing demand.In this paper,a method of remote connection and communication between the Android terminal and the numerical control system was proposed based on RCS library,which makes the terminal becomes the carrier of the information display of the numerical control system.The method is based on the Java version of the RCS library,firstly, the configuration file was written and the message structure was defined,then the RCS library was used to provide remote connectivity,and the message can be recognized with the position data of the NC displayed in the Android terminal.The feasibility of the proposed method was showed by experimental results,the flexibility of work can be enhanced with the advantages of mobile terminals.

        Key words:numerical control system;RCS library;android terminal;remote connection and communication

        文章編號:1001-2265(2016)06-0088-04

        DOI:10.13462/j.cnki.mmtamt.2016.06.023

        收稿日期:2015-07-28;修回日期:2015-08-18

        *基金項(xiàng)目:“高檔數(shù)控機(jī)床與基礎(chǔ)制造裝備”國家科技重大專項(xiàng) 基于二次開發(fā)平臺的專用數(shù)控系統(tǒng)開發(fā)與應(yīng)用(2013ZX04007-011)

        作者簡介:桑冠林(1990—),男,河南安陽人,中國科學(xué)院大學(xué)碩士研究生,研究方向?yàn)橛?jì)算機(jī)軟件與理論,(E-mail)sangguanlin@sina.com。

        中圖分類號:TH165;TG659

        文獻(xiàn)標(biāo)識碼:A

        猜你喜歡
        數(shù)控系統(tǒng)
        三菱M80數(shù)控系統(tǒng)中機(jī)床過載鎖定功能的拓展應(yīng)用
        基于實(shí)時輪廓誤差估算的數(shù)控系統(tǒng)輪廓控制
        基于嵌入式Soft-PLC 的三軸數(shù)控系統(tǒng)設(shè)計(jì)
        基于FANUC 32i A數(shù)控系統(tǒng)的外部測量設(shè)計(jì)
        西門子840D sl數(shù)控系統(tǒng)在SC125大型車銑鏜床技術(shù)改造中的應(yīng)用
        基于FANUC Oi mate TD數(shù)控系統(tǒng)的手動功能開發(fā)
        數(shù)控系統(tǒng)中GUI軟件平臺設(shè)計(jì)和實(shí)現(xiàn)
        GNC61數(shù)控系統(tǒng)的斜面加工功能
        開放式彈簧機(jī)數(shù)控系統(tǒng)開發(fā)
        飛揚(yáng)FO數(shù)控系統(tǒng)在臥式加工中心上的應(yīng)用
        亚洲av成熟国产一区二区| 伊人精品无码AV一区二区三区| 国产精品亚洲综合色区韩国| 熟女不卡精品久久av| 亚洲乱码av中文一区二区| 亚洲av无码一区二区三区人| 香蕉久久夜色精品国产2020| 精品久久久无码不卡| 高清不卡av一区二区| 99热在线观看| 亚洲国产精品久久久久秋霞1| 99久久精品国产自在首页| 日本免费播放一区二区| 国产亚洲三级在线视频| 五月开心六月开心婷婷网| 午夜精品射精入后重之免费观看| 日日摸夜夜添无码无码av| 男人深夜影院无码观看| 成人爽a毛片在线播放| 中文字幕日本人妻久久久免费| 亚洲熟妇av乱码在线观看| 无码av免费永久免费永久专区| 亚洲国产成人精品一区刚刚| 亚洲精品中文字幕乱码| 亚洲国产精品一区二区成人av| 成人综合网站| 最新无码国产在线播放| 日本女优中文字幕有码| 成人免费播放视频777777 | 日韩一区二区三区中文字幕| 精品一区二区三区久久| 欧美激情乱人伦| 亚洲av第一页国产精品| 国产操逼视频| 国产91 对白在线播放九色| 久久久噜噜噜久久熟女| 日本丰满熟妇videossexhd| 国产顶级熟妇高潮xxxxx| 久久国产热精品波多野结衣av| 国内揄拍国内精品久久| 国产精品久久久免费精品|