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










