色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Windows實時運動控制軟核(三):LOCAL高速接口測試之C++

正運動技術 ? 來源:正運動技術 ? 作者:正運動技術 ? 2022-12-20 09:41 ? 次閱讀

今天,正運動小助手給大家分享一下MotionRT7的安裝和使用,以及使用C++對MotionRT7開發的前期準備。

01 MotionRT7簡介

MotionRT7是深圳市正運動技術推出的跨平臺運動控制實時內核,也是國內首家完全自主自研,自主可控的Windows運動控制實時軟核。

poYBAGOW4pOACcciAAHq9VIXJmU220.png

1.MotionRT7具備以下特點

(1)獨立軟件安裝,適合各種Windows電腦;綠色免安裝,快速體驗;采用硬件綁定的運行許可證授權(未授權也可試用);可以方便配置、啟動、連接、模擬運行等。

(2)與MotionRT其它版本功能兼容,一次開發,可快速切換到嵌入式Linux各種平臺。

(3)統一函數庫接口,快速的本地LOCAL接口,運動函數調用快至us級別,比普通PCI卡快數十倍。

(4)集成機器視覺,快速搭建各類運動控制+機器視覺的實時應用。

(5)強大多卡功能,最多240軸聯動,支持跨卡聯動,脈沖與總線聯動,振鏡與平臺聯動,輕松實現位置鎖存/PSO等高級功能。

2.持續迭代的運動控制實時內核MotionRT

MotionRT是正運動技術持續建設與發展的運動控制實時內核,已不斷迭代7代,從MotionRT1到MotionRT7。

poYBAGOK_DKAHSMdAAdoI1y_Yq8958.png

3.MotionRT7采用模塊化軟件架構

poYBAGOW4quAUP9nAAC-UQ_GFpA341.png

運動控制程序、視覺算法、MotionRT7運動控制引擎,通過高共享內存進行數據交互,大大提升運動控制與機器視覺的交互效率。用戶自定義功能,融合Gmc、Gear/Cam、Frame、Robotics、CNC等算法,打造用戶的專用控制系統

4.統一開放的API函數

統一完善的SDK庫,所有的第三方開發環境同一套API接口,跨平臺的產品架構,提高效率,保持兼容性。

poYBAGOW4rGAGfvuAACTkFdnWq4151.png

5.簡單易用的運動控制功能特性

a.點位運動、直線插補、圓弧插補、螺旋插補、連續軌跡加工;

b.電子凸輪、電子齒輪、同步跟隨、位置鎖存、虛擬軸疊加;

c.S曲線加減速,SS曲線加減速,軌跡運動更柔和;

d.1D/2D/3D高速位置同步輸出PS0,充分滿足視覺飛拍、高速點膠、激光加工;

e.客戶可自定義運動控制算法或者機器人正反解算法;

f.方便與第三方視覺配合。

6.開放的EtherCAT與配置調試工具

ZDevelop具備開放易用的配置,開發,調試,診斷等工具。ZDevelop不僅是個綠色免費的軟件,而且具備軸調試,軸狀態,示波器等工具。

pYYBAGOW4riABKRwAAKHtlkaieE117.png

MotionRT7廣泛支持EtherCAT總線,支持市面上廣泛易用的EtherCAT伺服,EtherCAT步進,EtherCAT IO,EtherCAT閥島和EtherCAT傳感器

我司后續將持續完善EtherCAT的配置工具,持續努力做最好用的運動控制。

02 MotionRT7的安裝和使用

第一步:安裝驅動程序

1.打開“設備管理器”,選擇“操作”中的“添加過時硬件”,選擇“手動選擇”。

pYYBAGOhD8mAEZl7AAGbch8B5BA092.pngpYYBAGOhD8-AWKd3AADvey1SwV8010.png

2.點擊“下一步”。

poYBAGOhD9WAZrSOAAEqUZPKWVs780.png

3.點擊“從磁盤安裝”。

poYBAGOhD9uAblg3AAFNC7-M0DQ571.png

4.點擊“瀏覽按鈕”選擇驅動所在的路徑,打開文件夾“driver_signed”,選擇“ZMotionRt64.inf”。

poYBAGOhD9-AcPZGAADGYfFDkhw144.pngpoYBAGOhD-SASDdVAAEN9OEoO1A830.png

5.一直點擊下一步,直到安裝完成。

pYYBAGOhD-mAPzY6AAK36k_9fUA195.png

注意:驅動更新時,要從設備管理器刪除設備,一定要選擇把驅動文件也刪除。

第二步:運行控制臺程序

1.打開控制臺程序所在位置,運行可執行文件“MotionRt710.exe”。

