ZMotion PC函數(shù)庫編程手冊(cè)_第1頁
ZMotion PC函數(shù)庫編程手冊(cè)_第2頁
ZMotion PC函數(shù)庫編程手冊(cè)_第3頁
ZMotion PC函數(shù)庫編程手冊(cè)_第4頁
ZMotion PC函數(shù)庫編程手冊(cè)_第5頁
已閱讀5頁,還剩86頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ZMotion PC 函數(shù)庫編程手冊(cè)Version 2.0深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0 版版權(quán)說明本手冊(cè)版權(quán)歸深圳市正運(yùn)動(dòng)技術(shù)有限公司所有,未經(jīng)本公司授權(quán),任何人不得翻印、抄襲本手持中的任何內(nèi)容。正運(yùn)動(dòng)技術(shù)公司保留在不事先通知情況下,修改本手冊(cè)中內(nèi)容的權(quán)利。調(diào)試機(jī)器要注意安全!請(qǐng)務(wù)必在機(jī)器中設(shè)計(jì)有效的安全保護(hù)裝置,并在軟件中加入出錯(cuò)處理程序,否則所造成的損失,正運(yùn)動(dòng)技術(shù)公司沒有義務(wù)或責(zé)任對(duì)此負(fù)責(zé)。1深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0 版目錄第一章 PC 編程概述. 11.1 運(yùn)動(dòng)控制器特點(diǎn). 11.2 開發(fā)架構(gòu). 11.3

2、開發(fā)步驟. 2 1.3.1 采用 VC 開發(fā)應(yīng)用程序. 21.4 庫函數(shù)封裝方法. 41.5 多控制器鏈接. 6第二章 基本功能介紹. 72.1 控制器鏈接. 72.2 基本軸參數(shù)初始化. 82.3 特殊 IO 設(shè)置.92.4 單軸運(yùn)動(dòng). 10 2.4.1 單軸回零. 10 2.4.2 單軸點(diǎn)動(dòng). 11 2.4.3 單軸狀態(tài). 122.5 多軸插補(bǔ)運(yùn)動(dòng). 13 2.5.1 常用插補(bǔ)運(yùn)動(dòng). 13 2.5.2 連續(xù)插補(bǔ)運(yùn)動(dòng). 14 2.5.3 自動(dòng)拐角參數(shù)設(shè)置. 162.6 手輪運(yùn)動(dòng). 172.7 IO 與 AD/DA 設(shè)置讀取. 172.8 PC 與控制器數(shù)據(jù)交互. 18第三章 DLL 函數(shù)列表

3、. 203.1 控制器操作函數(shù)介紹. 203.2 運(yùn)動(dòng)指令函數(shù)介紹. 23 3.2.1 輔助指令. 23 3.2.2 多軸直線插補(bǔ). 27 3.2.3 圓弧、橢圓、螺旋插補(bǔ). 28 3.2.4 特殊運(yùn)動(dòng)指令. 41 3.2.5 同步運(yùn)動(dòng)指令. 43 3.2.6 單軸運(yùn)動(dòng)指令. 473.3 軸參數(shù)軸狀態(tài)函數(shù)介紹. 49 3.3.2 軸基本參數(shù)函數(shù). 50 3.3.3 其他參數(shù)函數(shù). 63 3.3.4 特殊信號(hào)參數(shù)函數(shù)(原點(diǎn),限位). 733.4 輸入輸出函數(shù)介紹. 773.5 數(shù)據(jù)通訊函數(shù). 82第四章 直接串口控制. 884.1 串口直接命令控制模式. 882深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMoti

4、on PC 函數(shù)庫編程手冊(cè)2.0 版第一章 PC 編程概述1.1 運(yùn)動(dòng)控制器特點(diǎn) ZMC 運(yùn) 動(dòng) 控 制 器 支 持 PC 直 接 在 線 控 制 , 提 供 DLL 函 數(shù) 庫 和VC,VB,C#,LABVIEW 等例程。函數(shù)庫同時(shí)提供 WINCE 和 LINUX 的支持。函數(shù)庫針對(duì)于所有型號(hào)的控制器。ZMC 運(yùn)動(dòng)控制器在線控制相對(duì) PCI 具有下面的優(yōu)勢(shì):1、不使用插槽,穩(wěn)定性更好。2、降低對(duì) PC 的要求,不需要 PCI 插槽。3、可以選用 MINI 電腦或 ARM 工控電腦,降低整體成本。4、控制器直接做接線板使用,節(jié)省空間。5、控制器上可以并行運(yùn)行程序, PC 只需要簡(jiǎn)單交互,與降低

