單片機的上位機在各個項目的進程中起到的作用至關(guān)重要,它可以將單片機的工作狀態(tài)以及你想要知道的一些參數(shù)形象準確的通過友好的界面表現(xiàn)出來。你只需要點點人機界面的按鈕就可以得到想要的結(jié)果,而不必再親自動手頻繁的操作各種儀器去獲得各種參數(shù)。從而加速項目的進度,提高準確性,效率提高的也不是一點半點。當項目完成交付客戶使用或生產(chǎn),如果需要人工控制和操作、設(shè)置工作狀態(tài)等。還是需要一個簡單好用的操作界面。所以上位機在單片機應(yīng)用開發(fā)領(lǐng)域炙手可熱。
目前被廣泛使用的上位機軟件不外乎LabVIEW、VB、VS、VC、Delphi、C#、JAVA這幾種,各有各的優(yōu)點。其中LabVIEW雖然在工業(yè)測試領(lǐng)域已經(jīng)成為毋庸置疑的老大,各種工具包齊全,控鍵也是應(yīng)有盡有,但是它的缺點也顯而易見。現(xiàn)在軟件的規(guī)模越來越大,功能強大的軟件占用的計算機資源也越來越多。這導致了它對運行它的硬件條件的要求也很高,這無疑也增加了工業(yè)大規(guī)模使用成本。就算個人電腦目前大多配置還算不錯,可是運行起來還是會明顯感覺到速度變慢。如果同時還想跑別的程序電腦很容易崩潰。
雖然LabVIEW提供了豐富的控件包,可是有時候用戶還是想做符合自己要求的控件。但是這種想法目前想在LabVIEW上實現(xiàn)不是一般的難(簡單一點的想法還可以,稍微復雜一點就會有很多限制),這一定程度上暴露了LabVIEW封閉的特點。
?
所以LabVIEW在上位機編寫領(lǐng)域?qū)儆谥匦脱b備。功能強大、開發(fā)快速、使用簡單、門檻低,在單片機應(yīng)用開發(fā)的單機測試中用的比較多。但是它霸道的硬件要求,以及靈活性,開放性方面的缺點也在一定程度上制約了它的發(fā)展。如果它能保持現(xiàn)有的功能,恢復到VB的“身材”,擁有JAVA的靈活,那么它絕對“艷冠群芳”。
C#和Java用在聯(lián)網(wǎng)設(shè)備的上位機開發(fā)上優(yōu)勢明顯,有強大的聯(lián)網(wǎng)控件和靈活多變的實現(xiàn)方式。但是門檻比較高一點,堅實的C語言基礎(chǔ)必不可少,而且開發(fā)速度和LabVIEW不在同一數(shù)量級上。雖然現(xiàn)在可以找到現(xiàn)成的功能語句,復制粘貼就可以完事了(這也是開源的一個優(yōu)點),但是一整個項目不可能找到相同的,那么接下來就要花費很多時間去調(diào)試代碼的正確性和控件的協(xié)調(diào)性(如果人品不佳的時候,比自己寫花費的時間還長)。
雖然C#和Java的開發(fā)環(huán)境對硬件要求沒有LabVIEW高,也夠靈活(有廣闊的空間讓你發(fā)揮靈感)。但是在“快”上缺的明顯。
VB不是強類型語言,做做功能不復雜,數(shù)據(jù)處理、通信要求不高的應(yīng)用還是可以的。在上述的幾種語言里屬于最底層。Delphi確實已經(jīng)沒落了,在C語言當?shù)赖慕裉臁罢嬲某绦騿T用c,聰明的程序員用Delphi”這句話已近顯得那么的無力。
VS實際意義上來說它是一個集成式的平臺,它將微軟這些年來的開發(fā)工具集為一體。功能是強大的沒法說,也靈活。可是也同樣面臨LabVIEW“體重”超標的問題。在“快”上面臨著和C#和Java同樣的困境。
有人覺得TI的WEBENCH是可以借鑒的方式,將龐大的資源置于云端。使用時只要調(diào)用相關(guān)資源,無需安裝對硬件要求苛刻的客戶端。所有計算、設(shè)計全部可以在云端完成。這樣既節(jié)省了客戶端的硬件資源,也方便將更多設(shè)計資源整合。靈活性和快速性也得到提高,一舉兩得。
總的來說,目前單片機上位機開發(fā)工具在“輕、快、靈活”這三個方面難以兼顧,只能權(quán)衡后做取舍。期待把輕、快、靈活集于一身的單片機上位機編程工具的出現(xiàn),如果開源免費就更好了!
?
更多上位機內(nèi)容,請訪問與非網(wǎng)上位機專區(qū)
?
與非網(wǎng)原創(chuàng),未經(jīng)許可,請勿轉(zhuǎn)載!