无码人妻精品一区二区三区9厂-国产精品人人做人人爽人人添-在线永久免费观看黄网站-国产精品久久久久一区二区三区

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

XPCIE1032H功能簡介

XPCIE1032H是一款基于PCI Express的EtherCAT總線運動控制卡,可選6-64軸運動控制,支持多路高速數字輸入輸出,可輕松實現多軸同步控制和高速數據傳輸。

XPCIE1032H運動控制卡集成了強大的運動控制功能,結合MotionRT7運動控制實時軟核,解決了高速高精應用中,PC Windows開發的非實時痛點,指令交互速度比傳統的PCI/PCIe快10倍。

運動控制卡XPCIE1032H.png

XPCIE1032H運動控制卡支持PWM,PSO功能,板載16進16出通用IO口,其中輸出口全部為高速輸出口,可配置為4路PWM輸出口或者16路高速PSO硬件比較輸出口。輸入口含有8路高速輸入口,可配置為4路高速色標鎖存或兩路編碼器輸入。

XPCIE1032H運動控制卡搭配MotionRT7實時內核,使用本地LOCAL接口連接,通過高速的核內交互 ,可以做到更快速的指令交互,單條指令與多條指令一次性交互時間可以達到3-5us左右。

XPCIE1032H控制卡架構圖.png

?XPCIE1032H與MotionRT7實時內核的配合具有以下優勢:

優勢.png

1.支持多種上位機語言開發,所有系列產品均可調用同一套API函數庫;

2.借助核內交互,可以快速調用 運動指令,響應時間快至微秒級,比傳統PCI/PCIe快10倍;

3.解決傳統PCI/PCIe運動控制卡在Windows環境下控制系統的非實時性問題;

4.支持一維/二維/三維PSO(高速硬件位置比較輸出),適用于視覺飛拍、精密點膠和激光能量控制等應用;

5.提供高速輸入接口,便于實現位置鎖存;

6.支持EtherCAT總線和脈沖輸出混合聯動、混合插補。

多種上位機開發方式.png

?使用XPCIE1032H和MotionRT7進行項目開發時,通常需要進行以下步驟:

1.安裝驅動程序,識別XPCIE1032H;

2.打開并執行文件“MotionRT710.exe”,配置參數和運行運動控制實時內核;

3.使用ZDevelop軟件連接到控制器,進行參數監控。連接時請使用PCI/LOCAL方式,并確保ZDevelop軟件版本在3.10以上;

4.完成控制程序開發,通過LOCAL鏈接方式連接到運動控制卡,實現實時運動控制。

運動控制項目開發.png

?與傳統PCI/PCIe卡和PLC的測試數據結果對比:

核內交互數據.png

我們可以從測試對比結果看出,XPCIE1032H運動控制卡配合實時運動控制內核MotionRT7,在LOCAL鏈接(核內交互)的方式下,指令交互的效率是非常穩定,當測試數量從1w增加到10w時,單條指令交互時間與多條指令交互時間波動不大,非常適用于高速高精的應用。

XPCIE1032H控制卡安裝

  • 關閉計算機電源。

  • 打開計算機機箱,選擇一條空閑的XPCIE卡槽,用螺絲刀卸下相應的擋板條。

  • 將運動控制卡插入該槽,擰緊擋板條上的固定螺絲。

XPCIE1032H驅動安裝與建立連接參考往期文章 EtherCAT超高速實時運動控制卡XPCIE1032H上位機C#開發(一):驅動安裝與建立連接

一、C#語言進行運動控制項目開發

創建項目.png

1.解壓下載的安裝包找到“ Zmcaux.cs ”,“ zauxdll.dll ”,“ zmotion.dll ”放入到項目文件中。

(1)“Zmcaux.cs”放在項目根目錄文件中,與bin目錄同級。

1.png

(2)“zauxdll.dll”,“zmotion.dll”放在bin → Debug。

2.png

2.用vs打開新建的項目文件,在右邊的解決方案資源管理器中點擊顯示所有,然后鼠標右鍵點擊zmcaux.cs文件,點擊包括在項目中。

3.png

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

4.png

二、PC函數介紹

PC函數手冊也在光盤資料里面,具體路徑如下:“光盤資料\8.PC函數\函數庫2.1\ZMotion函數庫編程手冊 V2.1.pdf”。

