国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于實時Linux的網(wǎng)絡(luò)化開放式運動控制器研究

2015-10-30 07:20鄭天江宋孫浩楊亞威楊桂林
制造業(yè)自動化 2015年10期
關(guān)鍵詞:實時性內(nèi)核開放式

鄭天江,宋孫浩,楊亞威,張 馳,楊桂林

(中科院 寧波材料技術(shù)與工程研究所,寧波 315201)

0 引言

運動控制技術(shù)是現(xiàn)代工業(yè)化進(jìn)程中必不可少的元素,不管是數(shù)控領(lǐng)域,還是新興的裝備制造乃至機器人領(lǐng)域,都離不開運動控制,運動控制器已經(jīng)深入了現(xiàn)代化工業(yè)的每個角落。高速、高精度始終是運動控制技術(shù)追求的目標(biāo)。傳統(tǒng)的運動控制器的核心器件主要是基于單片機(MCU)或者數(shù)字信號處理器(DSP)等嵌入式芯片開發(fā),受嵌入式芯片的運算速度和功能的限制,部分復(fù)雜的運動規(guī)劃、高速實時多軸插補、誤差補償[1]和更復(fù)雜的運動學(xué)、動力學(xué)計算無法在裝備了傳統(tǒng)運動控制器的數(shù)控設(shè)備或機器人設(shè)備上實現(xiàn),這就要求我們新型的運動控制器的核心處理器具有更快的處理速度、更高的運算精度和更多任務(wù)的處理能力。隨著工業(yè)PC技術(shù)的發(fā)展, 功能越來越強大、可靠性越來越高、價格越來越低廉、體積越來越小巧,是現(xiàn)代運動控制器及運動控制系統(tǒng)發(fā)展的必然趨勢。

開放式運動控制器的研究始于1987年,美國空軍在政府的資助下發(fā)表了著名的“NGC(下一代控制器)研究計劃”[2]。從1996年開始,美國幾個大型研究機構(gòu)對NGC計劃分別發(fā)表了相應(yīng)的內(nèi)容,美國通用、福特和克萊斯勒等公司提出和研究了 “OMAC(開放式、模塊化體系結(jié)構(gòu)控制器)”,其目的是用更開放、更加模塊化的控制結(jié)構(gòu)使制造系統(tǒng)更加具有柔性、更加敏捷。目前,國外的一些公司已經(jīng)有了相關(guān)的產(chǎn)品,例如softservo公司[3]針對數(shù)控加工領(lǐng)域開發(fā)了4軸的運動控制器,貝福自動化公司則主推Ethercat[4]相關(guān)的自動化運動控制產(chǎn)品,包括嵌入式系統(tǒng)的硬件、軟件平臺以及工控PC。近年來,一些人試圖已經(jīng)開始探尋將網(wǎng)絡(luò)服務(wù)直接嵌入到運動器中[5],例如張艷瓊[6]等人研究了基于Web service的工業(yè)控制系統(tǒng),企圖利用Internet的開放性來實現(xiàn)遠(yuǎn)程的工業(yè)數(shù)據(jù)交互,和多平臺的接入等特點。

前面提到的運動控制器及相關(guān)產(chǎn)品已經(jīng)開始向開放式PC和網(wǎng)絡(luò)化的方向靠近,但還是存在一些缺點和不足,例如采用計算機標(biāo)準(zhǔn)總線的運動控制器由于存在金手指鏈接,單邊固定等缺點,不宜長期工作;采用嵌入式系統(tǒng)的運動控制器其資源和配置以及運算能力有限;本文基于以上原因?qū)崿F(xiàn)了基于工控機和網(wǎng)絡(luò)設(shè)備的運動控制器,通過將所有運動控制算法運行在實時的工控機內(nèi)核上實現(xiàn)快速的實時運算,并且通過實時以太網(wǎng)的應(yīng)用實現(xiàn)了工控機與現(xiàn)場設(shè)備的實時聯(lián)網(wǎng)。與此同時在工控機上搭載了因特網(wǎng)接口,可以實現(xiàn)多平臺和多點的動態(tài)接入和控制。

1 運動控制器的系統(tǒng)的整體架構(gòu)