5、 PC 軟件的復(fù)雜性。 綜上可以看出,選用以太網(wǎng)接口的運(yùn)動(dòng)控制器來代替 PCI 運(yùn)動(dòng)控制卡,可以節(jié)省空間,降低成本,優(yōu)化程序,接線更方便,這也是越來越多的應(yīng)用采用以太網(wǎng)的原因。1.2 開發(fā)架構(gòu)圖 1.2 ZMC 開發(fā)架構(gòu)圖如圖 1.2 紅色部分粗線為 PC 程序與控制器的交互線路,ZMC 控制器支持以太網(wǎng),USB,串口/485 等與 PC 相連,PC 程序與控制器上的 ZBASIC 程序可以同時(shí)運(yùn)行,提高了處理的效率。1深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0 版1.3 開發(fā)步驟1.3.1 采用 VC 開發(fā)應(yīng)用程序1)2)3)4)5)打開 VC+6.0。新建一個(gè)工程選

6、擇 MFC APPWizard(exe)選擇工程保存路徑設(shè)置工程名,選擇確定圖 1.3-1 新建工程6) 在應(yīng)用程序類型選擇基本對(duì)話框。完成新建7) 將提供的庫函數(shù) zauxdll.h、zauxdll.lib、zauxdll.dll、及 zmotion.dll 放到工 程路徑下(或者直接將通過 zauxdll.cpp 的源碼碼加人工程)圖 1.3-2 添加控件2深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0 版8) 在 testDlg.cpp 添加頭文件#include “zauxdll.h”.9) 在 CTestDlg:OnInitDialog()函數(shù)中添加鏈接控制器代碼

7、 ZAux_OpenEth(“192.168.0.11”,&g_handle)圖 1.3-3 鏈接控制器10) 在 CTestDlg 添加一個(gè)成員函數(shù) CTestDlg:OnClose();用于關(guān)閉窗口斷開控 制器鏈接。在函數(shù)內(nèi)添加 ZAux_Close(g_handle);斷開鏈接。圖 1.3-4 斷開控制器鏈接11) 雙擊啟動(dòng)、停止在對(duì)應(yīng)的事件函數(shù)下添加對(duì)應(yīng)的代碼: ZAux_Direct_Singl_Vmove(g_handle,0,1); ZAux_Direct_Singl_Cancel(g_handle,0,2);3深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0

8、版圖 1.3-5 調(diào)用函數(shù)12)編譯程序后,運(yùn)行程序,在界面下按下運(yùn)行,則軸 0 會(huì)按初始化速度正向轉(zhuǎn)動(dòng),按下停止,軸 0 停止運(yùn)動(dòng)。1.4 庫函數(shù)封裝方法 ZAux 庫提供了運(yùn)動(dòng)和基本參數(shù)設(shè)置的封裝,以開放源代碼的方式提供,詳細(xì)內(nèi)容參見源碼。 ZAux 庫 通 過 直 接 把 ZBASIC 命 令 通 過 ZAux_Execute 方 式 或ZAux_DirectCommand 方式發(fā)送到控制器上,相應(yīng)函數(shù)可以參考 ZBASIC 手冊(cè)對(duì)應(yīng)的命令介紹。如果使用到?jīng)]有封裝的命令或者想封裝自己的函數(shù),可以通過ZAux_Execute 發(fā)送或 ZAux_DirectCommand,或是參照已有代碼修

9、改增加相應(yīng)的函數(shù)。 發(fā)送字符串命令有兩種方式,緩沖方式和直接方式。 直接方式:直接執(zhí)行單個(gè)變量/數(shù)組/參數(shù)相關(guān)命令,此時(shí)所有傳遞的參數(shù)必須是具體的數(shù)值,不能是表達(dá)式;參見 ZAux_DirectCommand 函數(shù)。 ZAux_DirectCommand(控制器句柄,命令字符串, 返回字符串,返回字符長(zhǎng)度) 緩沖方式可以執(zhí)行所有命令,并支持表達(dá)式作為參數(shù),但是速度慢一些;參見 ZAux_Execute 函數(shù)。 ZAux_Execute(控制器句柄,命令字符串, 返回字符串,返回字符長(zhǎng)度)4深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0 版圖 1.4-1 字符串命令的通道 Z

10、Aux_Direct_SetSpeed(ZMC_HANDLE handle, int iaxis,例如設(shè)置軸速度函數(shù):float fValue)相當(dāng)與 BASIC 命令中的“SPEED(軸號(hào)) = 速度值”。則封裝函數(shù)時(shí)命令字符串就是 “speed(%d) =%f”。 封裝步驟: a) 編寫源代碼:打開輔助庫源碼,在 zmcaux.cpp 中添加對(duì)應(yīng)的函數(shù) int32 _stdcall ZAux_Direct_SetSpeed(ZMC_HANDLE handle, int iaxis, float fValue) char cmdbuff2048; char cmdbuffAck2048; i

