王 聰
(北京中燕建設工程有限公司,北京 100000)
丁基后處理一、二線所用控制系統為1998 年WE公司提供的西門子S5-135U 系列,該系統為西門子早期產品,現已使用了20 年之久,在近幾年的系統維護過程中存在硬件老化、I/O 卡件故障率高、沒有備件支持等問題[1]。控制系統故障已經成為影響裝置平穩運行的潛在問題,為保證丁基后處理能夠穩定運行,維護人員決定將西門子S5 控制系統升級為西門子S7-400,對其相應硬件、軟件進行升級,控制程序進行轉化。
后處理工段的主要工藝流程是接收來自膠粒水罐的膠粒水,依次通過振動篩、SDU 單螺桿擠壓機、DWD雙螺桿擠壓機及TCU 進料輸送機,脫除膠粒中的水分,達到工藝要求后經過壓塊機壓塊、薄膜包裝機包裝形成最終的產品。生產線相關的設備詳見表1。

表1 現場設備一覽表
聯鎖主要分為工藝聯鎖和設備聯鎖2部分。工藝聯鎖主要分為3個區域,當3個區域聯鎖全部投用時,流程前后所涉及的設備之間有啟停保護;當3個區域聯鎖斷開時,單臺設備可以單獨進行調試。為保護設備,每臺設備配有相應的溫度、壓力、故障信號等方面的聯鎖測點,當工藝操作的參數超過聯鎖設定值或設備發生故障時設備自動停運,并進行報警提示,所有聯鎖邏輯均在原PLC中實現。關鍵設備的聯鎖設定情況詳見表2。

表2 DWD 雙螺桿和切刀啟停聯鎖條件關鍵設備聯鎖設定情況
西門子S5系統升級為S7系統,硬件部分可以直接使用S7現有硬件進行代替,程序部分升級改造有2種方案。
第一種方案是借鑒以往的操作經驗,并結合現有程序的基礎上重新設計程序。該方案的優點是利于以后設備維護和系統升級改造,可以將系統完全進行國產化;缺點是需要提供詳盡的工藝條件以及設備聯鎖保護方案,設計程序所需的時間比較長。
第二種方案是利用現有西門子軟件STEP7 中自帶的程序轉化功能進行轉化。這種方案的優點是轉化效率高,用時較短,程序相當于完全復制,出錯幾率較低;缺點是工程人員對轉換的內部程序不熟悉,進而造成調試過程耗時較長,當發生故障時不能及時找出切入點,發現問題根源。
由于此次升級改造是在大檢修期間進行,沒有足夠的人力和時間對程序進行重新設計,故采用第二種升級方案,通過軟件將S5 系統程序直接轉化為S7 系統可用源文件,其中現場電纜與接線端子原封不動。
硬件部分采用西門子S7-400H 系列PLC 控制系統硬件替換現有S5 系統,取消電氣配電間內S5 系統的遠程I/O 機架,對應的I/O 點通過硬接線接入新系統;保留配電間內S7-300 作為TCU 控制單元,取消目前S7-300 配套操作的觸摸屏,其功能在新的操作系統中實現。原控制柜內的急停控制器、DYNISCO 信號轉換器、頻率變送器和IBS 信號調節器等部件均使用其升級產品進行替代如圖1 所示。

圖1 PLC 系統配置圖
S5 系統與S7 系統在編程語言、產品框架、塊類型和尋址方式上均有所不同,這就要求不僅要對現有系統的編程習慣、編程語言、編程思路有具體深入的了解,同時要能找出S5 系統升級至S7 系統后的替代邏輯塊,使替代邏輯塊能夠完全實現相同的功能。程序部分的升級轉換大致需要以下幾個流程。
首先,必須了解后處理生產線的工藝流程、具體的操作步驟,以及詳細的設備聯鎖情況,只有掌握了這些內容,程序轉化完畢后,才能夠對程序高效準確地進行分析和調試。
其次,掌握轉換后的S7 程序的邏輯塊與S5 原有邏輯塊的對應關系,如OB 與OB 組織塊對應,S7 中FC 分別對應原S5 程序中FX、FB、PB 功能塊,DB 數據塊與原S5 系統中DX 數據塊對應等;利用S5 文件轉換器完成程序轉換后,應逐項檢查信息情況,如出現錯誤信息,應將其錯誤信息修改完畢后才能有效完成PLC 程序的轉化。
最后,與上位操作軟件Intouch 之間建立通信。原操作系統所用上位軟件為Intouch9.5 版本,通信協議為3964R,升級后上位操作軟件升級為InTouch 2014 R2版本,與PLC 之間通過DA Server 進行數據的傳輸。其中,在數據傳輸過程中,數據地址格式會有一定的變化。
程序轉換主要是利用STEP7 軟件自帶的“轉換S5文件”程序,打開S5 系統的程序文件,點擊“開始”按鈕,進行程序轉換,轉換過程中會及時提示錯誤信息和警告信息,轉換完成后生成3 個文件,分別是工程文件、源文件、故障文件。程序轉換軟件及生成的源文件如圖2 和圖3 所示。