函數下載路徑.png

指令3.png

指令11.png

指令227.png

三、C#進行自定義電子凸輪曲線的運動

自定義電子凸輪曲線的運動人機交互界面如下 。

曲線運動交互界面.png

可根據需求,選擇導入對應凸輪表數據或使用自定義數據。

1.在Form1的構造函數中調用接口ZAux_FastOpen(),使在系統初始化的時候自動鏈接控制器。

private void button1_Click(object sender, EventArgs e)
{
    zmcaux.ZAux_OpenEth(IP_List.Text, out g_handle);
    if (g_handle != (IntPtr)0)
    {
        timer1.Enabled = true;
        //設置鏈接狀態按鈕
        status.BackColor = System.Drawing.Color.Green;
        status.Text = "已鏈接";
    }
    else
    {
        MessageBox.Show("控制器鏈接失敗,請檢查MotionRT7是否開啟!", "警告");
        //設置鏈接狀態按鈕
        status.BackColor = System.Drawing.Color.Red;
        status.Text = "已斷開";
    }
}

2.通過定時器更新參數信息。

//定時器
private void timer1_Tick(object sender, EventArgs e)
{
    if(g_handle != null)
    {
        float dpos = 0, speed = 0;
        zmcaux.ZAux_Direct_GetDpos(g_handle, Convert.ToInt32(textBox_axis.Text),ref dpos);
        label_dpos.Text = Convert.ToString(dpos);
        zmcaux.ZAux_Direct_GetSpeed(g_handle, Convert.ToInt32(textBox_axis.Text), ref speed);
        label_speed.Text = Convert.ToString(speed);
    }
    else
    {
        status.BackColor = System.Drawing.Color.Red;
        status.Text = "已斷開";
    }
}

3.利用提前加載好的凸輪表數據,利用cam指令進行凸輪運動。

//凸輪表運動啟動
private void button3_Click(object sender, EventArgs e)
{
    if (g_handle == null)
        return;
    zmcaux.ZAux_Direct_SetUnits(g_handle, Convert.ToInt32(textBox_axis.Text),Convert.ToSingle(textBox_unit.Text));
    zmcaux.ZAux_Direct_SetSpeed(g_handle, Convert.ToInt32(textBox_axis.Text), Convert.ToSingle(textBox_speed.Text));
    zmcaux.ZAux_Direct_SetAccel(g_handle, Convert.ToInt32(textBox_axis.Text), Convert.ToSingle(textBox_accel.Text));
    zmcaux.ZAux_Direct_SetDecel(g_handle, Convert.ToInt32(textBox_axis.Text), Convert.ToSingle(textBox_decel.Text));
    zmcaux.ZAux_Direct_SetAtype(g_handle, Convert.ToInt32(textBox_axis.Text), 1);
    //進行電子凸輪運動
    //設置運動總時間為5s
    zmcaux.ZAux_Direct_Cam(g_handle, Convert.ToInt32(textBox_axis.Text),0, CamNum, Convert.ToSingle(textBox_unit.Text), Convert.ToSingle(textBox_speed.Text)*5);
}

4.外部導入凸輪表數據加載。

private void button_data_Click(object sender, EventArgs e)
{
    dataGridView_data.Columns.Clear();
    DataGridViewTextBoxColumn ActPos = new DataGridViewTextBoxColumn();
    ActPos.Name = "ActPos";
    ActPos.DataPropertyName = "ActPos";
    ActPos.HeaderText = "位置";
    dataGridView_data.Columns.Add(ActPos);
    OpenFileDialog ZaoLangFile = new OpenFileDialog();
    ZaoLangFile.Filter = "文本文件(*.txt;)| *.txt;| 所有文件| *.*; ";
    ZaoLangFile.ValidateNames = true;
    ZaoLangFile.CheckPathExists = true;
    ZaoLangFile.CheckFileExists = true;
    if (ZaoLangFile.ShowDialog() == DialogResult.OK)
    {
        string strFileName = ZaoLangFile.FileName;
        //其他代碼
        //FileStream FileRead = new FileStream(strFileName, FileMode.OpenOrCreate, FileAccess.Read);
        string DataTest = File.ReadAllText(strFileName);
        string[] strArray = DataTest.Split(new string[] { "\r\n" }, StringSplitOptions.None);
        for (int i = 0; i < strArray.Length - 1; i++)
        {
            int index = dataGridView_data.Rows.Add();
            dataGridView_data.Rows[index].Cells[0].Value = strArray[i];
        }
        float[] Tablelist = new float[strArray.Length];
        for (int i = 0; i < strArray.Length - 1; i++)
        {
            Tablelist[i] = Convert.ToSingle(strArray[i]);
        }
        zmcaux.ZAux_Direct_SetTable(g_handle,0,strArray.Length,Tablelist);
        //記錄當前寫入凸輪表數據有多少
        CamNum = strArray.Length - 2;
    }
}

