運動控制卡應用開發教程之激光振鏡控制

2020-12-21


今天,正運動技術為大家分享一下應用C++開發一個激光振鏡的運動控制例程。
我們主要從新建MFC項目,添加函數庫講起,最后通過項目實戰——激光振鏡打標例程講解,來讓大家熟悉它的項目開發。
在正式學習之前,我們先了解一下正運動技術的運動控制器ZMC420SCAN。這款產品是20軸運動控制器。
ZMC420SCAN 總線控制器支持 ECAT/RTEX 總線連接,支持多達20軸運動控制,支持直線插補、任意圓弧插補、空間圓弧、螺旋插補、電子凸輪、電子齒輪、同步跟隨、虛擬軸設置等;采用優化的網絡通訊協議可以實現實時的運動控制。
ZMC420SCAN 總線控制器支持脈沖軸/總線軸/振鏡軸混合插補。
ZMC420SCAN 支持10路脈沖輸出與編碼器反饋且支持4路振鏡軸,板載24點輸入,12點輸出,2AD,2DA,所有輸出口都支持高速PWM控制。
接線方式如下圖1所示:

圖片

圖1
ZMC420SCAN使用一套API函數,支持C、C++、C#、LabVIEW、Python、Delphi等開發語言,支持VC6.0、VB6.0、Qt、.Net等平臺,支持Windows、Linux、WinCE、iMac等操作系統。 


圖2

圖片

ZMC420SCAN 的PWM 輸出受正常輸出功能的控制,輸出口“ON”狀態下才能進行PWM輸出,便于控制激光能量。
ZMC420SCAN 的輸出0-7的具有精準輸出的功能,每個輸出的精準輸出功能相互獨立,通過MOVEOP_DELAY 與AXIS_ZSET ,來設置每個MOVE_OP 指令是否使用精準輸出以及精準輸出的延時,從而實現激光的PSO 控制。
ZMC420SCAN 的輸出0-7支持精準輸出且相互獨立,通過指令:MOVE_OP,AXIS_ZSET,MOVEOP_DELAY來分別控制激光的開關,精準輸出開關及延時,從而實現激光PSO控制。
振鏡軸:


ZMC420SCAN支持XY2-100振鏡協議,支持運動控制與振鏡聯合插補運動。
上位機通過網口與控制器相連,獲取對應控制器的句柄,通過XY2-100協議控制振鏡軸,通過總線協議或者脈沖模式控制伺服或步進軸。

圖片

圖片

本地軸號4/5可以ATYPE=21 配置為第1個振鏡, 本地軸號6/7可以ATYPE=21 配置為第2個振鏡,可通過 AXIS_ADDRESS 配置軸號。


以下是激光振鏡控制開發流程




新建MFC項目 添加函數庫

1.在VS2017菜單“文件”→“新建”→“項目”,啟動創建項目向導。

圖片

2.選擇開發語言為“Visual C++”和程序類型“MFC/ATL”中的“MFC應用程序”。

圖片

3.選擇類型為“基于對話框”,下一步或者完成。下一步則往后繼續配置,完成就直接完成即可。把類型選好,其他的可以在項目中編輯。

圖片

4.找到廠家提供的光盤資料,路徑如下(64位庫為例):

A.進入光盤資料找到PC函數文件夾。

B.選擇函數庫2.1。

C.Windows平臺。

圖片

D.根據需要選擇對應的函數庫這里選擇64位庫。

E.解壓C++的壓縮包,里面有C++對應的函數庫。


F.函數庫具體路徑如下。

圖片

5.將廠商提供的C++的庫文件和相關頭文件復制到新建的項目里面。


6.在項目中添加靜態庫和相關頭文件。

靜態庫:zauxdll.lib, zmotion.lib

相關頭文件:zauxdll2.h, zmotion.h

A.先右擊頭文件,接著依次選擇:“添加”→“現有項”。

圖片

B.在彈出的窗口中依次添加靜態庫和相關頭文件。

圖片

7.聲明用到的頭文件和定義控制器連接句柄。

圖片

至此項目新建完成。

 



查看PC函數手冊 了解其用法

1.PC函數手冊也在光盤資料里面,具體路徑如下:

圖片

2.PC編程,一般先根據控制器連接方式選擇對應的連接函數連接控制器,返回控制器句柄。接著用返回的控制器句柄,實現對控制器的控制。

3.比如通過網口連接控制器,先使用ZAux_OpenEth()鏈接控制器,獲取控制器句柄handle。



4.通過獲取到的控制器句柄handle,對控制器進行激光振鏡軸類型的設置。

圖片

第三個參數的值有以下的模式選擇,使用振鏡軸需選擇軸類型為21的模式,設置軸為振鏡軸類型,振鏡軸類型系統周期與刷新周期都要比普通軸快很多。

圖片

5.通過獲取到的控制器句柄handle,控制控制器的振鏡軸進行多軸運動控制,可以進行搭配振鏡軸與普通軸進行混合插補運動。

圖片