但斌斌,肖林偉,陳奎生,熊 凌,容芷君
(1.武漢科技大學 機械自動化學院,武漢 430081;2.武漢科技大學 信息科學與工程學院,武漢 430081)
鐵水脫硫是煉鋼生產過程的重要環節,目前應用較多的有機械攪拌法和噴鎂脫硫法等,其中機械攪拌法(KR脫硫)具有較容易實現深脫硫,及設備費用較低、處理能力較強等優點,目前已廣泛應用于各大鋼廠[1~4]。鐵水KR脫硫是一個復雜的過程,人工參與的因素較多,自動化程度較低。基于此,研究自動脫硫控制系統,實現脫硫過程的標準化、自動化有著十分重要的意義。
鐵水KR脫硫自動控制系統,通過采用西門子PRODAVE MPI/IE V6.0模塊(下文提及Prodave均指此版本),解決了上位機控制軟件與PLC的通訊問題,進而實現了對整個脫硫過程的自動控制;上位機軟件采用高級語言(c#、c++)編寫,主要用于對脫硫過程的監控,及實現報警提示、報表輸出等功能;PLC端則負責具體動作的執行、設備狀態信息的反饋等。
KR脫硫自動控制就是在已知鐵水成分和目標硫的要求下,自動計算出需要的脫硫劑量、攪拌時間及攪拌轉速,然后自動備料、自動下料及自動攪拌,在盡可能少的人工干預下,完成脫硫作業。脫硫主要設備如圖1所示。

圖1 脫硫主要設備示意圖
一個完整的自動脫硫過程如圖2所示。

圖2 自動脫硫流程圖
作為一套完整的自動控制系統,它不僅要求能對整個脫硫作業進行正確的控制,還要求能夠正確處理一些異常情況,如鐵水在攪拌前其前硫已符合目標硫要求,則提示操作人員無需進行脫硫作業;同時還要求能實時查看每個流程對應的設備狀態信息,只有在工藝條件(脫硫參數)和設備條件(設備狀態)都達到要求時才能進行自動脫硫。在進行脫硫作業過程中,系統還需實時顯示當前的一些狀態數據,如當前實際攪拌速度等,同時在操作過程中和操作結束后能查看當前罐和前一罐鐵水的脫硫信息。系統還需設定若干范圍值,如攪拌頭最大下降深度等,防止人工誤操作。最后,還需將這些脫硫工藝信息和設備信息都存入后臺數據庫。
PRODAVE MPI/IE V6.0模塊是西門子提供的用于PC與西門子PLC通過工業以太網通信的軟件工具包,通過該工具包可以讀取和寫入PLC中的數據,這為利用高級語言開發控制系統提供了便利[5,6]。
1)設置PG/PC接口

