(大連理工大學(xué) 海洋科學(xué)與技術(shù)學(xué)院,盤錦 124221)
可編程控制(PLC)作為一種通用的工業(yè)控制器,它主要應(yīng)用是實(shí)現(xiàn)工業(yè)自動(dòng)化,主要包括順序控制,過(guò)程控制和運(yùn)動(dòng)控制等。本文以FX3U-32MT為控制器設(shè)計(jì)一種符合工業(yè)應(yīng)用要求的三軸伺服控制系統(tǒng),其主要由組態(tài)王、VB、PLC、交流伺服裝置及絲桿組成。組態(tài)王組建的人機(jī)界面,可實(shí)現(xiàn)對(duì)系統(tǒng)的實(shí)時(shí)監(jiān)控,具有操作方便、圖形顯示直觀、參數(shù)修改方便等特點(diǎn)[1]。VB支持動(dòng)態(tài)數(shù)據(jù)交換技術(shù)(DDE)可使VB應(yīng)用程序與組態(tài)王之間建立動(dòng)態(tài)的數(shù)據(jù)通信。FX3U-32MT 功能強(qiáng)大、使用方便、穩(wěn)定性高,集成了多項(xiàng)業(yè)界領(lǐng)先的功能:晶體管輸出型的基本單元內(nèi)置了3軸獨(dú)立最高100kHz的定位功能,主要作為現(xiàn)場(chǎng)數(shù)據(jù)的采集和工業(yè)設(shè)備的控制[2]。交流伺服裝置具有運(yùn)行穩(wěn)定、快速響應(yīng)性好、控制精度高等特點(diǎn),主要用作精密定位和快速隨動(dòng)系統(tǒng)。
機(jī)電控制系統(tǒng)一般由機(jī)械本體,動(dòng)力源,檢測(cè)與傳感裝置,執(zhí)行機(jī)構(gòu)和控制及信息處理單元組成[3]。基于機(jī)電一體化的設(shè)計(jì)原理,本控制系統(tǒng)由FX3U PLC、組態(tài)王、VB、伺服驅(qū)動(dòng)器、伺服電機(jī)、減速器和絲桿組成,如圖1所示。其工作過(guò)程為:通過(guò)組態(tài)王或VB與組態(tài)王的實(shí)時(shí)數(shù)據(jù)交換技術(shù)(DDE)設(shè)定的位移及速度等相關(guān)參數(shù)來(lái)確定PLC輸出信號(hào),再由 PLC高速輸出端發(fā)出脈沖個(gè)數(shù)和脈沖頻率到伺服驅(qū)動(dòng)器,以驅(qū)動(dòng)伺服電機(jī)按指定的速度帶動(dòng)絲桿運(yùn)動(dòng)。該系統(tǒng)由主要有三種工作模式:手動(dòng)控制,點(diǎn)動(dòng)定位控制和空間軌跡控制模式。在手動(dòng)模式下,系統(tǒng)給定特定的速度,操作者通過(guò)按鈕控制一軸或多軸的運(yùn)動(dòng)到達(dá)指定的空間位置。在點(diǎn)動(dòng)模式下,通過(guò)輸入空間坐標(biāo)點(diǎn)的值和各個(gè)軸的運(yùn)動(dòng)速度,實(shí)現(xiàn)機(jī)械手空間的精確的定位。在某些特定的工況下,對(duì)機(jī)械手的空間運(yùn)動(dòng)軌跡有特定的要求,為了解決這個(gè)問(wèn)題,本設(shè)計(jì)設(shè)置了空間運(yùn)動(dòng)軌跡控制模式。在該模式下,利用VB的強(qiáng)大的編程能力和可視化的特點(diǎn),與組態(tài)王建立動(dòng)態(tài)數(shù)據(jù)通訊,操作者通過(guò)在VB中編寫空間運(yùn)動(dòng)軌跡的程序,計(jì)算出各軸的運(yùn)動(dòng)速度,動(dòng)態(tài)傳輸?shù)浇M態(tài)王中,實(shí)時(shí)的修改PLC的高速輸出端發(fā)出脈沖個(gè)數(shù)和脈沖頻率,以達(dá)到特定的空間的軌跡。

