摘要:本文從控制系統結構入手,探討將一個復雜的工業軟件控制系統分解為多個簡單的控制單元的實現方法。對控制單元劃分原則,控制單元的控制字、控制對象的狀態字的定義等進行了初步探討。
關鍵詞:系統結構;控制單元;控制字;控制對象;狀態字
在信息化社會的今天,實現工廠信息化已經很普遍,但工廠的信息化必須基于生產過程的自動化,基礎自動化系統的設計仍然非常重要。在一個工業過程中,工藝流程、設備功能已經確定的情況下,如何規劃制定軟件控制系統實現方案是決定這個控制系統優劣的關鍵,特別是在沒有可直接參考案例的情況下,可能決定了方案是否成敗。
一個復雜的生產流程有眾多的設備參與,每個設備又可能有多個不同的功能,在進行基礎自動化系統架構時,要考慮的有如下三個方面:一是實現設備的功能,二是人機交互能力,三是為實現信息化所需的基礎數據庫。對不同的生產線和企業,后兩項要求不盡相同,但第一項都是必須的。對于一個復雜的生產流程,有順序控制和模擬控制,順序控制保證生產過程的完成,模擬控制一般是為了保證質量指標。模擬控制除簡單的分段控制外,其它如PID控制以及高級的模糊控制等,不宜以簡單的控制單元來劃分。本文針對第一項內容,如何將一個復雜的順序控制系統分解為多個簡單的控制單元進行探討。
1 系統結構的選擇
一個復雜的控制系統通常按模塊化組織程序。筆者通過多年的實踐摸索,在劃分大的模塊結構基礎上,每個模塊再細分為控制單元,為控制單元配置控制字,控制單元按控制字獨立運行。每個控制對象配置狀態字,控制單元加載、加工、釋放被控對象并刷新狀態字信息,作為控制單元間數據接口的載體。控制字及狀態字在系統結構設計階段統一規劃,參與開發的人員按統一的設計要求開發各個控制單元,讀寫控制字和狀態字,使程序設計易于多人合作開發,后期整合。由于每個控制單元和控制對象都有明確單一的狀態信息,使得功能模擬調試、系統測試變得簡單方便。
2 控制單元劃分的原則
劃分系統的控制單元,首先一個主控單元是必須的,需要從結構上保證整個系統完整,其次就是規劃每個具有特定功能的控制單元,一般按如下原則劃分:
(1)每個控制單元具有獨立的功能;
(2)功能動作必須連續完成。動作之間不允許停頓等待,如停頓就會造成設備工作的中斷或故障;如果設備和被控對象允許動作之間等待,就應再細分控制單元;
(3)功能動作沒有分支。如果有分支,且分支與之前的動作間不允許停頓,則分支動作連同之前的動作劃分在一個控制單元中。如機械臂,有三個動作,直行、左轉、右轉,如果允許直行過程中或完成后判斷左轉或右轉,則左轉右轉劃分為單獨控制單元,如在直行前必須明確左轉或右轉,則分為直行左轉、直行右轉兩個控制單元;
(4)外部運行限制條件明確,簡單;
(5)運行結果確定,可識別。為使控制系統完整,一般還需要一些輔助單元,如報警、故障處理等。
3 控制字、狀態字的設計
控制字相對于控制單元,控制單元的控制字包括如下標識:加載新控制對象,單元控制功能啟動,單元內部每個獨立動作的開始、過程中、完成,全部功能的完成,控制對象的釋放、控制單元的故障狀態等。控制字的啟動標識由前序控制單元的完成標識刷新。
狀態字相對于控制對象,控制對象狀態字中包含如下信息:本身的編碼,需要進行的加工程序,已經完成了哪些加工程序,正在進行哪些加工程序,哪些加工程序沒有進行,在全部生產過程中的位置。如果控制對象在某個環節允許重復加工直至合格或剔除,則還應含有再加工或排出加工序列的信息。控制字、狀態字盡可能使用二進制字或字節,更有利于監控和程序運算 。
除了控制字、狀態字,各個控制單元的工況信息、控制對象的質量指標信息等也應進行檢測記錄,作為質量檢測的標準,為順序控制的進行提供必要的限制。
4 控制系統的組織
整個控制系統的組織運行靠主控單元協調和控制字狀態字信息的傳遞。
作為一個生產控制流程,不斷的有生產對象被加工完成輸出,同時不斷有新對象進入流程。當一個對象進入流程等待隊列時,就開始賦予狀態標識,等待加工。
流程中控制單元的運行順序有兩種基本的方式,一是串行控制,一是并行控制。串行控制就是相關控制單元施加于控制對象的動作功能按預定順序完成,前后相關。并行控制是具有相同功能的控制單元同時工作,對幾個控制對象同時動作。這兩種控制方式的選擇,取決于設備功能,看設備是否可以對幾個對象同時加工,或幾個同樣功能的設備同時工作。
串行控制的各個單元,接收上一個單元發來的啟動標志,啟動本單元功能,對控制對象進行加工,加工過程中刷新自己的控制字,自我調控單元功能完成。達到預期的控制結果時,將加工結果寫入控制對象的狀態字中,釋放對控制對象,清空自己的控制字,準備接收下一個控制對象。
當幾個控制單元并行控制時,某個控制單元空閑下來時,再次啟動不由上一個環節傳遞控制字標識,而是捕捉進入生產流程中特定對象群體(或全部對象)中每一個對象的狀態信息,找到第一個滿足需要被本單元加工要求的對象,加載該對象并開始工作,直到工作完成,釋放這個對象。因此,并行控制的幾個單元可以同時工作。
有些生產流程允許控制對象重復加工或作為廢品剔除,重復加工則根據對象的狀態字信息,自動返回等待序列,再次加工,剔除則進入剔除控制單元,離開生產線。
當控制字狀態字設置使用充分合理,各個控制單元之間通過控制字和狀態字傳遞信息,整個控制系統可以高效有序的運轉,這時,主控單元的作用主要是形式上將各個控制單元結合起來,保證結構完整。出現特例時,由主控單元處理。
5 控制系統的優化設計
在設計控制系統結構時,盡可能多使用并行控制方式。
串行控制方式下,一個控制環節停止工作,至少前序流程將停止工作。而并行方式,僅僅是降低了生產效率,系統流程不會停下來。很明顯,采用何種控制方式更多的受設備功能限制,但在設備條件允許的情況下,軟件系統應使設備最大限度發揮能力。
一個控制系統設計,應滿足較好的維護、監控性能,以及良好的運行穩定性能。盡可能細致的劃分控制單元并采用控制字狀態字的方式,可以做到全程監控,及時直接的發現生產流程中存在的問題。以控制字狀態字作為各單元間接口數據,使的各控制單元的工作處于滿足條件即啟動,加載控制對象,完成工作即釋放對象這樣一種狀態,條件明確單一,使得系統測試簡單有效,最大限度發現并減少影響系統運行的因素,提高控制系統運行穩定性能。系統需要時,全流程控制對象狀態字的應用也為高級系統提供了全面的實時數據。
6 實施案例
按照上述控制系統設計原則,我們設計了高爐上料控制系統。圖1所示是一個高爐上料系統槽下部分的示意圖,在這個系統中,存放在料倉中的多種原料按照一定的配比和順序分批次循環輸送到高爐頂部。
圖1 高爐上料系統示意圖
a、b、c等多種含鐵原料存放在各自礦倉中,d、e為焦炭(燃料)存放在焦炭倉中。在高爐上料時以料批循環的形式周期上料,每批料可以是礦批(以O表示)或焦批(以C表示),其中礦批由a、b、c三種料以每批不同的配比組成,焦批由d或e或d、e混合組成,一個上料循環一般由至少四批料組成或更多,如兩個礦批插入一個焦批,再接續另外兩個礦批,一個焦批,以符號表示為OOCOOC。料批組成、排放順序及配料重量等信息存儲在備料表中,備料表設置料批指針,隨料批循環前移返回。
上料時,總要提前準備好將要輸送的料批,一般提前備好兩個焦批兩個礦批。準備礦批時首先將所需a、b、c料種按配料重量排放到各自的礦稱斗,下部的中間礦斗一旦有排空的,立即將a、b、c料種按規定的順序排放到空的中間斗中,等待排放。焦批的準備少一個環節,直接排放到焦炭稱量斗等待排放。按料批循環需要上某批料時,打開對應的礦中斗或焦稱斗,將料排放到皮帶上輸送至高爐頂部。為加快上料速度且不造成料批的混淆,在上料皮帶上,上一批料離開料斗一段距離后,下一批料就開始排放。
在設計這個系統時,每個礦稱斗、焦稱斗、中間斗的裝料、排料控制設計為獨立的控制單元。每批料作為控制對象,其中礦批進入到中間斗前,每個料種又是獨立的控制對象。向稱斗中備料的計量是模擬量控制,參與稱斗的裝料控制。
為控制循環上料,設計有專門的指針控制單元。
稱斗裝料控制字有允許裝料、開始裝料、正在裝料、裝料完成、故障狀態等。
稱斗排料控制字有允許排料、開始排料、正在排料、排料完成、故障狀態等。
中間斗的裝料控制字有允許裝料、開始裝料、正在裝料、料滿、故障狀態等。
中間斗的排料控制字有允許排料、開始排料、正在排料、料空、故障狀態等。
料批的狀態字有料批號、允許準備、料在稱斗中、中斗中、皮帶上的位置,以及料正在排放到上述三個設備過程中等信息,附加的信息還有配料種類、重量、排放時間等。
新的一批準備備料時,所需礦料和焦炭以新的控制對象進入備料序列,從備料表中讀取備料信息寫入各自料種狀態字中。包括料批號、料種類別、重量等。隨著備料進行,使用的礦倉號、中斗號,排放時間等都是狀態信息。
為了加快備料進程,在不同料倉中的同一種料的控制是并行控制,其它流程為串行控制。通過控制字及狀態字,各控制單元協調工作,主控單元從結構上將各個控制單元及外圍設備的控制組織在一起,并對預設的特例情況如料批表的變化,人工干預等進行處理。
胡寶成(1967-)
男,副高工,主要從事冶金自動化系統的設計開發,曾獲中鋼協科技進步二等獎。
摘自《自動化博覽》2012年第四期