0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

EtherCAT運動控制器上位機開發(fā)之Python+Qt(三):PDO配置與SDO讀寫

正運動技術(shù) ? 來源:正運動技術(shù) ? 作者:正運動技術(shù) ? 2024-08-21 15:56 ? 次閱讀

ZMC408CE控制器硬件介紹

ZMC408CE是正運動推出的一款多軸高性能EtherCAT總線運動控制器,具有EtherCAT、EtherNET、RS232、CAN和U盤等通訊接口,ZMC系列運動控制器可應(yīng)用于各種需要脫機或聯(lián)機運行的場合。

wKgaombFm8WALm3mAAGPukKpE2k266.png

ZMC408CE支持8軸運動控制,最多可擴展至32軸,支持直線插補、任意圓弧插補、空間圓弧、螺旋插補、電子凸輪、電子齒輪、同步跟隨等功能。

ZMC408CE支持PLC、Basic、HMI組態(tài)三種編程方式。PC上位機API編程支持C#C++、LabVIEWMatlab、Qt、Linux、VB.Net、Python等接口。

wKgZombFm8mAcVEUAAIdbDC5S-E734.png

ZMC408CE支持8軸運動控制,可采用脈沖軸(帶編碼器反饋)或EtherCAT總線軸,通用IO包含24路輸入口和16路輸出口,部分IO為高速IO,模擬AD/DA各兩路,EtherCAT最快125us的刷新周期。

ZMC408CE支持8個通道的硬件比較輸出、硬件定時器、運動中精準(zhǔn)輸出,還支持8通道PWM輸出,對應(yīng)的輸出口為OUT0-7,支持8個通道同時觸發(fā)硬件比較輸出。

更多關(guān)于ZMC408CE的詳情介紹,點擊“推薦|8通道PSO的高性能EtherCAT總線運動控制器”查看。

PCIE464M控制卡硬件介紹

PCIE464M是一款基于PCIe的PCI Express的EtherCAT總線運動控制卡,具有多項實時和高精度運動控制控制功能。

wKgaombFm96AU8njAAdjBbymGV4784.png

用戶可直接將PCIE464M嵌入標(biāo)準(zhǔn)PC機實現(xiàn)高性能的EtherCAT運動控制功能,實現(xiàn)高精多軸同步控制,EtherCAT控制周期最小可達100us!

PCIE464M內(nèi)置多路高速IO輸入輸出,可滿足用戶的多樣化高速IO應(yīng)用需求,如:高速色標(biāo)鎖存、高速PWM、多維位置比較輸出PSO、視覺飛拍、速度前瞻、編碼器位置檢測等應(yīng)用。

wKgaombFm-OAUgzyAAK_WcbMruU268.png

PCIE464M運動控制卡上自帶16進16出,第三方圖像處理工控機或PC無需額外配置IO數(shù)據(jù)采集卡和PLC,即可實現(xiàn)IPC形態(tài)的機器視覺運動控制一體機,簡化硬件架構(gòu),節(jié)省成本,軟硬件一體化。

更多關(guān)于PCIE464M的詳情介紹,點擊“PCIE464M-高速高精,超高速PCIe EthrtCAT實時運動控制卡”查看。

ECI2A18B控制卡硬件介紹

ECI2A18B是正運動推出的一款高性價比10軸脈沖型、模塊化的網(wǎng)絡(luò)型運動控制卡,采用優(yōu)化的網(wǎng)絡(luò)通訊協(xié)議可以實現(xiàn)實時的運動控制,同時支持多種通信協(xié)議,方便與其他工業(yè)控制設(shè)備連接和集成。安裝配置相對便捷,適合于模塊化和靈活性要求較高的控制系統(tǒng)。

wKgaombFm_-AH_F9AAK4PsCNj5w710.png

