實時系統的作用
對于機器人、高端制造業、醫療和過程控制(石油、天然氣和電力)業務來說,實時處理非常重要。這些行業依賴實時數據處理以不斷提高安全性、效率和可靠性。而確保這些行業的實時處理數據的一個關鍵因素是,系統要能夠實時調度工作任務, 優先響應、管理和執行實時工作任務。
例如,現代汽車制造商依靠機器人在生產線上的協同工作來組裝汽車。機器人傳遞零件、鉆孔、焊接,或執行安全檢查,都需要精確和連續地處理。在這些應用中,實時系統不僅必須在已經設定的、可預測的時間范圍內處理數據,還必須確保關鍵任務(如安全相關任務)在不太關鍵的任務之前完成。
那么,如何確保數據按照設定的時間和方式處理呢?
答案是運用實時系統。
實時系統一般會提供以下功能:
ProCon NoTime:實時.NET執行環境
ProCon NoTime是基于實時系統的.NET執行環境,與Windows共同或獨立運行在一般工業計算機上。安裝ProCon NoTime之后,工程師可以用Visual Studio基于以往的習慣開發基于.NET語言(如C#,VB.NET等)的實時程序。
1.開箱即用
基于目前市場常見的實時系統,在開發時都需要面對不少問題:內存管理、與現有開發工具的兼容性、實時系統SDK學習,以及后續穩定性和可維護性挑戰。
而通過NoTime,工程師只需要將原本運行在Windows上的.NET機器控制程序,通過調用LoadNoTimeAPP接口等簡易操作,就可放到實時系統中運行,這樣工作重心就能轉移到設備運控及邏輯程序本身,無需擔心實時性的實現了。
同樣的程序運行在NoTime和Windows中會有顯著的不同,以下我們通過一些簡單的實驗來展示。
2.實時的用戶程序響應
這是一個經常出現的現象,一個外部信號進入控制系統,用戶希望收到信號之后立刻進行一些計算和判斷,然后進行某種形式的輸出。這類問題常見于各類視覺檢測應用中。
物品運動的速度是200mm/s,假設收到外部信號后,需要進行1萬次浮點數運算,計算完成之后伺服電機急停。我們把相同的程序分別運行在Windows和NoTime環境中。(詳見視頻)
通過圖中的曲線可以看到Windows和NoTime兩種環境中的區別。
由于Windows并不是硬實時操作系統,而NoTime 125μs高精度線程可以精確地執行用戶程序,所以這個結果是符合預期的。但是與傳統的實時系統不同,NoTime用戶并不需要其他額外的實時系統開發成本和SDK購買成本,直接使用標準的C#語言就可以獲得硬實時系統的效果。
這個實驗中用到了ProCon YKCAT2— —是基于windows和NoTime的運動控制庫,我們將在后續介紹。
3.實時通訊
不同于“虛擬機”,或者Windows設備驅動類實時系統,NoTime基于完整的實時操作系統,可以完全地管理PC的其他硬件。因此我們可以實現實時的PC與PC或PC與PLC的通訊。
相同的代碼,基于NoTime的Socket通訊,比基于Windows的更加穩定和敏捷。
對于貼合綁定、檢測設備和疊片設備等來說,穩定的PC通訊可以顯著縮短設備的CT,提高穩定性。
4.藍屏機器控制
因為NoTime與Windows安全隔離,所以即使Windows因為病毒,兼容性等原因藍屏,NoTime依然可以穩定運行,使設備始終處于受控狀態。可以繼續執行關鍵的保護和安全任務,避免人員或產品的損失。(詳見視頻)
5.NoTime高精度線程:與PLC一樣的確定性,但是算力更強
基于PC的控制系統算力一般較強,但是一般認為計算周期的穩定性要遜于PLC。基于NoTime 125μs高精度線程,用戶程序在125μs周期內精確地執行。每個周期可以執行約1.3萬次浮點數運算(基于i5-8500,單核心)這樣就兼具了算力與運算周期穩定的優勢。
我們采集了每125μs的浮點數計算量,其中Windows管理intel i5-8500的5個核心,NoTime管理intel i5-8500的1個核心。如下圖可以看到兩者的對比:Windows響應用戶程序的算力并不穩定,有些周期只能計算數十次或沒有算力資源,這類情況需要等待Windows分配算力,造成用戶程序的卡頓。
以上,就是NoTime— —基于實時系統的.NET 執行平臺。通過NoTime,軟件工程師可以幾乎無門檻地進入實時世界,同時繼續享用X86系統的高算力優勢。
審核編輯:湯梓紅
-
機器人
+關注
關注
213文章
29508瀏覽量
211633 -
WINDOWS
+關注
關注
4文章
3608瀏覽量
90971 -
操作系統
+關注
關注
37文章
7097瀏覽量
124974 -
實時系統
+關注
關注
0文章
38瀏覽量
14655
原文標題:ProCon NoTime:開箱即用的實時.NET執行環境
文章出處:【微信號:控制工程中文版,微信公眾號:控制工程中文版】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
Windows CE .NET 4.2 產品概述
STN32開發板應用詳解——基于倉儲環境監控系統
基于倉儲環境監控系統——詳解stm32開發板應用
程序的翻譯環境和執行環境有何不同
基于NET的挖掘機實時監測系統設計與實現
ARM程序的執行過程詳解
單片機執行指令過程詳解

評論