如圖1所示,運動控制器搭載網(wǎng)絡(luò)服務(wù)通過網(wǎng)關(guān)連接到工廠的局域網(wǎng)或廣域網(wǎng)絡(luò);而針對多軸的電機控制方面,控制器搭載實時的通訊網(wǎng)絡(luò)(并口,Can或者Ethercat),I/O端子板實現(xiàn)將收到的數(shù)據(jù)翻譯成現(xiàn)場的I/O控制量(如,數(shù)字量輸入輸入出,模擬量輸入輸出以及PWM等),這樣通過Linux實時系統(tǒng)和相應(yīng)的實時傳輸協(xié)議便可實現(xiàn)一個控制器控制多軸的電機同時運行;運動控制器與運動控制器之間可以通過網(wǎng)關(guān)進(jìn)行網(wǎng)內(nèi)的數(shù)據(jù)交換。

圖1 運動控制器的整體架構(gòu)圖

圖2是運動控制器軟件結(jié)構(gòu)框圖,控制器以PC和實時Linux技術(shù)(RTAI或者Preempt-RT)構(gòu)成的實時操作系統(tǒng)(RTOS)為基礎(chǔ)開發(fā)平臺,操作系統(tǒng)中的程序分為實時和非實時兩種類型,其中實時以太網(wǎng)驅(qū)動等程序的運的優(yōu)先級最高,此外,硬件驅(qū)動、運動學(xué)和動力學(xué)計算、軌跡規(guī)劃和網(wǎng)絡(luò)服務(wù)等內(nèi)容也在實時進(jìn)程中實現(xiàn);而對系統(tǒng)實時性要求不高的內(nèi)容,例如代碼解釋等,則是在非實時的進(jìn)程中實現(xiàn)。人機交互方面,通過網(wǎng)絡(luò)節(jié)點上的用戶可以通過網(wǎng)絡(luò)GUI的服務(wù)實現(xiàn)遠(yuǎn)程的訪問和多點的接入。

圖2 運動控制器軟件結(jié)構(gòu)圖

2 運動控制器網(wǎng)絡(luò)及遠(yuǎn)程控制功能實現(xiàn)

1)搭建Web服務(wù)

對于Web的工作原理簡要介紹如圖3所示,Web服務(wù)器作為服務(wù)端存放相應(yīng)的服務(wù)網(wǎng)頁并提供服務(wù),將Web服務(wù)器融合到運動控制器中,所以運動控制器的數(shù)據(jù)可以與Web服務(wù)器進(jìn)行實時通訊。Web客戶端發(fā)出瀏覽網(wǎng)頁和下載文件等命令申請,申請成功后,由服務(wù)器直接傳輸所需要的文本和數(shù)據(jù)到客戶端。

針對服務(wù)器的搭建,我們采用Apache等方式來配置。Apache是開源的Web服務(wù)器軟件,是最常用的Web服務(wù)器之一。其主要特點是:簡單、速度快、性能穩(wěn)定;它可以運行于所有計算機平臺,包括UNIX/LINUX系統(tǒng);集成代理服務(wù)器和Perl編程腳本;對用戶的訪問會話過程跟蹤;可對服務(wù)器日志定制;還支持虛擬主機及HTTP認(rèn)證等等。同時在服務(wù)器端還需要配置MySQL服務(wù)器和PHP應(yīng)用程序服務(wù)器等軟件,其中MySQL是關(guān)系型數(shù)據(jù)庫管理系統(tǒng),而PHP是網(wǎng)站流行的Web程序開發(fā)語言。三者的結(jié)合是用來配置Web服務(wù)器的標(biāo)準(zhǔn)組合。

圖3 網(wǎng)頁的申請與瀏覽過程

2)SSH遠(yuǎn)程登錄控制

SSH為建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議。SSH是目前較可靠,專為遠(yuǎn)程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。利用SSH協(xié)議可以有效防止遠(yuǎn)程管理過程中的信息泄露問題。在Linux的操作系統(tǒng)上建立和鏈接SSH服務(wù)是非常簡單方便的,并且用戶可以通過不同終端進(jìn)行訪問。首先在運動控制器上安裝SSH協(xié)議,在加入實時內(nèi)核補丁的ubuntu操作系統(tǒng)下,安裝SSH協(xié)議是非常方便的,只需要在聯(lián)網(wǎng)狀態(tài)下終端輸入apt-get install SSH,系統(tǒng)便可以自動安裝SSH服務(wù)。同理,在另外一臺終端安裝SSH服務(wù)之后便可以采用SSH+IP地址+用戶名來實現(xiàn)兩臺計算機的互訪。這樣便實現(xiàn)了采用局域網(wǎng)中任意一臺機器來控制開放式的運動控制器。