11、f( iaxis MAX_AXIS_AUX) return ERR_AUX_PARAERR; sprintf(cmdbuff, SPEED(%d)=%f, iaxis, fValue); /生成對(duì)應(yīng)的命令字符串 return ZAux_DirectCommand(handle, cmdbuff, cmdbuffAck, 2048); b) 在 zauxdll.def 中定義新增加的函數(shù)定義5深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0 版圖 1.4-2 添加函數(shù)定義c) 在頭文件中增加對(duì)應(yīng)的函數(shù)圖 1.4-3 添加頭文件d) 編譯生成新的 DLL1.5 多控制器鏈接 正運(yùn)

12、動(dòng)控制器可以支持一臺(tái) PC 控制多個(gè)控制器,常用于多軸、多工位 流水線設(shè)備,或者車間設(shè)備監(jiān)控。通常用一個(gè)交換機(jī),通過給控制器設(shè)置不 同的 IP 地址來訪問各個(gè)控制器。 注意:交換機(jī)上多有個(gè)以太網(wǎng)設(shè)備時(shí),除了要保證 IP 地址不同外,MAC 地址也可能沖突(可以用正運(yùn)動(dòng)通過的輔助工具修改 IP 和 MAC 地址) 控制器鏈接代碼: char*ip_list4=192.168.0.11,192.168.0.12,192.168.0.13,192.168.0.14; for(int i =0;i4;i+) ZAux_OpenEth(ip_listi,&g_cardi); 6深圳市正運(yùn)動(dòng)技術(shù)有限公司Z

13、Motion PC 函數(shù)庫編程手冊(cè)2.0 版第二章 基本功能介紹本章描述了控制器基本運(yùn)動(dòng)功能的使用,并提供了相關(guān)的例程,詳情參考 PC函數(shù)庫對(duì)應(yīng)的例程。2.1 控制器鏈接表 2.1 控制器連接相關(guān)函數(shù) 函數(shù)名ZAux_OpenComZAux_SetComDefaultBaudZAux_OpenEthZAux_SearchEthlistZAux_Close功能串口鏈接控制器串口通訊參數(shù)設(shè)置以太網(wǎng)鏈接控制器搜索當(dāng)前網(wǎng)段下的控制器 IP關(guān)閉控制器鏈接在對(duì)控制器進(jìn)行操作時(shí)必須先調(diào)用鏈接函數(shù)鏈接控制器,當(dāng)鏈接成功后方可通過返回的句柄操作對(duì)應(yīng)的控制器。在關(guān)閉應(yīng)用程序時(shí)要調(diào)用斷開鏈接函數(shù)釋放鏈接。例程 2.

14、1.1:串口鏈接控制器ZMC_HANDLE g_handle = NULL;/鏈接返回的句柄uint32 dwBaudRate =38400;/波特率 38400uint32 dwByteSize = 8;/8 位數(shù)據(jù)位uint32 dwParity = 0 ;/無校驗(yàn)uint32 dwStopBits = 1;/1 位停止位uint32 comid = 1;/鏈接的 COM 口ZAux_SetComDefaultBaud(dwBaudRate,dwByteSize,dwParity,dwStopBits); /設(shè)置串口通訊參數(shù)ZAux_OpenCom(comid,& g_handle);/C

15、OM1 口鏈接控制器例程 2.1.2:網(wǎng)口鏈接控制器ZMC_HANDLE g_handle = NULL;char *ipaddr =“192.168.0.11”;ZAux_OpenEth(ipaddr,& g_handle);/鏈接返回的句柄 /控制器 IP/以太網(wǎng)鏈接控制器檢測(cè)函數(shù)返回值判斷函數(shù)是否執(zhí)行成功,返回 0 時(shí)則成功,非 0 失敗。以太網(wǎng)口鏈接返回不成功時(shí),檢查傳遞的 IP 是否正確,并且保證電腦 IP 地址和控制器 IP 地址在同一個(gè)網(wǎng)段。7深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0 版2.2 基本軸參數(shù)初始化表 2.2 基本軸參數(shù)函數(shù) 函數(shù)名ZAux_

16、Direct_SetAtypeZAux_Direct_SetUnitsZAux_Direct_SetInvertStepZAux_Direct_SetSpeedZAux_Direct_SetAccelZAux_Direct_SetDecelZAux_Direct_SetSramp例程 2.2:初始化參數(shù)ZAux_Direct_SetAtype(g_handle,0,1);/設(shè)置軸 0 為脈沖輸出軸ZAux_Direct_ SetUnits (g_handle,0,100); /設(shè)置軸 0 軸參數(shù)以 100 個(gè)脈沖為單位ZAux_Direct_ SetInvertStep (g_handle,0

17、,1); /設(shè)置軸 0 為脈沖+方向模式ZAux_Direct_ SetSpeed (g_handle,0,200);/設(shè)置軸 0 速度為 200units/sZAux_Direct_ SetAccel (g_handle,0,2000); /設(shè)置軸 0 加速為 2000units/s/sZAux_Direct_ SetDecel (g_handle,0,2000); /設(shè)置軸 0 加速為 2000units/s/sZAux_Direct_ SetSramp (g_handle,0,0);/設(shè)置軸 0S 曲線時(shí)間(0-梯形加減速)功能設(shè)置軸類型設(shè)置軸脈沖當(dāng)量設(shè)置脈沖輸出模式設(shè)置軸速度設(shè)置軸加速