ECI2A18B控制卡最大可擴展至12脈沖軸,支持8路高速輸入和4路高速輸出,集成豐富的運動控制功能,包含多軸點位運動、電子凸輪,直線插補,圓弧插補,連續(xù)插補運動等,滿足多樣化的工業(yè)應(yīng)用需求。

wKgZombFnAOAPMYrAALH_8RZiuM306.png

ECI2A18B運動控制卡可用于電子半導(dǎo)體設(shè)備(檢測類設(shè)備、組裝類設(shè)備、鎖附類設(shè)備、焊錫機)、點膠設(shè)備和流水線等10軸以內(nèi)脈沖的高性價比應(yīng)用場合。

更多關(guān)于ECI2A18B的詳情介紹,點擊“【加量不加價】正運動網(wǎng)絡(luò)型運動控制卡ECI2618B/ECI2A18B”查看。

一、Python+Qt開發(fā)流程

Python+Qt運動控制開發(fā)流程參考“EtherCAT運動控制器上位機之Python+Qt(一):鏈接與單軸運動”。

二、相關(guān)PC函數(shù)介紹

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

wKgaombFnCWANWIlAAEEUFOeAfA397.png

2.連接控制器。

wKgZombFnDCAbL1KAABJI_u3n0E129.png

3.下載bas文件到控制器。

wKgZombFnDeATF6TAAA40UAiNiQ353.png

4.下載zar文件到控制器。

wKgZombFnD2AB8aFAAA2RLuIHUE013.png

5.SDO寫入。

wKgaombFnESAOEeRAABtaILRl8Q849.png

6.SDO讀取

wKgaombFnEuAAnKuAABuCyVjWKc987.png

7.讀取軸類型。

wKgZombFnFKAZcC4AABBQSCu87I143.png

8.設(shè)置軸使能。

wKgaombFnFaADKQwAAArtGLOM3o125.png

9.設(shè)置脈沖當(dāng)量。

wKgaombFnFqAZl6uAABkMcvJ0t4520.png

10.單軸持續(xù)運動。

wKgZombFnF6AL5zgAAA-MRfLIE8607.png

三、例程演示

1.連接控制器。

#連接控制器, 控制器默認IP是192.168.0.11,此處使用comboBox內(nèi)輸入的ip
def on_btn_open_clicked(self):
   strtemp = self.ui.comboBox.currentText()
   print("當(dāng)前的ip是 :", strtemp)
   if self.Zmc.handle.value is not None:
       self.Zmc.ZAux_Close()
       self.time1.stop()
       self.ui.setWindowTitle("單軸運動")
   iresult = self.Zmc.ZAux_OpenEth(strtemp)#連接控制器
   if 0 != iresult:
       QMessageBox.warning(self.ui, "提示", "連接失敗")
   else:
       QMessageBox.warning(self.ui, "提示", "連接成功")
       str_title = self.ui.windowTitle() + strtemp
       self.ui.setWindowTitle(str_title)
       self.Up_State()  #刷新函數(shù)
       self.time1.start(100)#開啟定時器

2.下載BAS文件到控制器。