圖3 設置PG/PC接口
打開控制面板,雙擊“設置PG/PC接口”圖標,彈出如圖3所示界面,在上述界面中選擇TCP/IP對應的網卡,然后點擊確定按鈕。
2)編碼實現[5]
unsigned short ConNr = 0;//設置連接號,不同設備連接至同一PLC時需設置不同連接號
char AccessPoint[] = {"S7ONLINE"}; //連接參數中的一個,通過以太網連接此參數不需更改
CON_TABLE_TYPE ConTable[MAX_CONNECTION+1] = {0};
CON_TABLE_TYPE * pConTable = ConTable;
unsigned short ConTableLen = sizeof(ConTable);
// 開始設置連接到的PLC的IP,本機必須與PLC在同一網段
pConTable[ConNo].Adr.Ip[0] = 192;
pConTable[ConNo].Adr.Ip[1] = 168;
pConTable[ConNo].Adr.Ip[2] = 0;
pConTable[ConNo].Adr.Ip[3] = 1;
pConTable[ConNo].AdrType = 2; // 通過以太網連接時此參數設置為2
pConTable[ConNo].SlotNr = 2; // PLC中CPU所在槽號
pConTable[ConNo].RackNr = 0; // PLC中CPU所在架號
LoadConnection_ex6 (ConNr, &AccessPoint,ConTableLen,pConTable);
SetPassword_ex6(ConNo, pwd); //如果PLC有寫保護,需要設置密碼
SetActiveConnection_ex6 (ConNr); //激活連接,為讀寫數據做準備
//讀取DB1.DBB0
unsigned long amount = 1; //設定的讀取長度
unsigned char pReadBuffer[1];//讀取內容緩存,DB1.DBB0中的值讀取至此
unsigned long pDatLen[1]; //實際的讀取長度
db_read_ex6 (1, 0x02, 0, &amount, 1,pReadBuffer, pDatLen); //讀取函數
UnloadConnection_ex6(ConNr); //關閉連接
1)對時間類型的傳送封裝
時間類型是PLC中使用較廣泛的一種數據類型,在高級語言中并無與之對應的數據結構,特別是S5Time類型,使用它時要注意時基的選擇,因此需要設計一種新的數據結構來處理它們。
struct PlcTime
{
bool is_negative;//TIME
u_short day; //TIME
u_short hour;
u_short minute;
u_short second;
u_short millisecond;
};
以上結構體可供傳送S5Time、TIME和TIME_OF_DAY類型使用,當需要傳送時間類型時,先初始化一個PlcTime,然后賦值,再將其傳遞給相應的接口函數。
2)對數據塊Bit位訪問封裝
在Prodave中沒有對數據塊Bit位的訪問函數,但在實際應用中常常需要對它進行操作。讀取時,先讀出該Bit所在字節,然后檢查所在位可以得到其值;寫入時,先讀取字節,然后更改對應位,再寫入字節,整個操作過程需要使用臨界區來確保操作的原子性。
//對數據塊Bit位的讀取操作
int PlcAccess::Plc_Read_DataBlock_Bool(u_short BlkNr,u_short StartNr, u_short BitNr, bool*pReadBuffer, u_long *pDatLen)
{
DataUnit unit = unitBYTE; //按byte取數據
u_long amount = 1;
UCHAR chr = 0;
//讀取一個byte
RetValue = Prodave_db_read_ex6(BlkNr,unit,StartNr, &amount, 1, &chr,pDatLen);
*pReadBuffer = (bool)((chr >> BitNr) & 1 ); //獲取對應的bit位
return RetValue;
}
3)對數據塊中連續地址數據讀取封裝
在讀取PLC數據時,特別是讀取數據塊時,一些數據往往是連續存放的,如果逐個讀取可能會影響效率,這時可以把這些數據看成一個整體按字節讀取,然后對讀取的內容按各個數據的類型分割而得到各個具體值。
本系統需要采集脫硫工藝參數則要求能訪問鐵水成分數據庫,同時還要通過工業以太網連接到PLC,其網絡連接如圖4所示。

圖4 系統網絡連接圖
自動脫硫系統終端機采用雙網卡機器,其中一張網卡連接至生產信息系統網絡中,主要用于讀取鐵水成分和將脫硫生產數據實時發送至后端脫硫數據庫中;另一張網卡通過工業以太網連接至PLC,用于與PLC進行數據通訊進而控制脫硫作業。PLC上則連接著脫硫本體設備上的各種傳感器和執行機構,用于操作具體的脫硫作業。
大部分的實際控制程序都位于下位機中,在下位機程序中將各種需求封裝成功能及功能塊,然后通過指定數據塊中的信息控制各個功能及功能塊的執行。
1)設備狀態部分
設備狀態是設備運行情況的反應,實時查看并顯示相關重要設備狀態十分重要。其主要包括:鐵水罐鎖定狀況、攪拌頭歸位狀況、攪拌頭上升下降狀況、攪拌轉速、攪拌電流、攪拌器高度、料倉中料量、溜槽上升下降狀況、備料進行狀態及下料進行狀態等。通過一個功能塊讀取相應的傳感器信息,然后將這些信息匯總至指定的數據塊,這樣上位機中的程序就能準確讀取。
2)脫硫工藝數據部分
脫硫工藝數據是進行脫硫作業時工藝上需要的參數,其包括:鐵水稱重、溫度、鐵水成分(主要是S、Si),及計算所得到的脫硫劑量、攪拌時間、攪拌轉速及插入深度。通過一個功能塊先將相關參數轉移至指定數據塊,然后上位機程序讀取這些參數并計算出其他的參數,再將計算出的值寫入PLC指定數據塊中。
3)控制數據塊部分
通過寫入相關數據到控制數據塊,指令PLC執行相應的操作,其包括:攪拌頭下降控制、攪拌頭上升控制、自動脫硫開始、自動脫硫結束等。該數據塊對整個自動脫硫作業起著至關重要的作用,因為它控制著其他操作的執行。

