何斌全,黃勁松,李瓊峰,黃振林,郭宏海
(1.湖南柿竹園有色金屬有限責任公司, 湖南 郴州市 423037; 2.杭州和利時自動化有限公司, 浙江 杭州 310018)
集控平臺是將礦石開采、加工過程中具有感知、監控能力的各類采集傳感器和控制器進行聯網,采集其生產過程中的數據,再運用數據融合、智能分析等技術不斷將分析的結果融入到金屬礦生產過程的各個環節,從而大幅提高采礦、選礦的工作效率,改善礦石分選質量,降低成本和資源消耗,最終實現將傳統的礦石生產方式轉化為智能化方式。
柿竹園金屬礦集控平臺數據接入過程中,存在以下2個問題:設備、測點變化時系統無法自動識別;一部分測點在設備層、監控層、執行層的信 息已經不一致,導致很多功能無法使用。為解決上述問題,采用一種新的數據接入方式——即插即用,進行技術研究和設計。功能主要包括:全面感知、實時采集和規范化集成,用數字化和可視化方式呈現;統一生產數據平臺和金屬礦信息模型;基于標準通信協議解決設備自動接入網絡,實現設備自描述、自接入,做到系統自發現、自組態、“零”配置[1]。
當外部設備增加、拆除時(要求該設備具備自描述能力),系統能自動偵測、識別并配置系統資源;不需要重新組態,或僅需要很少量的配置即可完成設備的維護工作。如在礦山自動化系統建設、生產和運維過程中,系統能夠主動發現生產現場新安裝或拆除的設備(如移動變電站),并根據設備上送的自描述配置信息動態分配設備地址,自動識別設備上送的遙測、遙信等實時數據,并自動更新拓撲線路。
(1)即插即用的設備應支持自描述,設備之間支持互操作。
(2)SCADA系統對設備自動掃描、識別和連接。
(3)SCADA系統對設備的信息模型自動匹配。
(4)SCADA系統對接入的設備具備四遙功能。
(5)SCADA系統可接收設備的事件和日志,并存入系統[2-3]。
(1)各EIP子網通過中繼器或網關設備組成域,域內各EIP設備支持互操作,域內各節點可刪減和擴充。
(2)工程師站:組態工具解析EDS文件,創建設備模板及其對應的設備實例。
(3)通信站:EIP通信協議站位于SCADA的FEP EIP驅動中,負責和域間的EIP設備通信,遍歷、掃描網絡中的設備。
(4)實時服務站:實時服務站運行實時庫服務,服務在啟動時負責在內存中創建設備實例,且對實例進行綁定管理,構建拓撲信息。
(5)操作站:SCADA操作站上提供EIP設備的操作面板和參數窗口,可對EIP設備進行監視和控制,動態展示設備拓撲結構及設備的運行狀態[4]。
1.2.1 技術架構
即插即用相關組件與平臺之間的關系(紅色部分)見圖1。

圖1 即插即用相關組件與平臺之間的關系
(1)EIP驅動。設計FEP驅動程序實現和EIP設備的通信,該驅動程序功能設計包含:①驅動配置,FEP組態工具提供組態界面,可配置訪問方式、采集周期、用于與實時庫交互信息的數據點;②識別設備過程,通過發送ListIdentity命令,周期檢測目前網絡中存在的EIP設備,根據掃描情況,將設備標識信息(制造商、類型、型號、序列號、版本)和狀態信息打包上送至在線對象管理插件;③數據采集,解析從實時庫服務下發的控制信息字符流,向設備發送控制;從設備采集實時參數,構建信息字符流,向實時庫服務發送;④與實時服務交互,通過組態定義的字節流類型的數據點,傳送預先定義好格式的字節流;⑤通信及鏈路維護,實現EIP通信模型(UCMM、連接管理對象、標識對象、路由對象、端口對象等),負責掃描物理網絡中的設 備,負責建立、維護和釋放與各設備的鏈路[5]。
(2)對象管理插件。對象管理插件分為在線部分和離線部分,離線部分作為數據庫組態工具的插件來實現,集成EDS解析器功能,通過解析EDS文件,自動創建設備模板;在線部分作為實時庫服務的插件,被實時庫服務運行時加載,動態維護設備實例和實際設備的映射關系,構建拓撲信息和位置信息,提供訪問接口。
(3)即插即用HMI組件。以HMI組件的方式設計和實現,圖形打開時加載該組件,功能設計包含:圖中構建設備的拓撲圖,更新設備的運行狀態;提供操作面板,執行遙控、遙調命令;提供參數窗口,展示設備遙測、遙信信息。
1.2.2 功能架構
即插即用相關組件的功能架構見圖2。

