




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、ZMotion PC 函數(shù)庫編程手冊Version 2.0深圳市正運(yùn)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊2.0 版版權(quán)說明本手冊版權(quán)歸深圳市正運(yùn)動技術(shù)有限公司所有,未經(jīng)本公司授權(quán),任何人不得翻印、抄襲本手持中的任何內(nèi)容。正運(yùn)動技術(shù)公司保留在不事先通知情況下,修改本手冊中內(nèi)容的權(quán)利。調(diào)試機(jī)器要注意安全!請務(wù)必在機(jī)器中設(shè)計(jì)有效的安全保護(hù)裝置,并在軟件中加入出錯(cuò)處理程序,否則所造成的損失,正運(yùn)動技術(shù)公司沒有義務(wù)或責(zé)任對此負(fù)責(zé)。1深圳市正運(yùn)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊2.0 版目錄第一章 PC 編程概述. 11.1 運(yùn)動控制器特點(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)動. 10 2.4.1 單軸回零. 10 2.4.2 單軸點(diǎn)動. 11 2.4.3 單軸狀態(tài). 122.5 多軸插補(bǔ)運(yùn)動. 13 2.5.1 常用插補(bǔ)運(yùn)動. 13 2.5.2 連續(xù)插補(bǔ)運(yùn)動. 14 2.5.3 自動拐角參數(shù)設(shè)置. 162.6 手輪運(yùn)動. 172.7 IO 與 AD/DA 設(shè)置讀取. 172.8 PC 與控制器數(shù)據(jù)交互. 18第三章 DLL 函數(shù)列表
3、. 203.1 控制器操作函數(shù)介紹. 203.2 運(yùn)動指令函數(shù)介紹. 23 3.2.1 輔助指令. 23 3.2.2 多軸直線插補(bǔ). 27 3.2.3 圓弧、橢圓、螺旋插補(bǔ). 28 3.2.4 特殊運(yùn)動指令. 41 3.2.5 同步運(yùn)動指令. 43 3.2.6 單軸運(yùn)動指令. 473.3 軸參數(shù)軸狀態(tài)函數(shù)介紹. 49 3.3.2 軸基本參數(shù)函數(shù). 50 3.3.3 其他參數(shù)函數(shù). 63 3.3.4 特殊信號參數(shù)函數(shù)(原點(diǎn),限位). 733.4 輸入輸出函數(shù)介紹. 773.5 數(shù)據(jù)通訊函數(shù). 82第四章 直接串口控制. 884.1 串口直接命令控制模式. 882深圳市正運(yùn)動技術(shù)有限公司ZMoti
4、on PC 函數(shù)庫編程手冊2.0 版第一章 PC 編程概述1.1 運(yùn)動控制器特點(diǎn) ZMC 運(yùn) 動 控 制 器 支 持 PC 直 接 在 線 控 制 , 提 供 DLL 函 數(shù) 庫 和VC,VB,C#,LABVIEW 等例程。函數(shù)庫同時(shí)提供 WINCE 和 LINUX 的支持。函數(shù)庫針對于所有型號的控制器。ZMC 運(yùn)動控制器在線控制相對 PCI 具有下面的優(yōu)勢:1、不使用插槽,穩(wěn)定性更好。2、降低對 PC 的要求,不需要 PCI 插槽。3、可以選用 MINI 電腦或 ARM 工控電腦,降低整體成本。4、控制器直接做接線板使用,節(jié)省空間。5、控制器上可以并行運(yùn)行程序, PC 只需要簡單交互,與降低
5、 PC 軟件的復(fù)雜性。 綜上可以看出,選用以太網(wǎng)接口的運(yùn)動控制器來代替 PCI 運(yùn)動控制卡,可以節(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)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊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)用程序類型選擇基本對話框。完成新建7) 將提供的庫函數(shù) zauxdll.h、zauxdll.lib、zauxdll.dll、及 zmotion.dll 放到工 程路徑下(或者直接將通過 zauxdll.cpp 的源碼碼加人工程)圖 1.3-2 添加控件2深圳市正運(yùn)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊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) 雙擊啟動、停止在對應(yīng)的事件函數(shù)下添加對應(yīng)的代碼: ZAux_Direct_Singl_Vmove(g_handle,0,1); ZAux_Direct_Singl_Cancel(g_handle,0,2);3深圳市正運(yùn)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊2.0
8、版圖 1.3-5 調(diào)用函數(shù)12)編譯程序后,運(yùn)行程序,在界面下按下運(yùn)行,則軸 0 會按初始化速度正向轉(zhuǎn)動,按下停止,軸 0 停止運(yùn)動。1.4 庫函數(shù)封裝方法 ZAux 庫提供了運(yùn)動和基本參數(shù)設(shè)置的封裝,以開放源代碼的方式提供,詳細(xì)內(nèi)容參見源碼。 ZAux 庫 通 過 直 接 把 ZBASIC 命 令 通 過 ZAux_Execute 方 式 或ZAux_DirectCommand 方式發(fā)送到控制器上,相應(yīng)函數(shù)可以參考 ZBASIC 手冊對應(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í)行所有命令,并支持表達(dá)式作為參數(shù),但是速度慢一些;參見 ZAux_Execute 函數(shù)。 ZAux_Execute(控制器句柄,命令字符串, 返回字符串,返回字符長度)4深圳市正運(yùn)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊2.0 版圖 1.4-1 字符串命令的通道 Z
10、Aux_Direct_SetSpeed(ZMC_HANDLE handle, int iaxis,例如設(shè)置軸速度函數(shù):float fValue)相當(dāng)與 BASIC 命令中的“SPEED(軸號) = 速度值”。則封裝函數(shù)時(shí)命令字符串就是 “speed(%d) =%f”。 封裝步驟: a) 編寫源代碼:打開輔助庫源碼,在 zmcaux.cpp 中添加對應(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); /生成對應(yīng)的命令字符串 return ZAux_DirectCommand(handle, cmdbuff, cmdbuffAck, 2048); b) 在 zauxdll.def 中定義新增加的函數(shù)定義5深圳市正運(yùn)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊2.0 版圖 1.4-2 添加函數(shù)定義c) 在頭文件中增加對應(yīng)的函數(shù)圖 1.4-3 添加頭文件d) 編譯生成新的 DLL1.5 多控制器鏈接 正運(yùn)
12、動控制器可以支持一臺 PC 控制多個(gè)控制器,常用于多軸、多工位 流水線設(shè)備,或者車間設(shè)備監(jiān)控。通常用一個(gè)交換機(jī),通過給控制器設(shè)置不 同的 IP 地址來訪問各個(gè)控制器。 注意:交換機(jī)上多有個(gè)以太網(wǎng)設(shè)備時(shí),除了要保證 IP 地址不同外,MAC 地址也可能沖突(可以用正運(yùn)動通過的輔助工具修改 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)動技術(shù)有限公司Z
13、Motion PC 函數(shù)庫編程手冊2.0 版第二章 基本功能介紹本章描述了控制器基本運(yùn)動功能的使用,并提供了相關(guān)的例程,詳情參考 PC函數(shù)庫對應(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)閉控制器鏈接在對控制器進(jìn)行操作時(shí)必須先調(diào)用鏈接函數(shù)鏈接控制器,當(dāng)鏈接成功后方可通過返回的句柄操作對應(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)鏈接控制器檢測函數(shù)返回值判斷函數(shù)是否執(zhí)行成功,返回 0 時(shí)則成功,非 0 失敗。以太網(wǎng)口鏈接返回不成功時(shí),檢查傳遞的 IP 是否正確,并且保證電腦 IP 地址和控制器 IP 地址在同一個(gè)網(wǎng)段。7深圳市正運(yùn)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊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í)際的硬件來配置對應(yīng)的軸類型。虛擬軸類型為程序內(nèi)部模擬運(yùn)行的軸,通常用于軸疊加與機(jī)械手場合。Atype 類型0123467891065666770虛擬軸;脈沖方向方式的步進(jìn)或伺服模擬信號控制方式的伺服正交編碼器步進(jìn)+編碼器脈沖方向方式的編碼器,可用于手輪輸入脈沖方向方式步進(jìn)或伺服+EZ 信號輸入ZCAN 擴(kuò)展脈沖方向方式步進(jìn)或伺服ZCAN 擴(kuò)展正交編碼器。ZCAN 擴(kuò)展脈沖方向方式的編碼器。ECAT 脈沖類型ECAT 速度閉環(huán)ECAT
19、力矩閉環(huán)ECAT 自定義操作,只讀取編碼器.圖 2.2-1 軸類型8描述深圳市正運(yùn)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊2.0 版脈沖當(dāng)量:脈沖當(dāng)量為矢量軸參數(shù)的基本單位,如速度、加速度、位置。當(dāng) units 設(shè)置為1 時(shí),speed 單位為 脈沖/S,當(dāng) units 設(shè)置為機(jī)構(gòu)移動 1mm 所需脈沖數(shù)時(shí),那么 speed 單位為 mm./s。必須先修改脈沖當(dāng)量,然后再修改速度、位移這些參數(shù)。否則當(dāng) units 變化時(shí)會導(dǎo)致速度、加速度、位置的變化。脈沖模式:0-3 為脈沖加方向模式,4-7 為雙脈沖模式。模式01234567正向運(yùn)動脈沖線方向線負(fù)向運(yùn)動脈沖線方向線圖 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)信號設(shè)置軸正向限位信號設(shè)置軸負(fù)向限位信號設(shè)置軸伺服告警信號設(shè)置輸入口信號反轉(zhuǎn)狀態(tài)正運(yùn)動控制器沒有專用的特殊 IO 口,特殊 IO 都是通過指令指定分配到各個(gè)通用輸入輸出上的,當(dāng)特殊狀態(tài) IO 配置為-1 時(shí)表示為沒有對應(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)信號/設(shè)置 IN(2)為軸 0 的正限位/設(shè)置 IN(1)為軸 0 的負(fù)限位,與原點(diǎn)為同一個(gè)信號9深圳市正運(yùn)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊2.0 版ZAux_Direct_SetAlmIn(g_handle,0,-1);ZAux_Direct_SetInvertIn(g_handle,1,1);/取消軸 0 伺服告警信號配置/反轉(zhuǎn) IN(1) 為高電平有效重點(diǎn)提示 2.
22、3:ZMC 系列的特殊 IO 都是認(rèn)為 OFF 時(shí)狀態(tài)有效,(即對應(yīng)正限位輸入口 OFF 狀態(tài)時(shí),認(rèn)為對應(yīng)軸碰到了正限位)。故對于特殊 IO 口為常開型傳感器時(shí),需要將對應(yīng)輸入口反轉(zhuǎn)為高電平有效,常閉型的按缺省的低電平有效就可以了。ECI 系列的控制器特殊信號與 ZMC 系列控制器狀態(tài)是相反的!2.4 單軸運(yùn)動2.4.1 單軸回零表 2.4-1 回零運(yùn)動函數(shù) 函數(shù)名ZAux_Direct_Singl_DatumZAux_Direct_SetCreep功能單軸回零運(yùn)動設(shè)置二次回零的爬行速度例程 2.4.1:單軸回零ZAux_Direct_SetDatumIn(g_handle,0,1); /設(shè)置
23、 IN(0)為軸 0 的原點(diǎn)信號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)動控制器提供了多種回零方式,通過傳不同模式值選擇對應(yīng)的回零方式與方向。方式 1: Z 相模式,軸以 CREEP 速度運(yùn)行直到 Z 信號出現(xiàn)。DPOS 值自動重置為 0 同時(shí)糾正 MPOS。只有在 ATYP
24、E 設(shè)置為 7,并且將對應(yīng)軸編碼器 Z 相接入時(shí)有效。mode = 1 時(shí)正向回零 ,mode = 2 時(shí)負(fù)向回零。初始位置速度 creep第一個(gè) Z 相信號圖 2.4-1 Z 相模式回零方式 2:原點(diǎn)+反找模式,軸以 SPEED 速度向原點(diǎn)運(yùn)行,直到碰到原點(diǎn)開關(guān)。然后軸以 CREEP 速度反向運(yùn)動直到離開原點(diǎn)開關(guān)。 DPOS 值自動重置為 0 同時(shí)糾正MPOS,mode=3 時(shí)正向回零,mode = 4 時(shí)負(fù)向回零。10深圳市正運(yùn)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊2.0 版初始位置傳感器位置原點(diǎn)位置Creep 慢速離開Speed 快速回零反向位置圖 2.4-2 原點(diǎn)+反找回零
25、方式 3:原點(diǎn)+反找+Z 信號模式,軸以 SPEED 速度向原點(diǎn)運(yùn)行,直到碰到原點(diǎn)開關(guān)。然后軸以 CREEP 速度反向運(yùn)動直到離開原點(diǎn)開關(guān),然后再繼續(xù)以爬行速度反轉(zhuǎn)直到碰到 Z 信號。DPOS 值自動重置為 0 同時(shí)糾正 MPOS。只有在 ATYPE設(shè)置為 7,并且將對應(yīng)軸編碼器 Z 相接入時(shí)有效。mode=5 正向回零,mode=6 負(fù)向回零。初始位置傳感器位置原點(diǎn)位置第一個(gè) Z 信號Creep 慢速離開Speed 快速回零反向位置圖 2.4-3 原點(diǎn)+反找+Z 相回零方式 4:原點(diǎn)一次回零模式,軸以 SPEED 速度向運(yùn)行,直到碰到原點(diǎn)開關(guān)。DPOS值自動重置為 0 同時(shí)糾正 MPOS。m
26、ode=8 正向回零,mode=9 負(fù)向回零。初始位置傳感器位置Speed 速度回零原點(diǎn)位置圖 2.4-4 原點(diǎn)一次回零方式 5:對于原點(diǎn)在正負(fù)限位中間的情況,在各個(gè)模式上加 10,表示在回零過程中碰到了限位不取消運(yùn)動,而是繼續(xù)反向去找原點(diǎn)。2.4.2 單軸點(diǎn)動表 2.4-2 單軸點(diǎn)動函數(shù) 函數(shù)名ZAux_Direct_Singl_VmoveZAux_Direct_Singl_MoveZAux_Direct_Singl _MoveAbsZAux_ Direct_Singl_Cancel功能單軸連續(xù)運(yùn)動單軸相對距離運(yùn)動單軸絕對距離運(yùn)動單軸運(yùn)動停止控制器每個(gè)軸都有自己獨(dú)立的軸參數(shù),并且運(yùn)動的參數(shù)值
27、全局性的,即速度,加速度一變則立刻生效,可以實(shí)現(xiàn)在線變速的功能。11深圳市正運(yùn)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊2.0 版例程 2.4.2 單軸運(yùn)動int run_state = 0;/軸運(yùn)動狀態(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 相對與當(dāng)前位置運(yùn)動 100 unitsdo ZAux_Direct_GetIfIdle(g_handle,0,& run_state); /讀取軸 0 運(yùn)動狀態(tài),0-運(yùn)動,-1 停止While (run_state = 0)/等待軸 0 停止重點(diǎn)提示 2.4.2連續(xù)運(yùn)動在切換方向時(shí)可以直接再次調(diào)用 VMOVE 直接替換前面的連續(xù)運(yùn)動,不需要 cancel 后調(diào)用。調(diào) cancel 停止運(yùn)動時(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)動狀態(tài)的判斷 調(diào)用 ZAux_Direct_GetIfIdle 函數(shù)可判斷當(dāng)前軸運(yùn)動狀態(tài),狀態(tài) IDLE 返回只有 0,-1 兩種值,0 表示當(dāng)前軸正在運(yùn)動中,-1 表示當(dāng)前軸沒有運(yùn)動,也可以通過 ZAux_Direct_GetMtype 判
30、斷當(dāng)前軸的的運(yùn)動狀態(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)動狀態(tài)讀取軸狀態(tài)讀取12深圳市正運(yùn)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊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) 意義 隨動誤差超限警告 與遠(yuǎn)程軸通訊出錯(cuò) 正向硬件限位報(bào)警 負(fù)向硬件限位報(bào)警
31、找原點(diǎn)中HOLD 速度保持信號輸入 隨動誤差超限出錯(cuò) 超過正向軟限位 超過負(fù)向軟限位 CANCEL 執(zhí)行中 脈沖頻率超出限制 電源異常 伺服告警信號輸入 軸進(jìn)入了暫停狀態(tài)2.5 多軸插補(bǔ)運(yùn)動正運(yùn)動控制器可以支持直線、圓弧、螺旋、空間圓弧、橢圓和橢圓螺旋等各種插補(bǔ)運(yùn)動。并且可以隨意組合軸做插補(bǔ)運(yùn)動,從而實(shí)現(xiàn)一臺控制器對多工位的控制。2.5.1 常用插補(bǔ)運(yùn)動表 2.5-1 常用插補(bǔ)運(yùn)動函數(shù) 函數(shù)名ZAux_Direct_BaseZAux_Direct_MoveZAux_Direct_MoveAbsZAux_Direct_MoveCirc2ZAux_Direct_MoveCirc2AbsZAux_D
32、irect_MSpherical功能設(shè)置運(yùn)動軸列表多軸相對直線插補(bǔ)運(yùn)動多軸絕對直線插補(bǔ)運(yùn)動二軸相對三點(diǎn)定圓弧插補(bǔ)運(yùn)動二軸絕對三點(diǎn)定圓弧插補(bǔ)運(yùn)動空間圓弧插補(bǔ)運(yùn)動 插補(bǔ)運(yùn)動的運(yùn)動參數(shù)都是設(shè)置在主軸上的,主軸即為 ZAux_Direct_Base(ZMC_HANDLE handle, int imaxaxises, int *piAxislist)指令中軸列表 piAxislist中的第一個(gè)軸為主軸。主軸速度,加速度,減速度為各個(gè)參與插補(bǔ)運(yùn)動軸軸參數(shù)的矢量方向合成參數(shù)。判斷運(yùn)動狀態(tài)時(shí),直接判斷主軸狀態(tài)即可。13深圳市正運(yùn)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊2.0 版例程 2.5.1 三
33、軸直線插補(bǔ)int axislist3 = 1,0,2;float poslist3 = 100,200,300;/運(yùn)動 BASE 軸列表,其中軸 1 為主軸/運(yùn)動列表,軸 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)動,軸 0,1,2 走到對應(yīng)的絕對位置重點(diǎn)提示 2.5.1 空間圓弧指令只有相對運(yùn)動指令,一般通過ZAux_Direct_GetEndMoveBuffer 指令讀取對應(yīng)軸的運(yùn)動結(jié)束位置來將絕對坐標(biāo)轉(zhuǎn)為相當(dāng)偏移來調(diào)用相對空間圓弧指令。2.5.2 連續(xù)插補(bǔ)運(yùn)動表 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)動開關(guān)讀取剩余的運(yùn)動緩沖個(gè)數(shù)SP 運(yùn)動運(yùn)行速度SP 運(yùn)動起始速度SP 運(yùn)動結(jié)束速度 ZMotion 運(yùn)動控制器每個(gè)軸都具有多級的運(yùn)動緩沖,當(dāng)前有運(yùn)動指令正在執(zhí)行時(shí),后面調(diào)用的運(yùn)動指令會填入緩沖,當(dāng)前面的運(yùn)動執(zhí)行完畢時(shí)緩沖會自動空出。避免程序的阻賽。也可以用 MOVE_DELAY 把延時(shí)指令填入緩沖,這樣在運(yùn)動指令之間自動延時(shí),或者用 MOVE_OP 在運(yùn)動中插入 IO 操作,當(dāng)連續(xù)插補(bǔ)開關(guān) MERGE 打開時(shí),會把相同主軸的插補(bǔ)運(yùn)動會自動被連續(xù)起來。下一條指令N TY PE讀取類型M O V E_M A RK設(shè)置標(biāo)識CO RN ER_M O D E 設(shè) 置 自 動 拐 角 速 度 限 制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) 識M TY PE讀取類型運(yùn)動指令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)動完成后退出CA N CEL取 消 指 令圖 2.5-2 運(yùn)動緩沖14深圳市正運(yùn)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊2.0 版所有
37、的插補(bǔ)運(yùn)動都有對應(yīng)的自定義速度的 SP 運(yùn)動,如 movesp,moveabssp.等等。SP 運(yùn)動的速度不再受全局速度 speed 的控制,而是通過專門的速度指令設(shè)置對應(yīng)段的起始、運(yùn)行、結(jié)束速度,這些速度也是隨著運(yùn)動一起進(jìn)入運(yùn)動緩沖的。例程 2.5.2 連續(xù)插補(bǔ)運(yùn)動int axislist3 = 0,1,2;float poslist3 = 0,0,0;int iremain = 0; /運(yùn)動 BASE 軸列表, /運(yùn)動列表,/剩余緩沖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)動重點(diǎn)提示 2.5.2連續(xù)插補(bǔ)發(fā)送運(yùn)動前 (包括 move_op、move_delay 指令)都需要先判斷主軸的運(yùn)動緩沖是否有空余,然后在發(fā)送運(yùn)動,當(dāng)緩沖區(qū)滿時(shí)向控制器發(fā)送運(yùn)動,發(fā)送的命令會返回錯(cuò)誤,不能填進(jìn)運(yùn)動緩沖。當(dāng)然不同運(yùn)動指令占用的緩沖區(qū)大小是不一致的。ZAux_Direct_GetRemain_Buff
40、er 是按占緩沖最大的空間圓弧指令返回的。表示可以填放剩余空間圓弧命令的個(gè)數(shù)。15深圳市正運(yùn)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊2.0 版2.5.3 自動拐角參數(shù)設(shè)置表 2.5-3 拐角設(shè)置函數(shù) 函數(shù)名ZAux_Direct_SetCornerModeZAux_Direct_SetDecelAngleZAux_Direct_SetStopAngleZAux_Direct_SetFullSpRadiusZAux_Direct_SetZsmooth功能設(shè)置拐角減速模式設(shè)置拐角減速起始角度設(shè)置拐角減速停止角度設(shè)置小圓限速半徑設(shè)置自動倒角半徑設(shè)備在拐角處高速運(yùn)行時(shí)會產(chǎn)生強(qiáng)烈振動,這時(shí)一般
41、需要在拐處做減速處理。可以通過控制器上的自動拐角模式做對應(yīng)的減速處理。CornerMode的不同位對應(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)動 BASE 軸列表/拐角模式自動拐角+小圓限速+倒角/拐角減速開始角度/拐角減速停止角度/小圓半徑/倒角半徑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自動拐角減速時(shí),速度是通過矢量方向的拐角大小開始減速的,由開始減速角度到停止減速角度之間做線性減速,當(dāng)拐角達(dá)到停止減速角度時(shí),速度減到 lspeed設(shè)定的值。關(guān)系如下圖所示。圖 2.5-3 拐角減速16深圳市正運(yùn)動技術(shù)有限公司ZMotion PC 函數(shù)庫編程手冊2.0 版2.6 手輪運(yùn)動表 2.6-1 手輪運(yùn)動函數(shù) 函數(shù)名ZAux_Direct_ConnectZAux_D
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)應(yīng)用基礎(chǔ)課件項(xiàng)目二:Windows 操作系統(tǒng)
- 計(jì)算機(jī)網(wǎng)絡(luò)操作系統(tǒng)(第二版)課件第2章 Windows Server 2008安裝與基本配置
- 知識干貨分享音樂課件
- DB43-T 2801-2023 石菖蒲采收與產(chǎn)地初加工技術(shù)規(guī)程
- 不孕癥中醫(yī)治療講課件
- 2025年農(nóng)業(yè)物聯(lián)網(wǎng)精準(zhǔn)種植技術(shù)應(yīng)用效果與市場反饋報(bào)告
- 血透頸內(nèi)靜脈置管護(hù)理查房講課件
- 連續(xù)性腎臟替代治療處方講課件
- 2025年農(nóng)業(yè)面源污染治理與農(nóng)業(yè)面源污染治理技術(shù)創(chuàng)新與市場趨勢研究報(bào)告
- 中醫(yī)保健與春季養(yǎng)生講課件
- 高性能耐磨材料設(shè)計(jì)-全面剖析
- 2025-2030中國藥食同源行業(yè)市場運(yùn)行分析及市場前景預(yù)測研究報(bào)告
- 2024年杭州地鐵科技有限公司招聘筆試真題
- 古代武舉考試試題及答案
- 美導(dǎo)老師下店培訓(xùn)流程
- 湖北省潛江市十校聯(lián)考2025屆初三5月底中考模擬考試英語試題含答案
- 中央空調(diào)維保方案
- 2025年鄉(xiāng)鎮(zhèn)心理健康服務(wù)計(jì)劃
- 氣排球裁判試題庫及答案
- 2025年周口理工職業(yè)學(xué)院單招職業(yè)技能考試題庫附答案
- Unit 6 A great week (教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(三起)(2024)英語三年級下冊
評論
0/150
提交評論