无码中文字幕色专区_91av俱乐部_无码人妻h动漫_26uuu成人_91九色丨porny丨国产jk_青青视频在线播放_国内自拍第二页_国产又粗又长又爽又黄的视频_色哟哟免费网站_久久出品必属精品_a级黄色一级片_99日在线视频

首頁 新聞 工控搜 論壇 廠商論壇 產品 方案 廠商 人才 文摘 下載 展覽
中華工控網首頁
  P L C | 變頻器與傳動 | 傳感器 | 現場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
  D C S | 工業以太網 | 現場總線 | 顯示調節儀表 | 數據采集 | 數傳測控 | 工業安全
  電 源 | 嵌入式系統 | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
PC強實時運動控制(一):C#的EtherCAT總線初始化(下)
深圳市正運動技術有限公司
收藏本文     查看收藏

今天,正運動小助手給大家分享一下強實時運動控制內核MotionRT750下PC上位機的EtherCAT總線初始化。

PC上位機EtherCAT總線的初始化方式主要分為兩種:純上位機初始化和下載BASIC腳本初始化。上節課程給大家講解了如何通過純上位機的方法來實現PC上位機EtherCAT總線初始化【詳情點擊→PC強實時運動控制(一):C#的EtherCAT總線初始化(上)】。

本文將詳細講解如何通過使用ZMotionTools工具配置得到的ZAR文件來進行EtherCAT總線初始化。

這里所說的EtherCAT總線初始化,是指正運動的控制器作為主站和EtherCAT的驅動器等從站建立正常通訊,并把各個驅動器映射到控制器的對應軸上的過程。(默認第一個驅動器是0軸,第二個驅動器是1軸,以此類推)

1.脈沖步進驅動器
脈沖步進驅動器一般上電即可使能,把控制器對應軸的軸類型設置成1或者7,然后就可以發送運動指令去控制了。

2.脈沖伺服驅動器
脈沖伺服驅動器的使能操作,通常是將控制器的輸出口連接至驅動器對應的使能口,再由控制器通過控制對應輸出口的開關狀態來實現脈沖伺服驅動器的使能;使能后把控制器對應軸的軸類型設置成4,然后就可以發送運動指令去控制了。

3.總線驅動器
總線驅動器相對復雜一點,需先由控制器執行總線初始化程序后控制器和驅動器通訊上,總線驅動器的使能可以通過ZAux_Direct_SetAxisEnable接口去控制,總線驅動器跑位置模式時,軸類型設置成65,就可以發送運動指令去控制了。

一.全國產強實時運動控制內核MotionRT750

MotionRT750是正運動技術首家自主自研的x86架構Windows系統或Linux系統下獨占確定CPU的強實時運動控制內核。

正運動實時控制內核MotionRT750.webp

該方案采用獨占確定CPU內核技術實現超強性能的強實時運動控制。它將核心的運動控制、機器人算法、數控(CNC)及機器視覺等強實時的任務,集中運行在1-2個專用CPU核上。與此同時,其余CPU核則專注于處理Windows/Linux相關的非實時任務。

此外集成MotionRT750 Runtime實時層與操作系統非實時層,并利用高速共享內存進行數據交互,顯著提升了運動控制與上層應用間的通信效率及函數執行速度,最終實現更穩定、更高效的智能裝備控制,確保了運動控制任務的絕對實時性與系統穩定性,特別適用于半導體、電子裝備等高速高精的應用場合。

強實時運動控制內核MotionRT750應用.png

MotionRT750應用優勢:

1.跨平臺兼容性:支持Windows/Linux系統,適配不同等級CPU。

2.開發靈活性:提供多語言編程接口,便于二次開發與功能定制。

3.實時性提升:通過CPU內核獨占機制與高效LOCAL接口,實現2-3us指令交互周期,較傳統PCI/PCIe方案提速近20倍。

4.擴展能力強化:多卡多EtherCAT通道架構支持254軸運動控制及500us EtherCAT周期。

5.系統穩定性:32軸125us EtherCAT冗余架構消除單點故障風險,保障連續生產。

6.安全可靠性:不懼Windows系統崩潰影響,藍屏時仍可維持急停與安全停機功能有效,確保產線安全運行。

