時間:2024-01-24 15:55:29來源:深圳市雷賽智能控制股份有限公司
Linux系統(tǒng)是一款完全免費開源、基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),可以簡化開發(fā)過程,使系統(tǒng)具有較強(qiáng)的移植性。
今天我們就來講講雷賽控制運動控制卡Linux系統(tǒng)的開發(fā)應(yīng)用教程。本教程是在ubuntu 18.04系統(tǒng)下,以DMC-E3032總線控制卡作為主控,用Qt進(jìn)行開發(fā)??刂瓶?qū)動支持的Linux內(nèi)核版本:2.6.0-5.14.11,建議用戶使用的系統(tǒng)版本以及內(nèi)核版本與上述版本匹配。
一、運動控制卡驅(qū)動安裝說明
01、編譯驅(qū)動源碼生成ko驅(qū)動文件
(1)在要運行的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文件和對應(yīng)的wdreg文件。
(6)輸入指令:sudo make install安裝驅(qū)動(注意:電腦重啟后,控制卡驅(qū)動會自動卸載,需進(jìn)行步驟二)。
(7)指令:sudo chmod 777/dev/DMC3K5K設(shè)置文件權(quán)限。
(8)將生成的wdreg文件和DMC3K5K.ko文件(在新生成的文件夾中)放到redist目錄下,驅(qū)動就編譯完成了。
02、設(shè)置開機(jī)后自動安裝驅(qū)動
在啟動腳本/etc/rc.local中加載驅(qū)動模塊,每次開機(jī)都自動安裝DMC3K5K驅(qū)動模塊,并修改DMC3K5K的訪問權(quán)限,設(shè)置為所有用戶對DMC3K5K都有完全的權(quán)限。
(1)Ctrl+Alt+T調(diào)出終端
下載vim編輯器
指令:sudo apt-get install vim
(2)進(jìn)入etc文件夾
指令:cd/etc
(3)使用vim編輯器打開rc.local
指令:sudo vim rc.local
在彈出的界面中選擇(E)dit anyway
(4)點擊鍵盤字母i,插入指令,在文件/etc/rc.local中的指令exit 0之前添加:
指令:cd存放路徑/redist(定位到文件目錄下)
指令:sudo make install(安裝驅(qū)動)
指令:sudo chmod 777/dev/DMC3K5K(設(shè)置文件權(quán)限)
(5)按ESC鍵,輸入:wq,按Enter鍵,保存退出文件
(6)重啟電腦,開機(jī)自動安裝運動控制器驅(qū)動,成功后,可以使用ls命令列出/dev文件夾下DMC3K5K的詳細(xì)信息,查看DMC3K5K的訪問權(quán)限
指令:sudo ls-l/dev
可以看到有DMC3K5K這個設(shè)備,并且DMC3K5K的權(quán)限為crwxrwxrwx
添加rc.local文件的方法
在比較新的Linux系統(tǒng)中已經(jīng)沒有rc.local文件,通過vim生成的文件并沒有自啟動服務(wù),可通過以下方法執(zhí)行后再編輯rc.local文件:
(1)設(shè)置rc-local.service
(2)激活rc-local.service
(3)添加啟動服務(wù)
手工創(chuàng)建或者拷貝已有的/etc/rc.local,并賦予執(zhí)行權(quán)限
運動控制卡驅(qū)動卸載說明
刪除自啟動腳本文件
輸入指令:sudo rm/dev/rc.local刪除自啟動腳本文件。
刪除控制卡驅(qū)動模塊
輸入指令:sudu rm/dev/DMCSK5K
二、工程構(gòu)建
01、新建項目
(1)打開“Qt”軟件,點擊菜單中的“文件”①;點擊“新建文件或項目”②;如下圖所示:
(2)彈出新建項目彈窗,在“項目”中選擇“Application(Qt)”①;選擇支持桌面平臺的所有圖形用戶的應(yīng)用程序“Qt Widgets Application”②;點擊“choose”③;如下圖所示:
(3)進(jìn)入工程配置窗口中的“Location”①;輸入工程名稱“DMC-Demo”②(注意:Qt這里不能使用任何的中文,不然有可能會出現(xiàn)編譯問題);點擊“瀏覽”選擇工程創(chuàng)建的路徑③;點擊“下一步”④;如下圖所示:
(4)進(jìn)入“Build System”中①;選擇默認(rèn)的“qmake”②(qmake是一個協(xié)助簡化跨平臺進(jìn)行專案開發(fā)的構(gòu)建過程的工具程式);點擊“下一步”③;如下圖所示:
(5)進(jìn)入“Details”中①;在“Class”中可使用默認(rèn)的“MainWindow”名稱作為主窗體名稱,也可自行命名②;在“QMainWindow”主窗口類作為基類③(主窗口具有主菜單欄、工具欄和狀態(tài)欄,類似與一般的應(yīng)用程序的主窗口);勾選“Generate form”復(fù)選框④(這個選項如果勾選,就會由Qt Creator創(chuàng)建用戶界面(User Interface,UI)文件,否則需要自己手動創(chuàng)建UI界面);點擊“下一步”⑤;如下圖所示:
進(jìn)入“Translation”中①;在“Language”中可使用默認(rèn)的“
(6)進(jìn)入“Kits”中①;選擇“Desktop Qt 5.12.12 GCC 64bit”②;點擊“下一步”③,如下圖所示:
(7)進(jìn)入“Summary”中①;可查看要添加的文件的詳細(xì)信息,確認(rèn)信息無誤 ②;點擊“完成”③,如下圖所示:
(8)完成以上新建項目的步驟后,會進(jìn)入代碼編輯界面,在左側(cè)項目欄中可以看到“DMC-Demo”的項目文件夾,其中包括了4個子文件夾,以下對這4個子文件夾進(jìn)行簡單介紹:
?、佟癉MC-Demo.pro”是項目管理文件,包括一些對項目的設(shè)置項;
?、凇癏eaders”分組,該節(jié)點下是項目內(nèi)的所有頭文件(.h);
③“Sources 分組”,該節(jié)點下是項目內(nèi)的所有 C++源文件(.cpp),下圖項目中有兩個 C++源文件,“main.cpp”是主函數(shù)文件,也是應(yīng)用程序的入口;“mainwindow.cpp”是主窗口類的實現(xiàn)文件,與“mainwindow.h”文件對應(yīng);
?、堋癋orms”分組,該節(jié)點下是項目內(nèi)的所有界面文件(.ui),如下圖所示:
02、添加頭文件
(1)將“LTDMC.h”頭文件復(fù)制到剛剛新建的好的工程文件夾下,如下圖所示:
(2)進(jìn)入Qt程序編輯界面中,鼠標(biāo)右鍵單擊“DMC-Demo”項目文件夾下的“Headers”①;點擊“添加現(xiàn)有文件”②,如下圖所示:
(3)將會彈出“添加現(xiàn)有文件”彈窗,進(jìn)入文件夾“DMC-Demo”中;選擇“LTDMC.h”文件①;點擊“Open”②,如下圖所示:
(4)等待加載完成后,在“項目”的“Headers”下可以看到添加的“LTDMC.h”頭文件;雙擊進(jìn)入后可以看到控制卡定義的函數(shù),如下圖所示:
03、添加函數(shù)庫
下面以添加64位函數(shù)庫為例詳細(xì)介紹如何添加函數(shù)庫:
(1)進(jìn)行調(diào)試,按編輯頁面左下角的按鈕①,如下圖所示:
(2)等待調(diào)試完成之后,會彈窗“MainWindow”,如下圖所示:
(3)將libLTDMC.h文件復(fù)制到“DMC-Demo”文件夾中,如下圖所示:
(4)進(jìn)入Qt程序編輯界面中,鼠標(biāo)右鍵單擊“項目”下的“DMC-Demo”①;點擊“添加庫”②,如下圖所示:
(5)彈出“添加庫”彈窗,進(jìn)入“Type”庫類型中①;勾選“外部庫”②;點擊“下一步”③,如下圖所示:
(6)進(jìn)入“Details”中①,確認(rèn)“Library type”中選擇的為“Linux(lib*.so lib*.a)”類型②;點擊“庫文件”右方的“瀏覽”按鈕③;在彈出“選擇文件”彈窗中進(jìn) 入文件夾“DMC-Demo”文件夾,選擇“l(fā)ibLTDMC.so”文件④;點擊“打開”⑤,如下圖所示:
(7)“庫文件”與“包含路徑”會同時加載信息①;點擊“下一步”②,如下圖所示:
(8)進(jìn)入“匯總”中,確認(rèn)信息無誤①;點擊“完成”②;最后點擊“ ” 進(jìn)行程序的編譯,如下圖所示。至此工程構(gòu)建就已經(jīng)完成了。
三、綜合例程編程詳解
01、添加控制卡命名空間
打開Qt程序,雙擊“DMC-Demo”項目文件夾下的“Headers”①下的“mainwindow.h”②進(jìn)入Qt程序編輯界面;在代碼文件開頭處添加代碼“#include "LTDMC.h" ③;如下圖所示:
02、初始化模塊
控制卡的初始化及獲取卡信息,具體寫法如下圖所示:
03、定長運動模塊
選擇“DMC-Demo”項目文件夾下的“Forms”,雙擊“mainwindow.ui”,進(jìn)入UI編輯界面;在左側(cè)工具欄中選擇控件進(jìn)行UI編輯,如下圖所示:
最后效果及主要代碼如下圖所示:
04、插補(bǔ)運動模塊
本例展示的是軸0和軸1進(jìn)行兩軸直線插補(bǔ)運動,最后效果及主要代碼如下圖所示:
05、回零運動模塊
06、獲取狀態(tài)信息
(1)首先要構(gòu)造一個定時器,并且聲明定時器的槽函數(shù);寫入“#include
(2)雙擊“DMC-Demo”項目文件夾下的“Sources”下的“mainwindow.cpp”進(jìn)入Qt程序編輯界面①;在程序初始化中創(chuàng)建定時器;設(shè)置定時周期;當(dāng)達(dá)到超時時間,則發(fā)射信號,執(zhí)行定時器槽函數(shù);開啟定時器,1ms觸發(fā)定時器②,如下圖所示:
(3)寫入定義定時器槽函數(shù)①;在定時器槽函數(shù)中讀取信息;如下圖所示:
07、例程綜合展示
雷賽控制DMC-3000/5000系列運動控制卡都已支持Linux系統(tǒng)開發(fā),若需要相關(guān)資料可聯(lián)系我們。
-END-
中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.wangxinlc.cn)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20