#下載BAS文件到控制器
def on_btn_down_bas_clicked(self):  # 下載BAS文件到控制器
   if self.Zmc.handle.value is None:
       QMessageBox.warning(self.ui, "提示", "未連接控制器")
       return
   file_Date = QFileDialog.getOpenFileName(self.ui, "選擇BAS文件", "..", "Files(*.bas)")
   self.file_Name = file_Date[0].replace("/", "")
   print(self.file_Name)
   self.ui.textEdit_file_path.insertPlainText(self.file_Name + "n")
   # 讀取BAS文件中的變量判斷是否有加載BAS文件
   temp = self.Zmc.ZAux_Direct_GetUserVar("BUS_TYPE")[1].value  
   self.Bus_type = float(temp)
   # BAS文件下載到ROM
   ret = self.Zmc.ZAux_BasDown(self.file_Name, 1)  
   if ret != 0:
       QMessageBox.warning(self.ui, "提示", "文件下載失?。? + "錯誤碼為 :%1 ".format(ret))

3.下載ZAR文件到控制器。

#下載ZAR文件到控制器
def on_btn_down_zar_clicked(self):  # 下載zar件到控制器
   if self.Zmc.handle.value is None:
       QMessageBox.warning(self.ui, "提示", "未連接控制器")
       return
   file_Date = QFileDialog.getOpenFileName(self.ui, "選擇zar文件", "..", "Files(*.zar)")
   self.file_Name = file_Date[0].replace("/", "")
   print(self.file_Name)
   self.ui.textEdit_file_path.insertPlainText(self.file_Name + "n")
   # 讀取zar文件中的變量判斷是否有加載zar文件
   temp = self.Zmc.ZAux_Direct_GetUserVar("BUS_TYPE")[1].value
   self.Bus_type = float(temp)
   # zar文件下載到ROM
   ret = self.Zmc.ZAux_ZarDown(self.file_Name, 1)
   if ret != 0:
       QMessageBox.warning(self.ui, "提示", "zar文件下載失??!" + "錯誤碼為 :%1 ".format(ret))

4.SDO寫入數(shù)據(jù)。

#SDO寫入數(shù)據(jù)
def on_btn_Ecat_write_clicked(self):  # ETHERCAT寫
   if self.Zmc.handle.value is None:
       QMessageBox.warning(self.ui, "提示", "未連接控制器")
       return
   #節(jié)點編號
   m_sdo_node1 = int(self.ui.edit_node_1.text())
   # 對象字典編號
   m_sdo_index1 = int(self.ui.edit_dir_1.text())
   # 對象字典子編號
   m_sdo_sub1 = int(self.ui.edit_sub_node_1.text())
   # 數(shù)據(jù)類型
   m_sdo_type1 = self.ui.comboBox_type_1.currentIndex() + 1
   #寫入數(shù)據(jù)字典值的數(shù)據(jù)值 
   m_sdo_data1 = int(self.ui.edit_date_1.text())
   if self.Bus_type == 0:
       #SDO寫入
       ret = self.Zmc.ZAux_BusCmd_SDOWrite(0, m_sdo_node1, m_sdo_index1, m_sdo_sub1, m_sdo_type1, m_sdo_data1)
       if ret != 0:
           QMessageBox.warning(self.ui, "提示", "寫入失敗")
           return
   else:
       QMessageBox.warning(self.ui, "提示", "非ETHERCAT模塊")
       return

5.SDO讀取數(shù)據(jù)。

#SDO讀取數(shù)據(jù)
def on_btn_Ecat_read_clicked(self):  # ETHERCAT讀取
   if self.Zmc.handle.value is None:
       QMessageBox.warning(self.ui, "提示", "未連接控制器")
       return
   #節(jié)點編號
   m_sdo_node2 = int(self.ui.edit_node_2.text())
   #對象字典編號
   m_sdo_index2 = int(self.ui.edit_dir_2.text())
   #對象字典子編號
   m_sdo_sub2 = int(self.ui.edit_sub_node_2.text())
   #數(shù)據(jù)類型
   m_sdo_type2 = self.ui.comboBox_type_2.currentIndex() + 1
   m_sdo_data2 = ctypes.c_int(0)
   print(self.Bus_type)
   if self.Bus_type == 0:
       #通過設(shè)備號和槽位號進行 SDO 讀取。
       ret = self.Zmc.ZAux_BusCmd_SDORead(0, m_sdo_node2, m_sdo_index2, m_sdo_sub2, m_sdo_type2)
       #讀取的數(shù)據(jù)值
       m_sdo_data2 = int(ret[1].value)
       if ret != 0:
           QMessageBox.warning(self.ui, "提示", "讀取失敗")
           return
       self.ui.edit_date_2.setText(str(m_sdo_data2))
   else:
       QMessageBox.warning(self.ui, "提示", "非ETHERCAT模塊")
       return

四、運行效果

運行python程序,通過RTSys軟件觀察運行情況。

wKgZombFnOGAULjMAAJ_OWh793c277.png

通過驅(qū)動器軟件查看sdo讀寫情況(對象字典為10進制數(shù)據(jù)):此處以雷賽驅(qū)動為例讀寫驅(qū)動器SDO。

1.SDO_READ讀取驅(qū)動器SDO參數(shù),比如先在驅(qū)動器軟件設(shè)置單圈脈沖數(shù)量為5000后,通過SDO_READ讀取驅(qū)動器單圈脈沖數(shù)。

wKgaombFnOWAD2M9AAP5wUxB_cg210.png

2.SDO_WRITE寫入驅(qū)動器SDO參數(shù),比如使用SDO_WRITE寫入單圈脈沖數(shù)量為10000后,通過驅(qū)動器軟件查看修改結(jié)果。

wKgZombFnOiAVgL_AAP0bvXAKN4329.png

五、總線初始化bas文件

總線初始化BAS文件下載到控制器ROM里面掉電保存。

1.EtherCAT總線擴展接線

每個EIO擴展模塊在擴展接線完成后,不需要進行進行二次開發(fā),只需手動在EtherCAT主站控制器配置擴展模塊唯一的IO地址和軸地址,配置完成即可訪問。

IO地址編號通過總線指令NODE_IO來設(shè)置,控制器上程序只需通過IO編號就可以訪問到擴展模塊上的資源。軸地址的配置使用AXIS_ADDRESS指令映射綁定軸號,綁定完成通過BASE或AXIS指令指定軸號。

接線時注意EtherCAT IN連接上一級模塊,EtherCAT OUT連接下一級模塊,IN和OUT口不可混用。

wKgZombFnPuAInegAAJX-a3bmtg511.pngEIO擴展模塊接線參考

上圖涉及的編號概念如下;總線相關(guān)指令參數(shù)會用到如下編號:

1)槽位號(slot):

