實時系統(tǒng)的作用
對于機器人、高端制造業(yè)、醫(yī)療和過程控制(石油、天然氣和電力)業(yè)務(wù)來說,實時處理非常重要。這些行業(yè)依賴實時數(shù)據(jù)處理以不斷提高安全性、效率和可靠性。而確保這些行業(yè)的實時處理數(shù)據(jù)的一個關(guān)鍵因素是,系統(tǒng)要能夠?qū)崟r調(diào)度工作任務(wù), 優(yōu)先響應(yīng)、管理和執(zhí)行實時工作任務(wù)。
例如,現(xiàn)代汽車制造商依靠機器人在生產(chǎn)線上的協(xié)同工作來組裝汽車。機器人傳遞零件、鉆孔、焊接,或執(zhí)行安全檢查,都需要精確和連續(xù)地處理。在這些應(yīng)用中,實時系統(tǒng)不僅必須在已經(jīng)設(shè)定的、可預(yù)測的時間范圍內(nèi)處理數(shù)據(jù),還必須確保關(guān)鍵任務(wù)(如安全相關(guān)任務(wù))在不太關(guān)鍵的任務(wù)之前完成。
那么,如何確保數(shù)據(jù)按照設(shè)定的時間和方式處理呢?
答案是運用實時系統(tǒng)。
實時系統(tǒng)一般會提供以下功能:

ProCon NoTime:實時.NET執(zhí)行環(huán)境
ProCon NoTime是基于實時系統(tǒng)的.NET執(zhí)行環(huán)境,與Windows共同或獨立運行在一般工業(yè)計算機上。安裝ProCon NoTime之后,工程師可以用Visual Studio基于以往的習(xí)慣開發(fā)基于.NET語言(如C#,VB.NET等)的實時程序。

1.開箱即用
基于目前市場常見的實時系統(tǒng),在開發(fā)時都需要面對不少問題:內(nèi)存管理、與現(xiàn)有開發(fā)工具的兼容性、實時系統(tǒng)SDK學(xué)習(xí),以及后續(xù)穩(wěn)定性和可維護性挑戰(zhàn)。
而通過NoTime,工程師只需要將原本運行在Windows上的.NET機器控制程序,通過調(diào)用LoadNoTimeAPP接口等簡易操作,就可放到實時系統(tǒng)中運行,這樣工作重心就能轉(zhuǎn)移到設(shè)備運控及邏輯程序本身,無需擔(dān)心實時性的實現(xiàn)了。

同樣的程序運行在NoTime和Windows中會有顯著的不同,以下我們通過一些簡單的實驗來展示。
2.實時的用戶程序響應(yīng)
這是一個經(jīng)常出現(xiàn)的現(xiàn)象,一個外部信號進入控制系統(tǒng),用戶希望收到信號之后立刻進行一些計算和判斷,然后進行某種形式的輸出。這類問題常見于各類視覺檢測應(yīng)用中。
物品運動的速度是200mm/s,假設(shè)收到外部信號后,需要進行1萬次浮點數(shù)運算,計算完成之后伺服電機急停。我們把相同的程序分別運行在Windows和NoTime環(huán)境中。(詳見視頻)
通過圖中的曲線可以看到Windows和NoTime兩種環(huán)境中的區(qū)別。

由于Windows并不是硬實時操作系統(tǒng),而NoTime 125μs高精度線程可以精確地執(zhí)行用戶程序,所以這個結(jié)果是符合預(yù)期的。但是與傳統(tǒng)的實時系統(tǒng)不同,NoTime用戶并不需要其他額外的實時系統(tǒng)開發(fā)成本和SDK購買成本,直接使用標準的C#語言就可以獲得硬實時系統(tǒng)的效果。
這個實驗中用到了ProCon YKCAT2— —是基于windows和NoTime的運動控制庫,我們將在后續(xù)介紹。
3.實時通訊
不同于“虛擬機”,或者Windows設(shè)備驅(qū)動類實時系統(tǒng),NoTime基于完整的實時操作系統(tǒng),可以完全地管理PC的其他硬件。因此我們可以實現(xiàn)實時的PC與PC或PC與PLC的通訊。

相同的代碼,基于NoTime的Socket通訊,比基于Windows的更加穩(wěn)定和敏捷。

對于貼合綁定、檢測設(shè)備和疊片設(shè)備等來說,穩(wěn)定的PC通訊可以顯著縮短設(shè)備的CT,提高穩(wěn)定性。
4.藍屏機器控制
因為NoTime與Windows安全隔離,所以即使Windows因為病毒,兼容性等原因藍屏,NoTime依然可以穩(wěn)定運行,使設(shè)備始終處于受控狀態(tài)??梢岳^續(xù)執(zhí)行關(guān)鍵的保護和安全任務(wù),避免人員或產(chǎn)品的損失。(詳見視頻)
5.NoTime高精度線程:與PLC一樣的確定性,但是算力更強
基于PC的控制系統(tǒng)算力一般較強,但是一般認為計算周期的穩(wěn)定性要遜于PLC。基于NoTime 125μs高精度線程,用戶程序在125μs周期內(nèi)精確地執(zhí)行。每個周期可以執(zhí)行約1.3萬次浮點數(shù)運算(基于i5-8500,單核心)這樣就兼具了算力與運算周期穩(wěn)定的優(yōu)勢。
我們采集了每125μs的浮點數(shù)計算量,其中Windows管理intel i5-8500的5個核心,NoTime管理intel i5-8500的1個核心。如下圖可以看到兩者的對比:Windows響應(yīng)用戶程序的算力并不穩(wěn)定,有些周期只能計算數(shù)十次或沒有算力資源,這類情況需要等待Windows分配算力,造成用戶程序的卡頓。

以上,就是NoTime— —基于實時系統(tǒng)的.NET 執(zhí)行平臺。通過NoTime,軟件工程師可以幾乎無門檻地進入實時世界,同時繼續(xù)享用X86系統(tǒng)的高算力優(yōu)勢。
審核編輯:湯梓紅
-
機器人
+關(guān)注
關(guān)注
213文章
30539瀏覽量
219242 -
WINDOWS
+關(guān)注
關(guān)注
4文章
3685瀏覽量
93158 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7324瀏覽量
128546 -
實時系統(tǒng)
+關(guān)注
關(guān)注
0文章
38瀏覽量
14807
原文標題:ProCon NoTime:開箱即用的實時.NET執(zhí)行環(huán)境
文章出處:【微信號:控制工程中文版,微信公眾號:控制工程中文版】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
Windows CE .NET 4.2 產(chǎn)品概述
STN32開發(fā)板應(yīng)用詳解——基于倉儲環(huán)境監(jiān)控系統(tǒng)
基于倉儲環(huán)境監(jiān)控系統(tǒng)——詳解stm32開發(fā)板應(yīng)用
程序的翻譯環(huán)境和執(zhí)行環(huán)境有何不同
實時系統(tǒng)VxWorks下設(shè)備驅(qū)動程序的編寫詳解
基于NET的挖掘機實時監(jiān)測系統(tǒng)設(shè)計與實現(xiàn)
ARM程序的執(zhí)行過程詳解
單片機執(zhí)行指令過程詳解
YKCAT2如何搭建NoTime基本程序框架
介紹NoTime模式下的高精度線程
軟著陸技術(shù)在半導(dǎo)體和3C組裝設(shè)備中的應(yīng)用

基于實時系統(tǒng)的.NET執(zhí)行環(huán)境ProCon NoTime詳解
評論