pYYBAGOhD_2AX2IHAAI8PzGk9MA233.png

2.點擊“Start”。

poYBAGOhEAKAaz5uAACPcSC9SGE414.png

第三步:使用ZDevelop軟件鏈接到控制器,進行參數監控

ZDevelop鏈接控制器,軟件版本3.10以上,使用PCI/LOCAL方式進行連接。

pYYBAGOhEAiAVr1JAACPMfA0fZQ716.pngpYYBAGOhEA6ALyx9AAD9ezl-gvI817.png

第四步:網口擴展EtherCAT主站協議

1.查看網絡連接。

poYBAGOhEBOAQBXOAAB7ijtTu4c524.png

2.選擇用作EtherCAT的網卡,右鍵屬性,安裝協議。

poYBAGOhEBiAO-N3AAH8P4y6t-4331.pngpYYBAGOhEB-AHB7rAAKkJBC4rZ8633.pngpoYBAGOhECWAB1aMAAFp7vNd_iI354.png

3.點擊從磁盤安裝,選擇驅動器所在的路徑,打開文件夾”driver_signed”,選擇“MotionRtPacket.inf”。

pYYBAGOhECuAL5wgAAEkUXb9kN4892.pngpoYBAGOhEDGALVS0AADLJEIeqBs822.pngpYYBAGOhEDaAYEUDAAFX-NthDqA697.pngpYYBAGOhED6AQLpbAAKM7fRgq8Y918.png

4.安裝成功后,確認ZMotionRT64 Packet Protocol Driver前面有選上。

在RT控制臺程序選擇增加AddEcat,這時能看到對應網卡,選擇后,啟動RT。

poYBAGOhEEaARZLqAAH0VYisv3s803.png

自帶PC的網卡EtherCAT具有一定的實時性,如EtherCAT要提升性能,則需要把網口其它的協議都去掉以提升實時性。

如需進一步提升實時性,請使用正運動專門的EtherCAT運動控制卡XPCIE1032。

更多關于MotionRT7的參數設置以及相關問題,請參照“MotionRT7說明書”。

相關資料請前往正運動技術官網www.zmotion.com.cn或聯系正運動相關人員。

03 C++進行MotionRT7項目的開發

1.新建MFC應用。

pYYBAGOhEGmAKuE_AADjCz7h9A8992.png

2.將zauxdll.lib、zauxdll2.h、zauxdll.dll和zmotion.dll這4個文件放到剛剛創建的MFC項目文件夾下。以上資料可聯系正運動相關人員獲取。

pYYBAGOhEG6AQi0rAAMOLMJRtLg436.png

3.添加頭文件聲明并聲明句柄。

poYBAGOhEHSAVgppAAEF5JbYlpo864.png

(1)相關PC函數介紹

poYBAGOhEI-AbCKiAABpJXN5e5Y753.pngpoYBAGOhEJSAeVwGAABIPXTMS9k802.pngpYYBAGOhEJmAQXqhAAA4XiKOHDU977.pngpYYBAGOhEJ6AM_7HAABCx4uRfdU295.pngpYYBAGOhEKOAJ8PgAABEac6vw0c295.pngpoYBAGOhEKeAE_bmAAAjj6iU-O4909.png

在C++的MFC設計界面,找到需要用到的控件拖拽到窗體中進行UI界面設計,效果如下。

pYYBAGOhEL6AIncDAABxNSygp8w640.png

注:使用IP模式連接MotionRT7的時候,要將MotionRT710中的Config配置項Eth num的值設置為一個大于0的數(1-12),輸入的IP為本機IP,可以在ZDevelop中直接查看。

(2)相關代碼

① 通過IP鏈接方式的鏈接按鈕的消息響應函數來鏈接控制器。

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

②通過LOCAL鏈接方式的鏈接按鈕的消息響應函數來鏈接控制器。

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

③通過斷開按鈕的消息響應函數來斷開控制器的鏈接。

//斷開上位機與控制器的鏈接
void CcRunSpdDlg::OnBnClickedButton2()
{
    ZAux_Close(handle);
    MessageBox("MotionRT7已斷開!");
}

④通過單條指令交互周期的測試按鈕對單條指令交互的周期進行測試。

void CcRunSpdDlg::OnBnClickedButton5()
{
    CString s;
    std::string S;
    float dpos;
    double tme;
    char g[30];
    cb2.GetWindowText(s);
    S = s.GetBuffer();
    int i;
    DWORD startTime = GetTickCount64();//計時開始
    for (i= 1; i <= std::stoi(S); i++)
    {
        ZAux_Direct_GetDpos(handle, 0, &dpos);
    }
    ed2.SetWindowText(g);
    DWORD endTime = GetTickCount64();//計時結束
    tme = (double)(endTime - startTime) / (std::stoi(S)) * 1000;
    ed2.SetWindowText(std::to_string(tme).data());
    ed3.SetWindowText(std::to_string((double)(endTime - startTime)).data());
    ed6.SetWindowText(std::to_string(dpos).data());
}

