0的工控軟件的設計2000和vc6.0的工控軟件的設計劉俊溫何顏鵬劉輝西安理工大學機儀學院西安710048)開發(fā)工具,利用autocad作為圖形輸入接口,通過對dxf文件的數(shù)據(jù)處理,近而調用運動庫函數(shù)控制伺服機的運動,實現(xiàn)了對工作臺的運動控制。
隨著計算機技術的飛速發(fā)展,計算機控制系統(tǒng)已經走向標準化、模塊化可組合化硬件已經成型,各類軟件也愈來愈專業(yè)化,并且都預留了各自的標準接口,這使得設計工控系統(tǒng)不必再從頭做起,極大地減少了開發(fā)人員的工作量,縮短了開發(fā)周規(guī)開發(fā)出來的工控系統(tǒng)具有配置靈活、易于維護、實用性強等優(yōu)點。
根據(jù)計算機控制系統(tǒng)的發(fā)展趨勢,在研制針對印刷電路板孔加工和外形加工的自動鉆銑機的過程中,在bbbbbbs環(huán)境下,利用vc 60編制控制程序整個控制系統(tǒng)方案總體框架如所示。
總體框架以下我們對幾點關鍵技術進行詳細討論1控制系統(tǒng)硬件框圖如所示,整個硬件系統(tǒng)由工控機、雷賽運動控制卡、兩臺松下伺服機及驅動器和工作臺構成在該系統(tǒng)中,通過運動控制卡控制兩臺伺服機,由伺服機帶動x軸和y軸絲杠,從而控制工作臺的運動這里簡單介紹一下雷賽運動控制的功能,其具有單軸運動控制、獨立多軸運動控制插補的多軸運動控制和中斷光碼盤數(shù)字輸入輸出等功能,并自帶功能強大、內容豐富的運動控制庫函數(shù),有dos和bbbbbbs兩個版本控制系統(tǒng)硬件框dxf格式文件的讀取dxf文件是autodesk公司專為能夠準確地將autocad與外部數(shù)據(jù)庫進行數(shù)據(jù)交換和連接而開發(fā)的專用程序,其中以標準asc碼來存儲圖形信息。它在結構上分為5個組成部分:標題段、表段塊段、實體段和文件結束段其中在實體段中詳細的描述了出現(xiàn)在圖形中的實體信息例如直線的端點坐標圓的圓心坐標及半徑等以下為讀取dxf文件的部分代碼:/打開dxf格式文件/讀dxf文件到//把dxf文件分離為單獨的字符串成字符串/字符串到隊列中中。
3圖形數(shù)據(jù)的處理因為自動鉆銑機主要針對于印刷電路板的外形和孔加工,下面以一簡單圖形為例來說明把dxf文件讀取到隊列類的對象pdoc->mcadcontextarray中后對其的數(shù)據(jù)處理:如所示:其中外形輪廓由abcd四條線段組成,6個孔的圓心坐標分別為1(x1,y1)o6(x6,y6),圓1圓4和圓5的半徑為心,圓2圓3和圓6的半徑為r2定義圓類ccircle,每一個圓為圓類對象,定義隊列類對象mcirbbbbbray來存儲一系列鼠然后根據(jù)各圓半徑從小到大進行歸類,則結果為圓1圓4圓5,圓2圓3圓6,再根據(jù)各圓心y坐標和x坐標對每一組進行歸類排序,最終結果為圓1圓5圓4,圓3圓2圓6這樣可按照各圓心坐標及其排列順序控制工作臺運動,并在相同半徑的孔加工完畢后暫停提示換刀對于由多個單獨實體組成的封閉輪廓,主要根據(jù)單獨實體兩端點坐標進行處理如所示,任取一線段a,查找是否有另一單獨實體的某一端點坐標同a的一端坐標相同,可找到線段b,依此類推,最后找到d線段的一端坐標同a線段的另一端點坐標相同這樣我們可判斷abcd組成一封閉輪廓,將a bcd存為一組,最終控制工作臺運動。
4伺服機的運動控制動態(tài)連接庫(dll)是bbbbbbs操作系統(tǒng)最顯著的特點之一,也是bbbbbbs系統(tǒng)成為優(yōu)秀軟件設計平臺的基礎動態(tài)連接庫是相對于靜態(tài)連接庫而言的,它提出了一個全新的的概念,使得程序設計人員可以利用動態(tài)連接庫函數(shù)實現(xiàn)應用程序共享代碼和資源,極大地提高了應用程序的編寫效率,而且在多任務環(huán)境下還可以大大提高應用程序的執(zhí)行效率。而visualc++ 60作為bbbbbbs平臺下優(yōu)秀的編程工具和環(huán)境,其本身就是通過動態(tài)連連接庫函數(shù)工作的。因此在vc環(huán)境下通過調用動態(tài)連連接庫函數(shù)可以快速開發(fā)出人機界面友好,功能強大的工控應用程序。
雷賽運動控制卡就帶有dos下的運動庫函數(shù)和bbbbbbs下基于動態(tài)連接庫技術的運動庫函數(shù)。在bbbbbbs環(huán)境下調用雷賽公司的伺服運動控制庫函數(shù),需要把運動庫函數(shù)dmc200.dll拷入cbbbbbbs、system目錄下,包括了近100各運動控制函數(shù),這樣就可以很方便地控制伺服機的運動5界面的實現(xiàn)界面我們采用切分雙視,左邊基于cbbbbview類的派生類cbbbbbview實現(xiàn),其中可以放置按鈕、編輯框等控件,用于實現(xiàn)參數(shù)的輸入和狀態(tài)的顯示等右邊基于cview類的派生類cdraftview實現(xiàn),用來實現(xiàn)運動軌跡的動態(tài)顯示為了實現(xiàn)切分雙視,重載cmainframe的oncreateclient函數(shù)如下:/左半部基于cbbbbbview產生/右半部基于產生cdraftview產生一種高效elgamal加密算法并i己x3由解得:比較x2與x3的大小:顯然,當n較大時(5)大于0,所以x2>x3即不等式組(4)的解為:x3