技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 雷賽運(yùn)動(dòng)控制卡基于Linux系統(tǒng)使用

雷賽運(yùn)動(dòng)控制卡基于Linux系統(tǒng)使用

時(shí)間:2024-01-24 15:55:29來(lái)源:深圳市雷賽智能控制股份有限公司

導(dǎo)語(yǔ):?Linux系統(tǒng)是一款完全免費(fèi)開(kāi)源、基于POSIX的多用戶(hù)、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),可以簡(jiǎn)化開(kāi)發(fā)過(guò)程,使系統(tǒng)具有較強(qiáng)的移植性。

  Linux系統(tǒng)是一款完全免費(fèi)開(kāi)源、基于POSIX的多用戶(hù)、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),可以簡(jiǎn)化開(kāi)發(fā)過(guò)程,使系統(tǒng)具有較強(qiáng)的移植性。

  今天我們就來(lái)講講雷賽控制運(yùn)動(dòng)控制卡Linux系統(tǒng)的開(kāi)發(fā)應(yīng)用教程。本教程是在ubuntu 18.04系統(tǒng)下,以DMC-E3032總線控制卡作為主控,用Qt進(jìn)行開(kāi)發(fā)??刂瓶?qū)動(dòng)支持的Linux內(nèi)核版本:2.6.0-5.14.11,建議用戶(hù)使用的系統(tǒng)版本以及內(nèi)核版本與上述版本匹配。

運(yùn)動(dòng)控制

  一、運(yùn)動(dòng)控制卡驅(qū)動(dòng)安裝說(shuō)明

  01、編譯驅(qū)動(dòng)源碼生成ko驅(qū)動(dòng)文件

  (1)在要運(yùn)行的Linux電腦上解壓安裝文件中的DMC3K5K.rar壓縮包。進(jìn)入文件夾目錄./DMC3K5K/dmc3k5k_installation

  (2)輸入指令:sudo chmod 777–R redist修改文件夾權(quán)限。

  (3)輸入指令:cd 存放路徑/redist進(jìn)入redist目錄。

  (4)在此目錄下,調(diào)出終端,輸入指令:sudo./configure 生成編譯文件。

  (5)輸入指令:sudo make編譯.ko文件和對(duì)應(yīng)的wdreg文件。

  (6)輸入指令:sudo make install安裝驅(qū)動(dòng)(注意:電腦重啟后,控制卡驅(qū)動(dòng)會(huì)自動(dòng)卸載,需進(jìn)行步驟二)。

  (7)指令:sudo chmod 777/dev/DMC3K5K設(shè)置文件權(quán)限。

  (8)將生成的wdreg文件和DMC3K5K.ko文件(在新生成的文件夾中)放到redist目錄下,驅(qū)動(dòng)就編譯完成了。

  02、設(shè)置開(kāi)機(jī)后自動(dòng)安裝驅(qū)動(dòng)

  在啟動(dòng)腳本/etc/rc.local中加載驅(qū)動(dòng)模塊,每次開(kāi)機(jī)都自動(dòng)安裝DMC3K5K驅(qū)動(dòng)模塊,并修改DMC3K5K的訪問(wèn)權(quán)限,設(shè)置為所有用戶(hù)對(duì)DMC3K5K都有完全的權(quán)限。

  (1)Ctrl+Alt+T調(diào)出終端

  下載vim編輯器

  指令:sudo apt-get install vim

  (2)進(jìn)入etc文件夾

  指令:cd/etc

  (3)使用vim編輯器打開(kāi)rc.local

  指令:sudo vim rc.local

運(yùn)動(dòng)控制

  在彈出的界面中選擇(E)dit anyway

運(yùn)動(dòng)控制

  (4)點(diǎn)擊鍵盤(pán)字母i,插入指令,在文件/etc/rc.local中的指令exit 0之前添加:

  指令:cd存放路徑/redist(定位到文件目錄下)

  指令:sudo make install(安裝驅(qū)動(dòng))

  指令:sudo chmod 777/dev/DMC3K5K(設(shè)置文件權(quán)限)

  (5)按ESC鍵,輸入:wq,按Enter鍵,保存退出文件

  (6)重啟電腦,開(kāi)機(jī)自動(dòng)安裝運(yùn)動(dòng)控制器驅(qū)動(dòng),成功后,可以使用ls命令列出/dev文件夾下DMC3K5K的詳細(xì)信息,查看DMC3K5K的訪問(wèn)權(quán)限

  指令:sudo ls-l/dev

  可以看到有DMC3K5K這個(gè)設(shè)備,并且DMC3K5K的權(quán)限為crwxrwxrwx