7.功能擴展性:實時內核支持C語言程序開發,方便功能拓展與實時代碼提升效率。

MotionRT750視頻介紹可點擊→正運動強實時運動控制內核MotionRT750。

更多關于MotionRT750的詳情介紹與使用點擊→強實時運動控制內核MotionRT750(一):驅動安裝、內核配置與使用。

二.C#語言進行項目開發

1.在VS2019菜單“文件”→“新建”→“項目”,啟動創建項目向導。

2.1.webp

2.選擇開發語言為“C#”和Windows窗體應用程序,點擊下一步。

2.2~1.webp

3.配置好項目名稱和位置,以及相應框架,點擊創建。

2.3.webp

4.找到廠家提供的光盤資料里面的C#函數庫,路徑如下(64位庫為例)。

進入廠商提供的光盤資料,找到zauxdll.dll,zmotion.dll和Zmcaux.cs這三個庫文件。庫文件路徑:【00光盤資料】→【04PC函數】→【01PC函數庫V2.1】→【Windows平臺】→【C#】→【64位】→【庫文件】。

2.4.webp

5.將廠商提供的C#的庫文件以及相關文件復制到新建的項目中。

(1)將zmcaux.cs文件復制到新建的項目里面中。

2.5.1.webp

(2)將zauxdll.dll和zmotion.dll文件放入bin\debug文件夾中。

2.5.2~1.webp

(3)將Zmcaux.cs文件添加進項目中。右鍵項目名稱,選擇添加,再選擇現有項,選擇Zmcaux.cs文件。

2.5.3.webp

6.雙擊Form1.cs里面的Form1,出現代碼編輯界面,在文件開頭寫入using cszmcaux,并聲明控制器句柄g_handle。

2.6~1.webp

7.至此,項目新建完成,可進行C#項目開發。

三.PC函數介紹

PC函數手冊可在光盤資料獲取,具體路徑如下:“00光盤資料\03編程手冊\03ZMotion PC函數庫編程手冊”。

3.webp

指令269.webp

指令270~1.webp

指令274.webp

指令275.webp

指令246.webp

四.使用ZMotionTools工具配置并生成ZAR文件

在ZMotionToolsQT文件中找到使用手冊,參考《ZMotionTools使用手冊.pdf》進行調試工作,當總線初始化正常且無差錯,手動調試和回零動作均正常后,便可導出ZAR文件給上位機軟件工程師使用。

4.webp

五.總線初始化的ZAR文件導出步驟

點擊【4_配置導入與保存】進入保存界面,再點擊【配置更新到控制器】后,先瀏覽導出文件路徑(存儲文件路徑不要有中文),再點擊【導出】,等待提示文件導出成功。

5.1~1.webp

在導出的文件夾內,還存在一個名為【ZmcEcatConfig】的子文件夾,其中的【ZmcEcatConfig.zar】文件即為我們工具導出的配置文件,上位機軟件工程師直接拷貝該ZAR文件使用即可。

5.2.webp

六.C#項目如何使用配置工具導出ZAR文件進行EtherCAT總線初始化

1.將ZmotionTools工具導出的ZAR文件放置在C#項目的ZAR文件目錄下,實際開發項目時可根據需求自定義路徑。

6.1.webp

2.上位機如何下載ZAR腳本進行總線初始化,并等待總線初始化完成。

6.2.webp

打包好的ZAR文件里面中有定義一個全局變量【EcatInitStatus】,這個變量對總線初始化的完成情況有如下如下定義:

? -1 — 未進行

? 0 初始化失敗

? 1 初始化完成,初始化OK

? 2 從站個數對不上(配置軟件設置【總線節點數】大于0后才生效)

? 3 總線軸個數對不上(配置軟件設置【總線驅動器軸數】大于0后才生效)

6.2.2.webp

所以上位機可以通過【ZAux_Direct_GetVariableInt】去獲取ZAR文件里面定義的全局變量的數值來判斷總線初始化是否成功,當然總線初始化是需要時間的。

我們一般把ZAR程序下載后,上位機通過While循環(可以設置一個超時時間比如30秒)在超時時間內每隔50ms就去獲取一次變量【EcatInitStatus】的值。