5.自定義凸輪表數據加載。

private void button6_Click(object sender, EventArgs e)
{
    dataGridView_data.Columns.Clear();
    DataGridViewTextBoxColumn ActPos = new DataGridViewTextBoxColumn();
    ActPos.Name = "ActPos";
    ActPos.DataPropertyName = "ActPos";
    ActPos.HeaderText = "位置";
    dataGridView_data.Columns.Add(ActPos);
    float[] CustomTable = new float[100];
    for (int i = 0; i < 100; i++)
    {
        CustomTable[i] = (float )((Math.Sin(Math.PI*2*i/100) / (Math.PI*2)) + i / 100) * 500;
        int index = dataGridView_data.Rows.Add();
        dataGridView_data.Rows[index].Cells[0].Value = CustomTable[i];
    }
    zmcaux.ZAux_Direct_SetTable(g_handle, 0, 100, CustomTable);
    CamNum = 100;
}

四、調試與監控

01 電子凸輪

1.組成部分

電子凸輪是利用構造的凸輪曲線來模擬機械凸輪,以達到機械凸輪系統相同的凸輪軸與 主軸之間相對運動的軟件系統,通過控制器控制伺服電機來模擬機械凸輪的功能,不需要另 外安裝機械結構,電子凸輪又稱Electronic CAM。

2.工作原理

電子凸輪屬于多軸同步運動,這種運動是基于主軸外加一個或多個從軸系統,是在機械 凸輪的基礎上發展而來,電子凸輪多用于周期性的曲線運動場合。

如下圖,機械凸輪按照凸輪的輪廓可以得出一段轉動角度與加工位置運動軌跡,此軌跡 為弧線,將該段弧線分解成無數個直線軌跡,組合起來得到一串趨近于弧線運動軌跡,電子 凸輪直接將此段軌跡運動參數裝入運動指令,即可控制軸走出目標軌跡。

工作原理.png

設置一段電子凸輪的運動程序裝入控制器,通過編碼器將位置信號反饋給控制器,控制 器將接收到的位置信號進行處理后輸出給伺服驅動器,伺服驅動器控制多個軸同步運動完成 預設軌跡。

3.優點

(1)電子凸輪的使用使機器的控制精度提高,控制距離加遠,故障率降低,可靠性提高;

(2)簡 化了機構,使機構更加靈活,使調試和維修變得簡便。

(3)電子凸輪用軟件來控制信號,改變程序的相關運動參數就能改變運動曲線,應用靈活性高,工作可靠,操作簡單,不需要額外安 裝機械構件,因而不存在磨損的情況。

02  同步跟蹤

同步追蹤是一種常見的凸輪應用,其動作與“追剪”類似,都是要求從軸(伺服)的位 置在工作時與主軸同步,差別是“追剪”主要用于連續料的定長切割,而“同步追蹤”則用于隨機料(也就是物品出現的時機不固定),因此啟動信號是根據感測器,觸發后只追蹤一次,設定的距離到達便自動回到起始位置,等下次觸發信號收到才會再次追蹤,常應用于流水線,例如同步噴漆,瓶罐注料,物品夾取等應用。

03  自動凸輪

自動凸輪是凸輪運動的一種,主要針對兩個軸之間的主從跟隨運動,用戶可以通過簡單 設置幾個相關參數,便可以構建主軸與從軸之間的運動關系,位置關系不是存儲于TABLE 表中,靠指令參數設置每段跟隨距離和變速過程,運動過程中從軸的速度自動計算以匹配主軸,常見運動過程有跟隨加速、減速、同步。

自動凸輪指令有 MOVELINK、MOVESLINK、FLEXLINK等,常見應用場合有追剪、 飛剪、輪切。