運(yùn)動(dòng)控制

運(yùn)動(dòng)控制

  添加rc.local文件的方法

  在比較新的Linux系統(tǒng)中已經(jīng)沒(méi)有rc.local文件,通過(guò)vim生成的文件并沒(méi)有自啟動(dòng)服務(wù),可通過(guò)以下方法執(zhí)行后再編輯rc.local文件:

  (1)設(shè)置rc-local.service

運(yùn)動(dòng)控制

  (2)激活rc-local.service

運(yùn)動(dòng)控制

  (3)添加啟動(dòng)服務(wù)

  手工創(chuàng)建或者拷貝已有的/etc/rc.local,并賦予執(zhí)行權(quán)限

運(yùn)動(dòng)控制

  運(yùn)動(dòng)控制卡驅(qū)動(dòng)卸載說(shuō)明

  刪除自啟動(dòng)腳本文件

  輸入指令:sudo rm/dev/rc.local刪除自啟動(dòng)腳本文件。

  刪除控制卡驅(qū)動(dòng)模塊

  輸入指令:sudu rm/dev/DMCSK5K

  二、工程構(gòu)建

運(yùn)動(dòng)控制

  01、新建項(xiàng)目

  (1)打開(kāi)“Qt”軟件,點(diǎn)擊菜單中的“文件”①;點(diǎn)擊“新建文件或項(xiàng)目”②;如下圖所示:

運(yùn)動(dòng)控制

  (2)彈出新建項(xiàng)目彈窗,在“項(xiàng)目”中選擇“Application(Qt)”①;選擇支持桌面平臺(tái)的所有圖形用戶(hù)的應(yīng)用程序“Qt Widgets Application”②;點(diǎn)擊“choose”③;如下圖所示:

運(yùn)動(dòng)控制

  (3)進(jìn)入工程配置窗口中的“Location”①;輸入工程名稱(chēng)“DMC-Demo”②(注意:Qt這里不能使用任何的中文,不然有可能會(huì)出現(xiàn)編譯問(wèn)題);點(diǎn)擊“瀏覽”選擇工程創(chuàng)建的路徑③;點(diǎn)擊“下一步”④;如下圖所示:

運(yùn)動(dòng)控制

  (4)進(jìn)入“Build System”中①;選擇默認(rèn)的“qmake”②(qmake是一個(gè)協(xié)助簡(jiǎn)化跨平臺(tái)進(jìn)行專(zhuān)案開(kāi)發(fā)的構(gòu)建過(guò)程的工具程式);點(diǎn)擊“下一步”③;如下圖所示:

運(yùn)動(dòng)控制

  (5)進(jìn)入“Details”中①;在“Class”中可使用默認(rèn)的“MainWindow”名稱(chēng)作為主窗體名稱(chēng),也可自行命名②;在“QMainWindow”主窗口類(lèi)作為基類(lèi)③(主窗口具有主菜單欄、工具欄和狀態(tài)欄,類(lèi)似與一般的應(yīng)用程序的主窗口);勾選“Generate form”復(fù)選框④(這個(gè)選項(xiàng)如果勾選,就會(huì)由Qt Creator創(chuàng)建用戶(hù)界面(User Interface,UI)文件,否則需要自己手動(dòng)創(chuàng)建UI界面);點(diǎn)擊“下一步”⑤;如下圖所示:

運(yùn)動(dòng)控制

  進(jìn)入“Translation”中①;在“Language”中可使用默認(rèn)的“”②;點(diǎn)擊“下一步”③;如下圖所示:

運(yùn)動(dòng)控制


  (6)進(jìn)入“Kits”中①;選擇“Desktop Qt 5.12.12 GCC 64bit”②;點(diǎn)擊“下一步”③,如下圖所示:

