時間:2025-04-18 16:06:39來æºï¼šæ·±åœ³å¸‚æ£é‹å‹•技術(shù)有é™å…¬å¸
  ZMC408CE - 高性能總線型é‹å‹•控制器
  ZMC408CE是æ£é‹å‹•推出的一款多軸高性能EtherCAT總線é‹å‹•控制器,具有EtherCATã€EtherNETã€RS232ã€CANå’ŒU盤ç‰é€šè¨ŠæŽ¥å£ï¼ŒZMC系列é‹å‹•æŽ§åˆ¶å™¨å¯æ‡‰(yÄ«ng)用于å„種需è¦è„«æ©Ÿæˆ–è¯(lián)機é‹è¡Œçš„å ´åˆã€‚
  ZMC408CE支æŒPLCã€Basicã€HMI組態(tà i)三種編程方å¼ã€‚PCä¸Šä½æ©ŸAPI編程支æŒC#ã€C++ã€LabVIEWã€Matlabã€Qtã€Linuxã€VB.Netã€Pythonç‰æŽ¥å£ã€‚
  ZMC408CE硬件功能特性:
  1.支æŒ8軸é‹å‹•控制(脈沖+EtherCAT總線),EtherCATåŒæ¥å‘¨æœŸå¯å¿«è‡³125us;
  2.24路通用輸入ã€16路通用輸出,模擬é‡AD/DAå„å…©è·¯;
  3.8è·¯10MHz高速差分脈沖輸出,總線軸ã€è„ˆæ²–è»¸å¯æ··åˆæ’補;
  4.高性能處ç†å™¨ï¼Œæå‡é‹ç®—速度ã€éŸ¿æ‡‰(yÄ«ng)時間和掃æå‘¨æœŸç‰;
  5.一ç¶/二ç¶/三ç¶ã€å¤šé€šé“視覺飛æ‹ï¼Œé«˜é€Ÿé«˜ç²¾;
  6.ä½ç½®åŒæ¥è¼¸å‡ºPSO,連續(xù)è»Œè·¡åŠ å·¥ä¸å°ç²¾å¯†é»žè† è† é‡æŽ§åˆ¶å’Œæ¿€å…‰èƒ½é‡æŽ§åˆ¶ç‰;
  7.å¤šè»¸åŒæ¥æŽ§åˆ¶ï¼Œå¤šå標系ç¨ç«‹æŽ§åˆ¶ç‰;
  8.ç›´ç·šæ’補ã€ä»»æ„空間圓弧æ’補ã€èžºæ—‹æ’è£œã€æ¨£æ¢æ’補ç‰;
  9.應(yÄ«ng)ç”¨éˆæ´»ï¼Œå¯PCä¸Šä½æ©Ÿé–‹ç™¼(fÄ),也å¯è„«æ©Ÿç¨ç«‹é‹è¡Œ;
  PCIE464M - PCIe EtherCAT總線é‹å‹•控制å¡
  PCIE464M是一款基于PCIeçš„PCI Expressçš„EtherCAT總線é‹å‹•控制å¡ï¼Œå…·æœ‰å¤šé …實時和高精度é‹å‹•控制控制功能。
  PCIE464Mé‹å‹•控制å¡ä¸Šè‡ªå¸¶16進16出,第三方圖åƒè™•ç†å·¥æŽ§æ©Ÿæˆ–PC無需é¡å¤–é…ç½®IO數(shù)據(jù)采集å¡å’ŒPLC,å³å¯å¯¦ç¾(xià n)IPC形態(tà i)的機器視覺é‹å‹•控制一體機,簡化硬件架構(gòu),節(jié)çœæˆæœ¬ï¼Œè»Ÿç¡¬ä»¶ä¸€é«”化。
  PCIE464M硬件功能特性:
  1.å¯é¸6-64軸é‹å‹•控制,支æŒEtherCAT總線/脈沖/æ¥é€²ä¼ºæœé©…(qÅ«)動器;
  2.è¯(lián)動軸數(shù)最高å¯é”16軸,é‹å‹•周期最å°ç‚º100μs;
  3.標é…16進16出,其ä¸4路高速鎖å˜è¼¸å…¥ã€4路高速PWMå’Œ12路高速硬件比較輸出PSO;
  4.支æŒPWM輸出ã€1D/2D/3D PSO硬件ä½ç½®æ¯”較輸出ã€è¦–覺飛æ‹ã€é€£çºŒ(xù)軌跡æ’補ç‰;
  5.支æŒ30+機械手模型æ£é€†è§£æ¨¡åž‹ç®—法,比如SCARAã€Deltaã€UVWã€4軸/5軸 RTCP...;
  6.æ”¯æŒæŽ‰é›»å˜å„²å’ŒæŽ‰é›»ä¸æ–·ï¼Œå¤šé‡åŠ å¯†ï¼Œæä¾›ç¨‹åºæ›´å®‰å…¨æ©Ÿåˆ¶;
  7.8路單端脈沖軸ã€4路單端編碼器軸;
  8.具有一ç¶ã€äºŒç¶èžºè·è£œå„ŸæŽ§åˆ¶ï¼Œå¯¦ç¾(xià n)æ›´é«˜çš„åŠ å·¥ç²¾åº¦;
  ECI2A18B - 高性價比10軸é‹å‹•控制å¡
  ECI2A18B是æ£é‹å‹•推出的一款高性價比10è»¸è„ˆæ²–åž‹ã€æ¨¡å¡ŠåŒ–的網(wÇŽng)絡(luò)åž‹é‹å‹•控制å¡ï¼Œé‡‡ç”¨å„ª(yÅu)化的網(wÇŽng)絡(luò)通訊å”(xié)è°å¯ä»¥å¯¦ç¾(xià n)實時的é‹å‹•æŽ§åˆ¶ï¼ŒåŒæ™‚支æŒå¤šç¨®é€šä¿¡å”(xié)è°ï¼Œæ–¹ä¾¿èˆ‡å…¶ä»–å·¥æ¥(yè)控制è¨(shè)備連接和集æˆã€‚安è£é…置相å°ä¾¿æ·ï¼Œé©åˆäºŽæ¨¡å¡ŠåŒ–å’Œéˆæ´»æ€§è¦æ±‚較高的控制系統(tÇ’ng)。
  ECI2A18BæŽ§åˆ¶å¡æœ€å¤§å¯æ“´å±•至12脈沖軸,支æŒ8路高速輸入和4路高速輸出,集æˆè±å¯Œçš„é‹å‹•控制功能,包å«å¤šè»¸é»žä½é‹å‹•ã€é›»å凸輪,直線æ’補,圓弧æ’補,連續(xù)æ’補é‹å‹•ç‰ï¼Œæ»¿è¶³å¤šæ¨£åŒ–的工æ¥(yè)應(yÄ«ng)用需求。
  ECI2A18B硬件功能特性:
  1.支æŒ6路差分脈沖軸+4路單端脈沖軸é‹å‹•控制;
  2.支æŒ1路專用的手輪輸入接å£;
  3.å·®åˆ†è„ˆæ²–è»¸æœ€å¤§è¼¸å‡ºè„ˆæ²–é »çŽ‡10MHz;
  4.標é…24+12進16+6å‡ºï¼Œå…¶ä¸æ”¯æŒ4路高速鎖å˜ï¼Œ4路高速PWM,2路高速硬件比較輸出PSO(å¯é¸æ”¯æŒHW2功能);
  5.坿”¯æŒRTSys+å…¶ä»–é«˜ç´šä¸Šä½æ©Ÿç·¨ç¨‹èªžè¨€çš„æ··åˆç·¨ç¨‹æ”¯æŒ;
  6.支æŒRTBasic多任務(wù)編程;
  一.RTSys示波器介紹
  æ£é‹å‹•RTSys軟件æä¾›äº†ç¤ºæ³¢å™¨é‡‡é›†èˆ‡åˆ†æžå·¥å…·ï¼Œé€šéŽè©²å·¥å…·å¯ä»¥æŠŠç³»çµ±(tÇ’ng)å…§(nèi)部的系統(tÇ’ng)變é‡èˆ‡æ•¸(shù)據(jù)轉(zhuÇŽn)æ›æˆåœ–å½¢é¡¯ç¤ºï¼Œä¾¿äºŽç ”ç©¶å„種信號的變化趨勢與數(shù)據(jù)測é‡çš„éŽç¨‹ã€‚
  示波器利用控制器內(nèi)部處ç†çš„æ•¸(shù)據(jù),把數(shù)據(jù)é¡¯ç¤ºæˆæ³¢å½¢ï¼Œåˆ©ç”¨ç¤ºæ³¢å™¨å¯ä»¥é¡¯ç¤ºå„種ä¸åŒçš„信號。
  詳情點擊→é‹å‹•控制看的更清楚細致!RTSys示波器功能簡介。
  二.QT程åºé–‹ç™¼(fÄ)æµç¨‹
  1.在Qt Creatorèœå–®é¸æ“‡â€œæ–‡ä»¶â€â†’â€œæ–°å»ºæ–‡ä»¶æˆ–é …ç›®â€ï¼Œæ‰“開創(chuà ng)å»ºé …ç›®å‘?qÅ«)Ð_x擇Applicationé …ç›®é›†ï¼Œå‰µ(chuà ng)建Qt Widgets Applicationé …ç›®ï¼Œè¨(shè)ç½®é …ç›®å稱和ä¿å˜ä½ç½®ã€‚
  2.å°Ž(dÇŽo)å…¥å» å®¶æä¾›çš„相關(guÄn)函數(shù)庫åŠé 文件。
  (1)å°‡zmotion.hå’Œzauxdll2.hé æ–‡ä»¶ã€zauxdll.dllå’Œzmotion.dll以åŠzmotion.libå’Œzauxdll.lib庫復(fù)åˆ¶åˆ°æ–°å»ºçš„é …ç›®æ–‡ä»¶å¤¾ä¸ã€‚
  (2)在Qt Creator鏿“‡æ–°å»ºçš„Qté …ç›®å³æ“Šé¸æ“‡â€œæ·»åŠ åº«...â€â†’“外部庫â€é»žæ“Šä¸‹ä¸€æ¥ï¼Œå°‡å‰›æ‰å¾©(fù)åˆ¶åˆ°é …ç›®æ–‡ä»¶å¤¾ä¸Šçš„zmotion.libå’Œzauxdll.lib庫文件導(dÇŽo)å…¥åˆ°é …ç›®ä¸ã€‚
  3.在Qt Creator䏋峿“Šæ–°å»ºçš„Qté …ç›®ï¼Œé¸æ“‡â€œæ·»åŠ ç¾(xià n)有文件...â€ï¼Œå°‡ä¹‹å‰å¾©(fù)åˆ¶åˆ°é …ç›®æ–‡ä»¶ä¸‹çš„é æ–‡ä»¶zmotion.hå’Œzauxdll2.hæ·»åŠ åˆ°é …ç›®ä¸ã€‚
  三.相關(guÄn)指令介紹
  1.相關(guÄn)BASIC指令介紹
  (1)SCOPE -- 數(shù)據(jù)采樣
  (2)SCOPE_POS -- 采樣點數(shù)
  (3)TRIGGER -- 觸發(fÄ)示波器
  使用說明:
  先使用SCOPE指令確定需è¦é‡‡é›†çš„æ•¸(shù)據(jù)ã€é‡‡é›†å‘¨æœŸã€æ•¸(shù)據(jù)å˜æ”¾ä½ç½®åŠä½¿èƒ½ã€‚(例如:SCOPE(ON,1,0,8000,MPOS(0),MSPEED(0),MPOS(1),MSPEED(1)),表示æ¯é–“éš”1個系統(tÇ’ng)周期采集一次MPOS(0)ã€MSPEED(0)ã€MPOS(1)ã€MSPEED(1)的數(shù)據(jù)分別å˜å„²è‡³è¢«å¹³å‡åˆ†å‰²çš„TABLE(0)至TABLE(7999)ä¸ï¼Œå¦‚MPOS(0) → TABLE(0-1999)ã€MSPEED(0) → TABLE(2000-3999)ã€MPOS(1) → TABLE(4000-5999)ã€MSPEED(1) → TABLE(6000-7999)ä¸),åŽçºŒ(xù)需è¦ä½¿ç”¨TRIGGER開始數(shù)據(jù)的抓å–(如果需è¦ä½¿ç”¨é€£çºŒ(xù)采集需è¦å¸¶åƒæ•¸(shù)1如TRIGGER(1));