18、度設(shè)置軸減速度設(shè)置軸 S 曲線時(shí)間重點(diǎn)提示 2.2:軸類型:常用的類型為 1-脈沖輸出類型(步進(jìn)/伺服),3-編碼器輸入類型(外部編碼器/軸本身的編碼器),根據(jù)實(shí)際的硬件來配置對(duì)應(yīng)的軸類型。虛擬軸類型為程序內(nèi)部模擬運(yùn)行的軸,通常用于軸疊加與機(jī)械手場(chǎng)合。Atype 類型0123467891065666770虛擬軸;脈沖方向方式的步進(jìn)或伺服模擬信號(hào)控制方式的伺服正交編碼器步進(jìn)+編碼器脈沖方向方式的編碼器,可用于手輪輸入脈沖方向方式步進(jìn)或伺服+EZ 信號(hào)輸入ZCAN 擴(kuò)展脈沖方向方式步進(jìn)或伺服ZCAN 擴(kuò)展正交編碼器。ZCAN 擴(kuò)展脈沖方向方式的編碼器。ECAT 脈沖類型ECAT 速度閉環(huán)ECAT

19、力矩閉環(huán)ECAT 自定義操作,只讀取編碼器.圖 2.2-1 軸類型8描述深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0 版脈沖當(dāng)量:脈沖當(dāng)量為矢量軸參數(shù)的基本單位,如速度、加速度、位置。當(dāng) units 設(shè)置為1 時(shí),speed 單位為 脈沖/S,當(dāng) units 設(shè)置為機(jī)構(gòu)移動(dòng) 1mm 所需脈沖數(shù)時(shí),那么 speed 單位為 mm./s。必須先修改脈沖當(dāng)量,然后再修改速度、位移這些參數(shù)。否則當(dāng) units 變化時(shí)會(huì)導(dǎo)致速度、加速度、位置的變化。脈沖模式:0-3 為脈沖加方向模式,4-7 為雙脈沖模式。模式01234567正向運(yùn)動(dòng)脈沖線方向線負(fù)向運(yùn)動(dòng)脈沖線方向線圖 2.2-2

20、脈沖輸出模式2.3 特殊 IO 設(shè)置表 2.3 特殊 IO 函數(shù) 函數(shù)名ZAux_Direct_SetDatumInZAux_Direct_SetFwdInZAux_Direct_SetRevInZAux_Direct_SetAlmInZAux_Direct_SetInvertIn功能設(shè)置軸原點(diǎn)信號(hào)設(shè)置軸正向限位信號(hào)設(shè)置軸負(fù)向限位信號(hào)設(shè)置軸伺服告警信號(hào)設(shè)置輸入口信號(hào)反轉(zhuǎn)狀態(tài)正運(yùn)動(dòng)控制器沒有專用的特殊 IO 口,特殊 IO 都是通過指令指定分配到各個(gè)通用輸入輸出上的,當(dāng)特殊狀態(tài) IO 配置為-1 時(shí)表示為沒有對(duì)應(yīng)的狀態(tài)。例程 2.3:特殊 IO 配置ZAux_Direct_SetDatumIn(

21、g_handle,0,1);ZAux_Direct_SetFwdIn (g_handle,0,2);ZAux_Direct_ SetRevIn (g_handle,0,1);/設(shè)置 IN(1)為軸 0 的原點(diǎn)信號(hào)/設(shè)置 IN(2)為軸 0 的正限位/設(shè)置 IN(1)為軸 0 的負(fù)限位,與原點(diǎn)為同一個(gè)信號(hào)9深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0 版ZAux_Direct_SetAlmIn(g_handle,0,-1);ZAux_Direct_SetInvertIn(g_handle,1,1);/取消軸 0 伺服告警信號(hào)配置/反轉(zhuǎn) IN(1) 為高電平有效重點(diǎn)提示 2.

22、3:ZMC 系列的特殊 IO 都是認(rèn)為 OFF 時(shí)狀態(tài)有效,(即對(duì)應(yīng)正限位輸入口 OFF 狀態(tài)時(shí),認(rèn)為對(duì)應(yīng)軸碰到了正限位)。故對(duì)于特殊 IO 口為常開型傳感器時(shí),需要將對(duì)應(yīng)輸入口反轉(zhuǎn)為高電平有效,常閉型的按缺省的低電平有效就可以了。ECI 系列的控制器特殊信號(hào)與 ZMC 系列控制器狀態(tài)是相反的!2.4 單軸運(yùn)動(dòng)2.4.1 單軸回零表 2.4-1 回零運(yùn)動(dòng)函數(shù) 函數(shù)名ZAux_Direct_Singl_DatumZAux_Direct_SetCreep功能單軸回零運(yùn)動(dòng)設(shè)置二次回零的爬行速度例程 2.4.1:?jiǎn)屋S回零ZAux_Direct_SetDatumIn(g_handle,0,1); /設(shè)置