運(yùn)動(dòng)控制

  (7)進(jìn)入“Summary”中①;可查看要添加的文件的詳細(xì)信息,確認(rèn)信息無(wú)誤 ②;點(diǎn)擊“完成”③,如下圖所示:

運(yùn)動(dòng)控制

  (8)完成以上新建項(xiàng)目的步驟后,會(huì)進(jìn)入代碼編輯界面,在左側(cè)項(xiàng)目欄中可以看到“DMC-Demo”的項(xiàng)目文件夾,其中包括了4個(gè)子文件夾,以下對(duì)這4個(gè)子文件夾進(jìn)行簡(jiǎn)單介紹:

 ?、佟癉MC-Demo.pro”是項(xiàng)目管理文件,包括一些對(duì)項(xiàng)目的設(shè)置項(xiàng);

 ?、凇癏eaders”分組,該節(jié)點(diǎn)下是項(xiàng)目?jī)?nèi)的所有頭文件(.h);

 ?、邸癝ources 分組”,該節(jié)點(diǎn)下是項(xiàng)目?jī)?nèi)的所有 C++源文件(.cpp),下圖項(xiàng)目中有兩個(gè) C++源文件,“main.cpp”是主函數(shù)文件,也是應(yīng)用程序的入口;“mainwindow.cpp”是主窗口類(lèi)的實(shí)現(xiàn)文件,與“mainwindow.h”文件對(duì)應(yīng);

  ④“Forms”分組,該節(jié)點(diǎn)下是項(xiàng)目?jī)?nèi)的所有界面文件(.ui),如下圖所示:

運(yùn)動(dòng)控制

  02、添加頭文件

  (1)將“LTDMC.h”頭文件復(fù)制到剛剛新建的好的工程文件夾下,如下圖所示:

運(yùn)動(dòng)控制

  (2)進(jìn)入Qt程序編輯界面中,鼠標(biāo)右鍵單擊“DMC-Demo”項(xiàng)目文件夾下的“Headers”①;點(diǎn)擊“添加現(xiàn)有文件”②,如下圖所示:

運(yùn)動(dòng)控制

  (3)將會(huì)彈出“添加現(xiàn)有文件”彈窗,進(jìn)入文件夾“DMC-Demo”中;選擇“LTDMC.h”文件①;點(diǎn)擊“Open”②,如下圖所示:

運(yùn)動(dòng)控制

  (4)等待加載完成后,在“項(xiàng)目”的“Headers”下可以看到添加的“LTDMC.h”頭文件;雙擊進(jìn)入后可以看到控制卡定義的函數(shù),如下圖所示:

運(yùn)動(dòng)控制

  03、添加函數(shù)庫(kù)

  下面以添加64位函數(shù)庫(kù)為例詳細(xì)介紹如何添加函數(shù)庫(kù):

  (1)進(jìn)行調(diào)試,按編輯頁(yè)面左下角的按鈕①,如下圖所示:

運(yùn)動(dòng)控制

  (2)等待調(diào)試完成之后,會(huì)彈窗“MainWindow”,如下圖所示:

運(yùn)動(dòng)控制

  (3)將libLTDMC.h文件復(fù)制到“DMC-Demo”文件夾中,如下圖所示:

運(yùn)動(dòng)控制

  (4)進(jìn)入Qt程序編輯界面中,鼠標(biāo)右鍵單擊“項(xiàng)目”下的“DMC-Demo”①;點(diǎn)擊“添加庫(kù)”②,如下圖所示:

運(yùn)動(dòng)控制

  (5)彈出“添加庫(kù)”彈窗,進(jìn)入“Type”庫(kù)類(lèi)型中①;勾選“外部庫(kù)”②;點(diǎn)擊“下一步”③,如下圖所示:

運(yùn)動(dòng)控制

  (6)進(jìn)入“Details”中①,確認(rèn)“Library type”中選擇的為“Linux(lib*.so lib*.a)”類(lèi)型②;點(diǎn)擊“庫(kù)文件”右方的“瀏覽”按鈕③;在彈出“選擇文件”彈窗中進(jìn) 入文件夾“DMC-Demo”文件夾,選擇“l(fā)ibLTDMC.so”文件④;點(diǎn)擊“打開(kāi)”⑤,如下圖所示:

