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