圖1 總體設(shè)計(jì)圖
本設(shè)計(jì)選用松下Minas A5交流伺服驅(qū)動(dòng)器。它有位置、轉(zhuǎn)矩,速度和全閉環(huán)控制四種控制方式,速度波動(dòng)率小,具有超程限制、伺服報(bào)警、定位完成等功能,能滿足系統(tǒng)要求[4]。松下Minas A5交流伺服驅(qū)動(dòng)器電子齒輪比的計(jì)算,有兩種計(jì)算方式:
1)松下專有方式:當(dāng)Pr0.08參數(shù)不為0時(shí):
Pr0.08(電機(jī)每旋轉(zhuǎn)一次的指令脈沖數(shù))=螺距/脈沖當(dāng)量 。
2)通用計(jì)算方式:當(dāng)Pr0.08參數(shù)為0時(shí):
電子齒輪比=編碼器分辨率×脈沖當(dāng)量×機(jī)械減速比/螺距。
針對(duì)本控制系統(tǒng),我們默認(rèn)系統(tǒng)設(shè)定值Pr0.08=10000,已知絲桿的導(dǎo)程為10mm,X軸上的減速器的值為1:2。
通過(guò)計(jì)算我們可以得到:
X軸的脈沖當(dāng)量=機(jī)械減速比 螺距 Pr0.08=10 2/10000=0.002mm/Plus
Y軸的脈沖當(dāng)量=螺距 P r 0.0 8=1 0 2/10000=0.002mm/Plus
Z軸的脈沖當(dāng)量=螺距 P r 0.0 8=1 0 2/10000=0.002mm/Plus
三菱公司的FX3U-32MT自帶16點(diǎn)輸入端口16點(diǎn)輸出端口,其中具有3個(gè)脈沖端口(Y0、Y1、Y2),能同時(shí)控制三個(gè)伺服電機(jī)。此次設(shè)計(jì)采用位置控制方式,通過(guò)FX3U-32MT型PLC控制三個(gè)伺服驅(qū)動(dòng)器去驅(qū)動(dòng)X軸、Y軸、Z軸上的伺服電機(jī)運(yùn)動(dòng)。伺服驅(qū)動(dòng)器和PLC之間有輸入輸出信號(hào)連接器CN1,有50個(gè)端子接口。其端口使用情況如圖2所示,PLC輸入端設(shè)置的輸入量X7、X10、X12、X13、X15、X16分別接X(jué)軸、Y軸、Z軸的光電門左右限位開(kāi)關(guān);輸入端口X01連接復(fù)位按鈕;輸入端口X3、X4、X5接每個(gè)CN1的ALM+伺服報(bào)警信號(hào);當(dāng)伺服驅(qū)動(dòng)器處于正常狀態(tài)時(shí),ALM+處于高電平,開(kāi)關(guān)X7、X10、X12處于閉合狀態(tài),此時(shí)伺服SON工作信號(hào)為ON,伺服回路才啟動(dòng),電機(jī)線圈激磁,伺服系統(tǒng)準(zhǔn)備好。
PLC輸出信號(hào)有:Y0、Y1、Y2分別接X(jué)軸、Y軸、Z軸三軸對(duì)應(yīng)CN1的PLUC2端子,Y0、Y1、Y2為PLC輸出的位置脈沖指令數(shù);Y4、Y5、Y6分別接X(jué)軸、Y軸、Z軸三軸對(duì)應(yīng)CN1的SIGN2端子,Y4、Y5、Y6為脈沖方向;Y7、Y10、Y12分別為X軸、Y軸、Z軸使能信號(hào)。Y3、Y11、Y13為X軸、Y軸、Z軸清零信號(hào),當(dāng)出現(xiàn)急停、伺服報(bào)警、超程時(shí),伺服驅(qū)動(dòng)器會(huì)有位置偏移脈沖,需脈沖清零。

圖2 FX3U-32MT PLC輸出輸入端口分配表
如圖3為機(jī)械手系統(tǒng)的PLC梯形圖程序的總體結(jié)構(gòu),將總體程序分為公用程序、手動(dòng)程序、點(diǎn)動(dòng)程序和空間軌跡控制程序四個(gè)部分。在梯形圖中使用跳轉(zhuǎn)指令同時(shí)使用復(fù)位指令使得手動(dòng)程序、點(diǎn)動(dòng)程序和空間軌跡控制程序程序不會(huì)同時(shí)執(zhí)行。假設(shè)選擇“手動(dòng)控制”方式,則M0為ON、同時(shí)X2,M3 復(fù)位為OFF,此時(shí) PLC執(zhí)行完公用程序后,將跳過(guò)動(dòng)程序到P0處,執(zhí)行“手動(dòng)程序”。