運(yùn)動(dòng)控制

運(yùn)動(dòng)控制

  (7)“庫(kù)文件”與“包含路徑”會(huì)同時(shí)加載信息①;點(diǎn)擊“下一步”②,如下圖所示:

運(yùn)動(dòng)控制

  (8)進(jìn)入“匯總”中,確認(rèn)信息無(wú)誤①;點(diǎn)擊“完成”②;最后點(diǎn)擊“ ” 進(jìn)行程序的編譯,如下圖所示。至此工程構(gòu)建就已經(jīng)完成了。

運(yùn)動(dòng)控制

  三、綜合例程編程詳解

  01、添加控制卡命名空間

  打開(kāi)Qt程序,雙擊“DMC-Demo”項(xiàng)目文件夾下的“Headers”①下的“mainwindow.h”②進(jìn)入Qt程序編輯界面;在代碼文件開(kāi)頭處添加代碼“#include "LTDMC.h" ③;如下圖所示:

運(yùn)動(dòng)控制

  02、初始化模塊

  控制卡的初始化及獲取卡信息,具體寫(xiě)法如下圖所示:

運(yùn)動(dòng)控制

運(yùn)動(dòng)控制

運(yùn)動(dòng)控制

  03、定長(zhǎng)運(yùn)動(dòng)模塊

  選擇“DMC-Demo”項(xiàng)目文件夾下的“Forms”,雙擊“mainwindow.ui”,進(jìn)入U(xiǎn)I編輯界面;在左側(cè)工具欄中選擇控件進(jìn)行UI編輯,如下圖所示:

運(yùn)動(dòng)控制

運(yùn)動(dòng)控制

  最后效果及主要代碼如下圖所示:

運(yùn)動(dòng)控制

運(yùn)動(dòng)控制

  04、插補(bǔ)運(yùn)動(dòng)模塊

  本例展示的是軸0和軸1進(jìn)行兩軸直線插補(bǔ)運(yùn)動(dòng),最后效果及主要代碼如下圖所示:

運(yùn)動(dòng)控制

運(yùn)動(dòng)控制

  05、回零運(yùn)動(dòng)模塊

運(yùn)動(dòng)控制

運(yùn)動(dòng)控制

  06、獲取狀態(tài)信息

  (1)首先要構(gòu)造一個(gè)定時(shí)器,并且聲明定時(shí)器的槽函數(shù);寫(xiě)入“#include”包含QTimer的頭文件”①;寫(xiě)入“QTimer *timer;”②;寫(xiě)入“void slot_TimeEvent();”③;如下圖所示:

運(yùn)動(dòng)控制


  (2)雙擊“DMC-Demo”項(xiàng)目文件夾下的“Sources”下的“mainwindow.cpp”進(jìn)入Qt程序編輯界面①;在程序初始化中創(chuàng)建定時(shí)器;設(shè)置定時(shí)周期;當(dāng)達(dá)到超時(shí)時(shí)間,則發(fā)射信號(hào),執(zhí)行定時(shí)器槽函數(shù);開(kāi)啟定時(shí)器,1ms觸發(fā)定時(shí)器②,如下圖所示:

運(yùn)動(dòng)控制

  (3)寫(xiě)入定義定時(shí)器槽函數(shù)①;在定時(shí)器槽函數(shù)中讀取信息;如下圖所示:

運(yùn)動(dòng)控制

運(yùn)動(dòng)控制

  07、例程綜合展示

運(yùn)動(dòng)控制

  雷賽控制DMC-3000/5000系列運(yùn)動(dòng)控制卡都已支持Linux系統(tǒng)開(kāi)發(fā),若需要相關(guān)資料可聯(lián)系我們。

-END-

標(biāo)簽: 雷賽智能運(yùn)動(dòng)控制

點(diǎn)贊

分享到:

上一篇:工業(yè)互聯(lián)網(wǎng)平臺(tái)的意義是什么?

下一篇:工程塑料滑動(dòng)軸承的利與弊深...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。