2、控制系統(tǒng)軟件設(shè)計(jì)
2.1控制程序結(jié)構(gòu)
S7-300系列PLC的編程語(yǔ)言是STEP7。STEP7用文件塊的形式管理用戶編寫的程序及程序運(yùn)行所需的數(shù)據(jù)。如果這些文件塊是子程序,則可以提供調(diào)用語(yǔ)句,將它們組成結(jié)構(gòu)化的用戶程序。這樣,PLC的程序組織明確,結(jié)構(gòu)清晰,易于修改。
在系統(tǒng)中,復(fù)卷機(jī)的控制程序主要由組織塊OB、系統(tǒng)功能SFC、功能FC和數(shù)據(jù)塊DB等4中程序快組成。
組織塊OB是系統(tǒng)操作程序與用戶應(yīng)用程序在各種條件下的接口界面,用于控制程序運(yùn)行。不同的OB有不同的功能。設(shè)計(jì)中組織塊有OB1、OB82、OB4、OB5、OB86、OB100、OB122。OB1是用作主表程序循環(huán)的,它用來(lái)設(shè)計(jì)主循環(huán)程序的結(jié)構(gòu)。OB82是診斷中斷程序,診斷接收來(lái)自有診斷能力的模塊(如:模擬輸入模塊)。OB84是CPU硬件故障中斷,OB85是優(yōu)先級(jí)錯(cuò)誤中斷,OB86是機(jī)架錯(cuò)誤中斷,OB87是通信錯(cuò)誤中斷。OB100屬于啟動(dòng)組織塊,是暖啟動(dòng)用的。OB122是訪問(wèn)錯(cuò)誤組織塊,屬于故障處理組織塊。
系統(tǒng)還用到SFC14、SFC15這兩個(gè)系統(tǒng)功能塊。SFC14、SFC15是作為Profibus-DP通信用的系統(tǒng)功能塊,SFC14是用來(lái)讀取從站的信息數(shù)據(jù),SFC15是PLC用來(lái)對(duì)從站發(fā)送數(shù)據(jù)的。它的應(yīng)用是通過(guò)編制程序快FC時(shí)調(diào)用的。
FC是自定義程序塊,其中包括過(guò)程控制、數(shù)據(jù)處理、輔助設(shè)備控制、變頻器控制和通信控制等模塊。其程序結(jié)構(gòu)如圖2所示。
數(shù)據(jù)塊DB用來(lái)存放用戶程序運(yùn)行所需的大量數(shù)據(jù)或變量,它也是實(shí)現(xiàn)各程序塊之間交換、傳遞和共享數(shù)據(jù)的重要途徑。該設(shè)計(jì)有5個(gè)數(shù)據(jù)塊,用來(lái)存放復(fù)卷機(jī)運(yùn)行過(guò)程中的設(shè)備狀態(tài)或工藝參數(shù),例如:電機(jī)的運(yùn)行、停止或故障指示數(shù)據(jù)(數(shù)字量),電機(jī)的速度、電流、紙幅的張力數(shù)據(jù)(模擬量)等。在編程階段,要先用STEP7軟件定義數(shù)據(jù)塊,定義內(nèi)容包括數(shù)據(jù)塊號(hào)及塊中的變量。
2.2各程序塊功能
本著結(jié)構(gòu)化的程序設(shè)計(jì)思想,PLC程序分成圖2所示的幾個(gè)功能模塊,這些模塊分別對(duì)應(yīng)系統(tǒng)的某些控制功能,它們?cè)诠δ艿木幊踢壿嫿M合上既有一定的相對(duì)獨(dú)立性,又可以供其他模塊使用。輔助設(shè)備和工藝聯(lián)鎖控制模塊FC1是簡(jiǎn)單的開(kāi)關(guān)量控制,主要對(duì)復(fù)卷機(jī)的輔助設(shè)備(如:吹邊風(fēng)機(jī)、卸紙架電機(jī)、抱閘、退紙架電機(jī)和電磁閥等)的操作控制及指示燈邏輯控制,這個(gè)程序塊采用梯形圖編程。
模擬量采集與處理模塊FC2主要是對(duì)工藝過(guò)程中的模擬量參數(shù)進(jìn)行采集、顯示與存儲(chǔ)。模擬量包括參數(shù)設(shè)置(如張力、速度給定等)和各種反饋信號(hào)(如電機(jī)的速度、電流和轉(zhuǎn)矩)等,同時(shí)對(duì)采集量進(jìn)行線性化處理,并轉(zhuǎn)換成十進(jìn)制數(shù),對(duì)輸入進(jìn)行限幅、報(bào)警,對(duì)一些重要的域值進(jìn)行標(biāo)記。
卷紙控制FC3主要實(shí)現(xiàn)紙長(zhǎng)、卷徑的控制功能,以便復(fù)卷機(jī)根據(jù)檢驗(yàn)到的這兩個(gè)值按紙長(zhǎng)或卷徑停車。變頻器FC4主要對(duì)3臺(tái)變頻器進(jìn)行控制,該模塊接受外部輸入指令(如速度給定),并把該指令輸入到變頻器中,以使變頻器根據(jù)工藝要求控制電動(dòng)機(jī)的運(yùn)行。
變頻器通信程序塊FC5主要用來(lái)調(diào)用系統(tǒng)功能塊SFC14和SFC15,以便讀出和寫入變頻器中的數(shù)據(jù)。
過(guò)程控制模塊FC6、FC7和FC8主要實(shí)現(xiàn)張力、負(fù)荷分配和壓力控制。其中張力和負(fù)荷分配控制是由變頻器完成的,PLC在這里只對(duì)相關(guān)的值進(jìn)行采集、計(jì)算和簡(jiǎn)單的處理。如當(dāng)進(jìn)行張力控制時(shí),該模塊計(jì)算卷徑和動(dòng)態(tài)補(bǔ)償轉(zhuǎn)矩,然后把這些量提供給放卷輥電機(jī)的變頻器,控制變頻器按照設(shè)定的張力、自動(dòng)輸入的車速轉(zhuǎn)換為電機(jī)的轉(zhuǎn)速輸入到變頻器,或?qū)⑥D(zhuǎn)矩微調(diào)的給定送到變頻器,使變頻器控制前后兩個(gè)底輥電機(jī)的出力情況。壓紙輥壓力控制包括壓紙輥壓力計(jì)算、紙卷半徑計(jì)算等。
2.3各功能模塊之間接口設(shè)計(jì)
如上所述,復(fù)卷機(jī)控制程序是由幾個(gè)功能模塊組成的,由于控制系統(tǒng)數(shù)據(jù)交換。有些功能模塊之間又有許多聯(lián)系,需要進(jìn)行數(shù)據(jù)交換。因此,數(shù)據(jù)在程序中已經(jīng)不僅僅是位的信息。而是以字節(jié)或字為單位的信息。數(shù)據(jù)量的擴(kuò)大使原來(lái)的標(biāo)志位不敷使用,所以使用數(shù)據(jù)塊DB代表標(biāo)志位的功能。在編程序時(shí)首先定義一個(gè)共享數(shù)據(jù)塊,提高程序的代碼效率,縮短代碼長(zhǎng)度。但是,現(xiàn)場(chǎng)必須對(duì)數(shù)據(jù)塊進(jìn)行很好的管理,防止對(duì)數(shù)據(jù)塊的非法引用或修改。具體就是:明確數(shù)據(jù)塊每個(gè)單元的作用;盡可能減少對(duì)數(shù)據(jù)塊各個(gè)單元的修改入口,保持?jǐn)?shù)據(jù)的清潔;對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)和保護(hù),防止意外錯(cuò)誤。
該設(shè)計(jì)使用的數(shù)據(jù)塊DB有:DB1模擬量數(shù)據(jù)使用;DB2計(jì)數(shù)器模板內(nèi)部使用;DB3臨時(shí)數(shù)據(jù)存儲(chǔ);DB10共享數(shù)據(jù)塊(任何FB、FC、OB均可讀寫存放在共享數(shù)據(jù)塊中的數(shù)據(jù);DB11變頻器相關(guān)數(shù)據(jù)。
2.4、PLC與OP270之間的接口設(shè)計(jì)
PLC與OP270之間除了通過(guò)Profibus-DP總線進(jìn)行的電氣連接外,更重要的是和數(shù)據(jù)上的聯(lián)系。OP270是一個(gè)被動(dòng)的顯示器,它顯示的一切數(shù)據(jù)和具有的控制功能都要通過(guò)PLC為其提供。在OP270中不用編寫通信程序而只要簡(jiǎn)單組態(tài)連接參數(shù)就可以連接到PLC上。所以PLC只需對(duì)它們之間傳送的數(shù)據(jù)進(jìn)行優(yōu)化即可。其內(nèi)容為:數(shù)據(jù)的準(zhǔn)備、顯示格式的調(diào)整、控制邏輯的準(zhǔn)備。對(duì)于OP而言,PLC內(nèi)部所有的數(shù)據(jù)(包括所有數(shù)據(jù)塊、輸入、輸出點(diǎn)、機(jī)器狀態(tài)信息等)是透明的,也就是可以通過(guò)對(duì)OP的合理組態(tài)來(lái)獲得PLC中的所有有用信息。但是考慮到這種方式所花費(fèi)的代價(jià)和系統(tǒng)性能的損失,在PLC中將數(shù)據(jù)合理地組織,以便于檢索,提高OP的效率,降低網(wǎng)絡(luò)的通信負(fù)擔(dān),同時(shí)可以降低程序的調(diào)試時(shí)間,并可以減輕維護(hù)的負(fù)擔(dān)。具體說(shuō)數(shù)據(jù)的組織就是將通信的數(shù)據(jù)放入DB數(shù)據(jù)塊中。