時間:2023-08-28 15:43:37來源:深圳市雷賽智能控制股份有限公司
同步追蹤功能介紹
同步追蹤功能的作用是方便用戶能夠快速精準控制運動機構(gòu),實現(xiàn)產(chǎn)線上待加工工件與機構(gòu)的同步追蹤。利用傳感器,相機等器件獲取工件位置,從而計算出機構(gòu)于何時進行追趕并且達到同步,達到同步階段后添加運動指令實現(xiàn)產(chǎn)線上工件的上下料、分揀、點膠等工藝需求。應(yīng)用廣泛,覆蓋多種場景。
使用詳解
01.同步追蹤功能簡單應(yīng)用
主要步驟分三步:調(diào)用同步追蹤指令→判斷是否達到同步階段→調(diào)用疊加軌跡指令。同步追蹤過程可分三個階段:追趕階段→同步階段→結(jié)束階段。
02.相關(guān)指令介紹
注意:主軸速度列表值需與主軸定速運動的速度一致。
03.使用步驟
1.主軸使能,執(zhí)行定速運動。
2.調(diào)用dmc_get_track_config_unit指令,作用是實時讀取從軸的同步狀態(tài),用于判斷從軸是否到達同步階段。
3.調(diào)用dmc_track_config_unit指令,用于配置同步追蹤參數(shù),可實現(xiàn)從軸與主軸達到同步跟隨的狀態(tài)。
4.調(diào)用dmc_add_move_config_unit指令,在達到同步階段時調(diào)用。作用是使能運動疊加并且配置疊加軸與從軸之間的關(guān)系,在使能疊加軌跡后,調(diào)用點位,插補或其他運動指令使疊加軸走軌跡并且把軌跡疊加在從軸上,實現(xiàn)從軸在跟隨主軸運動的同時走軌跡運動。
如下圖所示,為整個同步階段的使用流程:
應(yīng)用案例
紙盒涂膠工藝:
傳送帶為主軸,做定速運動。每隔一定距離放置紙盒在傳送帶上。傳送帶安裝傳感器,模組上安裝相機。模組上的XY軸做從軸跟隨主軸運動,在同步階段通過相機拍攝工件位置后,XY軸運動矩形軌跡執(zhí)行涂膠運動。傳送帶無新紙盒來時,XY軸加工完當前紙盒停在原地。檢測到紙盒來時,XY軸快速運動至等待位,等待加工。設(shè)備工藝流程及機臺簡圖如下:
函數(shù)調(diào)用流程:
1.調(diào)用dmc_vmove指令使主軸執(zhí)行JOG運動;
2.調(diào)用dmc_get_track_config_unit指令,實時刷新m_track_state狀態(tài);
3.調(diào)用dmc_track_config_unit指令,實現(xiàn)同步跟隨;
4.調(diào)用dmc_add_move_config_unit指令使能,并且添加矩形插補軌跡指令。
加工軌跡完成后,調(diào)用dmc_pvmove_unit指令,使從軸回等待位或停在當前位置,完成一次同步運動。
示例代碼如下:
1//主軸提前開始定速運動
2 LTDMC.dmc_set_profile_unit(usCardId, 5, 0, 75, 0.1, 0.1, 0);
3 LTDMC.dmc_vmove(usCardId, 5, 1);
4
5 //同步追蹤功能參數(shù)設(shè)置
6 ushort wSlaveAxisNum = 2; //從軸軸數(shù)
7 ushort[] m_master_axis = new ushort[2]; m_master_axis[0] = 5; m_master_axis[1] = 5; //主軸列表
8 ushort[] m_slave_axis = new ushort[2]; m_slave_axis[0] = 0;m_slave_axis[1] = 1; //從軸列表
9 ushort[] m_coordinate_axis = new ushort[2]; m_coordinate_axis[0] = 1;m_coordinate_axis[1] = 0;//坐標軸列表
10 double[] m_angle = new double[2]; m_angle[0] = 0; m_angle[1] = 0;//角度列表
11 double[] m_start_distance = new double[2]; m_start_distance[0] = 50; m_start_distance[1] = 50; //啟動觸發(fā)位置
12 double[] m_master_vel = new double[2]; m_master_vel[0] = 75; m_master_vel[1] = 75;//主軸速度列表
13 double[] m_start_time = new double[2]; m_start_time[0] = 1; m_start_time[1] = 1; //追趕階段時間列表
14 double[] m_sync_distance = new double[2]; m_sync_distance[0] = 320; m_sync_distance[1] = 320; //同步段距離
15
16 //調(diào)用同步追蹤功能
17 LTDMC.dmc_set_track_config_unit(usCardId, wSlaveAxisNum, m_master_axis, m_slave_axis, m_coordinate_axis, m_angle, m_start_distance,
18 m_master_vel, m_start_time, m_sync_distance);
19 //等待達到同步狀態(tài)
20 UInt16 wStatus = 0;
21 while (true)
22 {
23 Application.DoEvents();
24
25 LTDMC.dmc_get_track_config_unit(usCardId, 0, ref wStatus);
26 if (wStatus == 1)
27 break;
28 }
29
30 //到達同步階段調(diào)用疊加運動使能
31 ushort m_add_axisX = 6; ///疊加軸
32 ushort m_add_axisY = 7; ///疊加軸
33 ushort m_added_axisX = 0; ////被疊加軸
34 ushort m_added_axisY = 1; ////被疊加軸
35 ushort enable = 1; /////運動疊加使能(1:使能,0:失能)
36 ushort[] axislist = new ushort[2]; axislist[0] = 6; axislist[1] = 7;
37 ushort[] axislist1 = new ushort[2]; axislist1[0] = 0; axislist1[1] = 1;
38 double[] poslist1 = new double[2]; poslist1[0] = 60; poslist1[1] = 0;
39 double[] poslist2 = new double[2]; poslist2[0] = 60; poslist2[1] = 80;
40 double[] poslist3 = new double[2]; poslist3[0] = 0; poslist3[1] = 80;
41 double[] poslist4 = new double[2]; poslist4[0] = 0; poslist4[1] = 0;
42
43 //運動疊加使能
44 LTDMC.dmc_add_move_config_unit(usCardId, m_add_axisX, m_added_axisX, enable);
45 LTDMC.dmc_add_move_config_unit(usCardId, m_add_axisY, m_added_axisY, enable);
46
47 //添加連續(xù)插補,疊加軌跡給從軸
48 LTDMC.dmc_conti_open_list(usCardId, 0, 2, axislist);
49 LTDMC.dmc_set_vector_profile_unit(usCardId, 0, 0, 75, 0.1, 0.1, 0);
50 LTDMC.dmc_conti_line_unit(usCardId, 0, 2, axislist, poslist1, 1, 1);
51 LTDMC.dmc_conti_line_unit(usCardId, 0, 2, axislist, poslist2, 1, 1);
52 LTDMC.dmc_conti_line_unit(usCardId, 0, 2, axislist, poslist3, 1, 1);
53 LTDMC.dmc_conti_line_unit(usCardId, 0, 2, axislist, poslist4, 1, 1);
54 LTDMC.dmc_conti_start_list(usCardId, 0);
55 LTDMC.dmc_conti_close_list(usCardId, 0);
56 while (LTDMC.dmc_check_done(usCardId, 1) == 0)
57 {
58 Application.DoEvents();
59 }
60
61 //同步階段結(jié)束,從軸回到等待位
62 LTDMC.dmc_set_profile_unit(usCardId, 1, 0, 300, 0.15, 0.15, 0);
63 LTDMC.dmc_set_profile_unit(usCardId, 0, 0, 300, 0.15, 0.15, 0);
64 LTDMC.dmc_pmove_unit(usCardId, 0, 0, 1);
65 LTDMC.dmc_pmove_unit(usCardId, 1, 0, 1);
運行曲線圖:
跟隨軸0和跟隨軸1,跟隨傳送帶(軸5)同步追蹤且疊加軌跡位置曲線
跟隨軸0和跟隨軸1,跟隨傳送帶(軸5)同步追蹤且疊加軌跡速度曲線
控制方案
同步追蹤功能廣泛應(yīng)用在流水線點膠/紙盒涂膠工藝/分揀的等工藝上,已在我司5000系列運動控制卡產(chǎn)品方案中實現(xiàn)。
END
中國傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。