多軸運動控制系統(tǒng)上位機軟件開發(fā)
引言
針對工業(yè)控制中多軸運動控制系統(tǒng)下位機軟件代碼繁瑣、軟件通用性差等特點 ,開發(fā)出能滿足當(dāng)前人們對個性化產(chǎn)品需求的上位機軟件控制系統(tǒng)成為一種必要 。本文基于研發(fā)的多軸運動控制系統(tǒng) ,開發(fā)了對應(yīng)的上位機軟件來控制運動控制卡以及搭建人機交互界面。
1 總體設(shè)計方案
上位機的人機交互大致流程為:上位機軟件通過對運動控制卡的操作 ,從而間接操作軸的運行控制來完成多軸運動控制系統(tǒng)的運行。上位機是通過廠家提供的TrioPC.ocx控件與運行控制卡完成通信。
上位機軟件設(shè)計 ,主要分為四個大的功能:
一是上位機與運動控制卡之間的通信連接/斷開、運動控制卡的參數(shù)配置下發(fā)等功能。
二是上位機與運動控制卡之間的軸運動控制操作 ,主要包括了搜尋原點、多軸協(xié)作下的直線運動、曲線運動控制等 ,以及對運動控制卡所保存程序的運行。
三是上位機對畫圖數(shù)據(jù)的文件保存與打開 、畫圖數(shù)據(jù)的編輯等 。可以通過該功能 ,對所畫出圖形的數(shù)據(jù)進(jìn)行保存 ,也可以打開該數(shù)據(jù)文件進(jìn)行圖形的還原。
四是上位機軟件對所需要勾畫圖形數(shù)據(jù)的直觀顯示控制。通過對圖形數(shù)據(jù)的編輯操作 ,可以對所需要勾畫圖形進(jìn)行預(yù)覽。
2 軟件設(shè)計
2. 1 上位機初始化
上位機與運動控制卡之間的通信連接與斷開功能 ,使用了TrioPC控件的open與Close方法 ,連接之前首先設(shè)置連接參數(shù) ,包括參數(shù)HostAddress ,為運動控制卡的通信IP地址 ,IP地址采用文本控件進(jìn)行輸入傳遞:參數(shù)PortType , 為上位機與運動 控制卡之間 的物理接 口 , 本系統(tǒng) 使 用 的Ethernet: 參 數(shù) PortMode,為上位機與運動控制卡之間的通信模式 ,本系統(tǒng)采用的是同步模式 ,值為0。
上位機與運動控制卡的連接建立 ,上位機通過PortType的接口 , 同步模式連接運動控制卡 ,具體代碼如下:
AxTrioPC1.open(PortType. intPortID)
上位機與運動控制卡的連接斷開 ,關(guān)閉同步模式的連接:
AxTrioPC1.Close(intPortID)
上位機與運動控制卡連接成功后 ,會返回一個True的值 ,表示連接成功 ,否則連接失敗 ,也可以通過Isopen進(jìn)行查詢連接狀態(tài) 。連接成功后 , 即可通過setAxisVariable函數(shù)對運動控制卡進(jìn)行參數(shù)設(shè)置 ,參數(shù)variable表示寫入系統(tǒng)變量的名字 ,參數(shù)axis表示控制的軸參數(shù) , 參數(shù)value表示寫入數(shù)據(jù)變量或數(shù)據(jù)值。
2 .2 上位機對運動控制卡的控制
上位機與運動控制卡成功連接后 ,可以開始驅(qū)動運動控制卡 ,進(jìn)行對多軸運動控制系統(tǒng)的操作 ,完成圖形的繪制[3]。本上位機軟件設(shè)計可繪制的圖形包括直線、三角形、圓形 、矩形和封閉多邊形等 ,其中直線、三角形、矩形和封閉多邊形的實質(zhì)均是直線操作 , 圓形的繪制涉及的是弧線操作。
直線類圖形繪制中 ,軟件首先使用Base函數(shù)設(shè)置運動軸的基本信息 。參數(shù)axes表示操作直線涉及到的運動軸的數(shù)量 ,參數(shù)order表示單一 的數(shù)值或者一 串代表軸序號的數(shù)值 ,它決定了接下來運動命令所對應(yīng)的軸的順序。
弧形類圖形的繪制中 , 也是首先使用Base函數(shù)設(shè)置軸運動的參數(shù)信息 ,然后使用MoveCirc函數(shù)控制軸運動繪制弧形 。參數(shù)finishBase表示基準(zhǔn)軸在結(jié)束運動時的位置距離 , 參數(shù) finishNext表示緊接著基準(zhǔn)軸序號的下一個軸在運動結(jié)束時的位置距離 ,參數(shù)centreBase表示基準(zhǔn)軸在圓心位置的距離 ,參數(shù) centreNext表示緊接著基準(zhǔn)軸序號的下一個軸在圓心位置的距離 ,參數(shù)direction表示旋轉(zhuǎn)方向的設(shè)定 , 1表示正半軸上順時針方向 ,0表示正半軸上逆時針方向。
2.3 上位機軟件繪制圖形的預(yù)覽
該功能的開發(fā)主要是為了在繪制圖形前對將要繪制的圖形進(jìn)行預(yù)覽、修訂 ,直到達(dá)到滿意的效果 ,然后才進(jìn)行圖形的打印繪制 ,方便用戶進(jìn)行操作。坐標(biāo)數(shù)據(jù)可以在圖形繪制板上進(jìn)行點擊輸入 ,也可以通過鍵盤輸入。
數(shù)據(jù)輸入完成后 ,可以對所繪制的圖形進(jìn)行預(yù)覽與修訂 。軟件可以對三角形、直線、矩形、封閉多邊形、圓形等基本圖形 進(jìn)行繪制和預(yù)覽。
3 運行與調(diào)試
3. 1 圖形的繪制
當(dāng)需要繪制三角形圖形時 ,首先在"圖型"下拉選項中選擇"三角形"類型 ,然后可以通過點擊畫圖板上的坐標(biāo) ,分別選擇所要勾畫三角形的三個頂點坐標(biāo) , 或者手動輸入三角形的三個頂點坐標(biāo)。
坐標(biāo)數(shù)據(jù)選擇或輸入完成后 , 點擊"預(yù)覽"按鈕 ,可以對三角形進(jìn)行初步的預(yù)覽 ,觀察其效果是否滿足需求。
如果預(yù)覽效果不滿意 ,可以繼續(xù)選擇三角形的三個頂點 ,直到滿意后再點擊"開始打印"按鈕進(jìn)行圖形的繪制操作 。
3.2 文件導(dǎo)入繪制圖形
點擊上位機軟件界面上的"打開文件"按鈕 ,選擇需要導(dǎo)入的數(shù)據(jù)文件 ,可以把數(shù)據(jù)文件中的數(shù)據(jù)導(dǎo)入到列表中 , 點擊預(yù)覽對圖形進(jìn)行預(yù)覽操作 。確定后點擊"開始打印"按鈕進(jìn)行圖形的繪制操作 ,如圖l所示。
圖1 文件導(dǎo)入及圖形預(yù)覽
3.3 運動控制卡程序的運行
首先點擊"ReadProgram"按鈕 ,從運動卡中讀取已經(jīng)編輯完成的程序。然后選中需要運行的程序 ,點擊"RunProgram"按鈕 ,控制運動控制卡運行該程序。點擊"stopProgram"按鈕可停止正在執(zhí)行的程序。
4 運行結(jié)果及分析
該運動控制卡的核心功能 , 即手動畫圖和文件畫圖 。以畫圓為例 ,在上位機軟件的畫布上任意點運 ,控制卡均會做出相應(yīng)的動作進(jìn)行畫圓 ,在畫布上畫出任意一個圓形后 , 點擊"開始打印"的按鈕 ,就會在平臺上打印出如圖2所示的圓形。
可以觀察到 , 由打印平臺打印出的圓弧軌跡趨近于借助工具手工繪圖的效果 ,所以該多軸運動控制卡的功能具備精確、高效的優(yōu)點 ,整個系統(tǒng)實時同步迅速。