熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > EtherCAT運動控制器上位機之Python+Qt(一):鏈接與單軸運動

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

時間:2024-08-02 14:43:30來源:深圳市正運動技術有限公司

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

  ZMC408CE硬件介紹

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

正運動

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

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

正運動

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

  ZMC408CE支持8個通道的硬件比較輸出、硬件定時器、運動中精準輸出,還支持8通道PWM輸出,對應的輸出口為OUT0-7,支持8個通道同時觸發硬件比較輸出。

  PCIE464M硬件介紹

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

正運動

  用戶可直接將PCIE464M嵌入標準PC機實現高性能的EtherCAT運動控制功能,實現高精多軸同步控制,EtherCAT控制周期最小可達100us!

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

正運動

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

  PCIE464M視頻介紹

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

  一、Python語言開發流程

  本文案例Python開發環境:

  操作系統環境:Win10_64位

  Python版本:python-3.10.10-amd64.exe

  Pycharm版本:pycharm-community-2024.1.3.exe

  1、Python開發前對環境、解析器進行配置。

  1)安裝漢化包:點擊file → setting → plugins,然后搜索Chinese中文包。

正運動

  2)python解析器安裝Pyside2軟件包(QT庫):File → Settings → Project pythonProject。

正運動.png

  3)配置自定義控件:File → Settings → Tools → External Tools點擊+新增自定義工具。

正運動

  自定義QtDesigner目的:用于生成.ui文件

  Name:QtDesigner

  Group:Qt

  Program:PySide2安裝路徑下的 designer.exe 路徑

  例如:C:\Python\Python39\Scripts\pyside2-designer.exe

  Working directory:$ProjectFileDir$

  自定義Pyside2-uic目的:將制作好的.ui文件轉化為.py文件

  Name:Pyside2-uic

  Group:Qt

  Program:Python安裝目錄下Scripts\pyside2-uic.exe

  例如:C:\Python\Python39\Scripts\pyside2-uic.exe

  Arguments:$FileName$ -o $FileNameWithoutExtension$.py

  Working directory:$FileDir$

  自定義Pyside2-rcc目的:將圖片文件轉化為.py文件

  Name:Pyside2-rcc

  Group:Qt

  Program:Python安裝目錄下Scripts\pyside2-rcc.exe

  例如:C:\Python\Python39\Scripts\pyside2-rcc.exe

  Arguments:$FileName$ -o $FileNameWithoutExtension$_rc.py

  Working directory:$FileDir$

       4)配置好自定義控件后,后續可以直接在pycharm菜單中使用。

正運動

  二、Python+Qt進行運動控制開發

  1、新建項目

正運動

正運動

  2、UI設置界面

  1)進入項目ui設置界面:工具 → Qt → QtDesigner。

正運動

正運動

  2)設置項目Ui:通過拖動控件到界面設置ui。

正運動

  3)ui設置完后保存文件:文件 → 保存。

正運動

  3、Python運行UI

  1)添加UI運行的python文件:選中項目右鍵 → 新建 → Python File。

正運動

正運動

  2)Ui_Weiget文件里面添加UI處理的類。

正運動

  ·

  from PySide2.QtCore import QFilefrom PySide2.QtUiTools import QUiLoaderclass UiInterFace: def __init__(self): # 從文件中加載UI定義 q_state_file = QFile("mainWeiget.ui") q_state_file.open(QFile.ReadOnly) q_state_file.close() # 從 UI 定義中動態 創建一個相應的窗口對象 self.ui = QUiLoader().load(q_state_file)

  3)同步驟1添加主運行python文件Main,并添加主入口運行函數。

正運動

  ·

  from PySide2.QtWidgets import QApplicationfrom Ui_Weiget import UiInterFaceif __name__ == "__main__": app = QApplication([]) #加載所有控件 ui_interface = UiInterFace() #創建窗體對象 ui_interface.ui.show() #主窗口的控件,全部顯示在界面上 app.exec_() #進入QApplication的事件處理循環

  4)此時在Main文件點擊運行按鈕,可以運行程序顯示UI界面。

正運動

  4、添加庫文件、庫函數封裝的Python文件。

  1)找到廠家提供的光盤資料里面的python函數庫,路徑如下(64位庫為例)。

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

正運動

  B、選擇“PC函數庫V2.1”文件夾。

正運動

  C、選擇“Windows平臺”文件夾。

正運動

  D、根據需要選擇對應的函數庫,這里選擇64位庫。

正運動

  E、解壓Python64壓縮包,里面有Python對應的函數庫,與運動函數封裝的python文件。

