1 簡介
1 . 1 系統(tǒng)簡介
系統(tǒng)為普通糟孔蔭罩刻蝕線,,主要包括開卷部分、刻蝕腔體部分,、第一水洗部分,、電解剝離部分、最終水洗部分和最后的烘干及撕邊部分,。
表面有光致抗刻蝕劑的成卷鋼帶,,在開卷部分被拉開,并送人刻蝕腔體,。腔體刻蝕液為FeC13 , 與鋼帶的無光抗部分反應(yīng),,形成槽孔。第一水洗的作用為??涛g,,將蔭罩表面的FeC13 均勻地完全去除。剝離部分用于剝離鋼帶表面的光抗,,剝離液為NaOH ,。最終水洗除去鋼帶表面的NaOH 和雜質(zhì)。烘干部分烘干鋼帶表面的水分,,防止生銹,。之后鋼帶進(jìn)人撕邊機(jī),撕去蔭罩四周的廢邊,??涛g生成的工藝過程如圖1 所示。
開卷 → 刻蝕 → 第一水洗 → 電解剝離 → 最終水洗 → 烘干 → 撕邊
圖1 刻蝕生產(chǎn)線工藝過程
刻蝕腔體部分為整個系統(tǒng)的關(guān)鍵,,其刻蝕的效果直接影響到產(chǎn)品的合格率,。整個刻蝕過程有6 個腔體,,每個腔體中有上下兩對噴嘴,分別由兩臺電機(jī)控制,,電機(jī)控制噴嘴來回擺動,。因此整個刻蝕部分由12 臺電機(jī)組成。由于電機(jī)不斷來回擺動,,這里稱之為搖擺電機(jī),。
1 . 2 搖擺電機(jī)運(yùn)動簡介
根據(jù)工藝要求電機(jī)必須按照一定軌跡運(yùn)行,而且不同的電機(jī)運(yùn)行軌跡有所區(qū)分,。由于對運(yùn)行曲線的高要求,,搖擺電機(jī)的控制選用了B&R 的PCC 及ACOPOS 伺服控制器" title="伺服控制器">伺服控制器。
在上位機(jī),,工作人員給定一條軌跡上的16 個點(diǎn),,如圖2 所示,,其中橫軸為位置,,縱軸為速度。12 臺電機(jī)每臺都有一條設(shè)定的曲線,。PCC 除了完成對電機(jī)的起動,、停止、運(yùn)行等邏輯控制" title="邏輯控制">邏輯控制外,,主要的功能就是控制電機(jī)按一定的軌跡運(yùn)動,,使得這個軌跡同時經(jīng)過所設(shè)定的16 個點(diǎn),并且保證電機(jī)運(yùn)行的平穩(wěn),。由于要求快速響應(yīng)和高控制精度,,搖擺部分使用同步伺服電機(jī)進(jìn)行運(yùn)動控制" title="運(yùn)動控制">運(yùn)動控制。之前使用東芝公司的PLC ,,有擺動不平滑的問題,,因此改用B&R 開發(fā)的高性能控制器PCC 。PCC 在控制器中使用嵌人式操作系統(tǒng),,且設(shè)備層網(wǎng)絡(luò)采用實(shí)時以太網(wǎng),,可以實(shí)現(xiàn)非常高的實(shí)時控制要求。
圖2 搖擺電機(jī)軌跡點(diǎn)設(shè)置
2 B&R PCC 及ACOPOS 伺服
2 . 1 B&R PCC 硬件配置
搖擺部分采用了B&R 2005 , 2005 系列CPU 是B&R 第四代控制系統(tǒng)SG4 ,,采用的是Intel 處理 器,,包括了電源模塊、CPU 模塊,、數(shù)字輸入輸出模塊,。其中CPU 的PCI 總線插槽中插人了Power Link 網(wǎng)絡(luò)適配器。若采用PowerLink 串聯(lián),,最多只能串聯(lián)10 臺伺服控制器,,本系統(tǒng)采用Power Link IF786 及一個HUB 將12 臺電機(jī)分成兩條串聯(lián)支路進(jìn)行實(shí)時控制,。數(shù)字輸人模塊用于起動、停止,、緊急停止,、12 臺電機(jī)的Readay 、找原點(diǎn)信號輸人,。數(shù)字輸出用于電機(jī)運(yùn)行,、電機(jī)故障、12 臺電機(jī)尋找原點(diǎn)的狀態(tài)指示,。
上位機(jī)與PCC 可以通過RS232 與以太網(wǎng)進(jìn)行通信,。RS232 作為編程口。以太網(wǎng)作為實(shí)時通信口,,用于數(shù)據(jù)的上傳與下載,。將上位機(jī)設(shè)定的運(yùn)動曲線實(shí)時傳給PCC ,同時將實(shí)際運(yùn)動位置,、速度,、電流及故障信息傳給上位機(jī)。
圖3 給出了一臺電機(jī)的伺服控制器與共他硬件設(shè)備的連接圖,。電機(jī)控制器采用了B&R ACOPOS 伺服控制器,。伺服控制器插人了Power Link 模塊AC112 ,用于和前后兩臺伺服控制器相連,;AC122 為旋轉(zhuǎn)編碼器模塊,,用于電機(jī)的速度與位置檢測。ACOPOS 1090 本身提供了溫度信號檢
測(T +,、T 一),,抱閘信號輸出(B 一、B + ) 和其他控制信號,。在現(xiàn)場,,同時安裝了三個光耦" title="光耦">光耦給定電機(jī)運(yùn)行的正向極限位置、反向極限位置和原點(diǎn)位置,。在運(yùn)行前電機(jī)首先找到原點(diǎn)光耦所在位置定為O 位,,然后根據(jù)設(shè)定曲線運(yùn)行。而正,、反向極限光耦信號起到了保護(hù)作用,,當(dāng)光耦給出信號時,伺服將給出極限故障信息并且停止運(yùn)行,。
圖3 伺服控制器與外圍連線
2 . 2 ACOPOS 伺服控制方式
ACOPOS 的伺服控制如圖4 所示,,大致可以分為四個部分:初始值處理、位置控制,、速度控制,、實(shí)際值檢測,。在初始處理時,根據(jù)給定的位置及最大允許速度和最大允許加速度,,給出一個理想的定位過程,,即得出加速、恒速,、減速段,,不同位置時的速度也相應(yīng)得到。位置控制主要有比例調(diào)節(jié),、比例調(diào)節(jié)限制p _ max ,、積分限制i _ max 和積分調(diào)節(jié)。比例調(diào)節(jié)后的值為k* △s ,,若k* △s > p _ max ,,則v_ p ﹦P _ max ;若k* △s ﹤﹣p _ max ,,則v _ P = ﹣p _max ,。同理i _max 用干限制積分調(diào)節(jié)值,v _i ,。速度調(diào)節(jié)為一般的PI調(diào)節(jié)得到控制電流值送入矢量控制器,,對電機(jī)進(jìn)行控制。而電機(jī)的實(shí)際位置通過編碼器得到,。
圖4 伺服控制框圖
3 B&R PCC 軟件系統(tǒng)
整個軟件系統(tǒng)可分為過程可視化接口(PVI ) 和Automation Studio。PVI 用于與上位機(jī)的通信,,Automation Studio 則用于PCC 的邏輯控制與運(yùn)動控制等的編程,。
3 . 1 PVI 通信
PVI 是所有Windows 應(yīng)用程序訪問貝加萊工業(yè)控制器的統(tǒng)一接口。使用PVI ,,用戶在開發(fā)通信程序時不需要花大量時間考慮底層的通信過程,,也不需要調(diào)用復(fù)雜而繁瑣的Winsock API 函數(shù),只需 在邏輯結(jié)構(gòu)上進(jìn)行簡單的配置即可訪問PCC上的變量,。PVI 的最大特點(diǎn)就是能夠使用程序直接操作PCC任務(wù)中的變量,,因此必須給每一個過程變量在PVI Manager 中的映射指定唯一的路徑。
PVI 通信的核心任務(wù)是建立過程變量的映像,,建立的結(jié)果是每個映像都和網(wǎng)絡(luò)中唯一的一個變量一一對應(yīng),。這個變量可以是一個基本類型的數(shù)據(jù),如整型變量,,也可以是一個自定義類型的數(shù)據(jù),,如結(jié)構(gòu)體變量。這個映像包含了從應(yīng)用程序所在工作站到變量所在任務(wù)的路徑信息,。如果把控制器和模塊也當(dāng)作通信中對象的話,,每個映像路徑包括的對象有:基本對象(Pvi ) ,;線對象(Line ) ;站對象( Station ) ,; CPU 對象(CPU ) ,;模塊對象(Module ) ;任務(wù)對象(Task )和變量對象(Variable),。這個映射路徑由PVI Manager 統(tǒng)一管理,,每個對象包含對象名,對象描述和存取參教,。勸象名(包括路徑)是PVI 中的名字,。對象名由用戶任意確定,對象描述必須與PCC 中待映射的變量名字一樣,,PVI Manager 依靠對象描述找到具體的過程變量,,實(shí)現(xiàn)映象關(guān)系。存取參數(shù)包括數(shù)據(jù)類型說明,、刷新時間,、事件類型等。
在本系統(tǒng)中,,伺服電機(jī)運(yùn)行在16 個位置的速度是確定的,,位置和速度均可以在上位機(jī)上設(shè)置,然后發(fā)送至PCC ,。將這些數(shù)據(jù)封裝為一個結(jié)構(gòu)體:
struct MotorCommset { float Position [16],;//16 個點(diǎn)的位置 float Speed [16] ;//16 個點(diǎn)的速度 int MotorNumber ,;//標(biāo)示當(dāng)前設(shè)置的是第幾臺電機(jī)},;
3 . 2 Automation Stndio 編程
Automation Studio 為每個應(yīng)用與程序提供了多種編程方法。包括:梯形圖LAD ,,指令表IL ,,結(jié)構(gòu)文本ST ,順序功能圖SFC , AB , ANSIC ,。其中ANSIC 是使用于新一代Automation Studio的功能強(qiáng)大的高級編程語言,。利用ANSIC 編寫的語言可以實(shí)現(xiàn)更高級的功能。在搖擺部分的電機(jī)控制中,,利用了ANSIC 來實(shí)現(xiàn)曲線生成的功能,。
3.2.1 對象建立
B&R 的伺服運(yùn)動控制采用了面向?qū)ο蟮目刂品绞剑褂酶呒壵Z言C 針對一個伺服控制器創(chuàng)建一個運(yùn)用對象ax _ obj 后,,可以利用針對此運(yùn)動對象創(chuàng)建的指針* p _ ax _ dat _ ,,對電機(jī)完成不同的運(yùn)動控制。
ncalloc ( ncACP10MAN + ncPOWERLINK 一IF , ACP10 NONE , ncAXIS , l , ( UDINT ) &
ax _ obj ) ,;
每臺伺服控制器在硬件上都有一個節(jié)點(diǎn)設(shè)置部分,,可以設(shè)置各自的節(jié)點(diǎn)號,。在命令ncalloc 中通過不同的ACP10_ NODE 可以為不同的伺服創(chuàng)建各自的運(yùn)動對象。
3.2.2 虛軸
在ACOPOS 的伺服中,,針對每一臺伺服而創(chuàng)建的運(yùn)動對象,,都有一個假想的軸,稱之為虛軸,。這個虛軸跟實(shí)軸一樣一方面能夠作為從軸,,跟著主軸完成同步軌跡。另一方面也能作為主軸,,讓其他軸參與同步,。由于虛軸的引人,使得一個伺服也能夠和自己的虛軸發(fā)生同步關(guān)系,,即電機(jī)運(yùn)行時以自己的虛軸作為主軸,,實(shí)軸跟隨虛軸同步。
這里伺服要完成曲線運(yùn)動" title="曲線運(yùn)動">曲線運(yùn)動,,在設(shè)定的點(diǎn)之間有一個加速度突變的過程,,因此為了保持電機(jī)的平穩(wěn)運(yùn)行,采用了虛軸運(yùn)動控制,。虛軸是一個理論上的軸,,因此可以應(yīng)用數(shù)學(xué)模型,設(shè)定虛軸的運(yùn)行軌跡,。在相鄰兩個點(diǎn)之間,,虛軸為勻加速,運(yùn)動到下一個點(diǎn)時以另外一個加速度進(jìn)行勻加速運(yùn)動,。由于虛軸是假想的理論軸,,加速的突變不會引起電機(jī)運(yùn)行的不穩(wěn)定。因此這里將虛軸設(shè)為主軸,。由于虛軸和實(shí)軸的同步關(guān)系為位置同步,而非速度同步,,當(dāng)設(shè)定虛軸與實(shí)軸為l : 1 同步時,,虛軸為主軸按既定曲線運(yùn)動,而實(shí)軸則不斷地跟隨虛軸的位置進(jìn)行運(yùn)動,,因此對于實(shí)軸來說虛軸的速度或加速度的突變并不會對電機(jī)產(chǎn)生影響,,保證了電機(jī)運(yùn)行的穩(wěn)定性。
Automation studio 提供了專門的實(shí)軸與虛軸的關(guān)系設(shè)定文件,,在虛軸進(jìn)行運(yùn)動之前,,必須把這個文件下載到伺服,建立伺服的虛軸與實(shí)軸的關(guān)系之后,,實(shí)軸才能跟隨虛軸運(yùn)動,。
實(shí)軸與虛軸的關(guān)系設(shè)定文件名為"autogear ",。
< Parameter ID = "503" Name = " Cam automat ; Master axis " Value = "412"Unit =""Remark =""[412ACP10PAR _ S _SET _VAX1S]
在autogear中,,將412號參數(shù)(虛軸的位置)賦給503號參數(shù)(主軸設(shè)定)表明了將虛軸的位置作為主軸,。
< Parameter ID = "519" Name = " Cam automat ; Multiplication factor of master axis " Value = "1000"Unit =""Remark =""/>
< Parameter ID = "520" Name = " Cam automat ,; Multiplication factor of slave axis " Value = "1000"Unit =""Remark =""/>
將519 號參數(shù)(主軸系數(shù))和520 號參數(shù)(從軸系數(shù))值設(shè)為相同的大小,,這里都設(shè)為1000 , 表明了從軸與主軸以1000 : 1000 進(jìn)行位置同步。
B&R 為伺服參數(shù)的上傳與下載提供了專門的通道,,稱之為SERVICE 通道,。通過SERVICE 通道,既可以進(jìn)行單個參數(shù)的傳輸,,也可以進(jìn)行參數(shù)塊的傳輸,。將"autogear "作為一個參數(shù)塊,通過SERVICE 通道下載到伺服后,,虛軸與實(shí)軸的關(guān)系便建立了起來,。
strcpy (& DataDownload .parameter.data _ modul [0],"autogear")//所要下載的文件名p _ ax _ dat _ >network.service.data _adr ﹦(UDINT) & DataDownload // service通道ncaction ( ax _ obj , ncACP _ PAR + ncSERVICE , nc - DOWNLOAD )//虛軸,、實(shí)軸設(shè)定下載,, 一旦主軸與從軸的關(guān)系建立起來之后,只要對虛軸參數(shù)進(jìn)行操作,,實(shí)軸就會跟隨虛軸位置進(jìn)行1:1 同步,。而對于虛軸參數(shù)的操作同樣也可以通過SERVICE 通道進(jìn)行。
p _ ax _ dat _ > network.service.request.par _ id ﹦ACP10PAR _ CMD _ POS _ MOVE _ VAX1 //所要賦值的參數(shù),, p _ ax _ dat _ > network . service . data _ adr ﹦(UDINT ) & par _ dat //參數(shù)值,,ncaction (ax _ obj , ncSERVICE , ncSET)//參數(shù)設(shè)置
3.2.3 程序設(shè)計
程序如圖5 所示,主要分為兩塊:一塊為總的邏輯控制部分,,由梯形圖完成,;另一塊為運(yùn)動控制部分,通過C 語言完成,。
找原點(diǎn)時,,電機(jī)統(tǒng)一向正向運(yùn)行,若收到原點(diǎn)信號就停下,,定為O 位,;若收到正向極限信號就停下然后反方向運(yùn)行,找到原點(diǎn)信號,,定為0位,。曲線運(yùn)動為一個子程序,點(diǎn)與點(diǎn)之間做勻加速運(yùn)動,通過位置的判斷,,對虛軸進(jìn)行加速度的切換,。
4 設(shè)計結(jié)果
利用B&R 的PCC 的PVI 完成了與上位機(jī)的通信。利用梯形圖進(jìn)行邏輯控制啟動,、停止,、故障等。而高級語言C ,,則實(shí)現(xiàn)了曲線的運(yùn)用,。并且在曲線運(yùn)動過程中,實(shí)時地將速度與位置信號傳給上位機(jī),,方便實(shí)時地觀測和調(diào)整曲線,。
圖5 程序流程圖
目前,整條生產(chǎn)線已投入試生產(chǎn),,刻蝕效果良好,。圖6 為伺服電機(jī)實(shí)時運(yùn)動曲線,伺服按正向運(yùn)動找到原點(diǎn)后開始按到給定的點(diǎn)運(yùn)動,。在相鄰的兩個點(diǎn)之間采用了勻加速運(yùn)動,,按照位置進(jìn)行點(diǎn)與點(diǎn)的切換,改變各個曲線段的加速度,。在運(yùn)行過程中上位機(jī)對電機(jī)運(yùn)行的實(shí)際位置與速度進(jìn)行隨機(jī)采樣,,將采樣得到的點(diǎn)顯示在上位機(jī)界面上,經(jīng)過一段時間后可以看到電機(jī)實(shí)際運(yùn)行的軌跡,。由圖可知,,實(shí)際運(yùn)行中,都經(jīng)過設(shè)定的點(diǎn),。工藝要求的誤差為2mm ,,而實(shí)際設(shè)計得到的結(jié)果誤差只有0.5mm ,性能大大提高,。在高速運(yùn)行時,,如1min 運(yùn)行40 個周期,電機(jī)仍然運(yùn)行平穩(wěn),,而工藝上只要求15 至30 個周期,。
圖6 伺服電機(jī)實(shí)際運(yùn)用曲線
采用了B&R 的PCC 使通信、控制,、運(yùn)動變得更加方便、靈活,、可靠,。由于B&R 的PVI 功能,使通信方便,成為一個單獨(dú)的任務(wù),。利用Power - Link 實(shí)現(xiàn)了PCC 與12 臺伺服之間實(shí)時與快速的控制與傳輸,。利用PCC 的高級語言C,方便地實(shí)現(xiàn)了曲線的生成,。而利用B&R 特有的虛軸的概念,,更使電機(jī)的運(yùn)行平穩(wěn)可靠。