<nobr id="zkazv"></nobr>

      午夜精品一区二区三区成人,中文字幕av一区二区,亚洲AVAV天堂AV在线网阿V,肥臀浪妇太爽了快点再快点,国产网友愉拍精品视频手机,国产精品无码a∨麻豆,久久中文字幕一区二区,a级国产乱理伦片在线观看al
      首頁 新聞 工控搜 論壇 廠商論壇 產品 方案 廠商 人才 文摘 下載 展覽
      中華工控網首頁
        P L C | 變頻器與傳動 | 傳感器 | 現場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
        D C S | 工業以太網 | 現場總線 | 顯示調節儀表 | 數據采集 | 數傳測控 | 工業安全
        電 源 | 嵌入式系統 | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
      PCIe EtherCAT實時運動控制卡PCIE464的IO與編碼器讀寫應用
      深圳市正運動技術有限公司
      收藏本文     查看收藏

      硬件介紹

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

      PCIE464控制卡.png

      PCIE464運動控制卡適合于多軸點位運動、插補運動、軌跡規劃、手輪控制、編碼器位置檢測、IO控制、位置鎖存等功能的應用。

      PCIE464運動控制卡適用于3C電子加工、檢測設備、半導體設備、SMT加工、激光加工、光通訊設備、鋰電及光伏設備、以及非標自動化設備等高速高精應用場合。

      PCIE464架構圖.png

      PCIE4系列控制卡的應用程序可以使用VC,VB,VS,C++,C#等軟件開發,程序運行時需要動態庫zmotion.dll,調試時可以將RTSys軟件同時連接控制器,從而方便調試、方便觀察。

      28.png

      接線參考

      1、IN數字量輸入接口

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

      IN數字量輸入接口1.png

      IN數字量輸入接口2.png

      2、OUT數字量輸出接口

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

      OUT數字量輸出接口1.png

      OUT數字量輸出接口2.png

      3、編碼器輸入接口

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

      編碼器輸入接口.png

      編碼器輸入接口1.png

      編碼器輸入接口2.png

      編碼器輸入接口3.png

      C#語言進行項目開發

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

      1.png

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

      2.png

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

      1)進入廠商提供的光盤資料找到“04PC函數”文件夾,并點擊進入。

      3.png

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

      4.png

      3)選擇“Windows平臺”文件夾。

      5.png

      4)根據需要選擇對應的函數庫,這里選擇32位庫。

      6.png

      5)解壓C#壓縮包,里面有C#對應的函數庫。

      7.png

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

      8.png

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

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

      9.png

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

      10.png

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

      11.png

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

      PC函數介紹

      1.PC函數手冊可在光盤資料查看,具體路徑如下。

      12.png

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

      3.讀取單個I/O信號。
      14.png
      15.png

      4.批量讀取I/O信號。
      16.png
      17.png

      5.設置單個輸出口。
      18.png

      6.批量設置輸出口。
      19.png

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

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

      9.自定義函數封裝指令。
      22.png

      單個或批量讀取IO和編碼器數據

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

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

      2.開啟定時器實時讀取I/O信號。

      //定時器刷新I/O和軸反饋數據
      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]); //讀取單個IN
              zmcaux.ZAux_Direct_GetOp(g_handle, i, ref opstate[i]); //讀取單個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.單個或批量設置OP輸出口。

      //單個輸出口狀態切換函數
      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 關閉";
           }
      }
      //批量切換輸出口狀態函數
      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;    //以二進制組合OUT,十六進制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.若想驗證通過函數獲取的IO狀態和數據是否準確,可以使用正運動的調試軟件RTSys連接到控制卡。

      通過工具→輸入口/輸出口觀察當前控制卡的實時IO狀態,通過軸參數窗口觀察各軸的反饋位置MPOS,并與C#獲取的數據進行對比。

      23.png

      24.png

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

      通過組合不同的Basic命令字符串,中間以英文逗號字符隔開,一次性下發讀取所需的數據,如:

      (1)獲取某個輸入信號,對應Basic命令字符串為:IN(輸入口序號);

      (2)獲取某個輸出信號,對應Basic命令字符串為:OP(輸入口序號);

      (3)獲取某軸反饋位置,對應Basic命令字符串為:MPOS(軸號);

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

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

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

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

      private void getData_Click(object sender, EventArgs e)
      {
          //通過Execute函數發送Basic字符串組合實現一次性讀取多個參數
          if (g_handle == (IntPtr)0)
          {
              MessageBox.Show("未鏈接到控制卡!", "提示");
              return;
          }
          string pszCommand;                                      //發送的Basic命令字符串
          StringBuilder psResponse = new StringBuilder(1024);     //接收返回的字符串
          uint uiResponseLength = 1024;                           //接收返回的字符長度,不能小于接收的字符串長度
          pszCommand = "?IN(4),IN(5),OP(4),OP(5),MPOS(4),MPOS(5)";//讀取數據Basic字符串,共6個數據
          zmcaux.ZAux_Execute(g_handle, pszCommand, psResponse, uiResponseLength);    
          string psResponseResult = "";
          psResponseResult += psResponse;
          string[] parts = psResponseResult.Split('\t');          //這里以空格對字符串分割
          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

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

      26.png

      27.png

      本次,正運動技術PCIe EtherCAT實時運動控制卡PCIE464的IO與編碼器讀寫應用,就分享到這里。

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

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

      企業微信截圖_20240321153031.png

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


       

      狀 態: 在線

      公司簡介
      產品目錄

      公司名稱: 深圳市正運動技術有限公司
      聯 系 人: 戴德弟
      電  話: 0755-32976042
      傳  真: 0755-2606 6955
      地  址: 深圳市寶安區西鄉洲石路陽光工業園A1棟5樓
      郵  編: 518100
      主  頁:
       
      該廠商相關技術文摘:
      強實時運動控制內核MotionRT750(七):us級高速交互之Qt,為智能裝備提速
      【2025上海工博會】高速高精運動控制卡應用預覽(一)
      強實時運動控制內核MotionRT750(六):us級高速交互之C++,為智能裝備提速
      解鎖光未來!9月 CIOE 2025,正運動邀您相聚深圳,共赴光電盛宴!
      機器視覺運動控制一體機在線路板跟隨灌膠上的應用
      強實時運動控制內核MotionRT750(五):EtherCAT總線冗余讓生產制造更可靠
      深圳·EelE智博會:智控賦能,驅動未來制造
      機器視覺運動控制一體機在喇叭跟隨點膠上的應用
      強實時運動控制內核MotionRT750(四):高速貼裝應用中的拱形運動
      聚焦深圳國際電子展 | 正運動攜熱門產品和方案!等您來體驗!
      超高速EtherCAT實時運動控制卡在高速半導體固晶機上的應用
      強實時運動控制內核MotionRT750(三):us級高速交互之C#,為智能裝備提速
      更多文摘...
      立即發送詢問信息在線聯系該技術文摘廠商:
      用戶名: 密碼: 免費注冊為中華工控網會員
      請留下您的有效聯系方式,以方便我們及時與您聯絡

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

      主站蜘蛛池模板: 西西大胆午夜人体视频| 午夜通通国产精品福利| 久久精品国产再热青青青| 人妻少妇偷人精品一区| 18禁亚洲一区二区三区| 天天噜噜日日久久综合网| 成人年无码av片在线观看| 另类 专区 欧美 制服| 久久综合给合久久狠狠狠| 老师扒下内裤让我爽了一夜| 97精品国产91久久久久久久| 精品蜜臀国产av一区二区| 99riav国产精品视频| 日韩成人一区二区三区在线观看| 国产最大成人亚洲精品| 日韩精品一区二区三区无| 性奴sm虐辱暴力视频网站| 国产成人精品手机在线观看| 亚洲男女一区二区三区| 成年午夜免费韩国做受视频| 你懂的亚洲一区二区三区| 欧美精品一区二区在线观看播放 | 翘臀少妇被扒开屁股日出水爆乳| 亚洲综合无码AV在线观看| 精品熟女少妇av免费久久| 中文字幕人妻色偷偷久久| 成人国产精品日本在线观看| av高清无码 在线播放| 久久精品国产99久久久古代| 久久精品国产福利一区二区| 亚洲国产午夜精品福利| 高清自拍亚洲精品二区| 暖暖免费观看电视在线高清| 亚洲av成人网人人蜜臀| 在线播放亚洲成人av| 日本国产精品第一页久久| 2019国产精品青青草原| 国产精品男女午夜福利片| 377P欧洲日本亚洲大胆| 欧美亚洲h在线一区二区| 亚洲爆乳WWW无码专区|