<style id="7i3y3"></style>

      <sub id="7i3y3"><i id="7i3y3"></i></sub>

        午夜精品一区二区三区成人,中文字幕av一区二区,亚洲AVAV天堂AV在线网阿V,肥臀浪妇太爽了快点再快点,国产网友愉拍精品视频手机,国产精品无码a∨麻豆,久久中文字幕一区二区,a级国产乱理伦片在线观看al
        首頁(yè) 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
        中華工控網(wǎng)首頁(yè)
          P L C | 變頻器與傳動(dòng) | 傳感器 | 現(xiàn)場(chǎng)檢測(cè)儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動(dòng)控制
          D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場(chǎng)總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測(cè)控 | 工業(yè)安全
          電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺(jué)
        強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(六):us級(jí)高速交互之C++,為智能裝備提速
        深圳市正運(yùn)動(dòng)技術(shù)有限公司
        收藏本文     查看收藏

        強(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)核。

        MotionRT750.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)合。

        MotionRT750支持產(chǎn)品.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í)代碼提升效率。

        更多關(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主站互不影響。

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

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

        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路硬件位置比較輸出、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主站互不影響。

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

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

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

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

        雙EtherCAT通道-超實(shí)時(shí)EtherCAT運(yùn)動(dòng)控制卡XPCIE2032H.png

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

        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ù)傳輸。

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

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

        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倍。

        MotionRT7.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è)!”查看。

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

        1.打開(kāi)Visual Studio 2022軟件選擇創(chuàng)建新項(xiàng)目。

        1.png

        2.選擇開(kāi)發(fā)語(yǔ)言為“C++”和“MFC應(yīng)用”。

        2.png

        3.選擇項(xiàng)目名稱、文件目錄位置及框架。

        3.png

        4.選擇類型為“基于對(duì)話框”,下一步或者完成。

        4.png

        5.將廠商提供的C++的庫(kù)文件和相關(guān)頭文件復(fù)制到新建的項(xiàng)目里面。

        5.png

        6.在項(xiàng)目中添加靜態(tài)庫(kù)和相關(guān)頭文件。

        靜態(tài)庫(kù):zauxdll.lib, zmotion.lib

        相關(guān)頭文件:zauxdll2.h, zmotion.h

        1)先右擊頭文件,接著依次選擇:“添加”→“現(xiàn)有項(xiàng)”。

        6.png

        2)在彈出的窗口中依次添加靜態(tài)庫(kù)和相關(guān)頭文件。

        7.png

        3)聲明用到的頭文件和定義控制器連接句柄。

        8.png

        02 相關(guān)PC函數(shù)介紹

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

        9.png

        2.PC函數(shù)介紹。

        指令11.png

        指令197.png

        指令204.png

        指令5.png

        指令281.png

        指令282.png

        指令284.png

        指令286.png


         

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

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

        LOCAL連接方式.png

        void CcRunSpdDlg::OnBnClickedButton3() 
        {
        // 連接類型,
             CString s;
             cb1.GetWindowText(s);
             if (!ZAux_FastOpen((ZMC_CONNECTION_TYPE)5, &s.GetBuffer()[0], 1000, &handle))
             {
                 MessageBox("MotionRT750鏈接成功!");
             }
             else
             {
                 MessageBox("MotionRT750鏈接失敗!");
             }
        }

        2.MotionRT750和ZMC432-V2型號(hào)控制器通過(guò)網(wǎng)口連接按鈕的事件處理函數(shù),調(diào)用函數(shù)ZAux_OpenEth()去連接控制器(網(wǎng)口連接方式)。

        網(wǎng)口連接方式.png

        網(wǎng)口連接方式-ZMC432CL-V2.png

        void CcRunSpdDlg::OnBnClickedButton1()
        {
             CString s;
             ed1.GetWindowText(s);
             std::string ip = s.GetBuffer();
             if (!ZAux_OpenEth(&ip[0],&handle))
             {
                 MessageBox("鏈接成功!");
             }
             else
             {
                 MessageBox("鏈接失敗!");
             }
        }

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

        PCI連接方式.png

        void CcRunSpdDlg::OnBnClickedpciconct()
        {
             // TODO: 在此添加控件通知處理程序代碼
             CString t;
             cb3.GetWindowText(t);
             if (!ZAux_FastOpen((ZMC_CONNECTION_TYPE)4, &t.GetBuffer()[0], 1000, &handle))
             {
                 MessageBox("鏈接成功!");
             }
             else
             {
                 MessageBox("鏈接失敗!");
             }
        }

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

        void CcRunSpdDlg::OnBnClickedButton5()
        {
             CString s;
             std::string S;
             float dpos =0;
             cb2.GetWindowText(s);
             S = s.GetBuffer();
             int i;
             LARGE_INTEGER fre, StartCount, StopCount;
             QueryPerformanceFrequency(&fre);
             //開(kāi)始計(jì)數(shù)
             QueryPerformanceCounter(&StartCount);
             for (i= 1; i <= std::stoi(S); i++)
             {
                 ZAux_Direct_GetDpos(handle, 0, &dpos);
             }
             //停止計(jì)數(shù)
             QueryPerformanceCounter(&StopCount);
             double  elapsed = (double)(StopCount.QuadPart - StartCount.QuadPart);
             double  exeTime, exeTime1;
             exeTime = elapsed * 1000 / fre.QuadPart;                           //ms 總耗時(shí)
             exeTime1 = elapsed * 1000 / fre.QuadPart/ (std::stoi(S)) * 1000;   //us 單條指令耗時(shí)
             //時(shí)間顯示
             ed2.SetWindowText(std::to_string(exeTime1).data());			  //us
             ed3.SetWindowText(std::to_string((double)exeTime).data());        //ms
             ed6.SetWindowText(std::to_string(dpos).data());
        }


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

        void CcRunSpdDlg::OnBnClickedButton6()
        {
             CString s;
             std::string S;
             float data[12] = { 0 };
             char get[255];
             cb2.GetWindowText(s);
             S = s.GetBuffer();
             std::string cmd = "?dpos(0),dpos(1),dpos(2),dpos(3),axisstatus(0),axisstatus(1),axisstatus(2),axisstatus(3),in(0),in(1),in(2),in(3)";
             LARGE_INTEGER fre, StartCount, StopCount;
             QueryPerformanceFrequency(&fre);
             //開(kāi)始計(jì)數(shù)
             QueryPerformanceCounter(&StartCount);
             for (int i = 1; i <= std::stoi(S); i++)
             {
                 ZAux_DirectCommand(handle, &cmd[0], get, 255);
             }
             //停止計(jì)數(shù)
             QueryPerformanceCounter(&StopCount);
             double  elapsed = (double)(StopCount.QuadPart - StartCount.QuadPart);
             double  exeTime, exeTime1;
             exeTime = elapsed * 1000 / fre.QuadPart;                           //ms 總耗時(shí)
             exeTime1 = elapsed * 1000 / fre.QuadPart / (std::stoi(S)) * 1000;  //us 單條指令耗時(shí)      //時(shí)間顯示
             ed4.SetWindowText(std::to_string(exeTime1).data());               //單條指令耗時(shí)
             ed5.SetWindowText(std::to_string((double)exeTime).data());		  //總耗時(shí)
             ZAux_TransStringtoFloat(&get[0], 12, data);
             ed7.SetWindowText(std::to_string(data[0]).data());
             ed8.SetWindowText(std::to_string(data[1]).data());
             ed9.SetWindowText(std::to_string(data[2]).data());
             ed10.SetWindowText(std::to_string(data[3]).data());
             ed11.SetWindowText(std::to_string((int)data[4]).data());
             ed12.SetWindowText(std::to_string((int)data[5]).data());
             ed13.SetWindowText(std::to_string((int)data[6]).data());
             ed14.SetWindowText(std::to_string((int)data[7]).data());
             ed15.SetWindowText(std::to_string((int)data[8]).data());
             ed16.SetWindowText(std::to_string((int)data[9]).data());
             ed17.SetWindowText(std::to_string((int)data[10]).data());
             ed18.SetWindowText(std::to_string((int)data[11]).data());
        }

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

        void CcRunSpdDlg::OnBnClickedButton9()
        {
             // TODO: 在此添加控件通知處理程序代碼 0
             int32 singleValue = 0;
             int32 InState[1000];
             //打開(kāi)使能周期上報(bào)
             ZAux_CycleUpEnable(handle, 0, 1000, "IN(0,1000)");
             //強(qiáng)制上報(bào)一次,0 為通道號(hào)
             ZAux_CycleUpForceOnce(handle, 0);
             LARGE_INTEGER fre, start, stopCount;
             QueryPerformanceFrequency(&fre);
             //開(kāi)始計(jì)數(shù)
             QueryPerformanceCounter(&start);
             for (int i = 0; i < 1000; i++)
             {
                 int ret = ZAux_CycleUpReadBuffInt(handle, 0, "IN", i, InState);
                 if (ret != 0)		 //判斷是否報(bào)錯(cuò),有報(bào)錯(cuò)彈出錯(cuò)誤碼
          	 {
                     CString str;
                     str.Format(_T("錯(cuò)誤碼:%d"), ret);
        	     MessageBox(str);
                     break;
                     }
             }
             QueryPerformanceCounter(&stopCount);
             double  elapsed = (double) (stopCount.QuadPart - start.QuadPart);
             double  exeTime;
             exeTime = elapsed * 1000 / fre.QuadPart;				       //ms
             //顯示
             ed19.SetWindowText(std::to_string(exeTime).data());          //ms
             //關(guān)閉周期上報(bào)的功能
             ZAux_CycleUpDisable(handle, 0);
        }

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

        void CcRunSpdDlg::OnBnClickedButton10()
        {
             // TODO: 在此添加控件通知處理程序代碼
             uint32 singleValue = 0;
             uint32 InState[1000];
             LARGE_INTEGER fre, StartCount, StopCount;
             QueryPerformanceFrequency(&fre);
             //開(kāi)始計(jì)數(shù)
             QueryPerformanceCounter(&StartCount);
             for (int i = 0; i < 1000; i++)
             {
                 ZAux_Direct_GetIn(handle, i, &singleValue);                    //單條指令讀取單個(gè)輸入口狀態(tài)
                 InState[i] = singleValue;
             }
             //停止計(jì)數(shù)
             QueryPerformanceCounter(&StopCount);
             double  elapsed = (double)(StopCount.QuadPart - StartCount.QuadPart);
             double  exeTime;
             exeTime = elapsed * 1000 / fre.QuadPart;                           //ms 總耗時(shí)
              //顯示
              ed20.SetWindowText(std::to_string(exeTime).data());     //ms
        }

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

        void CcRunSpdDlg::OnBnClickedButton11()
        {
             // TODO: 在此添加控件通知處理程序代碼
             int32 singleValue[1000];
             LARGE_INTEGER fre, StartCount, StopCount;
             QueryPerformanceFrequency(&fre);
             //開(kāi)始計(jì)數(shù)
             QueryPerformanceCounter(&StartCount);
             ZAux_Direct_GetInMulti(handle, 0, 999, singleValue);
             //停止計(jì)數(shù)
             QueryPerformanceCounter(&StopCount);
             double  elapsed = (double)(StopCount.QuadPart - StartCount.QuadPart);
             double  exeTime;
             exeTime = elapsed * 1000 / fre.QuadPart;                          //ms 總耗時(shí)
             //顯示
             ed21.SetWindowText(std::to_string(exeTime).data());	  //ms
        }


         

        04 運(yùn)行效果

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

        LOCAL連接方式.png

        MotionRT750 LOCAL連接方式示意圖

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

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

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

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

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

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

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

        網(wǎng)口連接方式.png

        MotionRT750 網(wǎng)口連接方式示意圖

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

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

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

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

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

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

        3.ZMC432-V2控制器通過(guò)網(wǎng)口連接方式的單條指令和多條指令交互時(shí)間測(cè)試結(jié)果如下圖所示。

        網(wǎng)口連接方式-ZMC432CL-V2.png

        ZMC432-V2 網(wǎng)口連接方式示意圖

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

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

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

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

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

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

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

        PCI連接方式.png

        PCIE464 PCI連接方式示意圖

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

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

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

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

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

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

        接下來(lái)是對(duì)IO狀態(tài)獲取的耗時(shí)測(cè)試,通過(guò)不同的IO狀態(tài)獲取模式(周期上報(bào),單指令獲取1個(gè)或多個(gè)輸入口狀態(tài)),對(duì)比各連接方式下的總耗時(shí),旨在為實(shí)際應(yīng)用場(chǎng)景提供性能參考,提升數(shù)據(jù)獲取效率,確保系統(tǒng)能更高效穩(wěn)定運(yùn)行。

        (1)MotionRT750通過(guò)LOCAL連接方式時(shí)使用單條指令獲取1個(gè)輸入口狀態(tài)和單條指令獲取多個(gè)輸入口狀態(tài),兩種方式獲取1000個(gè)輸入口狀態(tài)的總耗時(shí)如下。

        LOCAL連接方式.png

        10.png

        (2)MotionRT750通過(guò)網(wǎng)口連接方式使用周期上報(bào)功能獲取輸入口狀態(tài)、使用單條指令獲取1個(gè)輸入口狀態(tài)和使用單條指令獲取多個(gè)輸入口狀態(tài),三種方式獲取1000個(gè)輸入口狀態(tài)的總耗時(shí)如下。

        網(wǎng)口連接方式.png

        11.png

        (3)ZMC432-V2控制器通過(guò)網(wǎng)口連接方式使用周期上報(bào)功能獲取輸入口狀態(tài)、使用單條指令獲取1個(gè)輸入口狀態(tài)和使用單條指令獲取多個(gè)輸入口狀態(tài),三種方式獲取1000個(gè)輸入口狀態(tài)的總耗時(shí)如下。

        網(wǎng)口連接方式-ZMC432CL-V2.png

        12.png

        (4)PCIE464控制卡通過(guò)PCI連接方式使用單條指令獲取1個(gè)輸入口狀態(tài)和單條指令獲取多個(gè)輸入口狀態(tài),兩種方式獲取1000個(gè)輸入口狀態(tài)的總耗時(shí)如下。

        PCI連接方式.png

        13.png

        05 分析與結(jié)論

        1.對(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.1us左右)和一次性讀取12個(gè)狀態(tài)的多條指令交互所需要的時(shí)間(平均3.8us左右),都是要比PCI連接和控制器網(wǎng)口連接的方式更快(PCI單條平均42us左右、多條平均105us左右;網(wǎng)口單條平均127us、多條平均177us左右)。

        分析與結(jié)論-測(cè)試對(duì)比數(shù)據(jù)表格.png

        2.對(duì)于讀取輸入口狀態(tài)指令測(cè)試,從運(yùn)行效果圖的顯示結(jié)果來(lái)看:

        無(wú)論是MotionRT750還是控制器,在網(wǎng)口連接下周期上報(bào)功能效率最高,避免輪詢引發(fā)的多包數(shù)據(jù)傳輸耗時(shí)問(wèn)題,提升帶寬利用率,總耗時(shí)大約僅需0.44ms;

        而單指令批量讀取多個(gè)輸入口狀態(tài)因減少通信次數(shù),耗時(shí)時(shí)間對(duì)比讀取單個(gè)輸入口降低約96%;

        LOCAL和PCI連接時(shí),雖不支持周期上報(bào)功能,但單指令對(duì)比下,批量讀取多個(gè)輸入口狀態(tài)的效率顯著高于讀取單個(gè)輸入口。

        綜合來(lái)看,在實(shí)際應(yīng)用中,選擇哪種數(shù)據(jù)獲取策略取決于具體的應(yīng)用場(chǎng)景、數(shù)據(jù)特性和性能要求。

        例如,如果程序需要快速響應(yīng)單個(gè)事件,單條獲取可能更為合適。如果目標(biāo)是最大化數(shù)據(jù)處理速度,多條獲取可能更有益。而對(duì)于需要定期維護(hù)數(shù)據(jù)新鮮度的應(yīng)用,周期性獲取是必要的。

        3.C++例程講解視頻可點(diǎn)擊→“強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(六):us級(jí)高速交互之C++,為智能裝備提速”查看。

        完整代碼獲取地址

        完整代碼.png

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

        更多精彩內(nèi)容請(qǐng)關(guān)注“正運(yùn)動(dòng)小助手”公眾號(hào),需要相關(guān)開(kāi)發(fā)環(huán)境與例程代碼,請(qǐng)咨詢正運(yùn)動(dòng)技術(shù)銷售工程師:400-089-8936。

        本文由正運(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)源。

        二維碼.png

        正運(yùn)動(dòng)技術(shù)專注于運(yùn)動(dòng)控制技術(shù)研究和通用運(yùn)動(dòng)控制軟硬件產(chǎn)品的研發(fā),是國(guó)家級(jí)高新技術(shù)企業(yè)。正運(yùn)動(dòng)技術(shù)匯集了來(lái)自華為、中興等公司的優(yōu)秀人才,在堅(jiān)持自主創(chuàng)新的同時(shí),積極聯(lián)合各大高校協(xié)同運(yùn)動(dòng)控制基礎(chǔ)技術(shù)的研究,是國(guó)內(nèi)工控領(lǐng)域發(fā)展最快的企業(yè)之一,也是國(guó)內(nèi)少有、完整掌握運(yùn)動(dòng)控制核心技術(shù)和實(shí)時(shí)工控軟件平臺(tái)技術(shù)的企業(yè)。主要業(yè)務(wù)有:運(yùn)動(dòng)控制卡_運(yùn)動(dòng)控制器_EtherCAT運(yùn)動(dòng)控制卡_EtherCAT控制器_運(yùn)動(dòng)控制系統(tǒng)_視覺(jué)控制器__運(yùn)動(dòng)控制PLC_運(yùn)動(dòng)控制_機(jī)器人控制器_視覺(jué)定位_XPCIe/XPCI系列運(yùn)動(dòng)控制卡等等。


         

        狀 態(tài): 離線

        公司簡(jiǎn)介
        產(chǎn)品目錄

        公司名稱: 深圳市正運(yùn)動(dòng)技術(shù)有限公司
        聯(lián) 系 人: 戴德弟
        電  話: 0755-32976042
        傳  真: 0755-2606 6955
        地  址: 深圳市寶安區(qū)西鄉(xiāng)洲石路陽(yáng)光工業(yè)園A1棟5樓
        郵  編: 518100
        主  頁(yè):
         
        該廠商相關(guān)技術(shù)文摘:
        強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(十):運(yùn)動(dòng)控制中的微調(diào)軌跡動(dòng)態(tài)補(bǔ)償
        機(jī)器視覺(jué)運(yùn)動(dòng)控制一體機(jī)在大功率共模電感多面AI外觀缺陷檢測(cè)應(yīng)用
        MotionRT750 SoftMotion:XPCIE1032H超高速運(yùn)動(dòng)控制卡在AOI檢測(cè)設(shè)備上的應(yīng)用
        強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(九):內(nèi)置C語(yǔ)言的自定義機(jī)械手模型實(shí)現(xiàn)
        NEPCON ASIA 2025:解鎖行業(yè)新機(jī)遇,我們?cè)谏钲诘饶?/a>
        開(kāi)放式激光振鏡運(yùn)動(dòng)控制器在旋轉(zhuǎn)飛行打標(biāo)中的應(yīng)用
        強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(八):us級(jí)高速交互之LabVIEW,為智能裝備提速
        液態(tài)點(diǎn)膠密封解決方案,柔性升級(jí),密封更可靠!
        柔性機(jī)械手視覺(jué)供料解決方案,提升無(wú)序分揀效率!
        【2025上海工博會(huì)】正運(yùn)動(dòng)展位智造未來(lái)(二)
        【2025上海工博會(huì)】正運(yùn)動(dòng)展位智造未來(lái)(一)
        【2025上海工博會(huì)】機(jī)器視覺(jué)運(yùn)動(dòng)控制一體機(jī)應(yīng)用預(yù)覽(三)
        更多文摘...
        立即發(fā)送詢問(wèn)信息在線聯(lián)系該技術(shù)文摘廠商:
        用戶名: 密碼: 免費(fèi)注冊(cè)為中華工控網(wǎng)會(huì)員
        請(qǐng)留下您的有效聯(lián)系方式,以方便我們及時(shí)與您聯(lián)絡(luò)

        關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動(dòng)態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報(bào)
        工控網(wǎng)客服熱線:0755-86369299
        版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved

        主站蜘蛛池模板: 精品一区精品二区制服| 亚洲欧美综合一区二区三区| 国产免费不卡av在线播放| 欧美日韩中文亚洲另类春色| 亚洲天堂视频网| 亚洲国产无套无码av电影| 亚洲天堂成人一区二区三区| 在线中文字幕国产一区| 精品国产一区二区三区蜜臀| 国产在线观看播放av| 青青草一区在线观看视频| 国产午夜亚洲精品不卡网站| L日韩欧美看国产日韩欧美| 久久精品波多野结衣| 亚洲最大成人一区久久久| 精品av国产一区二区三区| 欧美a级v片在线观看一区| 亚洲中文字幕人妻系列| 久久99热只有频精品8| 日本国产精品第一页久久| 国产熟女精品一区二区三区| 亚洲精品一区二区制服| 中文字幕日韩国产精品| 黄频在线播放观看免费| 久久久无码精品国产一区| 精久国产一区二区三区四区| 免费男人j桶进女人p无遮挡动态图 | 欧洲无码一区二区三区在线观看| 乳欲人妻办公室奶水| AV最新高清无码专区| 视频一区二区三区四区久久 | 黑森林福利视频导航| 一个人www在线视频免费| 国产精品v欧美精品∨日韩| 日韩人妻一区中文字幕| 中文字幕亚洲一区二区三区| 日韩精品国产中文字幕| 欧美在线精品一区二区三区| 亚洲AV日韩AV激情亚洲 | 精精国产xxx在线观看| 天堂最新版在线|