chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(七):us級(jí)高速交互之Qt,為智能裝備提速

正運(yùn)動(dòng)技術(shù) ? 來(lái)源:正運(yùn)動(dòng)技術(shù) ? 作者:正運(yùn)動(dòng)技術(shù) ? 2025-09-11 14:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750

MotionRT750是正運(yùn)動(dòng)技術(shù)首家自主自研的x86架構(gòu)Windows系統(tǒng)或Linux系統(tǒng)下獨(dú)占確定CPU的強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核。

wKgZPGjCa9qAdhqtAAMnI_4qQCk998.png

該方案采用獨(dú)占確定CPU內(nèi)核技術(shù)實(shí)現(xiàn)超強(qiáng)性能的強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制。它將核心的運(yùn)動(dòng)控制、機(jī)器人算法數(shù)控(CNC)及機(jī)器視覺(jué)等強(qiáng)實(shí)時(shí)的任務(wù),集中運(yùn)行在1-2個(gè)專用CPU核上。與此同時(shí),其余CPU核則專注于處理Windows/Linux相關(guān)的非實(shí)時(shí)任務(wù)。

此外集成MotionRT750 Runtime實(shí)時(shí)層與操作系統(tǒng)非實(shí)時(shí)層,并利用高速共享內(nèi)存進(jìn)行數(shù)據(jù)交互,顯著提升了運(yùn)動(dòng)控制與上層應(yīng)用間的通信效率及函數(shù)執(zhí)行速度,最終實(shí)現(xiàn)更穩(wěn)定、更高效的智能裝備控制,確保了運(yùn)動(dòng)控制任務(wù)的絕對(duì)實(shí)時(shí)性與系統(tǒng)穩(wěn)定性,特別適用于半導(dǎo)體、電子裝備等高速高精的應(yīng)用場(chǎng)合。

wKgZO2jCa9uAXb5uAAPC9JyZk3E240.png

MotionRT750應(yīng)用優(yōu)勢(shì):

1.跨平臺(tái)兼容性:支持Windows/Linux系統(tǒng),適配不同等級(jí)CPU。

2.開(kāi)發(fā)靈活性:提供多語(yǔ)言編程接口,便于二次開(kāi)發(fā)與功能定制。

3.實(shí)時(shí)性提升:通過(guò)CPU內(nèi)核獨(dú)占機(jī)制與高效LOCAL接口,實(shí)現(xiàn)2-3us指令交互周期,較傳統(tǒng)PCI/PCIe方案提速近20倍。

4.擴(kuò)展能力強(qiáng)化:多卡多EtherCAT通道架構(gòu)支持254軸運(yùn)動(dòng)控制及500usEtherCAT周期。

5.系統(tǒng)穩(wěn)定性:32軸125usEtherCAT冗余架構(gòu)消除單點(diǎn)故障風(fēng)險(xiǎn),保障連續(xù)生產(chǎn)。

6.安全可靠性:不懼Windows系統(tǒng)崩潰影響,藍(lán)屏?xí)r仍可維持急停與安全停機(jī)功能有效,確保產(chǎn)線安全運(yùn)行。

7.功能擴(kuò)展性:實(shí)時(shí)內(nèi)核支持C語(yǔ)言程序開(kāi)發(fā),方便功能拓展與實(shí)時(shí)代碼提升效率。

MotionRT750視頻介紹可點(diǎn)擊→正運(yùn)動(dòng)強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750。

更多關(guān)于MotionRT750的詳情介紹與使用點(diǎn)擊→強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(一):驅(qū)動(dòng)安裝、內(nèi)核配置與使用。



超實(shí)時(shí)EtherCAT運(yùn)動(dòng)控制卡XPCIE6032H

XPCIE6032H運(yùn)動(dòng)控制卡集成6路獨(dú)立EtherCAT主站接口。整卡最高可支持254軸運(yùn)動(dòng)控制;125usEtherCAT通訊周期時(shí),兩個(gè)端口配置冗余最高可支持32軸運(yùn)動(dòng)控制。6個(gè)EtherCAT主站各通道獨(dú)立工作,多EtherCAT主站互不影響。

wKgZPGjCa9uAQ_XXAAUErE1dr5g041.png

wKgZO2jCa9yANogLAAPyx9H2Yzo002.png

XPCIE6032H視頻介紹可點(diǎn)擊全球首創(chuàng)!PCIe 6路高性能EtherCAT運(yùn)動(dòng)控制卡XPCIE6032H。

