發布日期:2022-04-17 點擊率:38
IT世界的工程師真的是一個很辛苦的職業,網上流傳著他們的逼瘋的故事—頻繁變更的需求、架構的調整,甚至推倒重來,難道自動化行業就沒有這樣的事情嗎?
大家都認為IT的程序結構復雜,自動化行業主要是順序邏輯控制,結構肯定沒有那么復雜---如果你這么想,大概是說的20年前的可編程“邏輯”控制器的年代,現在的機器哪里只有邏輯那么簡單,運動控制、總線、HMI、安全、液壓、行業工藝算法……。
今天就說一個“簡單點”的事情—HMI的畫面編輯。
看上去你把很牛的算法都寫完了,也把運動控制功能調通了,溫度的PID也自整定了—可是,對于HMI的開發而言,你還有很多需要面對的痛苦:
(1)經常變更的HMI設計—這是讓程序員瘋掉的事情
(2)設計的顯示控件總是被抱怨太丑,高大上的HMI就像別人家的孩子?
(3)程序變更就得改HMI的顯示,但是,程序的確經常在改。
工程師有時候會抱怨,出差半天就為了去現場給客戶改一下程序,花費半天把程序里的變量與HMI的顯示關聯起來。
據估算,為了實現User-Friendly的HMI設計,程序員需要在HMI畫面上花費大約30%的時間,這本身也是一種巨大的浪費。
解決問題的思路—關注點分離(SoC)
軟件工程中有非常重要的方法稱為“關注點分離”,即SoC(Separation of Concerns),通過SoC可以實現高內聚、低耦合的軟件架構設計。對于面向服務的架構SoA而言,關注點分離是實現這一架構的重要途徑。
由于PLC中運行的程序和產生的數據在HMI上訪問是一種變量的綁定關系,因此,如果在HMI上的畫面進行了修改,那么與之對應的程序也要進行調整,而另一方面,由于程序的變化導致了數據顯示的問題,也必須在HMI上進行調整,包括顯示的位置、單位、上下限的變化。
實現通道:OPC UA的應用
OPC UA就可以幫助我們實現應用程序與HMI顯示的“關注點分離”,圖2的架構讓我們看到他們之間的關系:
由于OPC UA采用了統一標準的數據對象,包括對象所對應的結構與語義,比如:溫度的數據和單位(攝氏度),而這些都可以被存儲在OPC UA Server的地址空間里,這就像一個共享內存或者物理上的雙口RAM,應用程序的數據可以被寫入至這個共享區間,而OPC UA Client則通過Http方式來訪問這個地址空間的數據。
這樣就可以實現:
(1)程序中的數據變化進入共享區間,而HMI同時會更新數據而無需干預,因為HMI訪問的是地址對應的參數。
(2)不同的HMI,如不同級別的用戶(操作員、工程師、電氣經理、總經理)通過IE、Andriod的瀏覽器可以訪問同一個應用而無需開發不同的畫面。

圖1-通過OPC UA實現關注點分離的簡圖
下一篇: PLC、DCS、FCS三大控
上一篇: 步科HMI的網口上傳下