鴻道(Intewell)操作系統(tǒng)應(yīng)用于PC-Based擴(kuò)展運(yùn)控板卡項(xiàng)目案例
案例背景
為了利用Windows生態(tài),客戶通常選擇X86工控機(jī)作為上位機(jī)來(lái)運(yùn)行HMI和視覺(jué)應(yīng)用,并通過(guò)PCIe接口擴(kuò)展運(yùn)動(dòng)控制板卡,以執(zhí)行對(duì)實(shí)時(shí)性要求較高的運(yùn)動(dòng)控制算法。雖然該方案中的總線延遲較低,但Windows系統(tǒng)的非確定性特性會(huì)導(dǎo)致算法執(zhí)行時(shí)出現(xiàn)較大的抖動(dòng),從而無(wú)法充分展現(xiàn)運(yùn)控板卡的高性能優(yōu)勢(shì)。
實(shí)踐概述
本項(xiàng)目向客戶提供了一套基于國(guó)產(chǎn)化技術(shù)的高性能運(yùn)動(dòng)控制解決方案,采用了Windows與鴻道(Intewell)的混合架構(gòu)。通過(guò)鴻道Intewell-H實(shí)時(shí)擴(kuò)展操作系統(tǒng),我們特別分配了一個(gè)內(nèi)核運(yùn)行運(yùn)動(dòng)控制算法,以驅(qū)動(dòng)PCIe運(yùn)動(dòng)控制卡完成EtherCAT通訊,而其他內(nèi)核則用于運(yùn)行客戶現(xiàn)有的非實(shí)時(shí)Windows系統(tǒng)應(yīng)用。實(shí)時(shí)與非實(shí)時(shí)任務(wù)之間通過(guò)共享內(nèi)存或虛擬網(wǎng)絡(luò)進(jìn)行高效通信。此方案確保了Windows應(yīng)用程序無(wú)需進(jìn)行跨平臺(tái)移植,同時(shí)實(shí)現(xiàn)了非實(shí)時(shí)Windows系統(tǒng)與實(shí)時(shí)系統(tǒng)的分區(qū)隔離,即使非實(shí)時(shí)Windows端發(fā)生故障也不會(huì)影響實(shí)時(shí)業(yè)務(wù)的運(yùn)行。此外,該架構(gòu)還能支持多個(gè)RTOS實(shí)例,允許多個(gè)實(shí)時(shí)業(yè)務(wù)并行運(yùn)行,從而提供更高的靈活性和可靠性。
應(yīng)用效果
本方案成功解決了客戶在Windows系統(tǒng)下難以實(shí)現(xiàn)高實(shí)時(shí)性和高精度運(yùn)動(dòng)控制的問(wèn)題,確保了運(yùn)動(dòng)控制算法應(yīng)用的時(shí)間確定性和高實(shí)時(shí)性。同時(shí),方案保留了客戶的Windows生態(tài)應(yīng)用,實(shí)現(xiàn)了Windows應(yīng)用的兼容性與實(shí)時(shí)運(yùn)動(dòng)控制的并行運(yùn)行,滿足了客戶的需求。
本方案分區(qū)隔離,非實(shí)時(shí)應(yīng)用如視覺(jué)等與實(shí)時(shí)運(yùn)用如運(yùn)動(dòng)控制互不干擾,保證設(shè)備控制的穩(wěn)定性;也彌補(bǔ)了Windows實(shí)時(shí)性差的缺陷,系統(tǒng)在最嚴(yán)苛強(qiáng)壓力環(huán)境下,總線任務(wù)定時(shí)抖動(dòng)在任務(wù)周期(250us)的5%(12.5us)以內(nèi)。