劉巧龍

[摘 ? ?要 ]文章提出了基于西門子PRODAVE工具包的掘進機人機界面開發方法,針對掘進機需要采集大量異構數據的特點以及各系統的業務邏輯,開展了針對性設計,實現了掘進機人機界面所需的全部功能。
[關鍵詞]掘進機; PRODAVE;異構數據;人機界面
[中圖分類號]TP311 [文獻標志碼]A [文章編號]2095–6487(2021)06–0–02
[Abstract]The article proposes a roadheader man-machine interface development method based on the Siemens PRODAVE toolkit. According to the characteristics of the roadheader that needs to collect a large amount of heterogeneous data and the business logic of each system, a targeted design is carried out to realize the roadheader man-machine interface. All the functions needed.
[Keywords]roadheader; PRODAVE; heterogeneous data; man-machine interface
掘進機是一種集機、電、液、光和信息等多項技術于一體,能一次性完成隧道開挖、排碴與襯砌,實現隧道安全、可靠、高效施工的大型高端裝備,是地鐵、公路、鐵路、水利和國防等建設急需的國之重器。
對于掘進機這樣的重型工程機械來說,其工作機構重量大、動力強,控制邏輯復雜,作業過程十分危險,迫切需要一個高可靠性的控制系統來指揮作業。掘進機電氣控制系統的核心,一般以PLC(Programmable Logic Controller)為主,而人機界面是控制系統的重要組成部分,是系統和用戶之間進行信息交換和業務邏輯實現的媒介,是整個系統的靈魂。
進入21世紀以后,信息技術的迅速發展也使得工控業的智能化水平不斷提高,工業互聯網也開始被越來越多的人關注。德國針對自己的制造業現狀及發展規劃,提出了“工業4.0”戰略,其后各國紛紛效仿,針對自己的國情提出來相應的工業發展策略。從各國提出的工業發展戰略來看,都指向了同一個方向,那就是將信息化與工業化相結合,并從生產型轉變為服務型。在大環境的影響下,掘進機作為一個高端地下工程設備,開始被越來越廣泛地應用在隧道施工上。為適應惡劣的環境,一種結構緊湊、抗干擾能力強的控制器—PLC誕生了。PLC工作可靠但無法完成復雜的運算,更不能將工藝流程動態地展示給用戶,人機交互性差,不利于使用者的實時操作。因此現代工業中,一般都會采用兩級控制,底層控制器控制工業設備運行,操作層則為使用者提供了人機交互界面。現場工控系統,一般由PLC、上位機和各種智能儀表及執行器等組成,三者組成的工控網絡之間需要數據交互,而不同廠家生產的設備的通信協議都不一樣,因此需要研發一套系統來完成通信。
人機交互系統是集數據采集、數據處理與顯示、數據存儲、數據查詢、業務邏輯處理及UI界面等于一體的復雜交互系統,對人機交互系統的開發也主要圍繞以上需求展開。
文章旨在解決人機交互系統實現中的最關鍵節點問題,即數據采集與處理問題。
1 系統介紹
掘進機控制系統架構復雜,產學研用等領域內的不同單位對其架構的劃分方式也不盡相同,將整個掘進機控制系統分為5層架構,分別為現場層、IO層、控制層、監控層以及地面層。其中現場層包含了掘進機的傳感測量器件以及末端執行機構,如攝像頭、傳感器、繼電器、接觸器、電磁閥、變頻器、電動機等;IO層包括了設備上所有的數據交互模塊,如第三方I/O 設備、遙控器、智能儀表、其他總線設備及網關、分系統控制子站等;控制層是整個控制系統的中央主CPU,所有運算與邏輯控制都在這里進行,本設計適配西門子S7-300、S7-400、S7-1500系列PLC;監控層包括了視頻監控主機、工控機、顯示屏、觸摸屏等,用于監控設備狀態;上述1~4層都位于隧道內的掘進機上,處于隧道內;而地面層則通常部署在項目部的地面監控室內,主要包含了地面監控平臺與視頻監控主機,作用是讓項目管理部實時監控地下設備的運行情況。
2 通信方法設計
為了提升自身技術積累,掌握自主權,本文設計的掘進機人機界面基于西門子Prodave工具包開發。西門子Prodave軟件提供了用于第三方開發的動態鏈接庫“Prodave6.DLL”,里面包含了通過PC對西門子PLC進行操作的常用接口。在上位機控制軟件中通過調用動態鏈接庫,可在自動化系統和PG / PC之間建立SIMATIC AS(Automation Station)的DP、MPI或以太網通信。在通信期間,Prodave工具包擁有訪問S7DOS組件的權限。掘進機人機界面軟件通過動態鏈接庫與PLC建立起通信后,便可以對掘進機的各系統數據進行交互。
2.1 Prodave主要函數聲明
本控制軟件中使用到的主要函數及其主要功能如表1所示。
2.2 通信流程
根據數據采集模塊接口函數的功能,建立組件類S7PLC(供主窗口程序使用的接口通信類),并定義如下接口字段,包括設置CPU通信密碼、設置通信類型、設置CPU站號、設置CPU槽號、設置單詞讀寫長度、設置CPU的IP地址、設置CPU連接代號、設置數據塊編號、設置數據塊數據長度(字節)、設置通信時間間隔(ms)、設置命令數據塊編號、設置命令數據起始地址等。根據接口定義及Prodave動態連接庫函數,建立數據塊讀取函數(ReadDB),循環讀取函數,命令寫入函數、連接及斷開函數。
在組件類的基礎上,根據接口定義,建立起掘進機專用數據塊讀取函數,循環對PLC數據區進行連接、讀取、寫入、斷開等操作,以滿足掘進機大數據量交互的需求。
掘進機控制軟件通信流程如下。
(1)軟件啟動,啟動后先檢查與PLC的連接是否已斷開,如果沒有斷開則需要先執行中斷指令UnloadConnect。
(2)執行LoadConnect指令,初始化連接接口。
(3)連接PLC,執行SetPassword命令,使用預設密碼進行連接訪問。
(4)執行SetActiveConnect命令,激活連接通道,通過本通道進行后續的數據交互;
(5)執行As_info命令,讀取軟件版本號、硬件訂貨號、序列號等信息。
(6)執行Field_read、Field_write等讀寫命令,進行與PLC的數據交互。
(7)執行UnloadConnect命令,斷開連接。
(8)結束程序。
3 控制軟件開發
本論文所設計的人機界面軟件具備集數據采集、數據處理與顯示、數據存儲、數據查詢、業務邏輯處理及人機界面等功能。
在PC與PLC通信期間,Prodave軟件擁有訪問S7DOS組件的權限。通過基于Prodave開發的數據采集模塊,我們獲取到了所需要的完整的控制器有效數據,但是該有效數據是以字節數字的形式獲取,需要對其解析才能供整個應用程序使用。上面已經說到了,如果使用常規解析方法,那么在下一臺設備上,一旦有改動就要重新開發軟件,沒有辦法通用。因此根據有效數據的作用,將數據劃分為4段,分別是公共數據(Common Data)、報警數據(Alarm Data)、參數設置數據(Parameter Data)以及累積量數據(Sum Data)。根據4段數據的特點,建立4個類(DataClass、ErrClass、ParaClass、SumClass)對其進行處理,將模塊化、通用性強的數據解析及處理函數封裝再基本塊(BaseClass)中,另外再通過公共類(Module)處理整個數據模型。
為了能使每臺設備的字節數據與各數據塊結構對應上,避免每臺設備都需要單獨編程,建立帶有各數據庫結構屬性的對象,便于全局引用,系統采用了XML生成結構對象的方法來實現這一操作??蓴U展標記語言(XML)是一種標記語言,它定義了一組規則,用于以人類可讀和機器可讀的格式編碼文檔。利用XML文檔,來編輯每臺設備的數據結構;在程序中通過讀取XML結構來獲取本臺設備的數據結構,再依據獲取到的數據結構去解析字節數據。每當生產1臺新設備時,只需要修改XML文檔就可以便捷地解析讀取到的字節數據,開發起來方便且快捷。
4 優缺點分析
目前國內掘進機行業使用最多的是西門子PLC,使用PRODAVE開發掘進機控制軟件,能夠很好的實現掘進機上下位機之間的通信,其靈活性強、兼容性好、可擴展性良好、開發成本低,且有利于企業自身積累技術經驗。但由于PRODAVE動態鏈接庫只能在X86環境下編譯,無法在其他系統框架下使用,導致其適用性受到限制。
5 結束語
基于西門子PRODAVE動態鏈接庫開發的掘進機人機姐界面軟件能夠滿足PC與西門子PLC通信的要求,并且有著良好的靈活性、可擴展性,而且便于進行仿真測試,更有利于企業技術的積累,加快掘進機的自主可控進程。本文提出的通信方法,對西門子S7-200、300、400、1500等系列PLC具有通用性,可以在掘進機乃至其他采用西門子上述系列PLC的工程機械上推廣,目前已成功運行在上千臺設備上。
參考文獻
[1] 閆少勃.國產化PLC上下位機安全通信技術研究[D].西安:西安電子科技大學,2017.
[2] Hoyoung Jeong,Nan Zhang,Seokwon Jeon. Review of Technical Issues for Shield TBM Tunneling in Difficult Grounds. 2018,28(1):1-24.
[3] 李豐堂,謝明紅.基于VC++的PC與PLC的通信軟件設計[J].計算機技術與發展,2008,18(8):219.