[摘要]在國產(chǎn)高速自動絡(luò)筒機(jī)控制中首次采用PLC的邏輯控制和特殊模塊高級語言的大量數(shù)據(jù)運(yùn)算功能結(jié)合,成功地實(shí)現(xiàn)各種絡(luò)繞控制。
前言: 近年來,紡織機(jī)械的發(fā)展遠(yuǎn)遠(yuǎn)落后于紡織業(yè)的要求,1994年我國國外紡機(jī)進(jìn)口26.2億美元,而國產(chǎn)紡機(jī)在國內(nèi)市場的占有率只占四分之一。國內(nèi)的紡機(jī)廠需要在引進(jìn)技術(shù)并達(dá)到進(jìn)口機(jī)型質(zhì)量水平的基礎(chǔ)上,逐步實(shí)現(xiàn)國產(chǎn)化以替代進(jìn)口。"八五"引進(jìn)技術(shù)重中之重的自動絡(luò)筒機(jī)就是一例。
系統(tǒng)結(jié)構(gòu):
95年下半年我們在分析國外高速自動絡(luò)筒機(jī)的基礎(chǔ)上,成功開發(fā)了一種先進(jìn)的自動高速絡(luò)筒機(jī),實(shí)現(xiàn)了進(jìn)口設(shè)備的全部功能,使原來功能單一的絡(luò)筒機(jī)具有了多種絡(luò)繞方式以適應(yīng)不同的原料品種,并且首次在紡機(jī)的PLC控制中采用了協(xié)處理器型(Co-processer)BASIC語言系統(tǒng)和模塊。本文著重介紹ASCII-BASIC模塊及其語言在PLC中的應(yīng)用。
在PLC控制中選用KOYO S 系列中性能價(jià)格比較高的中型PLC SU-6B,其性能能夠滿促控制功能,并且可以由ASCII-BASIC模塊進(jìn)行復(fù)雜的運(yùn)算,提高速度和降低成本。
SU-6B CPU模塊內(nèi)包含一個(gè)RS-232/422通訊借口,在該系統(tǒng)重可以用來連接觸摸操作的可編程操作顯示器GV-50,在這個(gè)操作顯示器上設(shè)定/顯示所有的工作數(shù)據(jù),運(yùn)行情報(bào)和給PLC輔助運(yùn)行指令,由于這個(gè)操作顯示器的使用,所有的人機(jī)接口的操作非常直觀和方便。
DM是專用數(shù)據(jù)通訊接口模塊,用于整個(gè)工廠或車間,中控室的聯(lián)網(wǎng)運(yùn)行。在這個(gè)網(wǎng)絡(luò)上,可以根據(jù)網(wǎng)絡(luò)中的站數(shù)決定是否采用管理PLC。站數(shù)較多時(shí)為了減輕一位計(jì)算機(jī)的負(fù)擔(dān)采用專門的PLC對下級各種采集數(shù)據(jù);站數(shù)較少時(shí)直接由上位計(jì)算機(jī)采集也可以。
ABM是SU-6B CPU 上使用的 ASCII/BASIC 協(xié)處理器(Co-processer)模塊,在ABM模塊內(nèi)通過BASIC程序進(jìn)行復(fù)雜的數(shù)據(jù)運(yùn)算,與PLC內(nèi)的運(yùn)算相比,不僅編程簡單,速度快,更重要的是可以完成SU-6B PLC 不能而必須的運(yùn)算,例如浮點(diǎn)數(shù)據(jù)運(yùn)算,三角函數(shù),字符串處理等。模塊通訊口可以外接通訊型顯示器,計(jì)算機(jī),打印機(jī)等。
HSC #1高速計(jì)數(shù)模塊用于對錠子電機(jī)采樣計(jì)數(shù)測量轉(zhuǎn)速。
HSC #2 高速計(jì)數(shù)模塊主要用于對成型電機(jī)反饋脈沖計(jì)數(shù)控制成型運(yùn)動,另外利用模塊的自動搜尋原點(diǎn)功能可以精確的使機(jī)械回原點(diǎn),手動功能可以控制機(jī)械手動調(diào)整。
D/A用于控制成型電機(jī)和錠子電機(jī)的轉(zhuǎn)速輸出。
A/D用于激光處理器測量動態(tài)致敬,但通常它只在自動的絡(luò)繞方式下起作用,用來測試運(yùn)行,由此可以得到絡(luò)繞的密度作為數(shù)據(jù)設(shè)定的依據(jù)。
ASII-BASIC 模塊及語言:
ABM模塊通過BASIC語言程序,可以訪問PLC地I/O點(diǎn),中間繼電器等位功能存儲器,以及數(shù)據(jù)寄存器。位功能存儲器的狀態(tài)和數(shù)據(jù)寄存器的內(nèi)容也可以被ABM控制。
SU-6B CPU地ABM模塊可以安裝在任意位置,并且不占I/O點(diǎn)。(SR系列的ABM模塊略有不同。)
PLC系統(tǒng)上電時(shí),ABM模塊可以根據(jù)設(shè)定進(jìn)入RUN或COMMAND 方式,在RUN方式下執(zhí)行BASIC程序的內(nèi)容,在COMMAND 方式下執(zhí)行鍵盤鍵入的命令。ABM的運(yùn)行于PLC CPU 的運(yùn)行沒有關(guān)系。
RUN方式下的ABM BASIC語言和語法與通常BASIC相似,特別是QBASIC,ABM程序可以幾乎經(jīng)過修改在QBASIC系統(tǒng)下運(yùn)行,只不過ABM程序中對PLC功能存儲器的訪問在QBASIC中會被當(dāng)作數(shù)組來操作,例如:SU6-R(1400),SU6-M(1000)在ABM程序中訪問數(shù)據(jù)寄存器R1400和中間繼電器M1000而同樣程序在QBASIC中會被當(dāng)作大的數(shù)組。
COMMAND的方式下的命令包括程序的傳送,參數(shù)地設(shè)定,打印程序等菜單操作,以及直接命令的鍵入,例如刪除、保存、列表程序,選擇程序,運(yùn)行程序,運(yùn)行方式改變等。
運(yùn)轉(zhuǎn)方式的計(jì)算過程:
目前在該絡(luò)筒機(jī)中可以實(shí)現(xiàn)以上的絡(luò)繞方式,所有的參數(shù)都通過觸摸屏操作,可以設(shè)定任意的工藝參數(shù),絡(luò)繞參數(shù)和線束卷繞的時(shí)間、類型和位置。
對以上任一種卷繞方式、主要是對成型和錠子兩個(gè)電機(jī)的控制,即成形電機(jī):控制成形往復(fù)運(yùn)動,使線束在上側(cè)-下側(cè)返回點(diǎn)之間運(yùn)動,同時(shí)控制運(yùn)動速度。
錠子電機(jī):控制錠子恒線或恒錠速的運(yùn)行,及錠子的運(yùn)行方向。
在恒線速度設(shè)定方式下為了實(shí)現(xiàn)張力恒定和成型形狀的控制,隨著絡(luò)繞直徑的增大,錠子電機(jī)的轉(zhuǎn)速非線性的減少,成型電機(jī)來回移動的行程非性線的減少,即錠子電機(jī)轉(zhuǎn)速和成型電機(jī)移動量與錠子直徑%D的動態(tài)關(guān)系。在以前的絡(luò)筒機(jī)的控制中通常采用硬件控制的方法來控制成型電機(jī)的移動量,例如由一個(gè)專用的小電機(jī)來勻速(或非勻速)的減小成型電機(jī)的移動量,在行程兩端靠接近開關(guān)控制成型電機(jī)的換向,而錠子電機(jī)的轉(zhuǎn)速由PLC控制。這樣做使調(diào)整參數(shù)不靈活,而且絡(luò)繞方式的改變也不方便。
在上面實(shí)現(xiàn)的絡(luò)繞方式中,以反絡(luò)式和平行式絡(luò)繞控制時(shí)要求恒線速的控制,并且取消小電及和行程兩端的接近開關(guān),只有機(jī)械極限限位開關(guān),因此對成型電機(jī)和錠子電機(jī)的控制全部由PLC來完成。對其它要求恒錠速控制的方式重,對成型電機(jī)的控制也是一樣,因此在PLC內(nèi)解決絡(luò)繞動態(tài)直徑%D的計(jì)算成了關(guān)鍵。
這里以反絡(luò)式和特種卷繞方式說明
反絡(luò)式:
反絡(luò)式通常設(shè)定以下參數(shù),如下:
以上三個(gè)公式中,D是絡(luò)畢最大直徑,A為絡(luò)畢橫梁寬度,可以求出D和A。
D是關(guān)鍵,由它知道絡(luò)畢時(shí)的直徑后,才能確定運(yùn)動中直徑變化,從而控制錠子卷繞的恒線速度,A可以用來檢驗(yàn)參數(shù)設(shè)定的正確性,當(dāng)絡(luò)畢A角小時(shí),PLC和ABM都會來不及運(yùn)算。
但是,在PLC內(nèi)靠梯形圖程序來解決這樣一個(gè)方程,是非常困難的,只能由協(xié)處理起來完成。ABM內(nèi)可以通過與通常BASIC差不多的語句和語法編程,并且可以實(shí)現(xiàn)浮點(diǎn)數(shù)據(jù)運(yùn)算。經(jīng)過試驗(yàn),在486的個(gè)人計(jì)算機(jī)上,解這樣一個(gè)方程需要5秒左右,在以8031為處理器的ABM模塊中,解出同樣的方程約需40-50秒左右,但是畢竟比PLC內(nèi)靠梯形圖程序來解這樣一個(gè)方程要方便多了。更重要的是它還可以進(jìn)行SU-6B CPU不能進(jìn)行的三角函數(shù)的運(yùn)算功能,而不需要近似或查表的方法來進(jìn)行。
在ABM模塊內(nèi)采用逐次逼近的方法求出最大直徑,精確到0.1mm,BASIC程序如下: 5300 REM Paramaters: d,T,RAD,Vy,Vt,W,p,Den
5301 REM Return :D
5310 V=W/P: TMP=TAN(RAD)
5315 DMAX=d+T*TMP: PRINT1 "M=Dmax=",DMAX
5320 D=d: DBAK=D: LIMIT=20
5321 GOSUB 5360
5322 IF (V2<0) OR (A<=0) OR (D>=DMAX) THEN GOTO 5355
5323 IF A
V THEN GOTO 5340
5335 DBAK=D: D=D+1: GKTO 5321
5340 D=DBAK
5341 GOSUB 5360
5342 IF (V2<0) OR (A<=0) OR (D>=DMAX) THEN GOTO 5355
5343 IF AV THEN GOTO 5350
5346 DBAK=D: D=D+0 1: GOTO 5341
5350 D=DBAK: REM Add program here if you want more significant number
5351 PRINT1"D=", D:RETURN
5355 PRINT1"D cannot catch.":錯(cuò)誤處理:RETURN
5357 PRINT1 "Last A<",LIMIT:錯(cuò)誤處理:RETURN
5360 TEM Calc V
5361 A=T-(D-d)/TMP
5362 V1=(D**3-d**3)/TMP+3*(D**2)*A-3*(d**2)*T
5363 V2=PI*V1/1200
5364 PRINT1 "D=",D,"A=",A,"V2=",V2
5365 RETURN
線速在上下側(cè)返回點(diǎn)之間的往復(fù)運(yùn)動,根據(jù)行程和升降速度的不同,大約在2-5秒內(nèi)變換一次方向,也就是說對成形電機(jī)的上下側(cè)返回點(diǎn)的計(jì)算,對錠子動態(tài)直徑和錠子電機(jī)的速度計(jì)算(恒線速度則電機(jī)轉(zhuǎn)速與運(yùn)動直徑有關(guān))需要在2-5秒內(nèi)完成一次。PLC僅控制電機(jī)的轉(zhuǎn)向和D/A轉(zhuǎn)速輸出控制,以及其它常規(guī)開關(guān)量,掃描時(shí)間為30ms左右也來得及的。
①②③式和前面的BASIC程序也是適應(yīng)于運(yùn)動動態(tài)過程的。如果根據(jù)%W=Vy*T-RUN*p.(T-RUN為運(yùn)行計(jì)時(shí)),再根據(jù)①②③式和上面的程序關(guān)系,而由ABM進(jìn)行的動態(tài)直徑的計(jì)算,%D=f(W,p,Rad,D,d,T,Vy…),再計(jì)算出所需的轉(zhuǎn)速和成形電機(jī)新的行程,根據(jù)上面的計(jì)算試驗(yàn),在2-5秒內(nèi)顯示是來不及完成的,因此,對動態(tài)直徑的計(jì)算只能采取近似的方程,假定成形電機(jī)每次換向后,行程是按同樣的比例減小的,最為簡單。
于是:
這是簡單的計(jì)算方法,其結(jié)果式絡(luò)繞出來的形狀是所要求的直線成了圖四所示的弧線,不僅外觀不漂亮而且影響下道工序倍捻。因此需要對公式計(jì)算的結(jié)果進(jìn)行修正,有兩種方法:1. 直接修正Xtn
前面的公式中△Xt是一次計(jì)算的結(jié)果,%A是按換向次數(shù)成比例的減小。
如果修正Xtn,且與n有關(guān),不是按比例減小,而是n越大,△Xt越小,則可以修正直線。
公式略。
2. 直接修正%A(間接修正Xtn)
按1.修正方法修正的公式比較復(fù)雜,為此可以根據(jù)需要修正的結(jié)果,直接在%A的計(jì)算結(jié)果上修正,采用分段二次曲線修正,BASIC程序部分如下:
K1=2/3, K2=81 ;rem SQR(81)=9,修正量為0-9mm
T-kml=K1*T-SUM ;按總運(yùn)行時(shí)間分前段修正區(qū),T-SUM為計(jì)算出的總運(yùn)行時(shí)間,運(yùn)算公司略。
T-km2=(1-K1)*T-SUM ;按總運(yùn)行時(shí)間分后段修正區(qū)
T-modil=T_kml/K2 ;前段修正區(qū)按時(shí)間均分成K2段
T-modi2=T_km2/K2 ;后段修正區(qū)按時(shí)間均分成K2段
IF(T_RUN<=T_kml) THEN MODI=SQR(T_RUN/T_modil);T_RUN為線在運(yùn)行時(shí)間IF (T_RUN>T_kml) THEN MODI=SQR((T_RUN_T_kml) T_modil2)
DIS=%A-MODI ;%A的計(jì)算同 ④式
;%A的計(jì)算同 ⑤式
特種卷繞方式:
以上是反絡(luò)式計(jì)算方法,對特種卷繞時(shí)則相對容易,特種卷繞方式除了通用的參數(shù)如d,升降速度Vt等設(shè)定外,主要是根據(jù)下圖所示,在0,1,2,3,4…各段設(shè)定相應(yīng)的時(shí)間值,達(dá)到的上、下側(cè)返回點(diǎn)和轉(zhuǎn)速,當(dāng)某一點(diǎn)的設(shè)定為0時(shí),在該點(diǎn)進(jìn)行不折彎地控制。這樣,ABM的計(jì)算只要求出各段的斜率即可,為0時(shí)求不折彎的斜率。按照這樣的直線方法計(jì)算絡(luò)出的錠子的形狀就會比較明顯地分段,但是特種卷繞可以絡(luò)出各種特種的形狀來(不考慮沙線的適應(yīng)性),例如特種填充形,半凸緣絡(luò)線筒,錐形半凸緣絡(luò)線筒,錐形絡(luò)線筒等。
為了使分段不明顯,變化比較柔和,圖中三條線的折彎采用曲線擬合的方法,根據(jù)三點(diǎn)的設(shè)定值計(jì)算出擬和的二次曲線的各個(gè)系數(shù),然后按二次曲線控制運(yùn)動。
根據(jù)曲線的設(shè)定可以事先經(jīng)過處理,由計(jì)算機(jī)繪出一個(gè)理想的錠子實(shí)體圖形,下面列舉了一特種填充形和錐形半凸緣絡(luò)線筒的示意圖。(在下面的圖中,標(biāo)注的是錠子轉(zhuǎn)速ω和上下側(cè)返回點(diǎn)的位置。)
塑變的處理:
塑變是對絡(luò)繞發(fā)生變緣凸起時(shí)的糾正或絡(luò)筒角部的圓化起著關(guān)鍵的作用,塑變量和塑變率因紗線及紗線的品種,橫梁的移動速度不同而不同。其處理如下圖所示。這時(shí)需要在計(jì)算行程時(shí)減去塑變的部分。
Cr:塑變量
Rc:塑變率
數(shù)據(jù)的初始計(jì)算和檢驗(yàn)以及GV-50畫面
數(shù)據(jù)的初始計(jì)算是指象最大直徑等運(yùn)行中參數(shù)的計(jì)算,除了反絡(luò)式的計(jì)算時(shí)間較長由GV-50顯示"正在計(jì)算"的提示畫面,如果數(shù)據(jù)檢驗(yàn)發(fā)現(xiàn)設(shè)定超出范圍錯(cuò)誤,由GV-50以相應(yīng)的顯示出報(bào)警畫面,例如后面流程圖中的急停等報(bào)警。
通常情況下,GV-50的畫面隨著運(yùn)行狀態(tài),可以顯示測量狀態(tài),設(shè)定一覽,和絡(luò)繞控制狀態(tài),可以隨時(shí)看到當(dāng)前的操作提示和進(jìn)度。在選擇了本文第一頁圖的與ABM連接的通用計(jì)算機(jī)的情況下,也可以在計(jì)算機(jī)上顯示這些內(nèi)容。
程序的說明: PLC和ABM模塊的程序全部實(shí)現(xiàn)模塊化,對程序編制、維護(hù)和功能增加非常方便,完全不用改動以前的模塊,程序結(jié)構(gòu)。
ABM程序:
主控程序,程序1,PLC運(yùn)行方式的檢測,運(yùn)行起動時(shí),根據(jù)選定的絡(luò)繞方式去執(zhí)行相應(yīng)的運(yùn)算程序;運(yùn)行停止時(shí),由運(yùn)算程序自動返回到主控程序。
運(yùn)算程序,每種絡(luò)繞方式一個(gè)程序,程序2,3…,個(gè)個(gè)運(yùn)算程序根據(jù)PLC各控制級的狀態(tài)調(diào)用數(shù)據(jù)校驗(yàn)子程序,線束絡(luò)繞子程序,絡(luò)繞子程序;如果檢測到PLC內(nèi)運(yùn)行控制信號停止,則反回到主控程序。
這里所說得主控程序/運(yùn)算程序與高級語言的主/子程序是不同的,ABM模塊內(nèi)的BASIC程序可以有多個(gè),由模塊對它們按存儲順序自動編號,而在各程序中可以有該程序的內(nèi)部子程序,這個(gè)子程序就和通常語言的子程序是一樣的。這樣將不同絡(luò)繞方式的程序獨(dú)立存放,有利于程序運(yùn)行速度更快,因?yàn)樗粓?zhí)行一種絡(luò)繞程序,且增加新的絡(luò)繞方式或修改某種絡(luò)繞方式時(shí),完全不用改動別的程序,這些程序中可能有相同的部分,也可以把它們象子程序樣單獨(dú)作為子程序存儲,在程序容量允許時(shí)也可以直接放在各個(gè)需要的程序中。
當(dāng)ABM模塊運(yùn)行時(shí),可以設(shè)定該模塊的啟動方式,包括變量是否請零,起動執(zhí)行的程序號,串行口通訊參數(shù)等。ABM模塊還有另外一個(gè)特點(diǎn),可以通過編程處理,使當(dāng)程序由于編程錯(cuò)誤導(dǎo)致程序執(zhí)行中斷時(shí)(例如溢出,被零除等),是否自動重新啟動。那么設(shè)定ABM模塊啟動時(shí)是否對變量初始化就有意義,因此在絡(luò)筒機(jī)控制系統(tǒng)設(shè)計(jì)是采用不清零的啟動方式。
抗干擾、防錯(cuò)的措施及其它: 1. 實(shí)際系統(tǒng)運(yùn)行時(shí),由于大電機(jī)的運(yùn)行,可能會使ABM模塊和PLC的CPU之間和通訊中斷,ABM和CPU之間的通訊是通過底板CPU總線進(jìn)行的,高速計(jì)數(shù)器的目標(biāo)值由ABM計(jì)算,在絡(luò)繞過程中必須使ABM的計(jì)算數(shù)據(jù)一直有效,不能中斷,因此在通訊暫時(shí)中斷時(shí)要使CPU使用前次的計(jì)算結(jié)果,而后等待通訊在幾秒內(nèi)繼續(xù)。這種情況極少見也沒有規(guī)律。
2. 可以設(shè)定ABM模塊的啟動方式,使ABM在由于編程錯(cuò)誤而導(dǎo)致ABM程序執(zhí)行意外中斷時(shí),例如溢出錯(cuò)誤,強(qiáng)制ABM運(yùn)行。這樣強(qiáng)制運(yùn)行和啟動時(shí)不對變量初始化可以使程序繼續(xù)原來的過程運(yùn)行,而且不必重新初始計(jì)算,而且不會由于中斷自動進(jìn)入命令方式使整個(gè)系統(tǒng)動作中止。而對出現(xiàn)了嚴(yán)重的程序錯(cuò)誤,如行程和轉(zhuǎn)速計(jì)算的錯(cuò)誤則即使ABM程序繼續(xù)運(yùn)行也無能為力了。使用的命令是:
LOCKOUT (強(qiáng)制運(yùn)行)
AUTOSTART 2,1,19200(以非自動清除變量方式,啟動程序1,通訊口速率)
如果是系統(tǒng)停電,則ABM的變量數(shù)據(jù)是不帶停電記憶的,這時(shí)需要由PLC CPU來確定是否進(jìn)行初始計(jì)算。
3. PLC CPU可以對運(yùn)動進(jìn)行控制,如果發(fā)生撞梁故障時(shí)可以自回復(fù)原點(diǎn),等待重新啟動,而頻繁的撞梁則是PLC程序問題。
4. CPU在運(yùn)行過程中除了接受PLC報(bào)警外,可以自動檢測變頻器、伺服電機(jī)回路的故障。
5. ABM程序口令的程序:在ABM系統(tǒng)中沒有直接的口令保護(hù)功能,但是可以用上面的強(qiáng)制運(yùn)行命令來實(shí)現(xiàn)可變口令??诹钶斎氲刂?,在ABM程序中編寫可變口令的程序,LOCKOUT命令后加上判斷條件,如果PLC寄存器重的8位數(shù)據(jù)與ABM程序的口令不一致則LOCKOUT指令有效。例如,LOCKOUT(數(shù)據(jù)寄存器<>ABM口令)。
6. 為了表示ABM模塊工作正常,在程序中加入一些PRINT #1語句,在通訊口#1傳送數(shù)據(jù),這樣在程序正常運(yùn)行時(shí),模塊上面的通訊信號LED會閃爍。
運(yùn)行效果:
根據(jù)實(shí)際運(yùn)行所有方式的結(jié)果,完全能夠適應(yīng)沙線和參數(shù)的設(shè)定,另外根據(jù)輔助程序的跟蹤結(jié)果,測得的運(yùn)算過程以反絡(luò)式、平行式示例如下:
運(yùn)行效果測試圖
正常工作條件下,根據(jù)驅(qū)動皮帶輪的不同和工藝方式的選擇,錠子的轉(zhuǎn)速和紗線速度是不一樣的。
ASCII-BASIC模塊作為PLC比較特殊的一種智能型模塊,其功能除了本文所涉及的數(shù)據(jù)運(yùn)算外,還有通訊功能(內(nèi)裝MODEM的相應(yīng)型號),外接通訊型顯示器、打印機(jī)等,作為PLC CPU的又一個(gè)協(xié)處理器,其應(yīng)用范圍還很多,因此值得推廣。