XPCIE6032H運(yùn)動(dòng)控制卡面向半導(dǎo)體設(shè)備、精密3C電子、生物醫(yī)療儀器、新能源裝備、人形機(jī)器人及激光加工等高速高精場(chǎng)景,為固晶機(jī)、貼片機(jī)、分選機(jī)、鋰電切疊一體機(jī)、高速異形插件設(shè)備等自動(dòng)化裝備提供核心運(yùn)動(dòng)控制支持。

XPCIE6032H硬件特性:

1.EtherCAT通訊周期可到125us(需要主機(jī)性能與實(shí)時(shí)性足夠)。

2.板卡集成6路獨(dú)立的EtherCAT主站接口,最多可支持254軸運(yùn)動(dòng)控制。

3.搭載運(yùn)動(dòng)控制實(shí)時(shí)內(nèi)核MotionRT750。

4.相較于傳統(tǒng)的PCI/PCIe、網(wǎng)口等通訊方式,速度可提升了10-100倍以上。

5.板載16路高速輸入,16路高速輸出。

6.板載4路高速鎖存,4路通用PWM輸出。


更多關(guān)于XPCIE6032H的詳情介紹與使用點(diǎn)擊→全球首創(chuàng)!PCIe超實(shí)時(shí)6通道EtherCAT運(yùn)動(dòng)控制卡上市!。




超實(shí)時(shí)EtherCAT運(yùn)動(dòng)控制卡XPCIE2032H

XPCIE2032H集成2路獨(dú)立EtherCAT接口。整卡最高可支持至254軸運(yùn)動(dòng)控制;125usEtherCAT通訊周期時(shí),單接口最高可支持32軸運(yùn)動(dòng)控制。2個(gè)EtherCAT主站各通道獨(dú)立工作,多EtherCAT主站互不影響。

wKgZPGjCa9yARNq-AAXrzGJqBa4353.png

雙EtherCAT主站端口可任意設(shè)置為以下通道,且兩個(gè)端口也設(shè)置為不同類型通道:

● 高速通道 - EtherCAT通訊周期125us

● 常規(guī)通道 - EtherCAT通訊周期250us-8ms

wKgZO2jCa92AbuVoAAQoHsrBw_c477.png

wKgZPGjCa92ASiiiAAMBYn32HiI537.png

XPCIE2032H視頻介紹可點(diǎn)擊→高速高精運(yùn)動(dòng)控制!PCIe超實(shí)時(shí)2通道EtherCAT運(yùn)動(dòng)控制卡上市!。



XPCIE2032H硬件特性:

1.EtherCAT通訊周期可到125us(需要主機(jī)性能與實(shí)時(shí)性足夠)。

2.板卡集成2路獨(dú)立的EtherCAT主站接口,最多可支持254軸運(yùn)動(dòng)控制。

3.搭載運(yùn)動(dòng)控制實(shí)時(shí)內(nèi)核MotionRT750。

4.相較于傳統(tǒng)的PCI/PCIe、網(wǎng)口等通訊方式,速度可提升了10-100倍以上。

5.板載8路高速輸入,16路高速輸出。

6.板載4路高速鎖存,4路通用PWM輸出。

更多關(guān)于XPCIE2032H的詳情介紹與使用點(diǎn)擊→高速高精運(yùn)動(dòng)控制!PCIe超實(shí)時(shí)2通道EtherCAT運(yùn)動(dòng)控制卡上市!。



超實(shí)時(shí)EtherCAT運(yùn)動(dòng)控制卡XPCIE1032H

XPCIE1032H是一款基于PCI Express的EtherCAT總線運(yùn)動(dòng)控制卡,可選6-64軸運(yùn)動(dòng)控制,支持多路高速數(shù)字輸入輸出,可輕松實(shí)現(xiàn)多軸同步控制和高速數(shù)據(jù)傳輸。

wKgZO2jCa96AO3h5AAjdXINFs_8800.png

wKgZPGjCa96AWn2xAANAThCcK4I962.png

XPCIE1032H視頻介紹可點(diǎn)擊→高性能PCIe EtherCAT運(yùn)動(dòng)控制卡 | XPCIE1032H。

XPCIE1032H運(yùn)動(dòng)控制卡集成了強(qiáng)大的運(yùn)動(dòng)控制功能,結(jié)合MotionRT7運(yùn)動(dòng)控制實(shí)時(shí)軟核,解決了高速高精應(yīng)用中,PC Windows開(kāi)發(fā)的非實(shí)時(shí)痛點(diǎn),指令交互速度比傳統(tǒng)的PCI/PCIe快10倍。