23、 IN(0)為軸 0 的原點(diǎn)信號(hào)ZAux_Direct_ SetSpeed (g_handle,0,100);/設(shè)置軸 0 速度為 200units/sZAux_Direct_ SetCreep(g_handle,0,10);/設(shè)置軸 0 爬行速度為 10units/sZAux_Direct_Singl_Datum(g_handle,0,4);/軸 0 按模式 4 回零,負(fù)向 2 次回零。正運(yùn)動(dòng)控制器提供了多種回零方式,通過傳不同模式值選擇對(duì)應(yīng)的回零方式與方向。方式 1: Z 相模式,軸以 CREEP 速度運(yùn)行直到 Z 信號(hào)出現(xiàn)。DPOS 值自動(dòng)重置為 0 同時(shí)糾正 MPOS。只有在 ATYP

24、E 設(shè)置為 7,并且將對(duì)應(yīng)軸編碼器 Z 相接入時(shí)有效。mode = 1 時(shí)正向回零 ,mode = 2 時(shí)負(fù)向回零。初始位置速度 creep第一個(gè) Z 相信號(hào)圖 2.4-1 Z 相模式回零方式 2:原點(diǎn)+反找模式,軸以 SPEED 速度向原點(diǎn)運(yùn)行,直到碰到原點(diǎn)開關(guān)。然后軸以 CREEP 速度反向運(yùn)動(dòng)直到離開原點(diǎn)開關(guān)。 DPOS 值自動(dòng)重置為 0 同時(shí)糾正MPOS,mode=3 時(shí)正向回零,mode = 4 時(shí)負(fù)向回零。10深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0 版初始位置傳感器位置原點(diǎn)位置Creep 慢速離開Speed 快速回零反向位置圖 2.4-2 原點(diǎn)+反找回零

25、方式 3:原點(diǎn)+反找+Z 信號(hào)模式,軸以 SPEED 速度向原點(diǎn)運(yùn)行,直到碰到原點(diǎn)開關(guān)。然后軸以 CREEP 速度反向運(yùn)動(dòng)直到離開原點(diǎn)開關(guān),然后再繼續(xù)以爬行速度反轉(zhuǎn)直到碰到 Z 信號(hào)。DPOS 值自動(dòng)重置為 0 同時(shí)糾正 MPOS。只有在 ATYPE設(shè)置為 7,并且將對(duì)應(yīng)軸編碼器 Z 相接入時(shí)有效。mode=5 正向回零,mode=6 負(fù)向回零。初始位置傳感器位置原點(diǎn)位置第一個(gè) Z 信號(hào)Creep 慢速離開Speed 快速回零反向位置圖 2.4-3 原點(diǎn)+反找+Z 相回零方式 4:原點(diǎn)一次回零模式,軸以 SPEED 速度向運(yùn)行,直到碰到原點(diǎn)開關(guān)。DPOS值自動(dòng)重置為 0 同時(shí)糾正 MPOS。m

26、ode=8 正向回零,mode=9 負(fù)向回零。初始位置傳感器位置Speed 速度回零原點(diǎn)位置圖 2.4-4 原點(diǎn)一次回零方式 5:對(duì)于原點(diǎn)在正負(fù)限位中間的情況,在各個(gè)模式上加 10,表示在回零過程中碰到了限位不取消運(yùn)動(dòng),而是繼續(xù)反向去找原點(diǎn)。2.4.2 單軸點(diǎn)動(dòng)表 2.4-2 單軸點(diǎn)動(dòng)函數(shù) 函數(shù)名ZAux_Direct_Singl_VmoveZAux_Direct_Singl_MoveZAux_Direct_Singl _MoveAbsZAux_ Direct_Singl_Cancel功能單軸連續(xù)運(yùn)動(dòng)單軸相對(duì)距離運(yùn)動(dòng)單軸絕對(duì)距離運(yùn)動(dòng)單軸運(yùn)動(dòng)停止控制器每個(gè)軸都有自己獨(dú)立的軸參數(shù),并且運(yùn)動(dòng)的參數(shù)值

27、全局性的,即速度,加速度一變則立刻生效,可以實(shí)現(xiàn)在線變速的功能。11深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0 版例程 2.4.2 單軸運(yùn)動(dòng)int run_state = 0;/軸運(yùn)動(dòng)狀態(tài)ZAux_Direct_ SetSpeed (g_handle,0,200);/設(shè)置軸 0 速度為 200units/sZAux_Direct_ SetAccel (g_handle,0,2000);/設(shè)置軸 0 加速為 2000units/s/sZAux_Direct_ SetDecel (g_handle,0,2000);/設(shè)置軸 0 加速為 2000units/s/sZAux_D

