1 引言
雙邊剪機(jī)組是軋鋼廠精整車間的關(guān)鍵設(shè)備之一,主要負(fù)責(zé)對(duì)成型后的鋼板進(jìn)行毛邊剪切,使之成為最終成品。整個(gè)雙邊剪機(jī)組從控制角度可分為主剪系統(tǒng)、夾送輥和輥道控制系統(tǒng)、橫移系統(tǒng)、間隙調(diào)整系統(tǒng)、激光劃線系統(tǒng)、鋼板對(duì)正系統(tǒng)等6個(gè)子系統(tǒng)。為了防止鋼板在剪切的過程中跑偏,確保鋼板的剪切尺寸和送板步長,雙邊剪8臺(tái)夾送輥的同步性控制非常重要。某軋鋼廠雙邊剪機(jī)組控制系統(tǒng)的改造項(xiàng)目中,采用了基于PROFIBUS總線的分布式全數(shù)字雙邊剪夾送輥傳動(dòng)控制方案,用以取代傳統(tǒng)的模擬量控制系統(tǒng)。
為了對(duì)改造后的雙邊剪夾送輥傳動(dòng)控制系統(tǒng)的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控,方便機(jī)組的量化管理,采用西門子組態(tài)軟件WINCC作為上位機(jī)監(jiān)控系統(tǒng)的開發(fā)平臺(tái),用于開發(fā)機(jī)組的狀態(tài)監(jiān)控和數(shù)據(jù)管理系統(tǒng)。WINCC是優(yōu)秀的工控組態(tài)軟件,特別是WINCC V6.0推出以后,在軟件體系結(jié)構(gòu)網(wǎng)絡(luò)結(jié)構(gòu)以及數(shù)據(jù)庫管理等方面都有了很大的改進(jìn),使得它的功能更加完善,系統(tǒng)更加開放,組態(tài)更加靈活[1]。但是由于WINCC的變量歸檔周期過長(最短也要500ms),不能滿足高速數(shù)據(jù)采集的要求。為了突破WINCC這個(gè)組態(tài)瓶頸,充分利用WINCC的開放性特點(diǎn),采用C腳本編寫高速數(shù)據(jù)采集的全局動(dòng)作,用于對(duì)多個(gè)數(shù)據(jù)的打包接收和處理,并用Visual C++開發(fā)ActiveX控件用于高速數(shù)據(jù)曲線的顯示。
2 監(jiān)控系統(tǒng)的總體結(jié)構(gòu)
基于PROFIBUS總線的分布式全數(shù)字雙邊剪夾送輥傳動(dòng)控制系統(tǒng)的總體結(jié)構(gòu)如圖1所示,自上而下可劃分為監(jiān)視級(jí)﹑控制級(jí)和現(xiàn)場(chǎng)級(jí)三個(gè)層次。
圖1 雙邊剪夾送輥控制系統(tǒng)的總體結(jié)構(gòu)
2.1 監(jiān)視級(jí)
監(jiān)視級(jí)僅由一臺(tái)研華IPC610型工控機(jī)組成。工控機(jī)作為PROFIBUS-DP 2類主站,配置了通訊處理器CP5613,通過PROFIBUS DP標(biāo)準(zhǔn)協(xié)議實(shí)現(xiàn)與控制級(jí)之間的通訊。監(jiān)視級(jí)不直接參與生產(chǎn)過程的控制,而是通過WINCC開發(fā)監(jiān)控軟件,實(shí)現(xiàn)以下功能:過程監(jiān)視畫面的開發(fā)、8臺(tái)直流電機(jī)的速度和電流數(shù)據(jù)的采集與顯示、控制系統(tǒng)主要參數(shù)的顯示與設(shè)置、系統(tǒng)故障監(jiān)測(cè)、雙邊剪機(jī)組運(yùn)行狀況監(jiān)測(cè)等。
2.2 控制級(jí)
控制級(jí)采用一臺(tái)S7 PLC 412-2DP作為控制主站,是整個(gè)夾送輥傳動(dòng)控制系統(tǒng)的核心。利用STEP7軟件進(jìn)行整個(gè)控制級(jí)的硬件組態(tài)及控制程序的編寫與調(diào)試,主要完成以下功能:
(1) 根據(jù)雙邊剪機(jī)組的工藝要求,控制各夾送輥的運(yùn)轉(zhuǎn)。為保證鋼板在剪切過程中不跑偏,必須確保對(duì)8臺(tái)夾送輥進(jìn)行同步性控制,因此設(shè)置了多種“主從控制”方式[2]。
(2) 完成與主剪控制PLC的信息交換。S7-400 PLC從主剪控制PLC接收夾送輥啟動(dòng)、停止和壓板壓下等信號(hào)。反饋給主剪控制PLC驅(qū)動(dòng)器準(zhǔn)備好、驅(qū)動(dòng)器故障、電機(jī)風(fēng)機(jī)準(zhǔn)備好、電機(jī)風(fēng)機(jī)故障等信號(hào)。
(3) 為監(jiān)視級(jí)采集現(xiàn)場(chǎng)數(shù)據(jù),同時(shí)接收來自監(jiān)視級(jí)的控制指令。
2.3 現(xiàn)場(chǎng)級(jí)
現(xiàn)場(chǎng)級(jí)由8套直流電機(jī)控制柜構(gòu)成。每個(gè)控制柜都安裝了一臺(tái)6RA70全數(shù)字直流調(diào)速裝置和智能分布式從站ET200M。6RA70用于實(shí)現(xiàn)對(duì)驅(qū)動(dòng)夾送輥的直流電機(jī)進(jìn)行速度和力矩控制,而控制柜的開關(guān)量和面板操作及顯示裝置均通過ET200M來控制。6RA70和ET200M智能從站分別通過CBP2通訊模塊和IM153接口模塊,接入PROFIBUS-DP總線,實(shí)現(xiàn)與控制級(jí)PLC的通訊。
3 監(jiān)測(cè)數(shù)據(jù)采集方案
3.1 WINCC通訊原理
WINCC使用變量管理器對(duì)變量進(jìn)行集中管理。變量管理器的任務(wù)是從控制系統(tǒng)(如PLC)中取出請(qǐng)求的變量值。這個(gè)過程通過集成在WINCC項(xiàng)目中的通訊驅(qū)動(dòng)程序來完成。通訊驅(qū)動(dòng)程序利用其通道單元構(gòu)成WINCC與過程處理之間的接口。變量管理器到控制系統(tǒng)的基于硬件的連接是利用通訊處理器(如CP5613)來實(shí)現(xiàn)的。WINCC驅(qū)動(dòng)程序使用通訊處理器向PLC發(fā)送請(qǐng)求消息,然后,通訊處理器將PLC回答消息請(qǐng)求的過程值發(fā)回WINCC變量管理器。WINCC與PLC之間的數(shù)據(jù)交換是監(jiān)控系統(tǒng)的基礎(chǔ)。因此,在利用WINCC進(jìn)行監(jiān)控系統(tǒng)開發(fā)之前必須先進(jìn)行變量組態(tài),確定數(shù)據(jù)采集方案。
3.2 常規(guī)過程變量的組態(tài)
首先在變量管理器中添加SIMATIC S7 Protocol Suite驅(qū)動(dòng)程序,在PROFIBUS通道單元下建立一個(gè)與S7 PLC的連接。對(duì)于常規(guī)的過程變量,如控制系統(tǒng)的故障信息、每臺(tái)電機(jī)的運(yùn)行狀態(tài)以及機(jī)組的工況等信號(hào),由于更新周期比較長(通常不小于500ms),只要進(jìn)行數(shù)據(jù)類型、變量地址等常規(guī)組態(tài)即可,變量管理器自動(dòng)完成對(duì)這些變量的處理,還可以充分利用WINCC強(qiáng)大的過程值歸檔功能進(jìn)行歸檔。
3.3 電流和轉(zhuǎn)速數(shù)據(jù)的高速采集
在雙邊剪夾送輥控制系統(tǒng)的調(diào)試和故障分析過程中,各夾送輥驅(qū)動(dòng)電機(jī)的電流和轉(zhuǎn)速曲線是非常重要的依據(jù),因此要求能夠在上位機(jī)監(jiān)控系統(tǒng)中實(shí)時(shí)監(jiān)視8臺(tái)電機(jī)的電流和轉(zhuǎn)速曲線。為了得到比較平滑的電流和轉(zhuǎn)速曲線,至少需要每20ms采集一個(gè)電流和轉(zhuǎn)速數(shù)據(jù),然而WINCC最短的變量更新周期為250ms,最短的歸檔周期為500ms,顯然常規(guī)的過程變量組態(tài)功能無法滿足電流和轉(zhuǎn)速的高速采集的要求。
為了滿足采集快速改變的過程值或用于組合一臺(tái)設(shè)備的多個(gè)測(cè)量點(diǎn)等場(chǎng)合的需要,WINCC提供了消息幀變量。在自動(dòng)化系統(tǒng)中,多個(gè)過程值可以被寫入連續(xù)的數(shù)據(jù)塊并以消息幀形式發(fā)送到WINCC,存儲(chǔ)在WINCC的原始數(shù)據(jù)變量中。原始數(shù)據(jù)變量的格式和長度均不是固定的,只有發(fā)送者和接收者能解釋其內(nèi)容,WINCC不能對(duì)其進(jìn)行解釋。
利用上述方法,在WINCC上為每臺(tái)電機(jī)的電流和轉(zhuǎn)速分別組態(tài)一個(gè)原始數(shù)據(jù)變量,變量長度為52個(gè)字節(jié)。前50個(gè)字節(jié)依次存儲(chǔ)25個(gè)過程變量值(每個(gè)電流和轉(zhuǎn)速值均占兩個(gè)字節(jié)),最后兩個(gè)字節(jié)存儲(chǔ)一個(gè)標(biāo)志變量,用于指示最新的采樣值在該結(jié)構(gòu)中的存放位置。然后在PLC中使用循環(huán)中斷組織塊OB35,將循環(huán)周期設(shè)為20ms,并為WINCC組態(tài)的每一個(gè)原始數(shù)據(jù)變量分配相對(duì)應(yīng)的數(shù)據(jù)緩沖區(qū)(存儲(chǔ)結(jié)構(gòu)與WINCC中的原始數(shù)據(jù)變量的結(jié)構(gòu)一致)。當(dāng)每次中斷后,PLC從每臺(tái)6RA70上采集一個(gè)電流和轉(zhuǎn)速值,并按時(shí)間先后次序?qū)懭胂鄳?yīng)的數(shù)據(jù)緩沖區(qū),為了區(qū)分每次寫入的采樣值的時(shí)序,需要將最新寫入的采樣值在數(shù)據(jù)緩沖區(qū)的位置保存到最后兩個(gè)字節(jié)。這樣,在WINCC上每隔500ms采集一次原始數(shù)據(jù)變量,而每個(gè)原始數(shù)據(jù)變量中包含了25個(gè)過程值,從而間接獲得了20ms的數(shù)據(jù)采集周期。
WINCC不能直接對(duì)原始數(shù)據(jù)變量進(jìn)行處理,但是可以通過WINCC提供的C腳本編寫用于處理原始數(shù)據(jù)變量的全局動(dòng)作,在該全局動(dòng)作中,調(diào)用WINCC內(nèi)部函數(shù)GetTagRaw()來更新原始數(shù)據(jù)變量,并對(duì)其中的消息幀內(nèi)容進(jìn)行拆包處理,最后將分解出來的電流和轉(zhuǎn)速的采樣值按照特定的格式保存到有關(guān)的數(shù)據(jù)文件中去,為了便于查詢歷史數(shù)據(jù),給每個(gè)數(shù)據(jù)包打上系統(tǒng)時(shí)間戳。整個(gè)全局動(dòng)作的程序流程如圖2所示。