槽位號是指控制器上總線接口的編號,EtherCAT總線槽位號為0。

2)設(shè)備號(node):

設(shè)備號是指一個槽位上連接的所有設(shè)備的編號,從0開始,按設(shè)備在總線上的連接順序自動編號,可以通過NODE_COUNT(slot)指令查看總線上連接的設(shè)備總數(shù)。

3)驅(qū)動器編號:

控制器會自動識別出槽位上的驅(qū)動器,編號從0開始,按驅(qū)動器在總線上的連接順序自動編號。

驅(qū)動器編號與設(shè)備號不同,只給槽位上的驅(qū)動器設(shè)備編號,其他設(shè)備忽略,映射軸號時將會用到驅(qū)動器編號。

2.EtherCAT總線擴展資源映射

1)IO映射

控制器上程序只需通過IO編號就可以訪問到擴展模塊上的資源,EtherCAT總線擴展模塊IO編號通過總線指令NODE_IO來設(shè)置,同時配置輸入和輸出。IO映射時先查看控制器自身的最大IO編號(包括外部IO接口和脈沖軸內(nèi)的接口),再使用指令設(shè)置。若擴展的IO與控制器自身IO編號重合,二者將同時起作用,所以IO映射的映射的編號在整個控制系統(tǒng)中均不得重復(fù)。

IO映射語法:

NODE_IO(slot,node)=iobaseslot:槽位號,0-缺省node:設(shè)備編號,編號從0開始iobase:映射IO起始編號,設(shè)置結(jié)果只會是8的倍數(shù)

2)軸映射

擴展模塊的軸使用前需要使用AXIS_ADDRESS指令映射軸號,軸映射也需要注意整個系統(tǒng)的軸號不得重復(fù)。EIO系列擴展軸的映射與總線驅(qū)動器的軸映射語法相同。

軸映射語法:

