內(nèi)容回顧
回顧上節(jié)課程我們對(duì)運(yùn)動(dòng)控制+機(jī)器視覺(jué)的Demo的系統(tǒng)人機(jī)界面和主線程的框架進(jìn)行了大致的介紹,接下來(lái)我們將對(duì)各個(gè)模塊的實(shí)現(xiàn)過(guò)程進(jìn)行介紹,方便大家理解掌握。
今天我們將對(duì)系統(tǒng)機(jī)械參數(shù)的設(shè)置和配方文件的管理這兩大模塊進(jìn)行介紹講解。
01開(kāi)發(fā)環(huán)境介紹
一、硬件平臺(tái)
運(yùn)動(dòng)控制機(jī)器視覺(jué)實(shí)訓(xùn)平臺(tái),包括VPLC532視覺(jué)控制器、4個(gè)步進(jìn)電機(jī)、相機(jī)、光源、光源控制器、帶HDMI接口的工業(yè)顯示屏等相關(guān)硬件配置。
二、軟件平臺(tái)
ZDevelop 是正運(yùn)動(dòng)技術(shù)ZMoiton系列運(yùn)動(dòng)控制器的PC端程序開(kāi)發(fā)調(diào)試與診斷軟件,通過(guò)它用戶(hù)能夠直接對(duì)控制器進(jìn)行程序編輯與配置,快速開(kāi)發(fā)應(yīng)用、實(shí)時(shí)診斷系統(tǒng)運(yùn)行參數(shù)以及對(duì)運(yùn)動(dòng)控制。
ZDevelop支持三種編程方式,分別為ZBasic、ZPLC梯形圖、ZHMI組態(tài),使用ZDevelop軟件編寫(xiě)的程序可以下載到正運(yùn)動(dòng)控制器里,也可以下載到仿真器在PC平臺(tái)仿真運(yùn)行。
02系統(tǒng)機(jī)械參數(shù)的設(shè)置與保存
一、機(jī)械參數(shù)相關(guān)變量的定義
二、機(jī)械參數(shù)設(shè)置HMI界面設(shè)計(jì)
通過(guò)Hmi里面的值顯示和字狀態(tài)切換等元件完成以下界面的設(shè)計(jì)。
三、機(jī)械參數(shù)的保存與生效
當(dāng)點(diǎn)擊保存按鈕時(shí)調(diào)用函數(shù) MechanParaWrite( ) ,將機(jī)械參數(shù)的保存到VR(0)-VR(100)實(shí)現(xiàn)掉電保存的目的。
將機(jī)械參數(shù)保存到VR寄存器之后,然后調(diào)用函數(shù) MechanParaSet() ,進(jìn)行機(jī)械參數(shù)的生效。
四、 系統(tǒng)重啟后讀取機(jī)械參數(shù)
在系統(tǒng)初始化函數(shù) MainInit() 里面調(diào)用機(jī)械參數(shù)的讀取函數(shù) MechanParaRead() 和機(jī)械參數(shù)的設(shè)置函數(shù) MechanParaSet() ,實(shí)現(xiàn)機(jī)械參數(shù)的恢復(fù)。
五、 保存下載到控制器中調(diào)試效果
03配方文件的編輯與保存
一、 配方文件相關(guān)變量的定義
二、 配方文件行類(lèi)型規(guī)劃
1.空行
ga_MoveLineType =0 空行
2.單軸運(yùn)動(dòng)
ga_MoveLineType =1 單軸運(yùn)動(dòng)
g_MoveLinePara1: 軸選擇;
g_MoveLinePara2: 運(yùn)動(dòng)距離;
g_MoveLinePara3:0-相對(duì)運(yùn)動(dòng)/1-絕對(duì)運(yùn)動(dòng);
g_MoveLinePara4:運(yùn)動(dòng)速度
3.三軸直線插補(bǔ)
ga_MoveLineType =2 三軸直線插補(bǔ)
g_MoveLinePara1: X軸運(yùn)動(dòng)距離;
g_MoveLinePara2: Y軸運(yùn)動(dòng)距離;
g_MoveLinePara3: Z軸運(yùn)動(dòng)距離;
g_MoveLinePara4:0-相對(duì)運(yùn)動(dòng)/1-絕對(duì)運(yùn)動(dòng);
g_MoveLinePara5:插補(bǔ)和速度;
g_MoveLinePara6:0-針尖示教/1-相機(jī)示教
4.三點(diǎn)圓弧
ga_MoveLineType =3三點(diǎn)圓弧
g_MoveLinePara1: X軸中間點(diǎn)位置;
g_MoveLinePara2: Y軸中間點(diǎn)位置;
g_MoveLinePara3: X軸結(jié)束點(diǎn)位置;
g_MoveLinePara4: Y軸結(jié)束點(diǎn)位置;
g_MoveLinePara5:0-相對(duì)運(yùn)動(dòng)/1-絕對(duì)運(yùn)動(dòng);
g_MoveLinePara6:插補(bǔ)合速度;
g_MoveLinePara7:0-針尖示教/1-相機(jī)示教
5.圓心圓弧
ga_MoveLineType =4圓心圓弧
g_MoveLinePara1: X軸終點(diǎn)位置;
g_MoveLinePara2: Y軸終點(diǎn)位置;
g_MoveLinePara3: X軸圓心位置;
g_MoveLinePara4: Y軸圓心位置;
g_MoveLinePara4:0-逆時(shí)針/1-順時(shí)針;
g_MoveLinePara6:0-相對(duì)運(yùn)動(dòng)/1-絕對(duì)運(yùn)動(dòng);
g_MoveLinePara7:插補(bǔ)合速度;
g_MoveLinePara8:0-針尖示教/1-相機(jī)示教
6.輸出口設(shè)置
ga_MoveLineType =5輸出口輸出/復(fù)位;g_MoveLinePara1: 輸出口選擇;g_MoveLinePara2: 輸出口狀態(tài);g_MoveLinePara3: N毫秒后對(duì)讀取輸出口狀態(tài)取反,0表示不取反;
7.輸入口檢測(cè)
ga_MoveLineType =6輸入口檢測(cè);
g_MoveLinePara1: 輸入口選擇;
g_MoveLinePara2: 輸入口檢測(cè)狀態(tài);
g_MoveLinePara3: 檢測(cè)超時(shí)時(shí)間(超過(guò)這個(gè)時(shí)間配方程序?qū)⑼V共?bào)警)
8.等待延時(shí)
ga_MoveLineType =7等待延時(shí);
g_MoveLinePara1: 等待時(shí)間;
9.視覺(jué)糾偏1-單點(diǎn)匹配
ga_MoveLineType =8視覺(jué)糾偏1-單點(diǎn)匹配;
(g_MoveLinePara1,g_MoveLinePara2,g_MoveLinePara3) 糾偏拍照位(x,y,z)
(g_MoveLinePara4,g_MoveLinePara5,g_MoveLinePara6) 匹配到的基準(zhǔn)坐標(biāo)(x,y,角度)
g_MoveLinePara7,模板編號(hào)
g_MoveLinePara8,運(yùn)動(dòng)到拍照位的速度
10.視覺(jué)糾偏2-雙mark點(diǎn)匹配
ga_MoveLineType =9視覺(jué)糾偏2-雙mark點(diǎn)匹配;
(g_MoveLinePara1,g_MoveLinePara2,g_MoveLinePara3) 糾偏拍照位1(x1,y1,z)
(g_MoveLinePara4,g_MoveLinePara5,g_MoveLinePara3) 糾偏拍照位1(x2,y2,z)
(g_MoveLinePara6,g_MoveLinePara7,g_MoveLinePara8) 匹配到的基準(zhǔn)坐標(biāo)(x,y,角度)
g_MoveLinePara9 模板編號(hào)1+10*模板編號(hào)2+100*運(yùn)動(dòng)到拍照位的速度
11.連續(xù)插補(bǔ)
ga_MoveLineType =10連續(xù)插補(bǔ);
g_MoveLinePara1: 0-關(guān)閉/1-打開(kāi)連續(xù)插補(bǔ);
12.拐角減速設(shè)置
ga_MoveLineType =11拐角減速設(shè)置;
g_MoveLinePara1: 0-關(guān)閉/1-打開(kāi)拐角減速功能;
g_MoveLinePara2: 開(kāi)始減速角度;
g_MoveLinePara3:結(jié)束減速角度;
g_MoveLinePara4:SP速度(等比減速用)
13.自動(dòng)倒角功能
ga_MoveLineType =12自動(dòng)倒角功能;
g_MoveLinePara1: 0-關(guān)閉/1-打開(kāi) 自動(dòng)倒角功能;
g_MoveLinePara2: 倒角半徑
三、 配方編輯HMI界面設(shè)計(jì)
實(shí)現(xiàn)點(diǎn)擊上一行、下一行實(shí)現(xiàn)當(dāng)前編輯行行號(hào)的切換,點(diǎn)擊行類(lèi)型實(shí)現(xiàn)當(dāng)前編輯行行類(lèi)型的選擇。
四、 配方文件的編輯
1.配方文件緩沖區(qū)數(shù)據(jù)更新到當(dāng)前行顯示
2.保存當(dāng)前行的編輯信息
3.行切換
4.行插入
5.行刪除
五、配方文件的保存
當(dāng)點(diǎn)擊保存按鈕時(shí)調(diào)用函數(shù)SaveFileInif(Fileid,mode),將配方文件保存到對(duì)應(yīng)的Flash塊里面。
六、配方文件的讀取
在系統(tǒng)重啟后或者切換文件時(shí)需要我們重新讀取配方文件里面的數(shù)據(jù),這時(shí)候我們可以通過(guò)調(diào)用函數(shù)ReadFileInif(Fileid)實(shí)現(xiàn)。
本次,正運(yùn)動(dòng)技術(shù) 運(yùn)動(dòng)控制+機(jī)器視覺(jué)Demo軟件框架(一):機(jī)械參數(shù)和配方文件的管理, 就分享到這里。
審核編輯:湯梓紅
評(píng)論