圖2 即插即用相關組件功能架構
驅動框架對象:繼承于驅動框架基礎類,實現主板、端口、設備相關功能。
UCMM對象:用于建立、斷開驅動與EIP設備的連接。
連接管理對象:用于建立、釋放和維護與指定EIP設備的鏈路。
消息路由對象:用于轉發收到的EIP數據報文,將其發送給最終接收者。
以太網接口對象:用于管理通信所使用的以太網配置信息及分配網絡資源。
應用對象:用于描述當前的EIP驅動對象。
設備管理對象:用于將當前在網絡中掃描到的設備的標識信息和狀態信息打包傳遞給通知管理對象。
通知管理對象:用于接收設備管理對象上送的數據包,然后將其傳送給在線對象管理插件。 EDS解析器:用于解析EIP相關的EDS文件。 模板管理(離線部分):根據EDS文件自動創建設備模板。
實例管理(在線部分):動態維護設備實例和實際設備的映射關系。
拓撲管理:根據設備實例的映射信息和設備的連接參數信息、位置參數信息,構建設備間的拓撲信息和位置信息。
數據處理:用于打包或解析與FEP進行交互的字節流信息。
圖元管理對象:獲取實時庫中的設備實例信息,動態創建、管理、銷毀對應的圖符對象,然后在HMI圖形頁面中顯示。
配置界面:提供EIP設備操作面板,執行遙控、遙調操作;提供設備參數窗口,展示遙測、遙信信息;獲取在線對象管理插件提供的設備間的拓撲關系和位置信息,在HMI頁面上進行繪制[6]。
離線對象管理插件包含EDS解析器、模板管理兩部分,兩者之間的關系見圖3。