⑤通過多條指令交互周期的測試按鈕對多條指令交互的周期進行測試。

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)";
    DWORD startTime = GetTickCount64();//計時開始
    for (int i = 1; i <= std::stoi(S); i++)
    {
        ZMC_DirectCommand(handle, &cmd[0], get, 255);
    }
    DWORD endTime = GetTickCount64();//計時結束
    double tme = (double)(endTime - startTime) / (std::stoi(S)) * 1000;
    ed4.SetWindowText(std::to_string(tme).data());
    ed5.SetWindowText(std::to_string((double)(endTime - startTime)).data());
    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());
}

(3)運行效果

poYBAGOhEXSASnzmAACXkynTxjY925.pngIP鏈接方式的測試(1w次)

pYYBAGOhEXuAJU3XAACU5p13nS8397.pngLOCAL鏈接方式的測試(1w次)

poYBAGOhEYGAZwRFAACYZ8wDfe8269.pngIP鏈接方式的測試(10w次)

pYYBAGOhEYWAS18aAACYiDKeVk8403.pngLOCAL鏈接方式的測試(10w次)

04 分析與結論

以上分別是對IP方式鏈接MotionRT7與LOCAL方式鏈接MotionRT7的指令交互測試,從上面運行效果圖的數據顯示來看,當進行

1w次和進行10w次的單指令交互或多指令交互的時候,LOCAL鏈接的方式進行指令交互所需要的單條指令交互時間(平均4.7us左右和3.9us左右),一次性讀取12個狀態的多條指令交互時間(平均6.2us左右和5.5us左右)都比IP鏈接的方式更快(平均28us左右與29us左右)。

poYBAGOhEeeAF-kOAAAYnjgsTdE802.png

其次,我們可以從運行結果看出MotionRT7在LOCAL鏈接的方式下,指令交互的效率也是非常地穩定,當測試數量從1w增加到10w時,單條指令交互時間與多條指令交互時間波動不大,這將為工藝作業中穩定性提供了極大的保證。

MotionRT7的出現,絕對是一次重大的驚喜與升級,它為我們在進行大批量指令交互的過程中,提供了更好的效率與穩定性,給生產創造更高的效率與更多的價值!

相關的函數請參照“ZMotion PC函數庫編程手冊”。

本次,正運動技術Windows實時運動控制軟核(三):LOCAL高速接口測試之C++,就分享到這里。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • WINDOWS
    +關注

    關注

    4

    文章

    3592

    瀏覽量

    90553
  • 高速接口
    +關注

    關注

    1

    文章

    54

    瀏覽量

    14888
  • C++
    C++
    +關注

    關注

    22

    文章

    2116

    瀏覽量

    74475
  • locale
    +關注

    關注

    0

    文章

    11

    瀏覽量

    1233