圖3 PLC梯形圖程序的總體結(jié)構(gòu)
在公共程序是指中手動(dòng)控制程序點(diǎn)動(dòng)控制程序,空間軌跡控制程序可以共同使用的程序,主要包括:初始化賦值程序,當(dāng)前脈沖讀取程序,伺服準(zhǔn)備好程序,脈沖清零程序,控制方式選擇程序,復(fù)位程序,急停程序。
初始化賦值程序是對(duì)PLC的寄存器給定一個(gè)合適的初始值;
當(dāng)前脈沖讀取程序:FX3U-32MT型PLC的寄存器D8340、D8350、D8360分別存儲(chǔ)高速脈沖輸出端口(Y0、Y1、Y2)的當(dāng)前脈沖輸出值。而組態(tài)王不能對(duì)該寄存器進(jìn)行直接讀取,故我們需要把給寄存器的值儲(chǔ)存在可被直接讀取的寄存器中。
伺服轉(zhuǎn)備好程序:當(dāng)X,Y,Z軸沒(méi)有出現(xiàn)伺服報(bào)警信號(hào)時(shí),PLC的輸出端Y7、Y10、Y11輸出為1,伺服驅(qū)動(dòng)器的SON工作信號(hào)為ON,伺服回路啟動(dòng)。
脈沖清零程序的作用是當(dāng)出現(xiàn)急停、伺服報(bào)警、超程時(shí),伺服驅(qū)動(dòng)器會(huì)有位置偏移脈沖,需脈沖清零。
控制方式選擇程序:該程序主要是用于選擇控制的方式。以手動(dòng)選擇為例,其程序如圖4所示。

圖4 原點(diǎn)回歸程序
原點(diǎn)回歸程序:DZRN是FX3U-32MT的原點(diǎn)回歸指令,該指令是執(zhí)行原點(diǎn)回歸使機(jī)械位置與PLC內(nèi)的當(dāng)前寄存器一致指令。如圖5所示為原點(diǎn)回歸程序,以X軸為例進(jìn)行說(shuō)明。當(dāng)M05閉合時(shí),伺服電機(jī)以3000PLUS/S的速度回歸原點(diǎn),該速度稱為原點(diǎn)回歸速度,當(dāng)PLC檢測(cè)到X06的上升沿時(shí),伺服電機(jī)以3000PLUS/S的速度進(jìn)行回歸,稱為爬行速度,當(dāng)再檢測(cè)到X06的下降沿后,PLC脈沖輸出停止,原點(diǎn)回歸結(jié)束。
急停程序:FX3U-32MT中特殊繼電器M8034的功能是全輸出禁止,由于該控制系統(tǒng)的運(yùn)行速度不高,故可以用該指令作為急停程序。其控制程序如圖6所示,當(dāng)PLC檢測(cè)到M8或X000為上升沿時(shí),所有PLC的輸出端口禁止輸出,達(dá)到急停的目的。

圖5 原點(diǎn)回歸程序

圖6 急停程序
在手動(dòng)定位程序中,有控制XYZ軸正反方向的六個(gè)控制按鈕控制機(jī)械手的空間運(yùn)動(dòng)。以X軸正方向?yàn)槔M(jìn)行說(shuō)明,其程序如圖7所示。
M10和M11分別表示機(jī)械手的X軸的正反方向。DPLSV為可調(diào)變速脈沖輸出指令,表示PLC按m100的閉合(斷開(kāi))情況,發(fā)出1000Hz(2000Hz)的頻率脈沖,Y0為脈沖輸出口,Y4為輸出方向。控制伺服電機(jī)準(zhǔn)確定位。

圖7 手動(dòng)控制程序(X軸正方向)
在機(jī)械手的點(diǎn)動(dòng)定位程序。M21,M21,M23分別控制著機(jī)械手的三軸的電機(jī)的運(yùn)動(dòng)。如圖所示8為機(jī)械手X軸的點(diǎn)動(dòng)定位控制程序,DDRVA指令是絕對(duì)位置控制指令,DDRVA D0 D2 Y000 Y004的意思是讀取D0和D1寄存器的數(shù)值,該數(shù)值是PLC發(fā)出脈沖的總數(shù)。PLC讀取D2與D3寄存器的數(shù)值作PLC發(fā)出脈沖的頻率。脈沖的輸出口是Y000,方向脈沖的輸出口是Y004。輔助繼電器M8029是脈沖發(fā)送結(jié)束標(biāo)志位。當(dāng)定位脈沖發(fā)送結(jié)束時(shí),M21斷開(kāi),此時(shí)該軸的定位結(jié)束。