AXIS_ADDRESS(軸號)=(槽位號<<16)+驅(qū)動器編號+1

3.總線初始化BAS程序

'********************************ECAT總線初始化***********************
global CONST BUS_TYPE = 0         '總線類型??捎糜谏衔粰C區(qū)分當(dāng)前總線類型
global CONST Bus_Slot  = 0        '槽位號0(單總線控制器缺省0)
global CONST PUL_AxisStart   = 0    '本地脈沖軸起始軸號
global CONST PUL_AxisNum   = 0    '本地脈沖軸軸數(shù)量
global CONST Bus_AxisStart   = 0      '總線軸起始軸號
global CONST Bus_NodeNum   = 1      '總線配置節(jié)點數(shù)量,用于判斷實際檢測到的從站數(shù)量是否一致
global  MAX_AXISNUM        '最大軸數(shù)
MAX_AXISNUM = SYS_ZFEATURE(0)
global Bus_InitStatus      '總線初始化完成狀態(tài)
Bus_InitStatus = -1
global  Bus_TotalAxisnum    '檢查掃描的總軸數(shù)
delay(3000)        '延時3S等待驅(qū)動器上電,不同驅(qū)動器自身上電時間不同,具體根據(jù)驅(qū)動器調(diào)整延時
?"總線通訊周期:",SERVO_PERIOD,"us"
Ecat_Init()      '初始化ECAT總線 
while (Bus_InitStatus = 0)
   Ecat_Init()
wend
'*****************ECAT總線初始********************************************************************
'初始流程:  slot_scan(掃描總線) ->   從站節(jié)點映射軸/io  ->  SLOT_START(啟動總線) -> 初始化成功
'**************************************************************************************************
global sub Ecat_Init()
   local Node_Num,Temp_Axis,Drive_Vender,Drive_Device,Drive_Alias
   RAPIDSTOP(2)
   for i=0 to MAX_AXISNUM - 1        '初始化還原軸類型          
       AXIS_ENABLE(i) = 0
       atype(i)=0  
       AXIS_ADDRESS(i) =0
       DELAY(10)            '防止所有驅(qū)動器全部同時切換使能導(dǎo)致瞬間電流過大
   next
   Bus_InitStatus = -1
   Bus_TotalAxisnum = 0  
   SLOT_STOP(Bus_Slot)        
   delay(200)
   slot_scan(Bus_Slot)        '掃描總線
   if return then 
       ?"總線掃描成功","連接從站設(shè)備數(shù):"NODE_COUNT(Bus_Slot)
       if NODE_COUNT(Bus_Slot)  Bus_NodeNum then    '判斷總線檢測數(shù)量是否為實際接線數(shù)量
           ?"掃描節(jié)點數(shù)量與程序配置數(shù)量不一致!" ,"配置數(shù)量:"Bus_NodeNum,"檢測數(shù)量:"NODE_COUNT(Bus_Slot)
           Bus_InitStatus = 0    '初始化失敗。報警提示
       endif   
       '"開始映射軸號"
       for Node_Num=0 to NODE_COUNT(Bus_Slot)-1            '遍歷掃描到的所有從站節(jié)點
           Drive_Vender = NODE_INFO(Bus_Slot,Node_Num,0)        '讀取驅(qū)動器廠商
           Drive_Device = NODE_INFO(Bus_Slot,Node_Num,1)        '讀取設(shè)備編號
           Drive_Alias = NODE_INFO(Bus_Slot,Node_Num,3)          '讀取設(shè)備撥碼ID
           if NODE_AXIS_COUNT(Bus_Slot,Node_Num)  0  then        '判斷當(dāng)前節(jié)點是否有電機
               '根據(jù)節(jié)點帶的電機數(shù)量循環(huán)配置軸參數(shù)(針對一拖多驅(qū)動器)
               for j=0 to NODE_AXIS_COUNT(Bus_Slot,Node_Num)-1      
                   Temp_Axis = Bus_AxisStart + Bus_TotalAxisnum    '軸號按NODE順序分配
                   'Temp_Axis = Drive_Alias    '軸號按驅(qū)動器設(shè)定的撥碼分配(一拖多需要特殊處理)          
                   base(Temp_Axis)
                   AXIS_ADDRESS(Temp_Axis)= (Bus_Slot

4.BAS總線初始化關(guān)鍵函數(shù)

1)SLOT_SCAN -- 總線掃描

