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

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

        午夜精品一区二区三区成人,中文字幕av一区二区,亚洲AVAV天堂AV在线网阿V,肥臀浪妇太爽了快点再快点,国产网友愉拍精品视频手机,国产精品无码a∨麻豆,久久中文字幕一区二区,a级国产乱理伦片在线观看al
        首頁 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
        中華工控網(wǎng)首頁
          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ī)器視覺
        PCIe EtherCAT實(shí)時(shí)運(yùn)動(dòng)控制卡PCIE464的IO與編碼器讀寫應(yīng)用
        深圳市正運(yùn)動(dòng)技術(shù)有限公司
        收藏本文     查看收藏

        硬件介紹

        PCIE464運(yùn)動(dòng)控制卡是正運(yùn)動(dòng)推出的一款EtherCAT總線+脈沖型、PCIE接口式的運(yùn)動(dòng)控制卡,可選6-64軸運(yùn)動(dòng)控制,支持多路高速數(shù)字輸入輸出,可輕松實(shí)現(xiàn)多軸同步控制和高速數(shù)據(jù)傳輸。

        PCIE464控制卡.png

        PCIE464運(yùn)動(dòng)控制卡適合于多軸點(diǎn)位運(yùn)動(dòng)、插補(bǔ)運(yùn)動(dòng)、軌跡規(guī)劃、手輪控制、編碼器位置檢測(cè)、IO控制、位置鎖存等功能的應(yīng)用。

        PCIE464運(yùn)動(dòng)控制卡適用于3C電子加工、檢測(cè)設(shè)備、半導(dǎo)體設(shè)備、SMT加工、激光加工、光通訊設(shè)備、鋰電及光伏設(shè)備、以及非標(biāo)自動(dòng)化設(shè)備等高速高精應(yīng)用場(chǎng)合。

        PCIE464架構(gòu)圖.png

        PCIE4系列控制卡的應(yīng)用程序可以使用VC,VB,VS,C++,C#等軟件開發(fā),程序運(yùn)行時(shí)需要?jiǎng)討B(tài)庫zmotion.dll,調(diào)試時(shí)可以將RTSys軟件同時(shí)連接控制器,從而方便調(diào)試、方便觀察。

        28.png

        接線參考

        1、IN數(shù)字量輸入接口

        數(shù)字輸入分布在J400(IN0-IN7)和X400(IN8-IN39)信號(hào)接口中。

        IN數(shù)字量輸入接口1.png

        IN數(shù)字量輸入接口2.png

        2、OUT數(shù)字量輸出接口

        數(shù)字輸出分布在J400(OUT0-7)和X400(OUT8-OUT39)信號(hào)接口中。

        OUT數(shù)字量輸出接口1.png

        OUT數(shù)字量輸出接口2.png

        3、編碼器輸入接口

        J400包含一個(gè)差分脈沖輸出接口,一個(gè)差分編碼器反饋,通過轉(zhuǎn)接板接入。其中IN2-7有單端編碼器軸的功能,只支持24V編碼器輸入。

        編碼器輸入接口.png

        編碼器輸入接口1.png

        編碼器輸入接口2.png

        編碼器輸入接口3.png

        C#語言進(jìn)行項(xiàng)目開發(fā)

        1、 在VS2010菜單“文件”→“新建”→“項(xiàng)目”,啟動(dòng)創(chuàng)建項(xiàng)目向?qū)А?/strong>

        1.png

        2、 選擇開發(fā)語言為“Visual C#”和.NET Framework 4以及Windows窗體應(yīng)用程序。

        2.png

        3、 找到廠家提供的光盤資料里面的C#函數(shù)庫,路徑如下(32位庫為例)。

        1)進(jìn)入廠商提供的光盤資料找到“04PC函數(shù)”文件夾,并點(diǎn)擊進(jìn)入。

        3.png

        2)選擇“函數(shù)庫2.1”文件夾。

        4.png

        3)選擇“Windows平臺(tái)”文件夾。

        5.png

        4)根據(jù)需要選擇對(duì)應(yīng)的函數(shù)庫,這里選擇32位庫。

        6.png

        5)解壓C#壓縮包,里面有C#對(duì)應(yīng)的函數(shù)庫。

        7.png

        6)函數(shù)庫具體路徑如下。

        8.png

        4.將廠商提供的C#的庫文件以及相關(guān)文件復(fù)制到新建的項(xiàng)目中。

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

        9.png

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

        10.png

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

        11.png

        6、至此,項(xiàng)目新建完成,可進(jìn)行C#項(xiàng)目開發(fā)。

        PC函數(shù)介紹

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

        12.png

        2.鏈接控制卡,獲取鏈接句柄。
        13.png

        3.讀取單個(gè)I/O信號(hào)。
        14.png
        15.png

        4.批量讀取I/O信號(hào)。
        16.png
        17.png

        5.設(shè)置單個(gè)輸出口。
        18.png

        6.批量設(shè)置輸出口。
        19.png

        7.讀取單軸編碼器反饋位置。
        20.png

        8.批量讀取編碼器反饋位置,BASIC字符串為MPOS。
        21.png

        9.自定義函數(shù)封裝指令。
        22.png

        單個(gè)或批量讀取IO和編碼器數(shù)據(jù)

        1.鏈接控制器獲取句柄,上位機(jī)操作通過獲取到的句柄來操作控制器。

        //連接PCIe控制卡,控制卡卡號(hào)缺省從0開始
        int ret = zmcaux.ZAux_OpenPci(0, out g_handle);
        if (g_handle != (IntPtr)0)
        {
            MessageBox.Show("控制卡鏈接成功!" , "提示");
            timer_GetData.Enabled = true;  //開啟定時(shí)器或在單獨(dú)線程里實(shí)時(shí)讀取I/O信號(hào)
        }
        else
        {
            MessageBox.Show("控制卡鏈接失敗,請(qǐng)檢測(cè)PCI卡號(hào)!" , "警告");
        }

        2.開啟定時(shí)器實(shí)時(shí)讀取I/O信號(hào)。

        //定時(shí)器刷新I/O和軸反饋數(shù)據(jù)
        private void timer_GetData_Tick(object sender, EventArgs e)
        {
            uint[] instate = new uint[4];
            uint[] opstate = new uint[4];
            float[] mpos = new float[4];
            for (int i = 0; i < 4; i++)
            {
                zmcaux.ZAux_Direct_GetIn(g_handle, i, ref instate[i]); //讀取單個(gè)IN
                zmcaux.ZAux_Direct_GetOp(g_handle, i, ref opstate[i]); //讀取單個(gè)OUT
                zmcaux.ZAux_Direct_GetMpos(g_handle, i, ref mpos[i]); //讀取單軸反饋位置MPOS
            }
            IN0.Checked = (instate[0] == 1);
            IN1.Checked = (instate[1] == 1);
            IN2.Checked = (instate[2] == 1);
            IN3.Checked = (instate[3] == 1);
            OP0.Checked = (opstate[0] == 1);
            OP1.Checked = (opstate[1] == 1);
            OP2.Checked = (opstate[2] == 1);
            OP3.Checked = (opstate[3] == 1);
            MPOS0.Text = mpos[0].ToString();
            MPOS1.Text = mpos[1].ToString();
            MPOS2.Text = mpos[2].ToString();
            MPOS3.Text = mpos[3].ToString();
            int[] inputs = new int[4];
            uint[] outputs = new uint[4];
            float[] allmpos = new float[8];
            zmcaux.ZAux_Direct_GetInMulti(g_handle, 16, 31, inputs); //批量讀取輸入IN16-31
            zmcaux.ZAux_Direct_GetOutMulti(g_handle, 16, 31, outputs); //批量讀取輸出OUT16-31
            zmcaux.ZAux_Direct_GetAllAxisPara(g_handle, "MPOS", 8, allmpos);//批量讀取軸反饋位置MPOS 0-7
            InputGroup1631.Text = inputs[0].ToString("X4"); 
        }

        3.單個(gè)或批量設(shè)置OP輸出口。

        //單個(gè)輸出口狀態(tài)切換函數(shù)
        private void OP0_CheckedChanged(object sender, EventArgs e)
        {
             if (g_handle == (IntPtr)0)
             {
                 MessageBox.Show("未鏈接到控制卡!", "提示");
                 return;
             }
             if (OP0.Checked)
             {
                 zmcaux.ZAux_Direct_SetOp(g_handle,0, 1);
                 OP0.Text = "out0 打開";
             }
             else
             {
                 zmcaux.ZAux_Direct_SetOp(g_handle, 0, 0);
                 OP0.Text = "out0 關(guān)閉";
             }
        }
        //批量切換輸出口狀態(tài)函數(shù)
        private void OutputGroup03_CheckedChanged(object sender, EventArgs e)
        {
            if (g_handle == (IntPtr)0)
            {
                MessageBox.Show("未鏈接到控制卡!", "提示");
                return;
            }  
            uint[] iostate = new uint[4];
            if (OutputGroup03.Checked)
            {
                iostate[0] = 0xF;    //以二進(jìn)制組合OUT,十六進(jìn)制0xF即OUT0-3全部置1
                zmcaux.ZAux_Direct_SetOutMulti(g_handle, 0, 3, iostate);
                OutputGroup03.Text = "全部置ON";
                OP0.Checked = true;
                OP1.Checked = true;
                OP2.Checked = true;
                OP3.Checked = true;
            }
            else
            {
                iostate[0] = 0x0;
                zmcaux.ZAux_Direct_SetOutMulti(g_handle, 0, 3, iostate);
                OutputGroup03.Text = "全部置OFF";
                OP0.Checked = false;
                OP1.Checked = false;
                OP2.Checked = false;
                OP3.Checked = false;
            }
        }

        4.若想驗(yàn)證通過函數(shù)獲取的IO狀態(tài)和數(shù)據(jù)是否準(zhǔn)確,可以使用正運(yùn)動(dòng)的調(diào)試軟件RTSys連接到控制卡。

        通過工具→輸入口/輸出口觀察當(dāng)前控制卡的實(shí)時(shí)IO狀態(tài),通過軸參數(shù)窗口觀察各軸的反饋位置MPOS,并與C#獲取的數(shù)據(jù)進(jìn)行對(duì)比。

        23.png

        24.png

        5.自定義函數(shù)封裝,單條命令批量獲取需要的部分I/O和部分軸數(shù)據(jù)。

        通過組合不同的Basic命令字符串,中間以英文逗號(hào)字符隔開,一次性下發(fā)讀取所需的數(shù)據(jù),如:

        (1)獲取某個(gè)輸入信號(hào),對(duì)應(yīng)Basic命令字符串為:IN(輸入口序號(hào));

        (2)獲取某個(gè)輸出信號(hào),對(duì)應(yīng)Basic命令字符串為:OP(輸入口序號(hào));

        (3)獲取某軸反饋位置,對(duì)應(yīng)Basic命令字符串為:MPOS(軸號(hào));

        其他參數(shù)也可以使用此方式,具體Basic字符串可參考PC手冊(cè)“軸參數(shù)指令表”。

        舉例說明,需要單條命令獲取輸入0,輸入3,輸出1,輸出4,軸2和軸5的反饋數(shù)據(jù),則需要通過ZAux_Execute函數(shù)下發(fā)字符串:

        “?IN(0),IN(3),OP(1),OP(4),MPOS(2),MPOS(5)”;

        其中,英文  “?”   字符和“PRINT”字符為同一含義,表示讀取后續(xù)參數(shù)的值;參數(shù)字符不用區(qū)分大小寫。

        private void getData_Click(object sender, EventArgs e)
        {
            //通過Execute函數(shù)發(fā)送Basic字符串組合實(shí)現(xiàn)一次性讀取多個(gè)參數(shù)
            if (g_handle == (IntPtr)0)
            {
                MessageBox.Show("未鏈接到控制卡!", "提示");
                return;
            }
            string pszCommand;                                      //發(fā)送的Basic命令字符串
            StringBuilder psResponse = new StringBuilder(1024);     //接收返回的字符串
            uint uiResponseLength = 1024;                           //接收返回的字符長(zhǎng)度,不能小于接收的字符串長(zhǎng)度
            pszCommand = "?IN(4),IN(5),OP(4),OP(5),MPOS(4),MPOS(5)";//讀取數(shù)據(jù)Basic字符串,共6個(gè)數(shù)據(jù)
            zmcaux.ZAux_Execute(g_handle, pszCommand, psResponse, uiResponseLength);    
            string psResponseResult = "";
            psResponseResult += psResponse;
            string[] parts = psResponseResult.Split('\t');          //這里以空格對(duì)字符串分割
            IN4.Checked = Convert.ToInt32(parts[0]) == 1;
            IN5.Checked = Convert.ToInt32(parts[1]) == 1;
            OP4.Checked = Convert.ToInt32(parts[2]) == 1;
            OP5.Checked = Convert.ToInt32(parts[3]) == 1;
            MPOS4.Text = parts[4];
            MPOS5.Text = parts[5];
        }

        25.png

        調(diào)試軟件RTSys命令與輸出窗口的在線命令,與上述封裝函數(shù)為相同的功能。

        26.png

        27.png

        本次,正運(yùn)動(dòng)技術(shù)PCIe EtherCAT實(shí)時(shí)運(yùn)動(dòng)控制卡PCIE464的IO與編碼器讀寫應(yīng)用,就分享到這里。

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

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

        企業(yè)微信截圖_20240321153031.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ù)匯集了來自華為、中興等公司的優(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)_視覺控制器__運(yùn)動(dòng)控制PLC_運(yùn)動(dòng)控制_機(jī)器人控制器_視覺定位_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è)園A1棟5樓
        郵  編: 518100
        主  頁:
         
        該廠商相關(guān)技術(shù)文摘:
        正運(yùn)動(dòng)技術(shù)喜獲2025 CIAA數(shù)項(xiàng)大獎(jiǎng)!
        PC強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制(一):C#的EtherCAT總線初始化(上)
        喜報(bào)丨正運(yùn)動(dòng)喜獲2025紅帆獎(jiǎng)!
        全國(guó)產(chǎn)強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核(十二):實(shí)時(shí)在線變速實(shí)現(xiàn)多段速的軟著陸
        五軸精雕義齒機(jī)切削校準(zhǔn)解決方案
        正運(yùn)動(dòng)SCARA機(jī)械手紙盒天地蓋視覺定位貼合解決方案
        強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(十一):C#實(shí)現(xiàn)CAD導(dǎo)圖和小線段速度前瞻優(yōu)化
        緊湊型網(wǎng)絡(luò)運(yùn)動(dòng)控制卡ECI1808/ECI1A08
        自主自研運(yùn)動(dòng)控制集成開發(fā)平臺(tái)RTSys(二):EtherCAT總線快速配置
        機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)在導(dǎo)熱硅脂涂膠的應(yīng)用
        EtherCAT運(yùn)動(dòng)控制器配套用手持示教器ZHD301X快速入門
        便攜式手持示教器ZHD301X
        更多文摘...
        立即發(fā)送詢問信息在線聯(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

        主站蜘蛛池模板: 国产精品亚洲а∨天堂2021| 亚洲人成亚洲人成在线观看| 国产无遮挡猛进猛出免费| 五级黄高潮片90分钟视频| 婷婷久久综合九色综合88| 99福利一区二区视频| 亚洲一区二区三区高清在线观看| 99热精品久久只有精品| 午夜国产精品福利一二| 亚洲青青草视频在线播放| 极品一区二区三区水蜜桃| 亚洲综合在线日韩av| 99无码中文字幕视频| 中文字幕人妻中出制服诱惑| 成码无人AV片在线电影网站| 天天爽天天爽天天爽| 亚欧洲乱码视频在线专区| AV免费网址在线观看| 亚洲一区二区国产精品视频| 日本一区二区三区专线| 深夜宅男福利免费在线观看 | 精品亚洲国产成人av制服| 国产精品毛片一区二区 | 蜜臀av一区二区国产在线| 97国产成人无码精品久久久| 人人妻人人澡人人爽| 成人免费无码视频在线网站| 国产av亚洲精品ai换脸电影| 欧美亚洲高清日韩成人| 亚洲中文字幕一区二区| 日本一道本高清一区二区| 亚洲熟妇无码爱V在线观看| 亚洲人成网线在线播放VA| 国产欧美日韩一区二区三区视频| 国产精品视频一区不卡| 国产毛片一区| 一本色道久久—综合亚洲| 怡红院一区二区三区在线| 国产乱码精品一区二区三区中文| 中文字幕乱码一区二区免费| 久久久久久亚洲精品不卡|