wKgZO2jCa9-AJoAqAAGli2TGi_w299.png


XPCIE1032H硬件特性:

1.6-64軸EtherCAT總線+脈沖可選,其中4路單端500KHz脈沖輸出。

2.16軸EtherCAT同步周期500us,支持多卡聯(lián)動(dòng)。

3.板載16點(diǎn)通用輸入,16點(diǎn)通用輸出,其中8路高速輸入和16路高速輸出。

4.通過(guò)EtherCAT總線,可擴(kuò)展到512個(gè)隔離輸入或輸出口。

5.支持PWM輸出、精準(zhǔn)輸出、PSO硬件位置比較輸出、視覺(jué)飛拍等。

6.支持直線插補(bǔ)、圓弧插補(bǔ)、連續(xù)軌跡加工(速度前瞻)。

7.支持電子凸輪、電子齒輪、位置鎖存、同步跟隨、虛擬軸、螺距補(bǔ)償?shù)裙δ堋?/p>

8.支持30+機(jī)械手模型正逆解模型算法,比如SCARA、Delta、UVW、4軸/5軸 RTCP...

更多關(guān)于XPCIE1032H詳情點(diǎn)擊“不止10倍提速!PCIe EtherCAT實(shí)時(shí)運(yùn)動(dòng)控制卡XPCIE1032H 等您評(píng)測(cè)!”查看。



1、Qt進(jìn)行MotionRT750項(xiàng)目的創(chuàng)建與開(kāi)發(fā)

本案例開(kāi)發(fā)環(huán)境是Visual Studio 2022 QT,Qt6.8.2,若使用Qtcreator開(kāi)發(fā),可跳過(guò)第一點(diǎn)。

在Visual Studio 2022上配置Qt的開(kāi)發(fā)環(huán)境

1.點(diǎn)擊Visual Studio上方工具欄的擴(kuò)展→管理擴(kuò)展。

wKgZPGjCa9-AHXsTAAMSk0zzTlA347.png

2.如圖,在瀏覽中搜索Qt,點(diǎn)擊安裝開(kāi)始下載Qt Visual Studio Tools插件。

wKgZO2jCa9-AXHNJAANLKijKV9A763.png

3.再次打開(kāi)Visual Studio,進(jìn)入Qt Versions。

wKgZPGjCa-CARTD7AAIiXN9I6Ks726.png

4.點(diǎn)擊Add添加Qt版本。

wKgZO2jCa-CALwruAAGlCIpdJlI455.png

5.選中條目之后點(diǎn)擊...去找到qmake.exe文件的位置。

wKgZPGjCa-GAZMrIAAGtbXv17wo379.png

6.下圖標(biāo)識(shí)了6.8.2版本的qmake文件在Qt安裝目錄中的相對(duì)位置,不同版本的qmake文件的相對(duì)位置規(guī)律是一樣的,可以參考這個(gè)來(lái)確定。

wKgZO2jCa-GAACTVAAEIV76I1cg588.png

7.隨后使用同樣的方法添加你下載的所有(MSVC)版本即可,添加完之后點(diǎn)擊確定完成插件的設(shè)置。

wKgZPGjCa-KAGDiEAAGw79zieeU197.png

開(kāi)始新建VS Qt項(xiàng)目運(yùn)行

1.新建項(xiàng)目。

wKgZO2jCa-KALMjyAAEoQJ7UqtQ063.png

2.在搜索框輸入Qt可以查看插件為我們提供的所有VS Qt項(xiàng)目模板,一般我們選擇Qt Widgets Application模板即可,選擇后點(diǎn)擊下一步。

wKgZPGjCa-OAXd8KAAGBABZMviQ907.png

3.輸入項(xiàng)目的名稱、位置、解決方案名稱等信息后點(diǎn)擊創(chuàng)建,上述信息一定不要包含中文、空格、特殊字符等,否則后續(xù)會(huì)報(bào)錯(cuò)。

wKgZO2jCa-OABjC5AADc4j_3cfk113.png

4.點(diǎn)擊next。

wKgZPGjCa-OACRh_AAB8KBdgCN4987.png

5.將庫(kù)文件放入x64/debug中。

wKgZO2jCa-SAZ6TiAAEpq5K0vlE005.png

6.右鍵Header Files→添加→現(xiàn)有項(xiàng),把zauxdll.h和zmotion.h添加進(jìn)Header Files目錄。