如果返回值不等于-1就說明總線初始化腳本執行結束了,然后根據返回值去判斷是否成功。如果返回值等于-1就需要一直獲取變量【EcatInitStatus】的值直到超過自己設置的超時時間就報警。

上位機具體代碼如下:

//選擇RAM模式下載ZAR文件到控制器進行總線初始化
int ret = zmcaux.ZAux_ZarDown(g_handle, filePaths[0], 0);
//如果ZAR文件下載成功
if (0 == ret)
{
    //等待2秒后再去獲取總線初始化情況
    Thread.Sleep(2000);
    //設置while循環的超時時間是30s
    int Time0ut = 30000;
    while (Time0ut > 0)
    {
        //獲取總線初始化狀態的標志位
        ret = zmcaux.ZAux_Direct_GetVariableInt(g_handle, "EcatInitStatus", ref EcatInitStatus);
        if ((ret == 0) && (-1 != EcatInitStatus))
        {
            if (0 == EcatInitStatus)
            {
                MessageBox.Show("總線初始化失敗");
            }
            else if (1 == EcatInitStatus)
            {
                MessageBox.Show("總線初始化成功");
            }
            else if (2 == EcatInitStatus)
            {
                MessageBox.Show("總線掃描,發現節點個數和設置的不對應");
            }
            else if (3 == EcatInitStatus)
            {
                MessageBox.Show("總線掃描,發現總線軸個數和設置的不對應");
            }
            break;
        }
        //超時時間減100ms
        Thread.Sleep(100);
        Time0ut = Time0ut - 100;
    }
}

3.上位機如何實現總線通訊的軟復位。

6.2.3.webp

在ZAR腳本中存在一個死循環,當檢測到總線初始化的狀態標志位不為1時,會重新執行總線初始化程序。因此,若驅動器中途斷電導致總線通訊中斷,需重新進行總線初始化時,上位機通過【ZAux_Direct_SetUserVar】指令將總線初始化腳本變量【EcatInitStatus】設置為-1即可。

上位機具體代碼如下:

//重新進行總線初始化
int Err = zmcaux.ZAux_Direct_SetUserVar(g_handle, "EcatInitStatus", -1);
//如果重新總線初始化的指令下發成功
if (0 == Err)
{
    Thread.Sleep(2000);
    //等待2秒后再去獲取總線初始化情況
    int TimeOut = 30000;
    //設置while循環的超時時間是30s
    int EcatInitStatus = -1;
    //總線初始化狀態
    while (TimeOut > 0)
    {
        //獲取總線初始化狀態的標志位
        Err = zmcaux.ZAux_Direct_GetVariableInt(g_handle, "EcatInitStatus", ref EcatInitStatus);
        if ((Err == 0) && (-1 != EcatInitStatus))
        {
            if (0 == EcatInitStatus)
            {
                MessageBox.Show("總線初始化失敗");
            }
            else if (1 == EcatInitStatus)
            {
                MessageBox.Show("總線初始化成功");
            }
            else if (2 == EcatInitStatus)
            {
                MessageBox.Show("總線掃描,發現節點個數和設置的不對應");
            }
            else if (3 == EcatInitStatus)
            {
                MessageBox.Show("總線掃描,發現總線軸個數和設置的不對應");
            }
            break;
        }
        //超時時間減100ms
        Thread.Sleep(100);
        TimeOut = TimeOut - 100;
    }
}

4.上位機驅動器報警如何清除報警。

如果總線軸的軸狀態AxisStatus的bit3為1并且bit2為0的話,就是總線驅動器有報警并且總線通訊是沒有斷開的,比如AxisStatus是8h這個情況。這個時候我們上位機可以發送驅動器報警清除進行報警清除。

上位機具體代碼如下:

//報警的軸號
uint AlmAxisId = 0;
//清除軸AlmAxisId驅動器的當前報警
int Err = zmcaux.ZAux_BusCmd_DriveClear(g_handle, AlmAxisId, 0);
//等待比較清除完成
Thread.Sleep(500);
Err = zmcaux.ZAux_Direct_Single_Datum(g_handle, (int)AlmAxisId, 0);//清除控制器報警
Err = zmcaux.ZAux_Direct_SetAxisEnable(g_handle, (int)AlmAxisId, 1);//對報警的軸重新上使能