28、irect_ SetSramp (g_handle,0,0);/設(shè)置軸 0S 曲線時(shí)間 0(梯形加減速)ZAux_Direct_Singl_Move(g_handle,0,100);/軸 0 相對(duì)與當(dāng)前位置運(yùn)動(dòng) 100 unitsdo ZAux_Direct_GetIfIdle(g_handle,0,& run_state); /讀取軸 0 運(yùn)動(dòng)狀態(tài),0-運(yùn)動(dòng),-1 停止While (run_state = 0)/等待軸 0 停止重點(diǎn)提示 2.4.2連續(xù)運(yùn)動(dòng)在切換方向時(shí)可以直接再次調(diào)用 VMOVE 直接替換前面的連續(xù)運(yùn)動(dòng),不需要 cancel 后調(diào)用。調(diào) cancel 停止運(yùn)動(dòng)時(shí),使用的減速度

29、為 ZAux_Direct_SetFastDec(缺省默認(rèn)等于 decel 的值)設(shè)置的值減速,要實(shí)現(xiàn)急停時(shí)可以將 fastdec 設(shè)置一個(gè)較大值。2.4.3 單軸狀態(tài)表 3.4-3 單軸狀態(tài)函數(shù) 函數(shù)名ZAux_Direct_GetDposZAux_Direct_GetIfIdleZAux_Direct_GetAxisStatus重點(diǎn)提示 2.4.3軸運(yùn)動(dòng)狀態(tài)的判斷 調(diào)用 ZAux_Direct_GetIfIdle 函數(shù)可判斷當(dāng)前軸運(yùn)動(dòng)狀態(tài),狀態(tài) IDLE 返回只有 0,-1 兩種值,0 表示當(dāng)前軸正在運(yùn)動(dòng)中,-1 表示當(dāng)前軸沒有運(yùn)動(dòng),也可以通過 ZAux_Direct_GetMtype 判

30、斷當(dāng)前軸的的運(yùn)動(dòng)狀態(tài)是否處于 IDLE 狀態(tài)來實(shí)現(xiàn)相同效果。軸狀態(tài)的判斷通過調(diào)用 ZAux_Direct_GetAxisStatus 函數(shù)返回一個(gè) 32 位的狀態(tài)值,狀態(tài)值的每一位表示不同的軸狀態(tài)。功能軸坐標(biāo)讀取軸運(yùn)動(dòng)狀態(tài)讀取軸狀態(tài)讀取12深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0 版位 1 2 4 5 6 7 8 9101112182223 值 2 4 16 32 64 128 256 512 1024 2048 4096 26214441943048388608表 2.4.3-1 軸狀態(tài) 意義 隨動(dòng)誤差超限警告 與遠(yuǎn)程軸通訊出錯(cuò) 正向硬件限位報(bào)警 負(fù)向硬件限位報(bào)警

31、找原點(diǎn)中HOLD 速度保持信號(hào)輸入 隨動(dòng)誤差超限出錯(cuò) 超過正向軟限位 超過負(fù)向軟限位 CANCEL 執(zhí)行中 脈沖頻率超出限制 電源異常 伺服告警信號(hào)輸入 軸進(jìn)入了暫停狀態(tài)2.5 多軸插補(bǔ)運(yùn)動(dòng)正運(yùn)動(dòng)控制器可以支持直線、圓弧、螺旋、空間圓弧、橢圓和橢圓螺旋等各種插補(bǔ)運(yùn)動(dòng)。并且可以隨意組合軸做插補(bǔ)運(yùn)動(dòng),從而實(shí)現(xiàn)一臺(tái)控制器對(duì)多工位的控制。2.5.1 常用插補(bǔ)運(yùn)動(dòng)表 2.5-1 常用插補(bǔ)運(yùn)動(dòng)函數(shù) 函數(shù)名ZAux_Direct_BaseZAux_Direct_MoveZAux_Direct_MoveAbsZAux_Direct_MoveCirc2ZAux_Direct_MoveCirc2AbsZAux_D

32、irect_MSpherical功能設(shè)置運(yùn)動(dòng)軸列表多軸相對(duì)直線插補(bǔ)運(yùn)動(dòng)多軸絕對(duì)直線插補(bǔ)運(yùn)動(dòng)二軸相對(duì)三點(diǎn)定圓弧插補(bǔ)運(yùn)動(dòng)二軸絕對(duì)三點(diǎn)定圓弧插補(bǔ)運(yùn)動(dòng)空間圓弧插補(bǔ)運(yùn)動(dòng) 插補(bǔ)運(yùn)動(dòng)的運(yùn)動(dòng)參數(shù)都是設(shè)置在主軸上的,主軸即為 ZAux_Direct_Base(ZMC_HANDLE handle, int imaxaxises, int *piAxislist)指令中軸列表 piAxislist中的第一個(gè)軸為主軸。主軸速度,加速度,減速度為各個(gè)參與插補(bǔ)運(yùn)動(dòng)軸軸參數(shù)的矢量方向合成參數(shù)。判斷運(yùn)動(dòng)狀態(tài)時(shí),直接判斷主軸狀態(tài)即可。13深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0 版例程 2.5.1 三