正運動

  2)將廠商提供的python的庫文件以及相關文件復制到新建的項目中。

       A、進入dll文件夾,選中zauxdll.dl、zmotion.dll、zauxdllPython.py三個文件復制。

正運動

正運動

  B、選中新建的項目粘貼,便把對應的庫文件與封裝的運動Python文件粘貼到了項目中。

正運動

  3)進入ui的python文件在文件開頭處導入zauxdllPython文件的ZAUXDLL類,并在界面類中創建ZAUXDLL對象。

正運動

  三、相關PC函數介紹

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

正運動

  2、連接控制器。

正運動

  3、讀取當前軸運動是否在運動中。

正運動

  4、設置脈沖當量。

正運動

  5、設置軸運動速度。

正運動

  6、單軸持續運動。

正運動

  7、單軸絕對運動。

正運動

  8、單軸停止運動。

正運動

  四、例程演示

  1、連接控制器。

  ·

  #連接控制器, 控制器默認IP是192.168.0.11,此處使用comboBox內輸入的ipdef on_btn_open_clicked(self): strtemp = self.ui.comboBox.currentText() print("當前的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() #刷新函數 self.time1.start(100)#開啟定時器

  2、軸運動。

  ·

  #軸運行函數def on_btn_Run_clicked(self): if self.Zmc.handle.value is None: QMessageBox.warning(self.ui, "警告", "未連接控制器") return # 獲取軸運動狀態0 –運動中,-1-未運動 isidle=self.Zmc.ZAux_Direct_GetIfIdle(self.axis_Num)[1].value isidle=int(isidle) if self.mode == 1 and not isidle: QMessageBox.warning(self.ui, "警告", "未停止") return # 設置脈沖當量 str_tmp = self.ui.edit_Units.text() float_tmp = float(str_tmp) self.Zmc.ZAux_Direct_SetUnits(self.axis_Num, float_tmp)#設置脈沖單量 # 設置運動速度 str_tmp = self.ui.edit_Speed.text() float_tmp = float(str_tmp) self.Zmc.ZAux_Direct_SetSpeed(self.axis_Num, float_tmp)#設置運動速度 # 設置加速度 str_tmp = self.ui.edit_Accel.text() float_tmp = float(str_tmp) self.Zmc.ZAux_Direct_SetAccel(self.axis_Num, float_tmp)#設置加速度 # 設置減速度 str_tmp = self.ui.edit_Decel.text() float_tmp = float(str_tmp) self.Zmc.ZAux_Direct_SetDecel(self.axis_Num, float_tmp)#設置減速 # 設置S曲線 str_tmp = self.ui.edit_Sramp.text() float_tmp = float(str_tmp) self.Zmc.ZAux_Direct_SetSramp(self.axis_Num, float_tmp)# 設置S曲線 if 0 == self.mode: # 單軸持續運動 self.Zmc.ZAux_Direct_Single_Vmove(self.axis_Num, self.direction) elif 1 == self.mode: str_tmp = self.ui.edit_Distance.text() float_tmp = float(str_tmp) # 單軸相對運動運動 self.Zmc.ZAux_Direct_Single_Move(self.axis_Num, -float_tmp if self.direction == -1 else float_tmp)

  3、停止軸運動。

  ·

  #停止軸運動def on_btn_Stop_clicked(self): if self.Zmc.handle.value is None: QMessageBox.warning(self.ui, "警告", "未連接控制器") return #獲取軸運動狀態0 –運動中,-1-未運動 isidle=self.Zmc.ZAux_Direct_GetIfIdle(self.axis_Num)[1].value if isidle: QMessageBox.warning(self.ui, "警告", "已停止") return #停止單軸運動 self.Zmc.ZAux_Direct_Single_Cancel(self.axis_Num, 2)

  4、運行程序觀察運行效果。

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

正運動

完整代碼獲取地址

正運動

  本次,正運動技術EtherCAT運動控制器上位機開發之Python+Qt(一):鏈接與單軸運動,就分享到這里。

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

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

標簽: 正運動

點贊

分享到:

上一篇:串口數據加解密,你了解多少?

下一篇:電池記憶效應解讀,新電池需不...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 电白县| 婺源县| 池州市| 澎湖县| 湖口县| 翼城县| 金溪县| 赞皇县| 辽宁省| 沁水县| 桦川县| 芜湖县| 乐至县| 高邑县| 涪陵区| 上高县| 怀远县| 库尔勒市| 靖边县| 洞头县| 汤原县| 金寨县| 竹山县| 息烽县| 太湖县| 石家庄市| 克什克腾旗| 吴堡县| 三都| 高陵县| 荔浦县| 太白县| 隆德县| 宜兰市| 台东市| 左云县| 遵化市| 方山县| 长春市| 高雄县| 洛南县|