5.例程使用。

選擇LOCAL連接方式并點擊【連接】。待彈出連接成功提示框后,點擊【總線掃描】;若初始化成功,相關節點信息將顯示在表格中,命令與輸出窗口也會同步呈現相應提示。

6.5.webp

教學視頻請點擊→PC強實時運動控制(二):C#的EtherCAT總線初始化(下)

完整代碼獲取地址

二維碼.png

本次,正運動技術PC強實時運動控制(二):C#的EtherCAT總線初始化(下),就分享到這里。


 

狀 態: 離線

公司簡介
產品目錄

公司名稱: 深圳市正運動技術有限公司
聯 系 人: 戴德弟
電  話: 0755-32976042
傳  真: 0755-2606 6955
地  址: 深圳市寶安區西鄉洲石路陽光工業園A1棟5樓
郵  編: 518100
主  頁:
 
該廠商相關技術文摘:
運動控制器PSO位置同步輸出(一):硬件平臺與PSO指令簡介
EtherCAT與RTEX驅動器軸回零的配置與實現
運動控制器位置鎖存功能的應用
開放式激光振鏡運動控制器:C++快速開發
機器視覺運動控制一體機應用例程|供料單元物料在線有無檢測
EtherCAT總線運動控制器中簡單易用的直線插補
EtherCAT運動控制卡的自定義運動曲線
機器視覺運動控制一體機應用例程|端子裁切檢測
機器視覺運動控制一體機應用例程|柔性電路板自動上料解決方案
開放式激光振鏡運動控制器(四):ZMC408SCAN振鏡控制光纖激光器加工
開放式激光振鏡運動控制器(五):ZMC408SCAN光纖激光器的能量控制
EtherCAT軸擴展模塊EIO16084在運動控制系統中的應用
更多文摘...
立即發送詢問信息在線聯系該技術文摘廠商:
用戶名: 密碼: 免費注冊為中華工控網會員
請留下您的有效聯系方式,以方便我們及時與您聯絡

關于我們 | 聯系我們 | 廣告服務 | 本站動態 | 友情鏈接 | 法律聲明 | 不良信息舉報
工控網客服熱線:0755-86369299
版權所有 中華工控網 Copyright©2022 Gkong.com, All Rights Reserved