33、軸直線插補(bǔ)int axislist3 = 1,0,2;float poslist3 = 100,200,300;/運(yùn)動(dòng) BASE 軸列表,其中軸 1 為主軸/運(yùn)動(dòng)列表,軸 1-100,軸 0-200,軸 2-300/設(shè)置插補(bǔ)速度 100,設(shè)置在主軸上/設(shè)置插補(bǔ)加速度 1000ZAux_Direct_SetSpeed(g_handle,axislist0,100);ZAux_Direct_SetAccel(g_handle,axislist0,1000);ZAux_Direct_Base(g_handle,3,axislist);/選擇軸列表ZAux_Direct_MoveAbs(g_handl

34、e,3,poslist);/調(diào)用運(yùn)動(dòng),軸 0,1,2 走到對(duì)應(yīng)的絕對(duì)位置重點(diǎn)提示 2.5.1 空間圓弧指令只有相對(duì)運(yùn)動(dòng)指令,一般通過ZAux_Direct_GetEndMoveBuffer 指令讀取對(duì)應(yīng)軸的運(yùn)動(dòng)結(jié)束位置來將絕對(duì)坐標(biāo)轉(zhuǎn)為相當(dāng)偏移來調(diào)用相對(duì)空間圓弧指令。2.5.2 連續(xù)插補(bǔ)運(yùn)動(dòng)表 2.5-2 連續(xù)插補(bǔ)相關(guān)函數(shù) 函數(shù)名ZAux_Direct_SetMergeZAux_Direct_GetRemain_BufferZAux_Direct_SetForceSpeedZAux_Direct_SetStartMoveSpeedZAux_Direct_GetEndMoveSpeed 功能連續(xù)插

35、補(bǔ)運(yùn)動(dòng)開關(guān)讀取剩余的運(yùn)動(dòng)緩沖個(gè)數(shù)SP 運(yùn)動(dòng)運(yùn)行速度SP 運(yùn)動(dòng)起始速度SP 運(yùn)動(dòng)結(jié)束速度 ZMotion 運(yùn)動(dòng)控制器每個(gè)軸都具有多級(jí)的運(yùn)動(dòng)緩沖,當(dāng)前有運(yùn)動(dòng)指令正在執(zhí)行時(shí),后面調(diào)用的運(yùn)動(dòng)指令會(huì)填入緩沖,當(dāng)前面的運(yùn)動(dòng)執(zhí)行完畢時(shí)緩沖會(huì)自動(dòng)空出。避免程序的阻賽。也可以用 MOVE_DELAY 把延時(shí)指令填入緩沖,這樣在運(yùn)動(dòng)指令之間自動(dòng)延時(shí),或者用 MOVE_OP 在運(yùn)動(dòng)中插入 IO 操作,當(dāng)連續(xù)插補(bǔ)開關(guān) MERGE 打開時(shí),會(huì)把相同主軸的插補(bǔ)運(yùn)動(dòng)會(huì)自動(dòng)被連續(xù)起來。下一條指令N TY PE讀取類型M O V E_M A RK設(shè)置標(biāo)識(shí)CO RN ER_M O D E 設(shè) 置 自 動(dòng) 拐 角 速 度 限 制E

36、N D M O V E_SPEED SP指 令 終 點(diǎn) 速 度 限 制FO RCE_SPEED SP指 令 速 度 限 制最 多 LIM IT_BU FFERED 段 緩 沖正在運(yùn)行的指令M O V E_CU RM A RK 讀 取 標(biāo) 識(shí)M TY PE讀取類型運(yùn)動(dòng)指令M O V E/M O V ECIRC/SPM O V E_O P/M O V E_D ELA YV M O V E/JO GREM A IN_BU FFER () 剩 余 緩 沖指令運(yùn)動(dòng)完成后退出CA N CEL取 消 指 令圖 2.5-2 運(yùn)動(dòng)緩沖14深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0 版所有

