導語:
Linux系統是一款完全免費開源、基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統,可以簡化開發過程,使系統具有較強的移植性。
今天我們將結合輔料貼裝的工藝,講解雷賽控制EMC系列運動控制器在Linux系統下的編程使用。本次是在ubuntu 18.04系統,內核版本為2.6.0-5.14.11下,以EMC-E5064總線控制器作為主控,用Qt進行開發講解。
控制器介紹
EMC系列總線控制器作為雷賽開發的具有自主知識產權的獨立式總線運動控制器,提供各種主流系統下的軟件開發包,其中包括Windows/Linux/macOS等多種系統。
EMC系列總線控制器基于主流的EtherCAT擴展總線進行設計,最多支持64軸的運動控制。該系列不僅具備強大的運動控制功能,支持T型、S型、S plus等多種點位運動規劃模式,還具備軌跡前瞻等常見運動規劃功能。此外,EMC系列還集成了多種行業控制算法,如指令緩存、PSO間距比較、二維螺距補償等,能高度貼合3C、半導體、激光、點膠等行業常見的工藝需求。
EMC系列總線控制器自帶接口豐富,下圖為EMC系列總線控制器的接口簡介:
下面將在Linux系統下,進行具體的開發講解。
工程構建
新建項目
(1)打開“Qt”軟件,點擊菜單中的“文件”①;點擊“新建文件或項目”②;如下圖所示:
(2)彈出新建項目彈窗,在“項目”中選擇“Application(Qt)”①;選擇支持桌面平臺的所有圖形用戶的應用程序“Qt Widgets Application”②;點擊“choose”③;如下圖所示:
此后按照提示進行選擇設置完成項目新建,新建好的項目如下圖:
添加頭文件
(1)進入Qt程序編輯界面中,鼠標右鍵單擊“DMC-Demo”項目文件夾下的“Headers”①;點擊“添加現有文件”②,如下圖所示:
(2)等待加載完成后,在“項目”的“Headers”下可以看到添加的“LTDMC.h”頭文件;雙擊進入后可以看到控制器定義的函數,如下圖所示:
添加函數庫
下面以添加64位函數庫為例詳細介紹如何添加函數庫:
(1)進入Qt程序編輯界面中,鼠標右鍵單擊“項目”下的“DMC-Demo”①;點擊“添加庫”②,如下圖所示:
(2)彈出“添加庫”彈窗,進入“Type”庫類型中①;勾選“外部庫”②;點擊“下一步”③,如下圖所示:
(3)進入“匯總”中,確認信息無誤①;點擊“完成”②;最后點擊編譯按鍵進行程序的編譯,如下圖所示。至此工程構建就已經完成了。
輔料貼裝主要工藝流程介紹
輔料貼裝多以多軸點到點運動進行位置控制,通過EtherCAT總線操作對貼合的壓力進行控制和回讀,從而保證相應的貼裝效果;下面將在Linux下,以Qt編程語言對輔料貼裝工藝涉及到的點位運動、EtherCAT總線操作等主要功能進行編程使用講解。
EMC控制器在Linux下的編程詳解
01、添加控制器命名空間
打開Qt程序,雙擊“DMC-Demo”項目文件夾下的“Headers”下的“mainwindow.h”進入Qt程序編輯界面;在代碼文件開頭處添加代碼“#include "LTDMC.h" ;如下圖所示:
02、EMC控制器初始化模塊
初始化函數介紹及具體初始化代碼如下:
short dmc_board_init_eth(WORD CardNo,char* ipaddr)
功 能:控制器初始化函數,分配系統資源
參 數:CardNo 控制器鏈接號
Ipaddr 鏈接字符串,對應控制器的IP地址
返回值:錯誤代碼
備注:返回0表示正常初始化,非零表示初始化存在異常;
初始化實現代碼如下:
03、定長及連續運動模塊
選擇“DMC-Demo”項目文件夾下的“Forms”,雙擊“mainwindow.ui”,進入UI編輯界面;在左側工具欄中選擇控件進行UI編輯,如下圖所示:
最后效果及主要代碼如下圖所示:
04、總線操作模塊
總線操作主要支持SDO和擴展PDO兩種方式,如下圖:
SDO讀取、寫入實現代碼如下:
擴展PDO讀取、寫入實現代碼如下:
05、獲取狀態模塊
(1)首先要構造一個定時器,并且聲明定時器的槽函數;寫入“#include”包含QTimer的頭文件”①;寫入“QTimer *timer;”②;寫入“void slot_TimeEvent();”③;如下圖所示:
(2)雙擊“DMC-Demo”項目文件夾下的“Sources”下的“mainwindow.cpp”進入Qt程序編輯界面①;在程序初始化中創建定時器;設置定時周期;當達到超時時間,則發射信號,執行定時器槽函數;開啟定時器,1ms觸發定時器②,如下圖所示:
(3)寫入定義定時器槽函數①;在定時器槽函數中讀取信息;如下圖所示:
06、綜合例程展示
輔料貼裝設備圖:
EMC-E3000/5000系列總線控制器都已支持Linux系統開發,除了輔料貼裝的場景,EMC系列總線控制器還廣泛應用于3C、半導體、光伏等各大行業,若有需要相關資料可聯系我們!
-END-