圖2 程序轉換

圖3 生成的3 個文件
打開SETP7 軟件后,在Sources 源文件夾中插入轉換過來的源文件,打開源文件后進行編譯,編譯成功無錯誤后自動生成相應類型的功能塊。本次程序轉換在轉換和編譯過程中基本都是正確的,但是S5 系統中部分OB 塊在S7 系統中無法使用,需要用相同功能類型的塊進行替換。源文件的編譯過程如圖4 所示。

圖4 源文件編譯
與上位軟件的通信主要是通過DB 數據塊中定義的數據表來建立的,S5 程序中變量名是使用DB 數據塊中設置的名稱來定義的,如圖5 所示,當轉化為S7后需要將其修改為名稱所對應的地址來進行通信。由圖5 可知,S5 中DB69.DW050 在S7 中對應的地址應該修改為DB69.INT100。

圖5 數據塊地址表
所有邏輯塊全部使用STL 編程語言完成,極少部分可以轉化為LAD(梯形圖)來顯示,這就需要技術人員熟練掌握相關編程語言,才能真正實現其系統升級后的功能。
轉化完成的程序只有I/O 地址表,所有的中間變量以及與上位軟件之間的通信變量均沒有描述,中間變量表的缺失問題對程序的調試和分析造成了極大的困難。
由于S7 使用的循環中斷組織塊是OB32、OB33、OB34、OB35 這4 個,轉化完成的程序中所采用的OB31、OB36 循環中斷組織塊無法使用,導致系統下裝后CPU 無法正常啟動,需要使用現有的OB32 替換OB31,OB33 替換OB36,以保證系統正常運行,S7 中可用的循中斷組織塊如圖6 所示。

圖6 循環中斷功能塊
S5 的數據結構與S7 基本類似,但是表述方法不同[2]。例如:在S5 中KF 類型相當于S7 中的INT;S5 中的KG 類型相當于S7 中的REAL 等[3]。
由于S5 系統中沒有集成好的庫文件,故S5 對于模擬量的測量中模擬量信號的讀取、輸入信號低于2 mA時觸發的輸出開路報警以及輸入信號為0~4 mA 時故障值的設定等,這些功能均需要通過自定義的FC 塊功能來實現。其中開路報警的檢測是通過將輸入信號對應的碼值與特定的檢測碼值比較來實現。由于S5 系統與S7 系統碼值范圍不同,而且S7 系統中模擬量的讀取通過直接調用FC105 邏輯塊即可完成;所以模擬量數據的采集程序包括信號開路報警的檢測以及輸入信號為0~4 mA 時功能塊的輸出均需要重新設計[4]。
此次系統升級改造中每條線有5 個控制回路需要通過PID 功能塊來進行調節,而S5 系統中沒有PID 功能塊,參數的調節通過自編程序實現,比較繁瑣,而升級后的S7 系統內集成了PID 功能塊可以直接進行調用;需要注意S7 中PID 功能塊中P、I、D 參數時間默認的時間單位是ms,而S5 系統中自編程序默認的時間是s。
西門子PLC 程序進行在線升級,通過自動轉換軟件轉換時可以按照以下步驟來實現。
第一,對于S5 的PLC 程序不需要全部理解得太透,具體的深入程度看個人的能力、愛好、工期的要求,起碼的了解程度是:首先了解原程序的程序結構,各個功能數據塊的調用關系;其次,能知道程序中所有程序塊的作用,進口生產線的程序中一般程序塊都很多,有系統的,有自己編的,可以不去知道每個語句的含義,但是必須了解每個塊的用途;最后,弄清各個DB 塊的作用,哪些是系統數據塊,哪些是用于和HMI交互的,哪些是用戶數據塊,了解了這些方便于后期程序的修改。
第二,使用S7 自帶的S5 到S7 的轉換工具:con verting s5 files,使用此工具自動轉換的正確率為70%左右,其余的30%則不能正確地轉換過來,這時候就需要人工檢查修改,轉換過程中,錯誤的部分會有提示,根據提示去逐一檢查,找到錯誤的地方后,對照S5的程序,用STEP7 的語句重新編寫即可[5]。
本次將控制系統由西門子S5 升級至S7,優化了軟件、更新了硬件,進一步完善了控制系統。通過程序轉化、硬件升級、上電調試、程序測試及模擬開車等過程,對整個系統進行了詳細的測試,檢修完成后2 條生產線已經全部開車運行。運行過程中裝置運行平穩、系統運行穩定,此次升級改造圓滿完成。