ã€€ã€€æ ¹æ“š(jù)SCOPE_POS返回的值確定當(dÄng)剿œ€æ–°çš„æ•¸(shù)據(jù)ä¿å˜è‡³TABLE的何處(如SCOPE_POS的值為500表示最新的數(shù)據(jù)å˜æ”¾è‡³TABLE(499)ã€TABLE(2499)ã€TABLE(4499)ã€TABLE(6499)ä¸)ï¼Œæ ¹æ“š(jù)ä¸Šæ¬¡èˆ‡æ¤æ¬¡çš„æœ€æ–°æ•¸(shù)據(jù)å˜æ”¾ä½ç½®å³å¯ç¢ºå®šæ¤æ¬¡éœ€è¦åŠ å…¥è‡³æ³¢å½¢æ›²ç·šä¸çš„å…§(nèi)容,最åŽä½¿ç”¨SCOPE(OFF)é—œ(guÄn)閉數(shù)據(jù)采集。
  RTSys示波器波形展示:
  QT例程示波器波形展示:
  2.ä¸Šä½æ©Ÿåœ¨ç·šå‘½ä»¤æŽ¥å£çš„使用
  由于我們的函數(shù)åº«ä¸æš«æ™‚沒有å°ä¸Šè¿°çš„BASIC指令進行å°è£ï¼Œæ‰€ä»¥éœ€è¦é€šéŽåœ¨ç·šå‘½ä»¤é€™å€‹è¬èƒ½çš„API接å£é€²è¡Œä¸Šè¿°BASIC指令的下發(fÄ),下é¢çµ¦å¤§å®¶ä»‹ç´¹ä¸€ä¸‹ZAux_DirectCommandå’ŒZAux_Execute這兩個在線命令的API接å£çš„使用。
  通éŽåœ¨ç·šå‘½ä»¤ä¸‹ç™¼(fÄ)BASIC指令的APIæŽ¥å£æœ‰ZAux_DirectCommand(直接方å¼)å’ŒZAux_Execute(ç·©æ²–æ–¹å¼)這兩種。
  ①直接方å¼ï¼šè©²æ–¹å¼ç”±PC直接下發(fÄ)BASIC指令至控制器,下發(fÄ)å³åŸ·(zhÃ)行,響應(yÄ«ng)速度塊,雖有部分BASICæŒ‡ä»¤ä¸æ”¯æŒä½†ä»ç„¶æŽ¨è–¦ä½¿ç”¨ã€‚
  ②緩沖方å¼ï¼šè©²æ–¹å¼éœ€è¦å°‡BASIC指令放入緩沖列ä¸ç‰å¾…執(zhÃ)行,響應(yÄ«ng)速度較慢但å¯ä»¥åŸ·(zhÃ)è¡Œæ‰€æœ‰å‘½ä»¤ï¼ŒåªæŽ¨è–¦åœ¨BASIC指令無法通éŽç›´æŽ¥æ–¹å¼ä¸‹ç™¼(fÄ)時使用。
  例如:è¨(shè)置軸速度函數(shù)ZAux_Direct_SetSpeed(ZMC_HANDLE handle, int iaxis, float fValue)çš„æºç¢¼å¦‚下:
  /*************************************************************Description: //è¨(shè)置軸速度,單ä½ç‚ºunits/s,當(dÄng)多軸é‹å‹•時,作為æ’補é‹å‹•的速度Input: //å¡éˆæŽ¥handle Output: //Return: //錯誤碼*************************************************************/int32 __stdcall ZAux_Direct_SetSpeed(ZMC_HANDLE handle, int iaxis, float fValue){ int i; int32 iresult; char cmdbuff[2048]; char cmdbuffAck[2048]; if( iaxis > MAX_AXIS_AUX) { return ERR_AUX_PARAERR; } //生æˆå‘½ä»¤ sprintf(cmdbuff, "SPEED(%d)=%f", iaxis, fValue); //調(dià o)用命令執(zhÃ)行函數(shù) return ZAux_DirectCommand(handle, cmdbuff, cmdbuffAck, 2048);}
  四.例程原ç†åŠå¯¦ç¾(xià n)éŽç¨‹
  1.連接控制器
  代碼說明:讀å–用戶è¨(shè)置的IP地å€å¹¶é€šéŽå‡½æ•¸(shù)接å£ZAux_OpenEth來連接控制器。
  void MainWindow::on_ip_link_btn_clicked(){ int ret; char * tmp_buff = new char[20]; QString str; QString str_title; //ç²å–輸入的控制器IPåœ°å€ str = ui->ip_list->currentText(); QByteArray ba = str.toLatin1(); tmp_buff = ba.data(); //åˆ¤æ–·æŽ§åˆ¶å™¨å¥æŸ„是å¦ç‚ºç©ºï¼Œä¸ç‚ºç©ºå‰‡æ–·é–‹é€£æŽ¥å¹¶ç½®å¥æŸ„為空 if(nullptr != g_handle) { //斷開控制器的連接 ZAux_Close(g_handle); g_handle = nullptr; setWindowTitle(QString::fromLocal8Bit("示波器")); } //連接控制器 ret = ZAux_OpenEth(tmp_buff,&g_handle); if( 0 != ret) { QMessageBox::warning(this,QString::fromLocal8Bit("æç¤º"),QString::fromLocal8Bit("連接失敗")); } else { QMessageBox::warning(this,QString::fromLocal8Bit("æç¤º"),QString::fromLocal8Bit("連接æˆåŠŸ")); str_title = windowTitle() + tmp_buff; setWindowTitle(str_title); }}
  2.開啟示波器
  代碼說明:讀å–用戶è¨(shè)ç½®çš„ç¤ºæ³¢å™¨åƒæ•¸(shù),通éŽå—符串拼接的方å¼è¨(shè)ç½®scopeæŒ‡ä»¤çš„åƒæ•¸(shù),trigger(1)指令開啟連續(xù)采集,由于ZAux_DirectCommandæš«æ™‚ä¸æ”¯æŒé€™å…©å€‹æŒ‡ä»¤çš„下發(fÄ),所以通éŽZAux_Execute下發(fÄ)拼接好的basic指令。
  void MainWindow::on_start_scope_btn_clicked(){ int ret; QString cmd; QString temp; char tmp_commandback_buff[20480] = {0}; if(nullptr == g_handle) { QMessageBox::warning(this,QString::fromLocal8Bit("æç¤º"),QString::fromLocal8Bit("請先連接控制器")); qDebug() << QString::fromLocal8Bit("請先連接控制器!!!"); return ; } //ç²å–è¨(shè)ç½®çš„é€šé“æ•¸(shù)ã€é‡‡é›†å‘¨æœŸæ•¸(shù)和采集間隔周期 channel_num = ui->channel_num->currentText().toUInt(); current_acqu_cycle = ui->acquisition_cycle->text().toUInt(); current_time_period = ui->time_period->currentText().toUInt(); /*æ‹¼æŽ¥ç¤ºæ³¢å™¨æ‰€éœ€çš„åƒæ•¸(shù)SCOPE(enable, period, table_start, table_stop, p0 [,p1 [,p2 [,p3 [,p4 [,p5 [,p6 [,p7]]]]]]]) enableï¼šä½¿èƒ½èˆ‡å¦ period:采集周期間隔 table_start:采樣數(shù)據(jù)å˜å„²åœ¨TABLE的起始ä½ç½® table_stop:TABLEçµ(jié)æŸä½ç½®ï¼Œæ¸›åŽ»èµ·å§‹ä½ç½®ç‚ºé‡‡æ¨£å€‹æ•¸(shù) p0~p7:采樣數(shù)據(jù)類型,ç‰åˆ†å˜å„²åœ¨TABLEèŒƒåœ æ‹¼æŽ¥é‡‡é›†å‘¨æœŸé–“éš”åŠé‡‡æ¨£çš„起始終æ¢TABLE地å€*/ cmd = QString("scope(1,%1,0,%2,").arg(current_time_period).arg(current_acqu_cycle * channel_num - 1); //拼接需采集的數(shù)據(jù)類型 for(int i = 0; i < channel_num; i++) { QWidget *widgetSex=ui->tableWidget->cellWidget(i,2); QComboBox *sex=(QComboBox*)widgetSex; cmd.append(sex->currentText()); cmd.append("("); cmd.append(ui->tableWidget->item(i,1)->text()); cmd.append(")"); cmd.append(","); } cmd.chop(1); cmd.append(") "); cmd.append("trigger(1)"); //清除波形圖ä¸çš„æ•¸(shù)據(jù) for(int i = 0; i < 4; i++) { ui->customPlot->graph(i)->data().data()->clear(); ui->customPlot->xAxis->setRange(0, 5 * customplot_x_scale); } //é‡ç¹ªæ³¢å½¢åœ– ui->customPlot->replot(); //通éŽZAux_Execute函數(shù)接å£ä¸‹ç™¼(fÄ)ä¸Šé¢æ‹¼æŽ¥çš„BASIC指令 ret = ZAux_Execute(g_handle, QByteArray(cmd.toLatin1()).data(), tmp_commandback_buff, 20480); if(ret == 0) { //æŠŠæ³¢å½¢åœ–åƒæ•¸(shù)ä¿¡æ¯å‚³éžçµ¦ç²å–table數(shù)據(jù)至波形圖的åç·šç¨‹ä¸ emit emit_para_int(current_acqu_cycle, current_time_period, channel_num, customplot_x_scale); //å¦‚æžœç¤ºæ³¢å™¨å·²é–‹å•Ÿå‰‡å…ˆåœæ¢ç²å–table數(shù)據(jù)至波形圖的å線程å†é–‹å•Ÿç·šç¨‹ if(scope_status == 1) { emit GetDataStop(); GetDataThread.wait(); GetDataThread.start(); } else { //開啟ç²å–table數(shù)據(jù)至波形圖的å線程 GetDataThread.start(); scope_status = 1; } } else { qDebug() << QString::fromLocal8Bit("示波器開啟失敗,錯誤代碼為 ") << ret; }}
  3.讀å–å°æ‡‰(yÄ«ng)tableä¸çš„æ•¸(shù)據(jù)并顯示
ã€€ã€€ä»£ç¢¼èªªæ˜Žï¼šæ ¹æ“š(jù)上次的TABLE數(shù)據(jù)æ›´æ–°ä½ç½®èˆ‡æ¤æ¬¡ä½¿ç”¨SCOPE_POS返回的最新數(shù)據(jù)å˜æ”¾çš„TABLEä½ç½®ç¢ºå®šæ¤æ¬¡ä½¿ç”¨ZAux_Direct_GetTableç²å–控制器ä¸TABLE寄å˜å™¨ä¸çš„æ•¸(shù)據(jù)ä½ç½®ï¼Œå°‡å¾žTABLE寄å˜å™¨ä¸ç²å–到的數(shù)據(jù)åŠ è¼‰é€²é¡¯ç¤ºçš„æ›²ç·šï¼Œæœ€åŽé‡æ–°ç¹ªåˆ¶åœ–形。
  void GetData::SetData(int Type, int Num){ int ret; //Type為0則表示當(dÄng)å‰é‡‡æ¨£è‡³çš„tableä½ç½®æ¯”上次的è¦å¤§ï¼Œåªéœ€é‡‡é›†å…©è€…之間的table數(shù)據(jù)å³å¯ if(Type == 0) { //ç²å–tableä¸çš„æ•¸(shù)據(jù) ret = ZAux_Direct_GetTable(g_handle, start_pos + current_acqu_cycle * Num, total_pos, NewData); if(ret == 0) { //呿³¢å½¢æ›²ç·šä¸å¯«å…¥å¾žtableä¸ç²å–的數(shù)據(jù) for(int i = 0;i < total_pos; i++) { CustomPlot->graph(Num)->addData(CustomPlot->graph(Num)->dataCount() * (current_time_period / 1000.0), NewData[i]); } } else{ qDebug() << "get table fail, error code is " << ret; } } //Type為1則表示當(dÄng)å‰é‡‡æ¨£è‡³çš„tableä½ç½®æ¯”上次的è¦å°ï¼Œéœ€é‡‡é›†ä¸Šæ¬¡é‡‡æ¨£è‡³çš„tableä½ç½®è‡³tableçµ(jié)æŸä½ç½®ï¼Œé‚„需采集tableé–‹å§‹ä½ç½®è‡³ç•¶(dÄng)å‰é‡‡æ¨£è‡³çš„ä½ç½® else if(Type == 1) { //ç²å–tableä¸çš„æ•¸(shù)據(jù) ret = ZAux_Direct_GetTable(g_handle, start_pos + current_acqu_cycle * Num, current_acqu_cycle - start_pos, NewData); if(ret == 0) { //呿³¢å½¢æ›²ç·šä¸å¯«å…¥å¾žtableä¸ç²å–的數(shù)據(jù) for(int i = 0;i < current_acqu_cycle - start_pos; i++) { CustomPlot->graph(Num)->addData(CustomPlot->graph(Num)->dataCount() * (current_time_period / 1000.0), NewData[i]); } } else{ qDebug() << "get table fail, error code is " << ret; } if(current_pos != 0) { //ç²å–tableä¸çš„æ•¸(shù)據(jù) ret = ZAux_Direct_GetTable(g_handle, current_acqu_cycle * Num, current_pos, NewData); if(ret == 0) { //呿³¢å½¢æ›²ç·šä¸å¯«å…¥å¾žtableä¸ç²å–的數(shù)據(jù) for(int i = 0;i < current_pos; i++) { CustomPlot->graph(Num)->addData(CustomPlot->graph(Num)->dataCount() * (current_time_period / 1000.0), NewData[i]); } } else{ qDebug() << "get table fail, error code is " << ret; } } }}
  4.例程使用與效果展示
  (1)連接控制器,先通éŽä¸‹æ‹‰æ¡†é¸æ“‡æŽ§åˆ¶å™¨IPåœ°å€æˆ–直接輸入IP地å€ï¼Œä¹‹åŽé€£æŽ¥å³å¯ã€‚
  (2)è¨(shè)ç½®åƒæ•¸(shù)開啟示波器,先è¨(shè)ç½®ç¤ºæ³¢å™¨åƒæ•¸(shù)å†é–‹å•Ÿç¤ºæ³¢å™¨ã€‚
  (3)åœæ¢ç¤ºæ³¢å™¨ï¼Œå¯é€šéŽæ»¾å‹•æ¢èª¿(dià o)整顯示ä½ç½®ï¼Œå…ˆåœæ¢ç¤ºæ³¢å™¨å†é€šéŽæ»¾å‹•æ¢èª¿(dià o)整顯示ä½ç½®ï¼Œå¯ä¿®æ”¹æ³¢å½¢åƒæ•¸(shù)使波形顯示效果更好。
  本次,æ£é‹å‹•技術(shù)EtherCATé‹å‹•控制器實時數(shù)據(jù)çš„Qt示波器,就分享到這里。
  更多精彩內(nèi)容請關(guÄn)注“æ£é‹å‹•å°åŠ©æ‰‹â€å…¬çœ¾è™Ÿï¼Œéœ€è¦ç›¸é—œ(guÄn)開發(fÄ)ç’°(huán)境與例程代碼,請咨詢æ£é‹å‹•技術(shù)銷售工程師:400-089-8936。
  本文由æ£é‹å‹•技術(shù)原創(chuà ng),æ¡è¿Žå¤§å®¶è½‰(zhuÇŽn)載,共åŒå¸(xué)ç¿’(xÃ),一起æé«˜ä¸åœ‹æ™ºèƒ½åˆ¶é€ æ°´å¹³ã€‚æ–‡ç« ç‰ˆæ¬Š(quán)æ¸æ£é‹å‹•技術(shù)所有,如有轉(zhuÇŽn)è¼‰è«‹æ³¨æ˜Žæ–‡ç« ä¾†æºã€‚
上一篇:激光振é¡é‹å‹•控制器在機械臂...
下一篇:物è¯(lián)ç¶²(wÇŽng)與硬件èžåˆï¼šé–‹å•Ÿæ™ºèƒ½...
ä¸åœ‹å‚³å‹•ç¶²(wÇŽng)版權(quán)與å…責(zé)è²æ˜Žï¼šå‡¡æœ¬ç¶²(wÇŽng)注明[來æºï¼šä¸åœ‹å‚³å‹•ç¶²(wÇŽng)]的所有文å—ã€åœ–片ã€éŸ³è¦–å’Œè¦–é »æ–‡ä»¶ï¼Œç‰ˆæ¬Š(quán)å‡ç‚ºä¸åœ‹å‚³å‹•ç¶²(wÇŽng)(www.hysjfh.com)ç¨å®¶æ‰€æœ‰ã€‚如需轉(zhuÇŽn)載請與0755-82949061è¯(lián)系。任何媒體ã€ç¶²(wÇŽng)站或個人轉(zhuÇŽn)è¼‰ä½¿ç”¨æ™‚é ˆæ³¨æ˜Žä¾†æºâ€œä¸åœ‹å‚³å‹•ç¶²(wÇŽng)â€ï¼Œé•å者本網(wÇŽng)將追究其法律責(zé)任。
本網(wÇŽng)轉(zhuÇŽn)載并注明其他來æºçš„稿件,å‡ä¾†è‡ªäº’è¯(lián)ç¶²(wÇŽng)或æ¥(yè)å…§(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuÇŽn)載請ä¿ç•™ç¨¿ä»¶ä¾†æºåŠä½œè€…ï¼Œç¦æ¢æ“…自篡改,é•è€…è‡ªè² ç‰ˆæ¬Š(quán)法律責(zé)任。
相關(guÄn)資訊