本例程介紹為CAM凸輪表運動的使用。

ZAux_Direct_Cam(ZMC_HANDLE handle,int iaxis, int istartpoint, int iendpoint, float ftablemulti, float fDistance)

ZAux_Direct_Cam()指令根據存儲在TABLE中的數據來決定軸的運動,這些Table數據值對應運動軌跡的位置,是相對于運動起始點的絕對位置。

注:兩個或多個ZAux_Direct_Cam指令可以同時使用同一段TABLE數據區進行操作。

運動的總時間由設置速度和第四個參數決定,運動的實際速度根據 TABLE 軌跡與時間自動匹配。

TBALE 數據需要手動設置,第一個數據為引導點,建議設為0 。

TABLE 數據*ftablemulti 這個比例= 發出的脈沖數。

請確保指令傳遞的距離參數*units 是整數個脈沖,否則出現浮點數會導致運動有細微誤差。

如下圖,是運動為造浪設備運動的某段軌跡數據通過導入凸輪表數據加載到控制器的table凸輪表中,運動出來的實際軌跡,并在設置的指定時間內運動完成。

波形圖1.png

參數設置.png

如下圖,運行數據為內部自定義sin波形的運動數據,波形可以從圖中看出,運動小線段數據指定時間內軌跡運行完成。

波形圖2.png

參數設置2.png

自定義電子凸輪曲線運動講解視頻。

代碼下載路徑.png

本次,正運動技術自定義電子凸輪曲線的運動 :EtherCAT超高速實時運動控制卡XPCIE1032H上位機C#開發(十三),就分享到這里。

更多精彩內容請關注“ 正運動小助手 ”公眾號,需要相關開發環境與例程代碼,請咨詢正運動技術銷售工程師:400-089-8936。

本文由正運動技術原創,歡迎大家轉載,共同學習,一起提高中國智能制造水平。文章版權歸正運動技術所有,如有轉載請注明文章來源。

正運動技術專注于運動控制技術研究和通用運動控制軟硬件產品的研發,是國家級高新技術企業。正運動技術匯集了來自華為、中興等公司的優秀人才,在堅持自主創新的同時,積極聯合各大高校協同運動控制基礎技術的研究,是國內工控領域發展最快的企業之一,也是國內少有、完整掌握運動控制核心技術和實時工控軟件平臺技術的企業。主要業務有:運動控制卡_運動控制器_EtherCAT運動控制卡_EtherCAT控制器_運動控制系統_視覺控制器__運動控制PLC_運動控制_機器人控制器_視覺定位_XPCIe/XPCI系列運動控制卡等等。

二維碼-02.jpg


 

狀 態: 離線

公司簡介
產品目錄

公司名稱: 深圳市正運動技術有限公司
聯 系 人: 戴德弟
電  話: 0755-32976042
傳  真: 0755-2606 6955
地  址: 深圳市寶安區西鄉洲石路陽光工業園A1棟5樓
郵  編: 518100
主  頁:
 
該廠商相關技術文摘:
機器視覺運動控制一體機在線路板跟隨灌膠上的應用
強實時運動控制內核MotionRT750(五):EtherCAT總線冗余讓生產制造更可靠
深圳·EelE智博會:智控賦能,驅動未來制造
機器視覺運動控制一體機在喇叭跟隨點膠上的應用
強實時運動控制內核MotionRT750(四):高速貼裝應用中的拱形運動
聚焦深圳國際電子展 | 正運動攜熱門產品和方案!等您來體驗!
超高速EtherCAT實時運動控制卡在高速半導體固晶機上的應用
強實時運動控制內核MotionRT750(三):us級高速交互之C#,為智能裝備提速
激光振鏡運動控制器在流水線激光打標上的應用
高速高精運動控制!PCIe超實時2通道EtherCAT運動控制卡上市!
步進控制的光柵尺全閉環EtherCAT運動控制器ZMC432CL-V2(五):Python編程調試
單旋轉臺XYR在精密點膠/外觀檢測/精密焊接的C#應用
更多文摘...
立即發送詢問信息在線聯系該技術文摘廠商:
用戶名: 密碼: 免費注冊為中華工控網會員
請留下您的有效聯系方式,以方便我們及時與您聯絡

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