3 運動控制器性能研究

由于運動控制器必須要保證設(shè)備的實時性,因此我們首先需要研究操作系統(tǒng)和通訊系統(tǒng)的實時性,只有解決了這兩大核心問題,系統(tǒng)的精度和控制速度才能夠提高并且適應(yīng)現(xiàn)場的不同設(shè)備。本文主要采用以實時的Linux操作系統(tǒng)為基礎(chǔ),首先調(diào)查和研究Linux操作系統(tǒng)對外圍設(shè)備的實時性表現(xiàn),同時研究基于Linux下的現(xiàn)場實時總線的技術(shù)和通信標(biāo)準(zhǔn)。

1)操作系統(tǒng)的實時性研究

由于標(biāo)準(zhǔn)的Linux內(nèi)核是采用內(nèi)核層和用戶層分離的接口,普通用戶無法直接更改內(nèi)核進(jìn)程,因此需要采取一些特殊的辦法來提高其實時性,比如說瘦內(nèi)核方法、超微內(nèi)核方法、資源內(nèi)核方法和實時內(nèi)核補丁等等。

圖4(a)~(d)顯示了普通內(nèi)核和帶實時內(nèi)核補丁的Linux操作系統(tǒng)的實時性的表現(xiàn),本測試在每個操作系統(tǒng)上分別運行了5個線程,針對每個線程的實時性進(jìn)行了捕捉(圖中max:表示最大延遲,Avg表示平均延遲,單位均為ns),結(jié)果發(fā)現(xiàn)采用普通Linux操作系統(tǒng)內(nèi)核的最大延遲比較大(最大延遲為1000ns以上),并且在干擾情況下,內(nèi)核的穩(wěn)定性得不到保證(最大延遲跳動比較大)。采用實時內(nèi)核則穩(wěn)定性和實時性大大提高了(最大延遲在10ns左右)。

圖4 Linux實時內(nèi)核測試

2)通訊系統(tǒng)的性能研究

上位機要想控制現(xiàn)場設(shè)備,那么通訊過程是必不可少的,我們采用linuxcnc作為上位機的控制軟件,通過編寫實時進(jìn)程下的hal驅(qū)動和內(nèi)核模塊文件來實現(xiàn)實時的運動控制功能。這里我們采用了三種通訊模式開發(fā)了相關(guān)的通訊系統(tǒng)軟件和硬件來控制下位機的電機及IO設(shè)備:基于并口通訊,基于Canopen通訊和基于Ethercat通訊。

基于并口的通訊:由于并口相對于其他方式來說,其開發(fā)過程比較簡單,成本低廉,因此我們首先采用并口進(jìn)行測試,但其局限性在與,通訊距離比較短,通訊速率比較慢。通過重寫Linux內(nèi)核并口驅(qū)動程序,通訊方式采用EPP模式,并且下位機采用單片機模擬并口,下位機根據(jù)接收到的值發(fā)出相應(yīng)的模擬量或者數(shù)字量來控制現(xiàn)場設(shè)備。

采用并口通訊實現(xiàn)開放式運動控制系統(tǒng)的設(shè)備如圖5所示,主要包括了工控機,并口轉(zhuǎn)接板和I/O端子板,在Linux系統(tǒng)實時系統(tǒng)下,我們選取了系統(tǒng)中斷為1ms,通訊協(xié)議中,每發(fā)送一個16位的過程數(shù)據(jù),需要在上位機發(fā)送四次8位數(shù)據(jù),由于EPP通訊模式的速率大約在1Mbyte左右,因此我們每個1ms的通訊間隔可以發(fā)送和讀寫大約30個16位的數(shù)據(jù)。數(shù)據(jù)編碼方式如表1所示。

表1 數(shù)據(jù)編碼方向

其中h0h7組成8位數(shù)據(jù)頭,c0~c7代表數(shù)據(jù)的代碼號,用來識別設(shè)備編號和數(shù)據(jù)等,d0~d15代表實際數(shù)據(jù)。

圖5 采用并口通訊實現(xiàn)的開放式運動控制系統(tǒng)

