上位機開發介紹

1、 上位機介紹

 上位機是指可以直接發出操控命令的計算機,一般是PC,通常用於屏幕上顯示各種信號變化(液壓,水位,溫度等),並將這些數據存儲下來,供分析。
 下位機是直接控制設備,獲取設備狀況的計算機,一般是PLC(Programmable Logic Controller)/單片機(考慮一塊板子上單片機與傳感器的關係)。
 

2、 與下位機交互

 上位機發出的命令首先傳給下位機,下位機再根據命令解釋成相應時序信號直接控制相應設備。下位機不時通過讀取設備狀態數據(一般爲模擬量),轉換成數字信號反饋給上位機。
 

3、應用實例

 下面舉個上下位機應用的實例場景。我們現在有個房間,我們需要實時監測這個房間的環境狀態,主要是監測房間的溫度、溼度,讓它們維持在一定的值左右,過高過低都不行。
 
 傳統情況下,我們會在房間裏裝上溫溼度計,然後派個工作人員,定期的去查看房間內溫溼度計的值,針對過高過低的情況,採取一些措施。那麼這種情況,有些不足,一是需要人定時去看,很麻煩,二是實時性非常差,很有可能環境的狀態已經異常了,這個時候工作人員不在場,導致不能及時地採取措施調整環境而引發意外。
 
 若我們使用一套自動化的環境監測設備,那麼我們可以在房間中,裝上電子遠傳式的溫溼度計(下位機),將溫溼度計的狀態實時遠傳到監測系統(上位機)。工作人員只需要坐在電腦前,查看遠傳而來房間狀態,若出現異常,可以通過上位機控制室內處理異常的設備(如溫度過高,遠程開空調),就可以不到現場便能處理異常。甚至如果設備系統更加自動化,上位機本身便可以根據通過下位機發來的數據是否正常,而做出一些操作,都不需要人來操作。
 
 當然,實際環境可能會有所差異,舉這個土味的例子只是爲了形象地介紹上、下位機。
 

4、兩者關係

 看到這邊你會發現上位機的存在實際上是依賴下位機的(需要硬件支撐)。如果沒有下位機,上位機就沒有數據來源,沒有任何作用。而沒有上位機,對下位機來說沒有太大影響,下位機可以在自身的程序中添加一定自動化的功能,很多時候不需要上位機也行。
 
 但實際上大多數情況上下位機是相輔相成的,一個合理有效的上位機可以節省大量人力物力。甚至很多情況下,如惡劣的環境、複雜的環境監測、精密的設備控制,上位機是必不可少的。
 
 總的來講,上位機對下位機的操作大類上只有兩種,讀&寫。改變下位機狀態,操控下位機,都是寫操作。獲取設備數據便是讀操作。兩者的基本關聯非常簡單。因此,或許你會認爲上位機是技術含量較低的程序。其實不然,憑我個人理解,下位機的代碼邏輯通常較單一,但是下位機種類非常多變,每種設備上的外設都不大一樣。而上位機,通常運行的環境是比較單一的,但是要與多種下位機通信,還會涉及到UI,存儲,複雜點的還有數據分析,龐大的上位機程序代碼邏輯還是挺複雜的,涉及的技術也廣。一個優秀的上位機複用性非常強,對相近設備的操控,僅僅需要修改協議即可。
 

5、開發工具

 上位機開發通常使用c++(Qt、mfc)、c#(.net)、vb。其中就目前的情況來看,Qt和.net應該是目前應用相對比較廣的。vb和mfc都是比較老舊的工具,做的界面也比較有年代感。其中,新版本的Qt還支持用Python來編寫,製作的上位機程序也是不錯的。其他,一些組態軟件是專門做上位機軟件的,像組態王、力控,相當於是二次開發,門檻較低一些,操作也比較簡單,但是拓展性差。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章