wKgZombFnUeAevhsAAA37cBYVkg190.png

2)AXIS_ADDRESS -- 軸地址設(shè)置

wKgaombFnU2AQJPVAADuKY63qlM728.png

3)DRIVE_PROFILE -- 驅(qū)動器PDO設(shè)置

wKgZombFnVaABjY9AAFAYU53iL8508.png

4)SDO_READ -- 數(shù)據(jù)字典讀取

wKgaombFnV6AD9bMAABjxem_chM962.png

5)SDO_WRITE -- 數(shù)據(jù)字典寫入

wKgZombFnWWAPWJXAABgcqRpf8k106.png

本次,正運動技術(shù)EtherCAT運動控制器上位機開發(fā)之Python+Qt(三):PDO配置與SDO讀寫,就分享到這里。

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

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

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 運動控制器
    +關(guān)注

    關(guān)注

    2

    文章

    389

    瀏覽量

    24604
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4762

    瀏覽量

    84325
  • ethercat
    +關(guān)注

    關(guān)注

    18

    文章

    628

    瀏覽量

    38512
  • PDO
    PDO
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    4295
  • 正運動技術(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    94

    瀏覽量

    263
收藏 人收藏

    評論

    相關(guān)推薦

    EtherCAT運動控制器上位Python+Qt(一):鏈接與單軸運動# 正運動技術(shù)# 運動控制器

    運動控制器
    正運動技術(shù)
    發(fā)布于 :2024年07月31日 14:35:13

    EtherCAT運動控制器上位開發(fā)Python+Qt):PDO配置SDO讀寫# 運動控制器# 控制

    運動控制器
    正運動技術(shù)
    發(fā)布于 :2024年08月22日 09:11:13

    運動技術(shù)運動控制器EtherCAT總線快速入門

      之前正運動技術(shù)與大家分享了,運動控制器的固件升級、ZBasic 程序開發(fā)、ZPLC 程序開發(fā)、與觸摸屏通訊和輸入/輸出IO 的應(yīng)用、
    發(fā)表于 09-07 06:59

    運動技術(shù)運動控制器EtherCAT總線的基礎(chǔ)使用

    EtherCAT總線擴展模塊包含哪些?怎樣去使用正運動技術(shù)運動控制器EtherCAT總線?
    發(fā)表于 09-27 08:34

    EtherCAT總線運動控制的優(yōu)勢主要體現(xiàn)在哪?

    自由切換;f、方便上位遠程診斷與遠程維護電氣系統(tǒng),預(yù)測性維護也更方便。5、沒有實際的運動控制器也能仿真與調(diào)試運動
    發(fā)表于 02-20 10:20

    經(jīng)濟型EtherCAT運動控制器EtherCAT總線快速入門

    的相關(guān)參數(shù)修改,同樣使用SDO指令讀寫對應(yīng)的數(shù)據(jù)字典進行配置或通過驅(qū)動軟件修改。SDO指令包含數(shù)據(jù)字典讀取“
    發(fā)表于 05-11 09:49

    EtherCAT運動控制器進行自定義API封裝例程

    、Flash/文件讀寫 更多API接口詳情可以參考“ZMotion PC函數(shù)庫編程手冊 V2.1.1”。 如果想了解更多內(nèi)容,請點擊《全國產(chǎn)EtherCAT運動控制邊緣
    發(fā)表于 10-26 15:11

    EtherCAT總線運動控制的優(yōu)勢主要體現(xiàn)在哪?

    )/CSV(周期速度)/CST(周期轉(zhuǎn)矩)可以自由切換; f、方便上位遠程診斷與遠程維護電氣系統(tǒng),預(yù)測性維護也更方便。 5、沒有實際的運動控制器也能仿真與調(diào)試
    發(fā)表于 12-13 11:37

    全國產(chǎn)EtherCAT運動控制邊緣控制器(五):IO配置與回零運動Python+Qt開發(fā)

    Python+QT開發(fā)環(huán)境的配置以及單軸回零運動的實現(xiàn)效果。
    的頭像 發(fā)表于 10-20 10:08 ?536次閱讀
    全國產(chǎn)<b class='flag-5'>EtherCAT</b><b class='flag-5'>運動</b><b class='flag-5'>控制</b>邊緣<b class='flag-5'>控制器</b>(五):IO<b class='flag-5'>配置</b>與回零<b class='flag-5'>運動</b>的<b class='flag-5'>Python+Qt</b><b class='flag-5'>開發(fā)</b>

    全國產(chǎn)EtherCAT運動控制邊緣控制器(五):IO配置與回零運動Python+Qt開發(fā)

    全國產(chǎn)EtherCAT運動控制邊緣控制器ZMC432H是正運動的一款軟硬件全國產(chǎn)自主可控,運動
    的頭像 發(fā)表于 10-22 10:51 ?850次閱讀
    全國產(chǎn)<b class='flag-5'>EtherCAT</b><b class='flag-5'>運動</b><b class='flag-5'>控制</b>邊緣<b class='flag-5'>控制器</b>(五):IO<b class='flag-5'>配置</b>與回零<b class='flag-5'>運動</b>的<b class='flag-5'>Python+Qt</b><b class='flag-5'>開發(fā)</b>

    全國產(chǎn)EtherCAT運動控制邊緣控制器(六):RtBasic文件下載與連續(xù)軌跡加工的Python+Qt開發(fā)

    今天,正運動小助手給大家分享一下全國產(chǎn)EtherCAT運動控制邊緣控制器ZMC432H如何使用Pytho
    的頭像 發(fā)表于 11-02 16:45 ?521次閱讀
    全國產(chǎn)<b class='flag-5'>EtherCAT</b><b class='flag-5'>運動</b><b class='flag-5'>控制</b>邊緣<b class='flag-5'>控制器</b>(六):RtBasic文件下載與連續(xù)軌跡加工的<b class='flag-5'>Python+Qt</b><b class='flag-5'>開發(fā)</b>

    全國產(chǎn)EtherCAT運動控制邊緣控制器ZMC432H如何使用Python+QT實現(xiàn)連續(xù)軌跡加工

    今天,正運動小助手給大家分享一下全國產(chǎn)EtherCAT運動控制邊緣控制器ZMC432H如何使用Pytho
    的頭像 發(fā)表于 11-06 16:03 ?769次閱讀
    全國產(chǎn)<b class='flag-5'>EtherCAT</b><b class='flag-5'>運動</b><b class='flag-5'>控制</b>邊緣<b class='flag-5'>控制器</b>ZMC432H如何使用<b class='flag-5'>Python+QT</b>實現(xiàn)連續(xù)軌跡加工

    EtherCAT運動控制器上位Python+Qt(一):鏈接與單軸運動

    PC上位Python+Qt混合編程,助力智能制造高效開發(fā)。
    的頭像 發(fā)表于 07-31 09:43 ?300次閱讀
    <b class='flag-5'>EtherCAT</b><b class='flag-5'>運動</b><b class='flag-5'>控制器</b><b class='flag-5'>上位</b><b class='flag-5'>機</b><b class='flag-5'>之</b><b class='flag-5'>Python+Qt</b>(一):鏈接與單軸<b class='flag-5'>運動</b>