无码中文字幕色专区_91av俱乐部_无码人妻h动漫_26uuu成人_91九色丨porny丨国产jk_青青视频在线播放_国内自拍第二页_国产又粗又长又爽又黄的视频_色哟哟免费网站_久久出品必属精品_a级黄色一级片_99日在线视频
亚洲乱码一区| 免费在线欧美黄色| 久久久水蜜桃av免费网站| 黄色亚洲在线| 福利一区二区三区视频在线观看| 欧美日韩在线网站| 国产成人免费| 国产精品欧美在线观看| 西西人体一区二区| 久久久成人网| 精品久久影院| 免费一区二区三区在线视频| 日韩精品一区第一页| 亚洲午夜久久久久久尤物| 樱桃视频成人在线观看| 国产高清亚洲| 欧美韩一区二区| 日本va欧美va欧美va精品| 在线综合视频| 麻豆成人在线| 亚洲字幕久久| 五月激激激综合网色播| 蜜桃视频免费观看一区| 91久久久久| 久久精品高清| 91精品国产福利在线观看麻豆| 精品欠久久久中文字幕加勒比| 日韩不卡在线观看日韩不卡视频| 免费精品视频| 国产精品分类| 久久av日韩| 成人三级高清视频在线看| 国产成人调教视频在线观看| 精品一区二区三区的国产在线观看| 欧美在线综合| 亚洲区欧美区| 日韩av资源网| 国产一区调教| 欧美va天堂在线| 国产精品女主播一区二区三区| 99成人在线| 亚洲综合色婷婷在线观看| 亚洲精品欧洲| 你懂的亚洲视频| 丝袜av一区| 亚洲欧美日韩综合国产aⅴ| 日韩精品欧美精品| 免费亚洲婷婷| 国产在线看片免费视频在线观看| 国产日韩电影| 欧美日韩免费观看一区=区三区| 美女精品在线观看| 欧美视频久久| 午夜av不卡| 亚洲精品123区| 欧美日韩a区| 综合日韩av| 男女男精品网站| 久久中文欧美| 亚洲欧美日韩高清在线| 蜜臀久久久久久久| 欧美韩一区二区| 米奇777超碰欧美日韩亚洲| 狠狠久久婷婷| 国产精品乱战久久久| 久久中文字幕av| 日韩av中文字幕一区二区三区| 久久久久久亚洲精品美女| av在线日韩| 亚洲+小说+欧美+激情+另类| 国产调教精品| 免费av一区二区三区四区| 国产日韩欧美在线播放不卡| 日本精品不卡| 国产欧美日韩视频在线| 一区二区小说| 久久影视三级福利片| 狠狠干成人综合网| 久久影院资源站| 日韩欧美在线精品| 国产精品88久久久久久| 国产精品白浆| 亚洲综合专区| 999国产精品视频| 国产精品一区二区精品视频观看| 亚洲福利国产| 久久亚洲资源中文字| 免费人成在线不卡| 色乱码一区二区三区网站| 中文字幕一区二区三区在线视频| 国产高清不卡| 国模精品一区| 国产九九精品| 亚洲一区观看| 欧洲亚洲一区二区三区| 欧美国产先锋| 日韩手机在线| 亚洲视频电影在线| 99国产精品| 99久久亚洲精品蜜臀| 日本一区二区免费高清| 日韩不卡一二三区| 免费观看在线综合色| 亚洲黄色在线| av一区二区高清| 91精品国产91久久久久久黑人| 成人午夜在线| 麻豆国产欧美日韩综合精品二区| 石原莉奈一区二区三区在线观看| 宅男在线一区| 午夜国产精品视频| 狠狠操综合网| 香蕉精品视频在线观看| 国产在线欧美| 欧美二区视频| 国产午夜久久| 中文字幕中文字幕精品| 亚洲美女91| 91av一区| 国产精选久久| 国产欧美综合一区二区三区| 日韩超碰人人爽人人做人人添| 蜜桃视频一区二区三区在线观看| 黄页网站一区| 蜜桃视频在线观看一区| 蜜桃久久av一区| 日韩区欧美区| 里番精品3d一二三区| 精品伊人久久| 久久久久久黄| 欧美中文字幕| 国产欧美自拍一区| а√天堂中文在线资源8| 欧美三级精品| 婷婷综合在线| 日韩免费精品| 大香伊人久久精品一区二区| www成人在线视频| 亚洲成人免费| 午夜亚洲福利| 日韩成人精品一区| 91久久中文| 国产欧美88| 日韩精品久久久久久久软件91| 久久国产欧美日韩精品| 精品国产鲁一鲁****| 亚洲成人一区在线观看| 欧美日韩免费观看一区=区三区 | 久久久亚洲一区| 91精品国产91久久久久久黑人| 欧美日韩精品一本二本三本 | 激情五月综合| 日韩中文字幕一区二区高清99| 麻豆视频一区二区| 亚洲成人三区| 欧美激情网址| 亚洲主播在线| 国产欧美日韩精品高清二区综合区 | 国产一区日韩| 五月综合激情| 国产高清精品二区| 亚洲二区三区不卡| 国产精品久av福利在线观看| 久久精品av| 日韩国产在线观看| 99久久九九| 国产精品多人| 国产精品美女久久久浪潮软件| 国产精品观看| 亚洲欧美日韩国产一区二区| 牛牛精品成人免费视频| 亚洲一区二区动漫| 亚洲永久av| 蜜桃视频一区二区| 高清日韩中文字幕| 日韩av成人高清| 亚洲激情中文| 青青青免费在线视频| 国产亚洲高清在线观看| 欧美综合国产| 久久亚洲在线| 蜜臀国产一区| 欧美亚洲人成在线| 久久精品国产一区二区| 久久成人亚洲| 久久91导航| 精品福利久久久| 国产劲爆久久| 日本欧美韩国一区三区| 亚洲丝袜美腿一区| 国产精品日本| 99视频一区| 狠狠色综合网| 黄色国产精品| 亚洲免费一区二区| 免费久久99精品国产自在现线| 欧美日韩水蜜桃| 亚洲午夜久久久久久尤物| 日韩一区欧美| 欧美香蕉视频|