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