wKgZPGjCa-SAPW27AAIBftNQH_Y882.png

7.進(jìn)入界面設(shè)計(jì)的代碼編輯界面,添加頭文件#include"../x64/Debug/zauxdll2.h"。

wKgZO2jCa-WALJffAACTA9n3iOM936.png

8.在界面設(shè)計(jì)的頭文件里聲明控制器句柄g_handle。

wKgZPGjCa-WAOajXAAD6-Cy2z3I814.png

新項(xiàng)目建立完成,可以進(jìn)行Qt界面開(kāi)發(fā)。


2、相關(guān)函數(shù)介紹

1.PC函數(shù)手冊(cè)可在光盤(pán)資料查看,具體路徑如下。

wKgZO2jCa-WAO6ipAADPw3Fwguk558.png

wKgZPGjCa-aAdK4uAAAz2zwMi3g209.png

wKgZO2jCa-aAaCFUAABBQQbJ-N8692.png

wKgZPGjCa-aAGhwjAAAtWM_uDz4099.png

wKgZO2jCa-eAUbnMAACJWyrXPRE312.png

wKgZPGjCa-eAL6IBAAA-3eM4ZPw003.png

wKgZO2jCa-eAf563AAAtZoYDO7c636.png

wKgZPGjCa-iAZ-xwAAA40zuwUIE761.png

wKgZO2jCa-iAVdAuAAAypNJ4vd8269.png

wKgZPGjCa-mARgUKAAAesgMCHj0701.png


3、相關(guān)測(cè)試代碼介紹

本次指令交互速度測(cè)試使用三種型號(hào)的控制器對(duì)比測(cè)試,以下測(cè)試為正運(yùn)動(dòng)實(shí)驗(yàn)室測(cè)試數(shù)據(jù),與配置的電腦程序代碼等有關(guān)系,以下測(cè)試數(shù)據(jù)僅供客戶參考??蛻艟唧w項(xiàng)目以客戶實(shí)際測(cè)試環(huán)境為準(zhǔn)。

以下正運(yùn)動(dòng)實(shí)驗(yàn)室測(cè)試為:XPCIE1032H(需搭配MotionRT750使用)、PCIE464、ZMC432-V2,MotionRT750可以通過(guò)LOCAL和網(wǎng)口方式連接,故本次MotionRT750測(cè)試使用LOCAL和網(wǎng)口兩種方式進(jìn)行測(cè)試。

1.XPCIE1032H型號(hào)運(yùn)動(dòng)控制卡使用MotionRT750的LOCAL、網(wǎng)口連接方式測(cè)試。

wKgZO2jCa-mABj2ZAALLcLsBxKA865.png

2.ZMC432-V2型號(hào)運(yùn)動(dòng)控制器使用網(wǎng)口連接方式測(cè)試。

wKgZPGjCa-mAenkkAAQ1sy05jtU111.png

3.PCIE464型號(hào)運(yùn)動(dòng)控制卡使用PCI的連接方式測(cè)試。

wKgZO2jCa-qAPZhMAANBmd9DYZ0705.png

4.相關(guān)測(cè)試代碼如下。

①M(fèi)otionRT750通過(guò)LOCAL連接按鈕的事件處理函數(shù),調(diào)用函數(shù)ZAux_FastOpen(),選擇連接類型5去連接控制卡(LOCAL連接方式)。

voidMainWindow::fun2() { ctype =5; } voidMainWindow::on_btn_open_clicked() { int32 iresult; char* tmp_buff =newchar[16]; QString str; QString str_title; str = ui->comboBox->currentText(); QByteArray ba = str.toLatin1(); tmp_buff = ba.data(); if(0!= g_handle) { ZAux_Close(g_handle); killTimer(m_nTimerId); } iresult =ZAux_FastOpen(ctype,tmp_buff,1000,&g_handle); if(0!= iresult) { QMessageBox::warning(this,"提示","連接失敗"); } else { QMessageBox::warning(this,"提示","連接成功"); str_title =windowTitle() + tmp_buff; setWindowTitle(str_title); m_nTimerId =startTimer(10); up_State(); } }

②MotionRT750和ZMC432-V2型號(hào)控制器通過(guò)網(wǎng)口連接按鈕的事件處理函數(shù),調(diào)用函數(shù)ZAux_OpenEth()去連接控制器,連接類型為2,且把掃描到的IP地址添加到comboBox條目(網(wǎng)口連接方式)。