37、的插補(bǔ)運(yùn)動(dòng)都有對(duì)應(yīng)的自定義速度的 SP 運(yùn)動(dòng),如 movesp,moveabssp.等等。SP 運(yùn)動(dòng)的速度不再受全局速度 speed 的控制,而是通過專門的速度指令設(shè)置對(duì)應(yīng)段的起始、運(yùn)行、結(jié)束速度,這些速度也是隨著運(yùn)動(dòng)一起進(jìn)入運(yùn)動(dòng)緩沖的。例程 2.5.2 連續(xù)插補(bǔ)運(yùn)動(dòng)int axislist3 = 0,1,2;float poslist3 = 0,0,0;int iremain = 0; /運(yùn)動(dòng) BASE 軸列表, /運(yùn)動(dòng)列表,/剩余緩沖ZAux_Direct_Base(g_handle,3,axislist);/選擇軸列表ZAux_Direct_SetMerge(g_handle,axisl

38、ist0,1);/連續(xù)插補(bǔ)開關(guān)ZAux_Direct_SetStartMoveSpeed(g_handle, axislist 0,1000); / 設(shè) 一 個(gè) 較 大 值 大 于 最 大 的FORCE_SPEED,表示不啟用起始速度ZAux_Direct_GetEndMoveSpeed(g_handle, axislist 0,1000);for(int i = 0;i100;i+) poslist0 = i*2; poslist1 = i*3; poslist2 = i*5; do ZAux_Direct_GetRemain_Buffer (g_handle, 0, &iremain);

39、/讀取剩余緩沖While(iremain 1)等待有剩余緩沖ZAux_Direct_SetForceSpeed(g_handle, axislist 0,i+10);/設(shè)置運(yùn)行速度ZAux_Direct_MoveAbsSp(g_handle, 3, poslist );/調(diào)用 SP 運(yùn)動(dòng)重點(diǎn)提示 2.5.2連續(xù)插補(bǔ)發(fā)送運(yùn)動(dòng)前 (包括 move_op、move_delay 指令)都需要先判斷主軸的運(yùn)動(dòng)緩沖是否有空余,然后在發(fā)送運(yùn)動(dòng),當(dāng)緩沖區(qū)滿時(shí)向控制器發(fā)送運(yùn)動(dòng),發(fā)送的命令會(huì)返回錯(cuò)誤,不能填進(jìn)運(yùn)動(dòng)緩沖。當(dāng)然不同運(yùn)動(dòng)指令占用的緩沖區(qū)大小是不一致的。ZAux_Direct_GetRemain_Buff

40、er 是按占緩沖最大的空間圓弧指令返回的。表示可以填放剩余空間圓弧命令的個(gè)數(shù)。15深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0 版2.5.3 自動(dòng)拐角參數(shù)設(shè)置表 2.5-3 拐角設(shè)置函數(shù) 函數(shù)名ZAux_Direct_SetCornerModeZAux_Direct_SetDecelAngleZAux_Direct_SetStopAngleZAux_Direct_SetFullSpRadiusZAux_Direct_SetZsmooth功能設(shè)置拐角減速模式設(shè)置拐角減速起始角度設(shè)置拐角減速停止角度設(shè)置小圓限速半徑設(shè)置自動(dòng)倒角半徑設(shè)備在拐角處高速運(yùn)行時(shí)會(huì)產(chǎn)生強(qiáng)烈振動(dòng),這時(shí)一般

41、需要在拐處做減速處理??梢酝ㄟ^控制器上的自動(dòng)拐角模式做對(duì)應(yīng)的減速處理。CornerMode的不同位對(duì)應(yīng)的不同的減速模式,設(shè)置為 0 時(shí)表示拐角不減速。例程 2.5.3 拐角減速設(shè)置int axislist4 = 0,1,2,3;int corner_mode = 2+4+32;float m_startang = 15*3.14/180;float m_stopang = 90*3.14/180;float m_fullradius = 5;float m_zsmooth = 5/運(yùn)動(dòng) BASE 軸列表/拐角模式自動(dòng)拐角+小圓限速+倒角/拐角減速開始角度/拐角減速停止角度/小圓半徑/倒角半徑Z

42、Aux_Direct_SetLspeed(g_handle,axislist0,0);/設(shè)置起始速度ZAux_Direct_SetCornerMode(g_handle,axislist0,corner_mode); /設(shè)置拐角模式ZAux_Direct_SetDecelAngle(g_handle,axislist0,m_startang); /設(shè)置開始減速角度ZAux_Direct_SetStopAngle(g_handle,axislist0,m_stopang); /設(shè)置開始減速角度ZAux_Direct_SetFullSpRadius(g_handle,axislist0,m_fullradius); /設(shè)置小圓半徑ZAux_Direct_SetZsmooth(g_handle,axislist0,m_zsmooth); /設(shè)置倒角半徑重點(diǎn)提示 2.5.3自動(dòng)拐角減速時(shí),速度是通過矢量方向的拐角大小開始減速的,由開始減速角度到停止減速角度之間做線性減速,當(dāng)拐角達(dá)到停止減速角度時(shí),速度減到 lspeed設(shè)定的值。關(guān)系如下圖所示。圖 2.5-3 拐角減速16深圳市正運(yùn)動(dòng)技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊(cè)2.0 版2.6 手輪運(yùn)動(dòng)表 2.6-1 手輪運(yùn)動(dòng)函數(shù) 函數(shù)名ZAux_Direct_ConnectZAux_D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論