通過實驗驗證,在這樣的方式下,我們每一路并口最多只能實時控制2兩路電機。我們可以通過PCI的并口擴展卡來實現(xiàn)多路電機的同時控制。因此,在控制軸數(shù)不多,廉價的場合,采用并口來實現(xiàn)是可行的。如果需要增加更多路的控制,我們可以使用PCI或者PCIE轉(zhuǎn)并口轉(zhuǎn)接來實現(xiàn)。

基于Canopen的通訊:由于普通電腦上并沒有Can通訊的硬件,因此我們需要研發(fā)基于Can的PCI通訊卡,采用Can總線通訊主要特點是,抗干擾能力強可以同時接入多個控制設(shè)備傳輸距離相對來說比較遠(yuǎn),Linux系統(tǒng)下,我們選擇了凌華公司的PCI-7841(PCI轉(zhuǎn)CAN卡)進(jìn)行測試,編寫基于Can總線的程序比較簡單,基于socketcan的方式,首先創(chuàng)建一個套接字,然后綁定端口,然后發(fā)送數(shù)據(jù),其主要程序如下:

通過實驗發(fā)現(xiàn),采用Canopen的通訊模式,其1ms內(nèi)的實時收發(fā)數(shù)據(jù)量跟并口的差不多,但是其穩(wěn)定性和傳輸距離遠(yuǎn)遠(yuǎn)高于并口。另一方面,由于需要專門設(shè)計PCI轉(zhuǎn)Can卡,成本要高一些。

基于Ethernet的通訊:傳統(tǒng)的運動控制器通過RS232、485等方式來進(jìn)行運動控制器與現(xiàn)場設(shè)備間的通訊,這類系統(tǒng)的功能和性能受到了諸多的限制,除了通訊距離短、接線方式繁瑣、通訊速率低等,最顯著的缺點是能夠控制的軸的數(shù)目不多。通過實時以太網(wǎng)的技術(shù)引入,解決了運動控制此類迫在眉睫的問題。

以太網(wǎng)的實時通訊方式,目前有比較多的種類,例如:一些人直接使用prof i bus DP和world FIP協(xié)議取代傳統(tǒng)的UDP協(xié)議通過較高級的協(xié)議層禁止即載波監(jiān)聽多路訪問/沖突檢測機制存取過程,并使用時間片或輪詢過程來取代它;或者部分方案采用專用交換機,并采用精確的時間控制方式分配以太網(wǎng)數(shù)據(jù)包。上述方案不可避免地遇到總線傳輸?shù)难舆t問題,而Beckhoff公司推出的EtherCAT總線通過從站中的實體硬件實現(xiàn)了部分系統(tǒng)的功能從而解決了關(guān)鍵的實時性問題,數(shù)據(jù)可以實時地被插入到在經(jīng)過該從站的報文中。因此采用EtherCAT通訊協(xié)議,不僅能夠提高控制系統(tǒng)的通訊速率,而且也能保證系統(tǒng)的實時性。

圖6 Ethercat開放式運動控制系統(tǒng)

在實驗過程中我們通過直接在Linux操作系統(tǒng)上搭載EtherCAT總線的Master節(jié)點實現(xiàn)上位機與EtherCAT現(xiàn)場模塊的通信。既保證了距離和實時性,又不需要另外在PC機上加上PCI硬件,因此是比較合理的方案。圖6顯示了采用Ethercat的網(wǎng)絡(luò)化開放式運動控制系統(tǒng),我們自主開發(fā)了基于倍福公司ET1100和基于MSP430單片機的從站模塊,通過單片機配合ET1100芯片實現(xiàn)與主節(jié)點通訊并將其轉(zhuǎn)化為控制驅(qū)動器所需的I/O信號。經(jīng)測試,網(wǎng)絡(luò)傳輸速率根據(jù)不同的電腦性能有所變化,一般1ms內(nèi)可以發(fā)送接收至少300個16位數(shù)據(jù)因此通訊速率比前兩者都快。因此選用Ethercat方案是實現(xiàn)控制器的穩(wěn)定性和高速性能的保證。

4 基于網(wǎng)絡(luò)化開放式PC運動控制器的平面Delta機器人的實現(xiàn)

