水平下調式三輥卷板機開放式數(shù)控系統(tǒng)的開發(fā)
卷板機是將鋼或其它金屬,非金屬板彎曲成相應曲率制件的設備。近年來,隨著石油化工、原子能、造船、宇航、水電、汽車制造、鐵路運輸及建筑等行業(yè)的迅速發(fā)展,對于各種形狀,規(guī)格以及高精度要求的板材制件的需求量也隨之急速增加。卷板機在我國已形成一定的規(guī)模,其制造水平也在不斷的提高。但目前國內(nèi)生產(chǎn)的數(shù)控卷板機大都使用簡單NC 控制,加工效率低,功能相對單一,一個型號的卷板機只能加工一個規(guī)格的產(chǎn)品,例如,加工圓筒的卷板機只能加工圓筒,而不能加工錐筒,缺乏靈活性。本文結合某廠W11X1300 ×10 水平下調式三輥卷板機的改造,提出了卷板機數(shù)控系統(tǒng)IPC + PMAC 的設計方案,并對驅動系統(tǒng)進行了全液壓伺服設計,用數(shù)控系統(tǒng)直接控制液壓系統(tǒng),可以加工不同型號高精度的圓筒和錐筒,具有一定的柔性。
本文引用地址:http://m.butianyuan.cn/article/201612/328846.htm1 卷板機的結構及工作原理
W11X1300 ×10 水平下調式三輥卷板機是該廠生產(chǎn)的中型卷板機,如圖1 所示。其中上輥可以上下運動,其運動由兩端的液壓缸驅動。2 個下輥可水平移動,且下輥間距可調。3 個輥的回轉由液壓馬達驅動。
卷板是利用卷板機對板料進行連續(xù)3 點彎曲的過程。如圖2 ,卷板工藝過程大致分為4 步:預彎、對中、卷圓、矯圓。
2 卷板機數(shù)控系統(tǒng)設計
基于PC 機和WINDOWS 操作系統(tǒng)的開放式、模塊化數(shù)控系統(tǒng)是當今數(shù)控技術發(fā)展的主要方向。在PC 機的WIN95/ N T 下有2 種方法可以實現(xiàn)數(shù)字控制:一種是由一臺計算機和一些功能模塊組成的單機模式,這種模式在硬件成本上是較為便宜的,但在軟件的編寫上卻相當復雜,不便于普通用戶的二次開發(fā);另一種是并行雙CPU 上下位機通訊模式,相對而言該種模式具有更大的靈活性,是一種便于用戶化開發(fā)的全方位的開放式體系結構。本數(shù)控系統(tǒng)采用開放式數(shù)控系統(tǒng)的標準設計,即第2 種方法,使用了IPC + PMAC 的開放式結構體系,將PMAC 插入PC 機中所構成的數(shù)控系統(tǒng)的硬件系統(tǒng),運行速度快、控制精度高;數(shù)控系統(tǒng)軟件用VC + + 610 開發(fā),使用美國DEL TA TAU 公司提供的動態(tài)鏈接庫PCOMM ,開發(fā)周期短。
2.1 數(shù)控系統(tǒng)硬件設計
2.1.1 數(shù)控系統(tǒng)硬件結構
本系統(tǒng)的硬件采用目前國內(nèi)流行的工控機+ 運動控制卡的結構體系,系統(tǒng)硬件結構如圖3 所示。工控機采用了研華PC104/ PIII500 型嵌入式工業(yè)控制機,該機結構緊促,體積很小,因而節(jié)省數(shù)控柜的空間,而且主板上有104 總線,為PMAC 提供了總線接口。工控機作為系統(tǒng)的主處理器,負責系統(tǒng)的管理、人機界面動態(tài)顯示、加工程序編輯、預處理及系統(tǒng)參數(shù)的設置,在后臺運行。
運動控制卡采用美國DEL TA TAU 公司的PMAC2/ 104 型控制卡,它提供了104 總線接口,可以直接插接到工控機上。PMAC 自帶獨立的高速CPU ,相當于一臺獨立的計算機,可以脫機獨立運行,也可以通過總線或者RS232/ 422 串口和計算機通訊,作為從處理器,與主機構成主從結構的雙CPU 數(shù)控系統(tǒng),本系統(tǒng)即采用這種結構體系。PMAC 卡帶有數(shù)字信號處理器DSP ,具有強大的數(shù)字運算能力,完成數(shù)控插補、PLC程序運行等實時任務,在前臺運行。這樣,開發(fā)者就可以避免在非實時性操作系統(tǒng)WIN95/ N T 下花大量精力和時間實現(xiàn)數(shù)控系統(tǒng)實時性任務,而只要開發(fā)上位人機交互、加工文件下載、機床狀態(tài)量讀取等非實時的任務。工控機和PMAC 卡通過總線通信,來完成命令轉送和數(shù)據(jù)的交換。兩者之間的通信是實時的,通過調用美國DEL TA TAU 公司提供的動態(tài)鏈接庫PCOMM 的函數(shù)來實現(xiàn)。
2.1.2 數(shù)控系統(tǒng)接口設計
PMAC 卡的J 2 口是8 路開關量I/ O 口,但在本系統(tǒng)中,要用到的開關量多于8 路,故在此口上加了一塊ACC —34AA 智能I/ O 板,該板帶有32 路的輸入輸出口。其中一部分輸出口用來控制液壓系統(tǒng)中的電磁換向閥的電磁鐵,電磁鐵的控制電流在1~2 A ,而I/ O 板只能提供幾十mA 的驅動電流,不能直接驅動電磁鐵,故系統(tǒng)中使用固態(tài)繼電器做為中間繼電器,使兩者的接口電流匹配,為了便于安裝和節(jié)省空間選用集成的固態(tài)繼電器板。
2.2 數(shù)控系統(tǒng)軟件設計
卷板機數(shù)控系統(tǒng)采用開放式的結構體系,系統(tǒng)軟件使用面向對象的系統(tǒng)分析與設計方法,模塊化設計,用面向對象的高級語言VC + + 610 實現(xiàn),使得系統(tǒng)維護方便,便于功能擴充。系統(tǒng)軟件包括運行在上的IPC 的人機界面程序、上位機和下位機的通信驅動程序和PMAC 中對各種輸入輸出量進行監(jiān)控的PLC程序等3 部分。系統(tǒng)軟件結構關系如圖4 所示??梢钥吹?PCOMM 在用戶程序和PMAC 卡之間起到一個橋梁作用,由動態(tài)鏈接庫提供的函數(shù)同底層的虛擬設備驅動程序(WINDOWS9X) 進行數(shù)據(jù)交換,然后由虛擬設備驅動程序直接和硬件交換數(shù)據(jù)。
2.2.1 人機界面程序的編制
本系統(tǒng)的人機界面根據(jù)卷板機的加工操作特點編制的,界面簡潔友好,便于工人學習、操作。該部分主要包括程序編輯人機界面、加工參數(shù)輸入和修改人機界面、加工模擬人機界面、故障診斷報警人機界面和在線幫助人機界面,具有很好的人機交互性(HMI) ,在人機界面部分采用主菜單和相關子菜單的形式,菜單采用按鈕式,當主菜單中的某一按鈕按下時,就出現(xiàn)與其相關的子菜單。這種圖形化軟鍵代替了傳統(tǒng)數(shù)控機床上的錯綜復雜的操作按鈕,使得操作面板顯得非常簡潔。
2.2.2 通信驅動程序的編制
在通常系統(tǒng)軟件的開發(fā)中,通信驅動程序的編程是工作量最大,最困難的部分,但PMAC 為用戶提供了PCOMM 這個動態(tài)鏈接庫來完成上位機同PMAC 之間的數(shù)據(jù)交換,它包括了PMAC 的所有的通信方式。這就使得這部分的開發(fā)工作變得簡單,剩下的只是對動態(tài)庫中的函數(shù)的調用問題了[6 ] 。下面具體介紹在VC + + 610 下調用動態(tài)庫及使用庫函數(shù)的方法。
PCOMM32 動態(tài)庫里包含有200 多個庫函數(shù),熟悉高級語言的編程人員通過它方便地實現(xiàn)PMAC同上位PC 機的數(shù)據(jù)交換。PCOMM 中雖然函數(shù)眾多,但常用的并不多,用其中的幾個就可以完成大部分的通信控制功能,滿足系統(tǒng)需要。常用的有如下9 個函數(shù):OpenPmacDevice ( ) 、ClosePmacDevice ( ) 、PmacConfigure () 、PmacGetResponseA ( ) 、PmacDownLoadFile ( ) 、PmacGetBufferA ( ) 、PmacReady ( ) 、PmacSendCommandA () 。
在VC + + 610 中調用動態(tài)庫有2 種方法即動態(tài)鏈接和靜態(tài)鏈接。這里介紹動態(tài)鏈接在PCOMM中的應用。需要用到WINDOWS 的幾個API (應用程序編程接口) 函數(shù):LoadLibrary (加載動態(tài)庫) 、Get ProcAddress (取得相應函數(shù)地址) 、FreeLibrary (卸載動態(tài)庫) 。
首先在頭文件中為所需的函數(shù)定義函數(shù)指針類型,其參數(shù)表要和動態(tài)庫函數(shù)原型相同。如先定義3 個函數(shù)指針類型的別名: typedef BOOL ( CALLBACK 3 OpenPmac) (DWORD) 、typedef BOOL(CALLBACK 3 ClosePmac) (DWORD) 、typedef int (CALLBACK 3 PmacGet ) (DWORD , PCHAR ,UIN T ,PCHAR) 。
然后在該文件中定義3 個函數(shù)指針: OpenPmac open 、ClosePmac close 、PmacGet pmacget 。其次需要在執(zhí)行文件中加載動態(tài)庫,獲得相應函數(shù)地址并賦給你所定義的函數(shù)指針:
hMyDll = LoadLibrary (“pmac”) ;加載動態(tài)庫
ASSERT(hMyDll ! = NULL) ;
open = (OpenPmac) Get ProcAdress (hMyDll “, OpenPmacDevice”) ;得函數(shù)地址并賦給函數(shù)指針
close = (ClosePmac) Get ProcAdress (hMyDll “, ClosePmacDevice”) ;
pmacget = (PmacGet) Get ProcAddress (hMyDll “, PmacGetResponseA”) ;
接著通過指向函數(shù)的指針調用該函數(shù):
if (open ! = NULL)
{
( 3 open) (0) ; / / 調用通信初始化函數(shù)
Set Timer (1 ,50 ,NULL) ;/ / 設置定時器采集時間為50 ms
}
void CpcommDlg : :On Timer (UIN T nIDEvent) / / 定時器響應函數(shù)
{
( 3 pmacget) (0 ,buf ,255 “, rx0”) ; / / 讀取PMAC 卡寄存器X0 里的內(nèi)容,存放在buf 中;
Update (FAL SE) ;
CDialog : :On Timer (nIDEvent) ;
}
最后在程序退出的時候需要將動態(tài)庫卸載:
BOOL CPcommDlg : :Dest royWindow() ;
{
( 3 close) (0) ;/ / 關斷與PMAC 的通信
FreeLibrary (hMyDll) ;/ / 卸載動態(tài)庫
ret urn CDialog : :Dest royWindow() ;
}
2.2.3 PLC程序的編制
PMAC 帶有內(nèi)置的軟PLC 功能, PLC 的運行也是由PMAC 來實現(xiàn)的。PLC 的語法是采用IF -EL SE 結構的類C 語言,開發(fā)者只要有C 語言的基礎就可以很快寫出所需的PLC 程序。然后,利用PMAC 自帶的軟件開發(fā)平臺,編輯,編譯PLC 程序,并下載到PMAC 卡中。系統(tǒng)的PLC 程序完成系統(tǒng)的初始化和對各種輸入輸出量進行監(jiān)控,主要包括看門狗PLC、上電PLC、主PLC、指示燈管理PLC 和下電PLC。主PLC 用來完成對控制面板及機床輸入、輸出進行監(jiān)控的任務,它主要包括各種手動、自動功能的實現(xiàn)、主軸運動的控制、上料和卸料等操作。
3 結 論
基于IPC + PMAC 結構的雙CPU 開放式數(shù)控系統(tǒng),由于PMAC 的強大的功能,不僅在硬件系統(tǒng)的連接集成上比較方便,而且在系統(tǒng)軟件的開發(fā)由于其提供的動態(tài)庫支持也變得相對簡單,用戶開發(fā)自己的數(shù)控系統(tǒng)其實就是對PMAC 功能的定制。這使用戶在比較短的周期內(nèi)能開發(fā)出所需特定功能的數(shù)控系統(tǒng)。
評論