圖3 離線對象管理插件
2.1.1 EDS解析器
EDS文件由設備供應商提供,用來描述設備的版本信息、類型信息、設備內部的對象信息、參數信息、連接信息等,文件內部的數據格式類似于INI配置文件,CIP規范定義EDS內容分段書寫,各段代表不同的信息內容,有的段信息獨立,而有的段和其他段又有關聯,所以在設計解析器時,需要考慮各段的解析方法、解析后所構建出的對象間的關聯關系以及對外部提供的訪問接口。
CEDSInterpreter:EDS解析器類,提供外部可訪問的接口,管理內部對象,CEDSInterpreter使用單例模式實現。
CEDSFileReader:讀取EDS文件內容,將段信息分隔,以便下一步解析使用。
CEDSNode:段信息解析基類,子類實現對不同類型段的解析方法。
CFileNode:用于解析文件信息段。
CDeviceNode:用于解析設備信息段。
CParamNode:用于解析參數信息段。
按照CIP規范定義的段類型依次實現,在此不再一一敘述。
CEntry:配置信息段中的鍵值對信息。
2.1.2 模板管理
模板管理用來從EDS中獲取解析信息(段及段內的條目信息),然后調用平臺數據庫組態工具提供的數據接口,創建對應的設備模板(包括對象屬性及子對象),新創建的模板按照制造商、版本、種類、型號信息進行區分。
數據庫組態中定義的設備對象、子對象以及屬性的結構應和EDS中定義的對象信息保持一致。
設備對象:EDS文件中非“Object Class”類型的字段;設備子對象:EDS文件中“Object Class”類型的字段;設備屬性:Param定義的相關信息或必要的其他參數信息。
CInstanceManager:管理組態過程所有動態創建的EIP設備相關對象實例,提供外部可訪問的接口,CInstanceManager使用單例模式實現。
CInstanceCreater:用于創建指定類型的實例,提供虛函數。
CDeviceObjCreater:創建設備類型的實例。
CAccessAdapter:用于訪問平臺數據庫的適配器類,使用抽象方法。
CAPIAdapter:使用平臺提供的API接口進行數據訪問。
目前V4平臺尚未提供創建設備模板的接口,可按照以下步驟實現:按照V4平臺定義的模板結構的格式,創建CSV格式的模板文件;調用平臺提供的導入模板文件的方式在組態工具中生成。
2.1.3 FEP組態
FEP服務和實時庫服務之間的交互通過預先定義的FEP設備數據點實現,在離線組態工具中組態一個IO站點,定義一個FEP設備,該FEP設備對應一個EIP主站,無需配置設備地址、端口等,但需要配置掃描周期;在該設備中定義一個字節流類型的數據點,FEP服務通過該數據點將掃描的設備信息、得到的設備參數信息、下發控制的返回信息等按照指定的格式打包,然后傳遞給實時庫服務的在線對象管理插件,對象管理插件將該數據包拆包,然后做后續處理,反向的數據流向和處理方式與正向雷同[7]。
2.2.1 實例管理
實例管理用來動態維護實時庫預分配的實例和網絡中實際設備的映射關系,從而為外部提供當前可供訪問的實例對象信息。在線對象管理插件以平臺實時庫插件的方式提供,在插件加載的配置文件中配置過程調用接口。
綁定和解除綁定的機制:
(1)實例管理組件獲取當前實時庫中所有EIP類型的預置設備實例,分類型進行管理。
(2)FEP驅動端上送當前網絡掃描的設備全列表及相應狀態信息,需包含設備唯一標識信息(如設備序列號)和設備制造商及類型信息。
(3)實例管理組件根據上送的設備全列表信息和當前的實例映射表進行對比,如果未發現(設備標識信息數據點內容為空)則新分配一個實例(用得到的設備信息初始化相關數據點),如果發現則更新設備的運行狀態。
(4)當前的實例映射表中如果未在上送的設備全列表信息中出現,則刪除該實例中設備的序列號等信息,解除綁定。
2.2.2 拓撲管理
從實例管理獲得有效的設備實例,然后從每個設備實例獲取拓撲、位置相關的參數信息,構建成xml格式的數據包,該xml表述了當前各實例間的連接關系以及位置關系。
CToplogManager:拓撲管理的實現類。
為實現對設備拓撲的展示,要求設備參數自身提供位置坐標或與其關聯設備的連接信息。
2.2.3 實例產生的報警
實例和設備綁定后,如果實例產生報警,則由實時庫服務向報警服務發送報警事件,此后,如果該設備和實例解除綁定,則本插件負責調用報警服務接口,抑制該設備產生的報警信息;如果后續該設備重新恢復上線,則本插件負責將原先抑制的報警信息解除抑制[8]。
2.3.1 驅動框架對象
EIP通信驅動程序以DLL方式實現,作為一個標準的Fep驅動程序,驅動框架對象繼承于驅動框架基礎類,用于實現打開、關閉、初始化、通信等基本流程,驅動框架對象由FEP服務的驅動管理器對象進行調度。
CFepEIPDrv:實現EIP驅動對象,進行驅動對象的創建、初始化、釋放等。
CFepEIPDevice:對應于EIP網絡中的一個SCANNER設備對象,創建和管理內部對象(如UCMM對象、連接管理對象、以太網接口對象等),實現數據雙向通信。
CFepEIPPrtcl:內部使用基類方法,不重寫,報文和協議相關的處理由內部的設備管理類實現。
(1)UCMM對象。對應于CIP規范中的 UCMM對象,用于處理未連接報文,包括Forward Open Service、Forward Close Service、Unconnected Send Service,觸發創建或斷開連接的操作。
CUCMMObject:處理UCMM相關報文的對象。
CCIPObject:CIP規范中定義的相關類的基類,提供基本的訪問接口。
(2)連接管理對象。對應于CIP規范中的連接管理對象,用于創建、維護、釋放通信鏈路,交換報文和數據信息。
CCMObject:對應于CIP規范中定義的Connection Manager Object,類代碼0X06,實現規范中定義的屬性、服務、動作、錯誤碼、定時器和狀態機。
(3)消息路由對象。對應于CIP規范中的消息路由對象,用于將接收到的報文信息轉發給最終的接收者。
CRouterObject:對應于CIP規范中定義的Message Router Object,類代碼0X02,實現規范中定義的屬性、服務、動作、錯誤碼和狀態機。
(4)以太網接口對象。對應于通信過程用到的以太網端口信息,存儲配置數據,初始化端口,建立TCP或UDP鏈路,發送或接收以太網數據。
CEthernetObject:封裝對以太網的操作,保存配置信息。
(5)應用對象。對應于SCANNER設備對象,讀取配置信息,構建運行環境,維護內部對象。
CAPPObject:對應于CIP規范中定義的Application Object,對應于本驅動對象實例,作為SCANNER應用對象。
(6)通知管理對象。用于接收設備管理對象上送的當前網絡設備信息(設備列表、設備狀態、設備參數等),然后通過FEP設備點將打包的信息發送給在線實時庫,在線對象管理插件進行拆包,動態綁定或解除綁定設備對象實例[9]。
CEventCallBackObject:該對象作為回調類被設備管理對象調用。
(7)設備管理對象。掃描、解析當前網絡中的EIP設備,構建設備信息列表,打包數據,交由通知管理對象。
接收在線對象管理插件發送的數據包,進行拆包,向設備發送指令。
CScannerObject:周期在EIP網絡中掃描的設備,獲得設備在線信息、狀態信息。
2.3.2 即插即用HMI組件設計
(1)圖元管理對象。EIP HMI 組件以Activex控件的方式提供,不提供離線組態頁面,在圖形離線組態中加入到指定的頁面中,HMI在線打開相關圖形時加載插件。
圖元管理對象屬于該插件的圖元繪制部分,調用在線對象管理插件提供的接口,獲得EIP類型的所有設備對象實例列表和設備信息,包括設備標識、設備名、版本信息、制造商信息、位置信息、設備狀態、設備圖標等,然后調用HMI平臺接口,動態創建相應圖元且在界面中顯示。
CEIPHMI:EIP HMI Activex控件主類。
CEIPGraphManager:管理EIP相關圖元的類。
(2)配置界面。CEIPOPPanel提供操作面板窗口,從數據庫實例中獲取設備的詳細參數信息,且以界面的方式展現,實現四遙操作。
(3)圖符庫。平臺HMI組態工具提供EIP相關設備的圖符庫,按照設備的制造廠商、類型、型號、版本號進行歸類管理,圖符可被實例化的屬性包括制造廠商、類型、型號、版本號、設備序列號、設備狀態、設備位置等信息,且圖符體現EDS中文件定義的各對象及其各對象間的連接關系。
在線運行時,FEP驅動層首先遍歷網絡中的設備,獲取其標識信息、類型信息、運行狀態信息、位置信息等,然后實時庫服務的在線對象管理插件根據標識信息動態和預置實例進行綁定,HMI端從實時庫服務中獲取被綁定的設備實例,然后動態創建圖元,用設備實例的信息對圖元相關的變量初始化,將底層設備、數據庫實例、圖形對象三者關聯在一起。
集控平臺數據接入實現了采礦、選礦過程中數據的提取,實現了以生產裝備數字化、生產過程智能化、數據獲取自動化、信息傳輸網絡化、經營管理信息化為特點的智能礦山建設初級階段,使企業生產中的直接勞動生產力提高了15%~30%,間接人工效率提升了30%~40%,能耗降低了5%~8%,設備綜合效率提升了15%左右,設備停機時間下降了20%左右,同時,數據不斷累積、分析,為后期利用大數據分析技術進行數據價值深度挖掘,實現各控制系統的不斷優化和管控平臺功能的不斷完善提供了基礎性保障[10]。