兩自由度Delta機器人是工業(yè)機器人的一種,它以簡單的結(jié)構(gòu)和高速的運動學(xué)性能受到了廣泛的青睞,主要應(yīng)用于包裝行業(yè)。其結(jié)構(gòu)特點是:其右端手臂采用兩個平行四桿機構(gòu)使末端執(zhí)行器始終保持水平。

如圖7所示,本Delta機器人在設(shè)計左右的往復(fù)行程為1m,抓取速度每分鐘60次,采用了國產(chǎn)的伺服電機和行星齒輪減速機構(gòu),我們分別采用并口,canopen和Ethercat方式來實現(xiàn)了平面并聯(lián)Delta機器人,由于此機器人只需要實現(xiàn)2軸聯(lián)動,所需要控制和傳遞的參數(shù)比較少,所以我們的三種通訊方案均能夠保證其控制的實時性和精度。同時通過采用SSH的方式,我們實現(xiàn)了局域網(wǎng)內(nèi)部的多平臺網(wǎng)絡(luò)化監(jiān)控和遠(yuǎn)程監(jiān)控。

圖7 兩自由度Delta并聯(lián)機器人

5 結(jié)論

本文提出了基于網(wǎng)絡(luò)的開放式運動控制系統(tǒng)的設(shè)計,該控制器通過采用工控PC和自制的運動控制通訊卡,將控制信號實時地轉(zhuǎn)化為現(xiàn)場電機軸的控制信號,其他的軟件可以直接在PC上實現(xiàn),不需要下位機的參與。由于PC機具有強大的計算能力,能夠輕松實現(xiàn)復(fù)雜的機器人運動學(xué)算法,并且其算法的移植性強,因此是實現(xiàn)開網(wǎng)絡(luò)化和開放式的必要條件。本運動控制器通過采用實時的操作系統(tǒng)內(nèi)核和實時的通訊方式來保證整個系統(tǒng)的實時性。經(jīng)驗證,此開放式運動控制器很輕松的實現(xiàn)了基于遠(yuǎn)程控制的平面兩自由度Delta并聯(lián)機器人,并且通過算法的移植能夠很容易地實現(xiàn)各種具有多軸運動特征的機器人。同時,它還具有多平臺的兼容性和遠(yuǎn)程控制的特征。

[1] 吳孜越,胡東方,楊丙乾.運動控制器在國內(nèi)的應(yīng)用及發(fā)展[J].機床與液壓,2007(07):234-236.

[2] 郗志剛,周宏甫.運動控制器的發(fā)展與現(xiàn)狀[J].電氣傳動自動化,2005(03):10-14.

[3] System S S.http://www.softservo.com/[EB/OL].(2013-12-23)http://www.softservo.com/.

[4] 倍福自動化.http://www.beckhoff.com.cn/[EB/OL].http://www.beckhoff.com.cn/.

[5] 研華公司.基于瀏覽器的HMI/SCADA軟件WebAccess[EB/OL].http://webaccess.advantech.com.cn/.

[6] 張艷瓊,蔡瑞英.基于Web Service的工業(yè)控制系統(tǒng)研究[J].微計算機信息,2008(24):58-60.

猜你喜歡
實時性內(nèi)核開放式
多內(nèi)核操作系統(tǒng)綜述①
開放式數(shù)字座艙軟件平臺IndiGO
強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
活化非遺文化 承啟設(shè)計內(nèi)核
小學(xué)作文開放式教學(xué)的思考
微軟發(fā)布新Edge瀏覽器預(yù)覽版下載換裝Chrome內(nèi)核
開放式計算機實驗教學(xué)自主學(xué)習(xí)平臺
開放式彈簧機數(shù)控系統(tǒng)開發(fā)
航空電子AFDX與AVB傳輸實時性抗干擾對比
計算機控制系統(tǒng)實時性的提高策略
蕉岭县| 庄河市| 驻马店市| 华蓥市| 仁寿县| 浦北县| 太湖县| 昌江| 栾川县| 宽甸| 如皋市| 西充县| 喀喇沁旗| 南平市| 江门市| 富宁县| 台南县| 江山市| 灵璧县| 合川市| 固原市| 天津市| 靖江市| 三门县| 山阴县| 鄂尔多斯市| 遂昌县| 彰武县| 尚义县| 凭祥市| 乌拉特后旗| 桦川县| 泽库县| 蛟河市| 禹州市| 策勒县| 尚志市| 老河口市| 攀枝花市| 彭州市| 遂宁市|