為了滿足您的部署需要,NI提供了兩種嵌入式操作系統(tǒng):NI LabVIEW Real - Time和Microsoft Windows Embedded Standard7(WES7)。每種操作系統(tǒng)對(duì)于不同的任務(wù)和操作具有不同的優(yōu)勢(shì)。 LabVIEW Real-Time保證了關(guān)鍵任務(wù)和閉環(huán)控制的確定性和可靠性,而WES7則提供了一個(gè)可擴(kuò)展的平臺(tái),可以使用眾多軟件,并集成用戶界面功能。在為特定應(yīng)用選擇最好的操作系統(tǒng)時(shí)需要有很多因素需要考慮。本指南衡量了兩個(gè)操作系統(tǒng)的優(yōu)缺點(diǎn),以幫助您為您的應(yīng)用做出最佳的選擇。
1. 我的應(yīng)用需要有多可靠?
圖1. 與一般的操作系統(tǒng)相比,LabVIEW Real-Time 和WES7 提供了更高的可靠性
許多嵌入式應(yīng)用要求高度的可靠性。確定性和長(zhǎng)時(shí)間連續(xù)運(yùn)行特性都是嵌入式系統(tǒng)可靠性的關(guān)鍵指標(biāo)。相比Windows7 或者M(jìn)ac OSX等一般的操作系統(tǒng)而言, LabVIEW Real-Time 和WES7均可以提供更高的可靠性。LabVIEW Real-Time憑借高度的確定性和出色的連續(xù)運(yùn)行特性,提供了最大程度的應(yīng)用程序可靠性。 雖然WES7并沒(méi)有確定性可言,但相比一般用途的操作系統(tǒng),它在連續(xù)運(yùn)行特性方面卻有優(yōu)勢(shì)。
確定性
通過(guò)使用?LabVIEW FPGA 模塊,在無(wú)需將您的系統(tǒng)部署至硬件的情況下,全新設(shè)計(jì)的LabVIEW Real-Time操作系統(tǒng)可為您提供最高級(jí)的應(yīng)用可靠性。可靠性的一個(gè)關(guān)鍵指標(biāo)就是確定性,即一個(gè)操作系統(tǒng)能始終如一地在已知時(shí)間長(zhǎng)度內(nèi)完成一項(xiàng)任務(wù)。在LabVIEW中多次或循環(huán)執(zhí)行相同任務(wù)時(shí)執(zhí)行時(shí)間的變化或抖動(dòng)范圍越大,確定性就越差。 LabVIEW Real-Time的確定性程度非常高,但WES7根本不具有確定性。這是在匹配應(yīng)用時(shí)二者之間的一個(gè)關(guān)鍵區(qū)別。
LabVIEW Real-Time通過(guò)非常精確地對(duì)您的應(yīng)用程序任務(wù)進(jìn)行時(shí)序控制來(lái)實(shí)現(xiàn)確定性。通過(guò)使用定時(shí)循環(huán)以及設(shè)置任務(wù)優(yōu)先級(jí),操作系統(tǒng)可以確保關(guān)鍵應(yīng)用程序執(zhí)行始終如一,耗時(shí)固定。從時(shí)間機(jī)制上來(lái)說(shuō),WES7與Windows 7擁有相同的工作方式,允許任何任務(wù)優(yōu)先執(zhí)行,但這也導(dǎo)致了沒(méi)有任何確定性可言。
對(duì)于閉環(huán)比例積分微分(Proportional Integral Derivative, PID)控制這樣需要恒定應(yīng)用執(zhí)行時(shí)間的應(yīng)用程序、或者緊急制動(dòng)這樣的事件響應(yīng)來(lái)說(shuō),都應(yīng)該使用LabVIEW Real-Time。像EtherCAT這樣的確定性的通信協(xié)議,通常被用于NI C系列擴(kuò)展或運(yùn)動(dòng)控制,也需要LabVIEW Real-Time,而不能通過(guò)WES7來(lái)實(shí)現(xiàn)。
連續(xù)運(yùn)行
可靠性的另一個(gè)關(guān)鍵是確保一個(gè)應(yīng)用程序長(zhǎng)時(shí)間正常運(yùn)行。許多嵌入式應(yīng)用要求連續(xù)運(yùn)行。LabVIEW Real-Time和WES7的特點(diǎn)和性能,使得它們能夠滿足長(zhǎng)時(shí)間運(yùn)行任務(wù)的需求。
LabVIEW Real-Time操作系統(tǒng)組件已經(jīng)精簡(jiǎn)到了能夠?qū)崿F(xiàn)單個(gè)應(yīng)用程序的確定性的最小數(shù)量。減少系統(tǒng)組件、著眼于穩(wěn)定性,降低了由于系統(tǒng)崩潰和其它不可預(yù)見(jiàn)的問(wèn)題而導(dǎo)致的系統(tǒng)故障發(fā)生的概率。而通用操作系統(tǒng)必須為多種不同的應(yīng)用提供資源和執(zhí)行時(shí)間。每個(gè)額外的應(yīng)用程序,都將增加系統(tǒng)故障的機(jī)會(huì)和頻率。
LabVIEW Real-Time也有一些諸如可靠文件系統(tǒng)和看門(mén)狗定時(shí)器的附加功能可以進(jìn)一步保證其長(zhǎng)時(shí)間應(yīng)用程序可靠性。由Datalight開(kāi)發(fā)的可靠文件系統(tǒng)是專為那些需要高可靠性的嵌入式系統(tǒng)設(shè)計(jì)的。它有效減少了如突然斷電這種系統(tǒng)事件而導(dǎo)致的文件損壞??撮T(mén)狗定時(shí)器確保了在應(yīng)用程序出現(xiàn)故障時(shí),系統(tǒng)可自動(dòng)快速恢復(fù)運(yùn)行狀態(tài)。
憑借增強(qiáng)型寫(xiě)過(guò)濾器(Enhanced Write Filter, EWF)這一新特性,WES7增強(qiáng)了Windows 7的通用操作操作系統(tǒng)屬性,以確保更高的可靠性。 在對(duì)RAM磁盤(pán)進(jìn)行操作時(shí),EWF會(huì)過(guò)濾文件寫(xiě)操作,從而保護(hù)您的文件不會(huì)在諸如系統(tǒng)斷電等意外系統(tǒng)事件中損壞。而當(dāng)系統(tǒng)正常關(guān)閉,或得到用戶或應(yīng)用程序的指示時(shí),存儲(chǔ)在RAM磁盤(pán)的文件就會(huì)被寫(xiě)入物理磁盤(pán)。當(dāng)系統(tǒng)非常脆弱、文件易損壞時(shí),您就可以使用這一安全保護(hù)功能;確保僅當(dāng)安全的時(shí)候,才進(jìn)行操作。如果在文件被寫(xiě)入磁盤(pán)之前斷電了,寫(xiě)操作的文件就會(huì)丟失,但重要的應(yīng)用和系統(tǒng)文件將被保護(hù)。
啟用EWF功能后,你也可以使用WES7的另一個(gè)功能:您可以休眠一次系統(tǒng),然后可以多次從這一休眠系統(tǒng)鏡像中恢復(fù)。此功能可縮寫(xiě)為一次休眠/多次恢復(fù)(Hibernate once/resume many, HORM)。使用HORM,您可以使用完全按照您希望的方式運(yùn)行您所部署的應(yīng)用程序以配置您的系統(tǒng)、休眠系統(tǒng),并保證在以后每次供電周期內(nèi)都能這樣運(yùn)行。不需要任何進(jìn)一步的干預(yù),該系統(tǒng)將以完全相同的正常運(yùn)行狀態(tài)。該功能可確保在發(fā)生故障時(shí),您的系統(tǒng)可以在最短時(shí)間內(nèi)返回到可用狀態(tài)。許多嵌入式應(yīng)用,如信息亭,都將從這個(gè)功能中獲益。
2. 用戶將如何與我的系統(tǒng)進(jìn)行交互?
大多數(shù)應(yīng)用程序都需要某種形式的用戶交互和可視化界面。在選擇一款嵌入式操作系統(tǒng)時(shí),開(kāi)發(fā)人機(jī)界面(Human machine interface, HMI)是一個(gè)重要的考慮因素。
由于LabVIEW Real-Time為了確保確定性和可靠性,一直在走專業(yè)化、精簡(jiǎn)化的道路,圖形顯示功能已經(jīng)從操作系統(tǒng)中刪除。因此,為了實(shí)現(xiàn)圖形化的人機(jī)界面,必須添加一個(gè)單獨(dú)的計(jì)算機(jī)系統(tǒng)。它可以是一臺(tái)PC、筆記本電腦或使用LabVIEW Touch Panel模塊開(kāi)發(fā)的觸摸屏電腦。 Windows和基于Windows系統(tǒng)的LabVIEW應(yīng)用程序?qū)⒃谶@臺(tái)單獨(dú)的計(jì)算機(jī)上使用,并通過(guò)TCP、UDP,或者LabVIEW共享變量以及其它通信方法輔助HMI任務(wù),建立與LabVIEW Real-Time應(yīng)用通信的接口。
您還可以通過(guò)其它手段實(shí)現(xiàn)LabVIEW Real-Time系統(tǒng)的人機(jī)交互界面。比如連接到一個(gè)專用的字符顯示器,或者通過(guò)串行端口連接其它接口硬件,或者使用如LabVIEW Web UI Builder這樣的瘦Web客戶端。
WES7不需要一個(gè)單獨(dú)的計(jì)算機(jī)來(lái)實(shí)現(xiàn)HMI。您可以使用您的WES7 LabVIEW 應(yīng)用作為您的HMI。通過(guò)相連的VGA顯示器來(lái)顯示前面板,并通過(guò)USB與鍵盤(pán)、鼠標(biāo)和觸摸屏交互。這樣通過(guò)使用更便宜和更容易維護(hù)的VGA顯示器來(lái)取代單獨(dú)的Windows電腦,可以減少您的整體系統(tǒng)成本。
了解更多關(guān)于如何為您的應(yīng)用選擇合適的可視化方案,請(qǐng)點(diǎn)擊這里
3. 我需要在我的系統(tǒng)上建一臺(tái)OPC服務(wù)器嗎?
用于過(guò)程控制的OLE(OLE for process control, OPC),是存在于大量的數(shù)據(jù)源之間的標(biāo)準(zhǔn)接口。這些數(shù)據(jù)源包括可編程邏輯控制器(Programmable logic controllers, PLC)、遠(yuǎn)程終端單元(Remote terminal units, RTU)和傳感器等。它使這些設(shè)備能夠與HMI / SCADA應(yīng)用程序、應(yīng)用工具和數(shù)據(jù)庫(kù)進(jìn)行通信。 National Instruments提供了多種使用OPC的通信方式。然而,因?yàn)镺PC從根本上是基于Windows技術(shù)的,如果您打算在嵌入式系統(tǒng)上搭建一臺(tái)OPC服務(wù)器,您必須使用WES7作為您的操作系統(tǒng)。
了解更多關(guān)于OPC.
NI OPC 服務(wù)器提供了一個(gè)擁有多驅(qū)動(dòng)器插件的OPC服務(wù)器,可以與多種基于串口或太網(wǎng)的工業(yè)設(shè)備通信。使用該服務(wù)器,再結(jié)合您的LabVIEW客戶端應(yīng)用程序,您將能夠在WES7中創(chuàng)建一個(gè)能夠與多種不同器設(shè)備通信的獨(dú)立OPC系統(tǒng)。
除了OPC以外,WES7還可以支持許多工程設(shè)備和行業(yè)通信協(xié)議。 National Instruments提供了多種通信方法,包括Modbus、EPICS,以及通過(guò)?LabVIEW數(shù)據(jù)記錄和監(jiān)控 (DSC)模塊的OPC。其中DSC模塊僅僅可以工作在Windows操作系統(tǒng)中。
LabVIEW Real-Time本身只接受Modbus和EPICS的通信方法。而OPC通信是基于Windows技術(shù)的,所以LabVIEW Real-Time系統(tǒng)本身無(wú)法通過(guò)OPC通信。所以,它們必須通過(guò)TCP、UDP或LabVIEW共享變量,與一個(gè)單獨(dú)的基于Windows的計(jì)算機(jī)通信,并通過(guò)這臺(tái)計(jì)算機(jī)的翻譯才能與OPC進(jìn)行通信。這可以很容易地使用LabVIEW DSC和創(chuàng)建在基于Windoss的計(jì)算機(jī)上的LabVIEW共享變量來(lái)實(shí)現(xiàn)。
了解如何使用OPC連接LabVIEW和第三方硬件..
4. 我需要將我的系統(tǒng)直接與數(shù)據(jù)庫(kù)相連嗎?
WES7支持通過(guò)LabVIEW DSC模塊向數(shù)據(jù)庫(kù)寫(xiě)入數(shù)據(jù)。使用LabVIEW DSC的數(shù)據(jù)庫(kù)記錄是專為快捷的配置和操作而設(shè)計(jì)的。它可以輕松地連接并直接登錄到許多常見(jiàn)的關(guān)系型數(shù)據(jù)庫(kù),如Oracle、MySQL和微軟SQL。 LabVIEW的DSC還包括其自身的綜合數(shù)據(jù)庫(kù)Citadel,該數(shù)據(jù)庫(kù)是專為長(zhǎng)期高效的數(shù)據(jù)記錄而優(yōu)化過(guò)的。
WES7還可支持LabVIEW?數(shù)據(jù)庫(kù)連接工具包,以提供更加自由的數(shù)據(jù)類型的創(chuàng)建、查詢和恢復(fù)操作。它允許從任何符合微軟AciveX數(shù)據(jù)對(duì)象(AciveX Data Object, ADO)、OPC數(shù)據(jù)庫(kù)連接(OPC database connectivity, ODBC),或?qū)ο箧溄雍颓度霐?shù)據(jù)庫(kù)(Object linking and embedding database, OLE DB)標(biāo)準(zhǔn)的供應(yīng)商那里獲取數(shù)據(jù)?。 和LabVIEW DSC類似,數(shù)據(jù)庫(kù)連接工具包還支持一般數(shù)據(jù)庫(kù)(如Oracal和微軟SQL)的通信。
像OPC一樣,許多常見(jiàn)的數(shù)據(jù)庫(kù)通信方法都是基于Windows技術(shù)的,如ActiveX。正因?yàn)槿绱?,LabVIEW數(shù)據(jù)庫(kù)連接工具包并不支持LabVIEW Real - Time應(yīng)用。
了解更多關(guān)于LabVIEW DSC相關(guān)數(shù)據(jù)記錄.
使用LabVIEW Real-Time的數(shù)據(jù)庫(kù)連接仍然是可行的,但中間的Windows主機(jī)必不可少;這與LabVIEW Real-Time實(shí)現(xiàn)OPC通信以及HMI功能的方法類似。標(biāo)準(zhǔn)通信方法,如TCP、UDP和LabVIEW共享變量是用來(lái)與此獨(dú)立的Windows電腦主機(jī)通信的。
了解更多關(guān)于在LabVIEW Real-Time中與關(guān)系數(shù)據(jù)庫(kù)通信
5. 支持Windows平臺(tái)的LabVIEW是否能為我的應(yīng)用提供更多功能?
Windows下的LabVIEW由很多LabVIEW Real-Time中并沒(méi)有的附加工具包、模塊和庫(kù)所支持。使用LabVIEW應(yīng)用程序生成器進(jìn)行部署,WES7將支持完整版本的Windows平臺(tái)LabVIEW。
如果您的應(yīng)用程序需要的是僅支持Windows的LabVIEW模塊(如LabVIEW DSC),或僅支持Windows的工具包(如報(bào)表生成和數(shù)據(jù)搜索工具包),你應(yīng)該考慮使用WES7作為您的嵌入式操作系統(tǒng)。
當(dāng)使用Windows平臺(tái)的LabVIEW時(shí),還會(huì)有一系列DLL、NET程序集和ActiveX控件,可以擴(kuò)展您的應(yīng)用程序功能,并縮短開(kāi)發(fā)時(shí)間。
LabVIEW平臺(tái)的很多模塊和工具包均可在Windows和LabVIEW Real-Time中使用,如LabVIEW控制設(shè)計(jì)與仿真模塊以及Internet連接工具包。因此,重要的是檢查您的需求,確保您所使用的所有模塊、工具包以及相關(guān)軟件都能被LabVIEW Real-Time所支持。
了解更多關(guān)于LabVIEW的附加軟件
當(dāng)在LabVIEW Real-Time和WES7之間為您的嵌入式應(yīng)用進(jìn)行選擇時(shí),首先需要考慮您的應(yīng)用需要。如果確定性和連續(xù)運(yùn)行是您維護(hù)系統(tǒng)正常運(yùn)行的關(guān)鍵,請(qǐng)選擇LabVIEW Real-Time。
但是,如果你的關(guān)鍵需求包括集成的人機(jī)界面以及訪問(wèn)由Windows和 LabVIEW Windows平臺(tái)共同提供給你的軟件環(huán)境時(shí),請(qǐng)選擇WES7。
評(píng)論