圖5 控制系統整體架構圖
這三者及其與上位機程序的關系如圖5所示。
上位機中的脫硫控制程序通過與三個數據塊的數據通訊,實現對整個脫硫作業全過程的監視和控制。
作為一套工業控制系統,必須考慮安全性設計。在系統架構階段就必須分析人機安全交互、安全設計成本等,在綜合考慮這些因素后,必須設計冗余、故障降級運行等模塊[7]。
異常處理是此系統一個很重要的功能,異常可以分為工藝異常和設備異常兩類。工藝異常除了包含前面提及的鐵水成分對比異常,還包括鐵水成分無法獲取、稱重及溫度超出正常值、無法獲取鐵水液面高度等,出現工藝異常時系統告知操作人員問題所在,讓其排除錯誤,錯誤糾正后系統無需人為干預可繼續順利運行。設備異常是在脫硫作業過程中設備出現故障,其包括攪拌頭動作異常、備料下料異常等,當出現設備異常時彈出高級別的警告信息,同時列出對應流程的設備狀態信息;一般出現設備異常時,若在執行自動攪拌則停止攪拌,并將攪拌頭及其他設備歸位,待故障排除后需重新通過程序下達自動脫硫指令系統才能繼續運行。
在實際開發和運行中,得到了以下經驗和啟發:
1)數據塊中的數據盡可能地連續存放,便于上位機程序高效讀取。
2)邏輯操作盡可能地移到下位機程序中,讓上位機程序關注控制部分和報表功能。
3)脫硫現場環境惡劣,程序中應盡可能地依賴穩定性信號。
基于Prodave的鐵水KR脫硫自動控制系統綜合了高級語言開發上位機程序的便利性和PLC梯形圖語言開發邏輯模塊的可理解與可維護性,解決了實際生產中工藝數據與設備信息難以有效結合問題,實現了鐵水KR脫硫過程中的自動化。本文闡述的脫硫自動控制系統已用于實際生產環境,使脫硫作業向標準化、自動化邁進了一步。
[1] 張茂林, 徐安軍.KR法與噴吹法在鐵水脫硫中應用的比較[J].煉鋼, 2009, 25(5): 73-77.
[2] 常旭.近幾年我國鐵水脫硫預處理的發展及應用[J].煉鋼, 2006, 22(5): 52-5559.
[3] 劉炳宇.不同鐵水脫硫工藝方法的應用效果[J].鋼鐵, 2004,39(6): 24-27.
[4] 蘇天森.中國鋼鐵科技創新與鐵水預處理技術的發展[J].鋼鐵研究學報, 2006, 18(12): 1-5.
[5] Siemens.PRODAVE MPI/IE V6.0 Manual[Z].北京: 西門子(中國)有限公司, 2005.5.
[6] 易定忠, 嚴宏志, 于偉, 等.基于MPI的往復壓縮機監控系統通信技術研究[J].制造業自動化.2007, 29(3): 61-64.
[7] 韓江洪, 劉征宇, 劉曉平, 等.工業控制安全研究綜述[J].合肥工業大學學報(自然科學版).2010, 33(2): 161-168, 173.