收藏 0人收藏

    評論

    相關推薦

    鴻道Intewell操作系統的Windows實時拓展方案

    鴻道Intewell操作系統的Windows實時拓展方案,即鴻道Intewell-Win構型,是一款專為工業控制領域設計的國產操作系統,支持Windows
    的頭像 發表于 12-24 17:40 ?336次閱讀
    鴻道Intewell操作系統的<b class='flag-5'>Windows</b><b class='flag-5'>實時</b>拓展方案

    運動控制卡周期上報實時數據IO狀態C++

    使用C++進行運動控制卡的周期上報功能實現
    的頭像 發表于 12-17 13:59 ?577次閱讀
    <b class='flag-5'>運動</b><b class='flag-5'>控制</b>卡周期上報<b class='flag-5'>實時</b>數據IO狀態<b class='flag-5'>之</b><b class='flag-5'>C++</b>篇

    基于國產化鴻道Intewell操作系統的高性能實時運動控制解決方案

    目前國產化高實時運動控制達到了什么樣的控制水平呢?軟件+操作系統實時控制如何實現呢?下面,讓我們一起看看基于國產化鴻道Intewell操作系
    的頭像 發表于 12-05 16:03 ?307次閱讀

    NVIDIA助力輕威科技開發下一代多人實時運動捕捉系統

    在本案例中,通過使用 Jetson 平臺,輕威科技研發了無需穿戴的下一代多人實時運動捕捉系統 SemCam,可以在演員無需穿戴任何 Mark 點和傳感器的前提下,僅憑 AI 視覺識別和 AI 視覺
    的頭像 發表于 11-13 11:46 ?518次閱讀

    PCIe實時運動控制卡的雙盤視覺篩選機上位機開發應用

    PCIe實時運動控制卡的雙盤視覺篩選機上位機開發應用
    的頭像 發表于 10-10 10:15 ?572次閱讀
    PCIe<b class='flag-5'>實時運動</b><b class='flag-5'>控制</b>卡的雙盤視覺篩選機上位機開發應用

    AI邊緣控制

    基于x86架構的IPC形態產品,通過 PC-based 發揮系統的可擴展性、可繼承性、多領域、信息化、開放性和可視化,配合富唯智能自主研發、自主可控的國產實時運動,將IPC形態產品變成了
    的頭像 發表于 08-26 15:12 ?441次閱讀
    AI邊緣<b class='flag-5'>控制</b>器

    PCIe EtherCAT實時運動控制卡PCIE464的IO與編碼器讀寫應用

    C#進行PCIe EtherCAT運動控制卡的項目開發和快速讀取多個IO和軸編碼器位置的例程。
    的頭像 發表于 07-17 14:47 ?1151次閱讀
    PCIe EtherCAT<b class='flag-5'>實時運動</b><b class='flag-5'>控制</b>卡PCIE464的IO與編碼器讀寫應用

    PCIE464M — 高速高精,超高速PCIe EtherCAT實時運動控制

    運動高速高精運動控制卡”家族再添一員猛將!
    的頭像 發表于 05-31 11:17 ?687次閱讀
    PCIE464M — <b class='flag-5'>高速</b>高精,超<b class='flag-5'>高速</b>PCIe EtherCAT<b class='flag-5'>實時運動</b><b class='flag-5'>控制</b>卡

    Windows實時運動控制MotionRT7 | VC6.0例程講解# 正運動技術#運動控制

    運動控制
    正運動技術
    發布于 :2024年05月29日 14:59:41

    FPGA的IP使用技巧

    的IP : 根據項目需求選擇合適的IP,如FIFO、RAM、FIR濾波器、SDRAM控制器、PCIE
    發表于 05-27 16:13

    富唯智能AI邊緣控制器:引領工業自動化新時代

    研發的國產實時運動,將IPC形態產品升級為實時運動控制器或PLC,滿足了行業對高速高精
    的頭像 發表于 05-17 18:08 ?989次閱讀
    富唯智能AI邊緣<b class='flag-5'>控制</b>器:引領工業自動化新時代

    Windows實時運動控制MotionRT7 | VB.NET例程講解# 運動控制器# 運動控制系統

    運動控制系統
    正運動技術
    發布于 :2024年05月13日 13:59:34

    基于VPLC711的曲面外觀檢測XYR運動控制解決方案

    +EtherCAT總線); ●內置實時內核MotionRT7,支持第方視覺軟件; ●板載20路通用輸入(其中10路為高速輸入),20路高速輸出; ●多核并行運算,能夠高效處理
    發表于 04-16 17:58
    主站蜘蛛池模板: 黄色日本女人 | 欧美丰满熟妇BBB久久久 | 深夜释放自己污在线看 | 三级黄视频 | 99re 这里只有精品 | 草草久久久无码国产专区全集观看 | 国产AV无码成人黄网站免费 | 亚洲色婷婷久久精品AV蜜桃 | 宿舍BL 纯肉各种PLAY H | 天天躁夜夜踩很很踩2022 | 亚洲精品喷白浆在线观看 | 国产精品久久久久久熟妇吹潮软件 | 18禁止观看免费私人影院 | 撅高 自己扒开 调教 | 日本大尺码喷液过程视频 | 亚洲一区免费香蕉在线 | 国产Av影片麻豆精品传媒 | 国产欧美一区二区三区免费 | 亚洲.欧美.中文字幕在线观看 | 久久AV国产麻豆HD真实 | 国产成人h在线视频 | 久久久WWW免费人成精品 | 攵女yin乱合集高h | 成人在线免费看片 | 蜜臀AV浪潮99国产麻豆 | 午夜视频无码国产在线观看 | 中文字幕 人妻熟女 | 国产精品你懂的在线播放 | 欧美在线视频一区 | 快播电影网址 | 特级aa 毛片免费观看 | 张津瑜的9分58秒7段免费 | 国产h视频在线观看网站免费 | 久久不射电影网 | 美国69xxxx59 | 亚洲色大成网站WWW永久麻豆 | 女性爽爽影院免费观看 | 5g天天影院天天看天天爽 | 东京热百度影音 | 六度影院最新 | 毛片视频大全 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品