開源純C#工控網關+組態軟體

來源:互聯網
上載者:User

標籤:資料   適應   行業   分離   時間   行業解決方案   blog   word   趨勢   

一、   前言

在園子潛水也七八年了。說來慚愧,這麼多年雖然一直自稱.NET鐵杆粉絲,然僅限於回幾個不痛不癢的貼,既沒有發布過代碼,也沒有寫過文章。

看著.NET和C#在國外風生水起,國內卻日趨沒落,我也早覺得有寫一點東西的必要了。

二、   為什麼要開源,它能做什麼

  • 開源是大勢所趨

現在已經不是兜售軟體光碟片賣授權的時代了。我自己開發這套系統也得益於開源。

起因是因為看到單位用的組態軟體被著作權問題困擾,同時系統十分龐大,動輒幾個G,安裝部署調試都不方便,同時指令碼功能和擴充能力也有限。

開始就是自己研發,同事普遍反對,都認為組態軟體是大公司玩的東西,我靠一人一槍,圖樣圖森破。

然而我是個狂熱分子,參考了幾百篇國內論文,下載過幾十上百個開源類庫,反覆研究,經常熬夜。

一段時間之後,拿出來一套半成品,也逐漸為大家所接受,並一發不可收,陸續做了不少工程,逐步取代了原有的組態軟體,系統也不斷成熟、壯大。

但限於精力和水平,系統完善的空間還很大,可以改進的功能還很多,與其敝帚自珍,不如交給社區,共同完善。

這套系統只是提供了一套組件和工具,並沒有給出具體的行業解決方案和控制邏輯(這屬於不能開源的部分)。

  • 目標和功能

從一開始設計目標就很明確,取代單位現有組態軟體。實現“多快好省”。

系統架構圖如下:

 

分為網關驅動層、平台服務層、應用程式層。

網關負責轉換各種工業乙太網路協議,統一介面。

平台服務層負責輪詢、儲存、推送資料。提供各種查詢、讀寫介面。

應用程式層主要是人機介面(HMI)和各種可視化功能組件,如警示介面、趨勢圖、報表、圖表、下訂單、改參數、查日誌等。

 

:就是適應面廣,比如工控網關能支援多種工業乙太網路、PLC,普適性強,可應用於多個行業。

目前已經支援:

  • Modbus TCP/RTU
  • OPC DA
  • DDE
  • AB EtherNetIP
  • Mitsubishi
  • Siemens S300/200/1200/1500

快:這裡包含三個意思,設計效率高、安裝部署快、運行速度快。

 

 

有方便的設計工具。驅動、變數、警示、歸檔管理器,對,就這樣一個簡單的配置器,支援各種格式匯入匯出。

接下來是宇宙第一IDE,Visual Studio,作為組態設計器。組態設計器本來是最難實現的部分,現在VS一出,秒殺一片。

 

 

速度按我自己,做一套多工段上位機的畫面,快則一天內,慢也就兩三天。

運行速度:按批量讀寫方式+訂閱-推送模式,幾千個變數,幾百個顯示單元,含動畫,通訊周期500毫秒,很流暢。

好:就是介面美觀、功能齊全、易用性好,擴充性好。

目前已完成的功能包括:

工業網關:支援多種協議。如有新驅動加入,介面實現非常簡便。

即時資料引擎:即時推送變化的資料,支援遠程伺服器+N個用戶端。

曆史資料歸檔引擎:支援N變數快速歸檔,可為資料分析和資料採礦提供支援。歸檔檔案很小,內建索引,查詢快速。

人機介面:可以充分利用VS設計器的強大功能,輔之以強大的外掛程式(自吹一下),完全可以把VS設計器當做組態設計器來用。

擴充性:加入新功能很快,因為介面很簡單。但是功能卻不簡單。

 

省:顧名思義,就是省錢省時間啦。

首先系統內容簡單,就是裝個.NET(因為只要求4.0,WIN7內建),資料庫可用SQL EXPRESS,沒有採用任何第三方收費組件(開源組件在github列了清單,感謝作者)。

VS作為設計器,強大又好用,可用社區免費版(個人用用沒關係,企業的話最好聯絡微軟買正版授權)。

支援各種PLC,單位老組態軟體很多PLC不支援,在這裡加入一個新的裝置驅動很方便。

     

三、   三個為什麼

    考慮到吹了半天牛B,大家也許會問以下三個問題:

為什麼要用.NET 平台?

第一,本人是微軟粉絲,.NET忠實碼農,用了十多年了,無往不利。無論是一心為公,還是私活利器。首先.NET本身就是一個多快好省的平台,配合宇宙第一IDE,開發效率極高。

其二微軟也越來越開放,.NET跨平台能力也越來越強。至於被很多噴子狂噴的所謂.NET工資低,那是因為國內特殊原因造成JAVA碼農已先入為主。

本人這行業目前沒有公司政治的問題,因此也從來沒考慮轉型(曾經為安卓APP寫過JAVA,也很簡單,但是我要吐槽一下,同樣功能,JAVA實現起來太囉嗦)。

為什麼要用WPF?

WPF是一種聲明式編程方式(XAML語言),非常適合工控介面設計。同時微軟提供了Blend設計器,實際上畫這些控制項的都是不會寫代碼的機械工程師。

實現了前後台分離的協作方式。加上有宇宙第一IDE的配合,可以做的非常炫。

 

為什麼要用Visual Studio

很簡單,宇宙第一IDE不是蓋的。我見過很多家的組態畫面設計器。無論效果還是易用性還是擴充性,和VS沒法比。VS同時還整合了專案管理和編譯器。

關於VS擴充性大家很少用到,本人也填過很多坑,找了很多資料,實現之後你才知道它的強大。

 

四、   下面的計劃

  • 完善功能。

在社區的協助下,修補Bug,增強安全性穩定性。能用起來就是勝利。然後追求更加“多快好省”。

  • 寫一系列文章,把架構、原理講清楚。

       提綱和目錄也擬好了。大致如下:

  1. 網關層原理、介面說明
  2. 如何?一個裝置驅動
  3. 如何設計圖元
  4. VS外掛程式模組及原理
  5. 歸檔模組及檔案格式
  6. 如何進行功能擴充

github地址:https://github.com/GavinYellow/SharpSCADA。

github上面有說明書。下載包裡還包括如何安裝部署、如何用來設計的Word文檔。比較粗略,歡迎提問。

開源純C#工控網關+組態軟體

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.