圖8 點(diǎn)動(dòng)定位控制模式(X軸)
空間軌跡控制程序,以機(jī)械手的X軸為例,如圖9所示進(jìn)行說(shuō)明。該程序使用了DPLSV指令,DPLSV D12 Y000 Y004,PLC讀取D2與D3寄存器的數(shù)值作PLC發(fā)出脈沖的頻率。脈沖的輸出口是Y000,方向脈沖的輸出口是Y004。

圖9 空間軌跡控制程序(X軸)
“組態(tài)王”是在PC機(jī)上建立工業(yè)控制人機(jī)接口的一種智能軟件包,它以Windows 98/Windows2000/WindowsNT4.0中文操作系統(tǒng)作為其操作平臺(tái),具有豐富的配置界面和簡(jiǎn)單易用的接口的特點(diǎn)[6]。該軟件包由工程管理器(ProjManager)、工程瀏覽器(TouchExplorer)、畫面運(yùn)行系統(tǒng)(TouchView)三部分組成[7]。
在工程管理器管理器中新建一個(gè)工程之后,在工程瀏覽器中完成以下任務(wù):首先完成組態(tài)王與PLC的配備,然后組態(tài)王與PLC的串口通訊設(shè)置。為了完成組態(tài)王與之間的數(shù)據(jù)交換,需要定義外部設(shè)備變量,根據(jù)需要在數(shù)據(jù)詞典中添加工程中使用的變量,此外,在數(shù)據(jù)詞典中可以完成脈沖數(shù)與位移之間的轉(zhuǎn)化,速度和脈沖頻率的轉(zhuǎn)化。其變量使用情況如圖10所示。

圖10 數(shù)據(jù)詞典變量定義表
創(chuàng)建好工程以后,就可以制作人機(jī)界面了,在工程瀏覽器的畫面選項(xiàng)中新建機(jī)械手的運(yùn)行控制控系統(tǒng)的界面。該人機(jī)界面包括四個(gè)部分:登錄界面,手動(dòng)控制界面,點(diǎn)動(dòng)控制界面和空間軌跡控制界面。其手動(dòng)界面(如圖11所示)和點(diǎn)動(dòng)控制界面(如圖12所示)如下圖所示。在手動(dòng)界面通過(guò)控制各個(gè)按鈕來(lái)實(shí)現(xiàn)機(jī)械手的運(yùn)動(dòng)。在點(diǎn)動(dòng)界面通過(guò)輸入各軸的速度和位移運(yùn)動(dòng)到指定的空間坐標(biāo)。
在運(yùn)動(dòng)軌跡控制界面,是為了機(jī)械手在特定的情況下,按照運(yùn)動(dòng)的要求去編譯運(yùn)動(dòng)軌跡路線的程序的接口,首先需要建立VB和組態(tài)王的動(dòng)態(tài)數(shù)據(jù)通訊,其具體操作過(guò)程不在此贅述。在VB中編寫程序,建立三軸運(yùn)動(dòng)速度的關(guān)系。在一定的時(shí)間中向組態(tài)王中傳輸運(yùn)動(dòng)的速度,從而達(dá)到預(yù)定的軌跡。其操作界面如圖13所示。

圖11 手動(dòng)界面

圖12 點(diǎn)動(dòng)定位控制界面

圖13 運(yùn)動(dòng)軌跡控制界面
本文設(shè)計(jì)了一套以FX3U-32MT型PLC、組態(tài)王、交流伺服裝置為核心的定位和運(yùn)動(dòng)軌跡可控制的三軸機(jī)械手運(yùn)動(dòng)控制系統(tǒng)。主要介紹了直角坐標(biāo)系機(jī)械手的硬件的搭建,PLC軟件程序的編寫和人機(jī)界面的組態(tài),完成了機(jī)械手空間手動(dòng)定位,坐標(biāo)定位和空間軌跡控制。