voidMainWindow::fun3() { ctype =2; ui->comboBox->clear(); ui->comboBox->addItem("127.0.0.1"); char* ip =newchar[10240]; ZAux_SearchEthlist(ip,10230,200); QStringips(ip); QStringList iplist = ips.split(' '); qDebug() comboBox->addItems(iplist); } voidMainWindow::on_btn_open_clicked() { int32 iresult; char* tmp_buff =newchar[16]; QString str; QString str_title; str = ui->comboBox->currentText(); QByteArray ba = str.toLatin1(); tmp_buff = ba.data(); qDebug()

③PCIE464型號(hào)控制卡通過(guò)PCI連接按鈕的事件處理函數(shù),調(diào)用函數(shù)ZAux_FastOpen(),選擇連接類型4去連接控制卡(PCI連接方式)。

voidMainWindow::fun1() { ctype =4; } voidMainWindow::on_btn_open_clicked() { int32 iresult; char* tmp_buff =newchar[16]; QString str; QString str_title; str = ui->comboBox->currentText(); QByteArray ba = str.toLatin1(); tmp_buff = ba.data(); if(0!= g_handle) { ZAux_Close(g_handle); killTimer(m_nTimerId); } iresult =ZAux_FastOpen(ctype,tmp_buff,1000,&g_handle); if(0!= iresult) { QMessageBox::warning(this,"提示","連接失敗"); } else { QMessageBox::warning(this,"提示","連接成功"); str_title =windowTitle() + tmp_buff; setWindowTitle(str_title); m_nTimerId =startTimer(10); up_State(); } }

④通過(guò)單條指令交互周期的測(cè)試按鈕的事件處理函數(shù)來(lái)計(jì)算單條指令的交互平均耗時(shí)和總耗時(shí)。

voidMainWindow::handle_single_command_read_position() { floatdpos=0; inttestNum=ui->test_num->text().toInt();// 從 QComboBox 獲取測(cè)試次數(shù) // 使用 QElapsedTimer 測(cè)量時(shí)間 QElapsedTimer timer; timer.start(); for(inti=0; i < testNum; i++) ? ? { ? ? ? ??// 進(jìn)行 n 次單指令交互 ? ? ? ? ZAux_Direct_GetDpos(g_handle,?0, &dpos); ? ? } ? ??// 獲取總耗時(shí)(納秒) ? ??qint64?totalNanoseconds?=?timer.nsecsElapsed(); ? ??// 將納秒轉(zhuǎn)換為毫秒,并保留小數(shù)點(diǎn)后6位 ? ??double?totalMilliseconds?=?static_cast(totalNanoseconds) /1000000.0; QStringtotalTimeString=QString::number(totalMilliseconds,'f',6); // 更新 UI // 總耗時(shí) (ms),保留小數(shù)點(diǎn)后六位 ui->single_totaltime->setText(totalTimeString); // 計(jì)算平均耗時(shí)(微秒),保留小數(shù)點(diǎn)后六位 doubleaverageMicroseconds=(totalMilliseconds *1000.0) / testNum; QStringaverageTimeString=QString::number(averageMicroseconds,'f',6); ui->single_time->setText(averageTimeString); }

⑤通過(guò)多條指令交互周期的測(cè)試按鈕的事件處理函數(shù)來(lái)計(jì)算多條指令的交互平均耗時(shí)和總耗時(shí)。

voidMainWindow::handle_multiple_commands() { // 獲取測(cè)試次數(shù) inttestNum=ui->test_num->text().toInt(); QStringcmd="?dpos(0),dpos(1),dpos(2),dpos(3),axisstatus(0),axisstatus(1),axisstatus(2),axisstatus(3),in(0),in(1),in(2),in(3)"; QString cmdBuff; intstar=0; QStringList arrS; // 使用 QElapsedTimer 記錄時(shí)間 QElapsedTimer timer; timer.start(); for(inti=0; i < testNum; i++) ? ? { ?? ? ? ??// 創(chuàng)建一個(gè)足夠大的緩沖區(qū)來(lái)存儲(chǔ)返回的命令結(jié)果 ? ? ? ??char?buffer[2048]; ? ? ? ? const?char* cmdCStr = cmd.toStdString().c_str(); ? ? ? ??int?result?=?ZAux_DirectCommand(g_handle, cmdCStr, buffer, sizeof(buffer)); ? ? ? ??// 將返回的結(jié)果追加到 cmdBuff 中 ? ? ? ? cmdBuff += QString::fromUtf8(buffer); ? ? } ? ??// 獲取總耗時(shí)(納秒) ? ??qint64?totalNanoseconds?=?timer.nsecsElapsed(); ? ??// 將納秒轉(zhuǎn)換為毫秒,并保留小數(shù)點(diǎn)后6位 ? ??double?totalMilliseconds?=?static_cast(totalNanoseconds) /1000000.0; QStringtotalTimeString=QString::number(totalMilliseconds,'f',6); // 更新 UI // 總耗時(shí) (ms),保留小數(shù)點(diǎn)后六位 ui->Multiple_totaltime->setText(totalTimeString); // 計(jì)算平均耗時(shí)(微秒),保留小數(shù)點(diǎn)后六位 doubleaverageMicroseconds=(totalMilliseconds *1000.0) / testNum; QStringaverageTimeString=QString::number(averageMicroseconds,'f',6); ui->Multiple_time->setText(averageTimeString); // 處理返回的字符串 QStringListresponseList=cmdBuff.split('t'); for(const QString& item : responseList) { arrS.append(item.trimmed()); } }

⑥網(wǎng)口連接周期上報(bào)的方式獲取輸入口狀態(tài)的總耗時(shí)測(cè)試函數(shù)如下。

voidMainWindow::handle_periodic_report_input_status() { // 創(chuàng)建一個(gè)大小為1000的整數(shù)數(shù)組來(lái)存儲(chǔ)輸入狀態(tài) QVectorInState(1000); intsingleValue=0; // 打開(kāi)使能周期上報(bào) ZAux_CycleUpEnable(g_handle,0,1000,"IN(0,1000)"); // 強(qiáng)制上報(bào)一次,0為通道號(hào) inttep0=ZAux_CycleUpForceOnce(g_handle,0); // beforeDT記錄交互指令前的時(shí)刻 QElapsedTimer timer; timer.start();// 啟動(dòng)計(jì)時(shí)器 for(uinti=0; i (totalNanoseconds) /1000000.0; QStringtimeString=QString::number(totalMilliseconds,'f',6); // 顯示總耗時(shí) ui->periodtime->setText(timeString); // 關(guān)閉使能周期上報(bào) ZAux_CycleUpDisable(g_handle,0); }

⑦單條指令讀取1個(gè)輸入口狀態(tài)的總耗時(shí)測(cè)試函數(shù)如下。

voidMainWindow::handle_single_command_read_one_input() { // 創(chuàng)建一個(gè)大小為1000的無(wú)符號(hào)整數(shù)數(shù)組來(lái)存儲(chǔ)輸入狀態(tài) QVectorInState(1000); uintsingleValue=0; // beforeDT記錄交互指令前的時(shí)刻 QElapsedTimer timer; timer.start(); for(inti=0; i (totalNanoseconds) /1000000.0; QStringtotalTimeString=QString::number(totalMilliseconds,'f',6); // 將總耗時(shí)顯示在 single_IO 上,保留小數(shù)點(diǎn)后六位 ui->single_IO->setText(totalTimeString); }

⑧單條指令讀取多個(gè)輸入口狀態(tài)的總耗時(shí)測(cè)試函數(shù)如下。

voidMainWindow::handle_single_command_read_multiple_inputs() { // 創(chuàng)建一個(gè)大小為32的整數(shù)數(shù)組來(lái)存儲(chǔ)輸入狀態(tài) QVectorInState(32); // 使用 QElapsedTimer 記錄時(shí)間 QElapsedTimer timer; timer.start(); // 單條指令讀取多個(gè)輸入口狀態(tài),輸入口狀態(tài)按位進(jìn)行存儲(chǔ) // 一個(gè) INT 型數(shù)組可以存儲(chǔ) 32 個(gè)輸入口狀態(tài),可讀取 32 個(gè)及以上 ZAux_Direct_GetInMulti(g_handle,0,999, InState.data()); // 獲取總耗時(shí)(納秒) qint64totalNanoseconds=timer.nsecsElapsed(); // 將納秒轉(zhuǎn)換為毫秒,并保留小數(shù)點(diǎn)后6位 doubletotalMilliseconds=static_cast(totalNanoseconds) /1000000.0; QStringtotalTimeString=QString::number(totalMilliseconds,'f',6); // 將總耗時(shí)顯示在 multiple_IO 上,保留小數(shù)點(diǎn)后六位 ui->multiple_IO->setText(totalTimeString); }



4、運(yùn)行效果

1.MotionRT750通過(guò)LOCAL連接方式的交互時(shí)間測(cè)試結(jié)果如下圖所示。

wKgZPGjCa-qALrHxAAKJG0Oepqk911.png

wKgZO2jCa-uAXtOaAACOK24a1j8542.png

MotionRT750 LOCAL連接方式測(cè)試(1k次)


wKgZPGjCa-uAOpUdAAChk8ME6W4303.png

MotionRT750 LOCAL連接方式測(cè)試(1w次)


wKgZO2jCa-yAPOi-AACcuCO11hI786.png

MotionRT750 LOCAL連接方式測(cè)試(10w次)

2.MotionRT750通過(guò)網(wǎng)口連接方式交互時(shí)間的測(cè)試結(jié)果如下圖所示。

wKgZPGjCa-yAea2yAAKYtpidfv0068.png

wKgZO2jCa-yAVN81AACpGsVBzJs652.png

MotionRT750 網(wǎng)口連接方式測(cè)試(1k次)


wKgZO2jCa-2AVqYSAACUFVa2TyE941.png

MotionRT750 網(wǎng)口連接方式測(cè)試(1w次)

wKgZPGjCa-2AeLZfAACT_6zw94Q194.png

MotionRT750 網(wǎng)口連接方式測(cè)試(10w次)


3.ZMC432-V2運(yùn)動(dòng)控制器通過(guò)網(wǎng)口連接方式的交互時(shí)間測(cè)試結(jié)果如下圖所示。

wKgZPGjCa-mAenkkAAQ1sy05jtU111.png

wKgZO2jCa-2AeL_QAACUjjNlMvE135.png

ZMC432-V2 網(wǎng)口連接方式測(cè)試(1k次)


wKgZPGjCa-6AHw0yAACX6jXQ3nA679.png

ZMC432-V2 網(wǎng)口連接方式測(cè)試(1w次)


wKgZO2jCa-6AJ2d-AACX6f8y8f8566.png

ZMC432-V2 網(wǎng)口連接方式測(cè)試(10w次)


4.PCIE464控制卡通過(guò)PCI連接方式的交互時(shí)間測(cè)試結(jié)果如下圖所示。

wKgZPGjCa-6Afa9rAANBmd9DYZ0319.png

wKgZO2jCa--AcSMGAACVop7iZyo453.png

PCIE464 PCI連接方式測(cè)試(1k次)

wKgZPGjCa--AClTlAACWDUFE_v0302.png

PCIE464 PCI連接方式測(cè)試(1w次)


wKgZO2jCa_CAZXtwAACYJJACFuM504.png

PCIE464 PCI連接方式測(cè)試(10w次)


5、結(jié)論與分析

對(duì)于MotionRT750的LOCAL方式連接、網(wǎng)口方式連接以及PCI方式和控制器網(wǎng)口方式連接時(shí)的單條或多條指令交互時(shí)間測(cè)試,從上面的運(yùn)行效果圖的數(shù)據(jù)顯示來(lái)看,可以看出:

當(dāng)進(jìn)行1k、1w次和10w次的單指令交互或多條指令交互的時(shí)候,MotionRT750的LOCAL連接方式進(jìn)行單條指令交互所需要的時(shí)間(平均2.95us左右)和一次性讀取12個(gè)狀態(tài)的多條指令交互所需要的時(shí)間(平均4.72us左右),都是要比PCI連接和控制器網(wǎng)口連接的方式更快(PCI單條平均45.9us左右、多條平均67.81us左右;網(wǎng)口單條平均109.78us、多條平均113.68us左右)。

wKgZPGjCa_CANZWgAAEh1xYGP6k635.png

綜上所述,我們可以從測(cè)試結(jié)果看出,MotionRT750的LOCAL連接方式展現(xiàn)卓越的實(shí)時(shí)性能,指令交互的效率也非常的穩(wěn)定。

當(dāng)測(cè)試次數(shù)從1k增加到1w、10w次時(shí),指令交互時(shí)間波動(dòng)不大,在延遲、穩(wěn)定性上全面優(yōu)于PCI和控制器網(wǎng)口的連接,更加適合高精度、高實(shí)時(shí)性、高穩(wěn)定性的工業(yè)運(yùn)動(dòng)控制場(chǎng)景應(yīng)用。

Qt例程講解教學(xué)視頻可點(diǎn)擊→強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(七):us級(jí)高速交互之Qt,為智能裝備提速。

完整代碼獲取地址


wKgZO2jCa_GAIw6uAAA85B1fVLg297.jpg

本次,正運(yùn)動(dòng)技術(shù)強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(七):us級(jí)高速交互之Qt,為智能裝備提速,就分享到這里。

本文由正運(yùn)動(dòng)技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國(guó)智能制造水平。文章版權(quán)歸正運(yùn)動(dòng)技術(shù)所有,如有轉(zhuǎn)載請(qǐng)注明文章來(lái)源。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(六):us級(jí)高速交互C++,智能裝備提速

    Windows下運(yùn)動(dòng)控制實(shí)時(shí)內(nèi)核MotionRT750高速交互
    的頭像 發(fā)表于 09-04 14:50 ?302次閱讀
    <b class='flag-5'>強(qiáng)</b><b class='flag-5'>實(shí)時(shí)運(yùn)動(dòng)</b><b class='flag-5'>控制</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>MotionRT750</b>(六):<b class='flag-5'>us</b><b class='flag-5'>級(jí)</b><b class='flag-5'>高速交互</b><b class='flag-5'>之</b>C++,<b class='flag-5'>為</b><b class='flag-5'>智能</b><b class='flag-5'>裝備</b><b class='flag-5'>提速</b>

    強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(五):EtherCAT總線冗余讓生產(chǎn)制造更可靠

    EtherCAT總線冗余賦能生產(chǎn)更可靠保障!
    的頭像 發(fā)表于 08-21 11:14 ?412次閱讀
    <b class='flag-5'>強(qiáng)</b><b class='flag-5'>實(shí)時(shí)運(yùn)動(dòng)</b><b class='flag-5'>控制</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>MotionRT750</b>(五):EtherCAT總線冗余讓生產(chǎn)制造更可靠

    強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(四):高速貼裝應(yīng)用中的拱形運(yùn)動(dòng)

    C#編程實(shí)現(xiàn)高速貼裝應(yīng)用中的拱形運(yùn)動(dòng)
    的頭像 發(fā)表于 08-15 11:32 ?1941次閱讀
    <b class='flag-5'>強(qiáng)</b><b class='flag-5'>實(shí)時(shí)運(yùn)動(dòng)</b><b class='flag-5'>控制</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>MotionRT750</b>(四):<b class='flag-5'>高速</b>貼裝應(yīng)用中的拱形<b class='flag-5'>運(yùn)動(dòng)</b>

    強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(二):精密點(diǎn)膠的PSO應(yīng)用

    PSO在精密點(diǎn)膠中的應(yīng)用
    的頭像 發(fā)表于 07-16 11:35 ?326次閱讀
    <b class='flag-5'>強(qiáng)</b><b class='flag-5'>實(shí)時(shí)運(yùn)動(dòng)</b><b class='flag-5'>控制</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>MotionRT750</b>(二):精密點(diǎn)膠的PSO應(yīng)用

    強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(一):驅(qū)動(dòng)安裝、內(nèi)核配置與使用

    強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750的驅(qū)動(dòng)安裝與內(nèi)核配置
    的頭像 發(fā)表于 07-03 15:48 ?2852次閱讀
    <b class='flag-5'>強(qiáng)</b><b class='flag-5'>實(shí)時(shí)運(yùn)動(dòng)</b><b class='flag-5'>控制</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>MotionRT750</b>(一):驅(qū)動(dòng)安裝、<b class='flag-5'>內(nèi)核</b>配置與使用

    EtherCAT運(yùn)動(dòng)控制實(shí)時(shí)數(shù)據(jù)的Qt示波器

    基于QT開(kāi)發(fā)調(diào)用正運(yùn)動(dòng)函數(shù)接口實(shí)現(xiàn)控制器數(shù)據(jù)實(shí)時(shí)監(jiān)測(cè)的示波器效果
    的頭像 發(fā)表于 04-17 17:12 ?461次閱讀
    EtherCAT<b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>控制</b>器<b class='flag-5'>實(shí)時(shí)</b>數(shù)據(jù)的<b class='flag-5'>Qt</b>示波器

    基于國(guó)產(chǎn)化鴻道Intewell操作系統(tǒng)的高性能實(shí)時(shí)運(yùn)動(dòng)控制解決方案

    目前國(guó)產(chǎn)化高實(shí)時(shí)運(yùn)動(dòng)控制達(dá)到了什么樣的控制水平呢?軟件+操作系統(tǒng)實(shí)時(shí)控制如何實(shí)現(xiàn)呢?下面,讓我們一起看看基于國(guó)產(chǎn)化鴻道Intewell操作系
    的頭像 發(fā)表于 12-05 16:03 ?650次閱讀