直播推薦
企業(yè)動(dòng)態(tài)
- 華為光與行業(yè)感知分銷新品發(fā)布會(huì)圓滿召開(kāi),19款新品重磅發(fā)布
- 兆越MSM堆疊方案 | 重構(gòu)AI時(shí)代數(shù)據(jù)中心網(wǎng)絡(luò)新底座
- 華為吳輝:跨越數(shù)智鴻溝,共創(chuàng)AI新時(shí)代
- 昌發(fā)展集團(tuán)承辦先進(jìn)制造與醫(yī)藥健康平行路演活動(dòng)
- 奔跑吧,瞪羚!AiTEN跑出智能物流“加速度”
- 政府工作報(bào)告首提的“具身智能”到底是什么?
- 突破14nm工藝壁壘:天準(zhǔn)科技發(fā)布TB2000晶圓缺陷檢測(cè)裝備
- 步科攜手金蝶,共赴智能制造新征程
推薦展會(huì)
今天,正運(yùn)動(dòng)小助手給大家分享一下全國(guó)產(chǎn)EtherCAT運(yùn)動(dòng)控制邊緣控制器ZMC432H如何使用Python+QT實(shí)現(xiàn)單軸回零運(yùn)動(dòng)控制開(kāi)發(fā)。
01
功能簡(jiǎn)介
ZMC432H具備豐富的硬件接口和控制功能模塊,能實(shí)現(xiàn)高效穩(wěn)定的運(yùn)動(dòng)控制和實(shí)時(shí)數(shù)據(jù)采集,以滿足工業(yè)控制協(xié)同工業(yè)互聯(lián)網(wǎng)的應(yīng)用需求。
02
Python+QT進(jìn)行運(yùn)動(dòng)控制開(kāi)發(fā)
二.新建Python項(xiàng)目并添加函數(shù)庫(kù)
D.選擇“庫(kù)文件與例程”文件夾。
三.查看PC函數(shù)手冊(cè),熟悉相關(guān)函數(shù)接口。
2、鏈接控制器,獲取鏈接句柄。
(1)ZAux_OpenEth()接口說(shuō)明:
(2)配置IO信號(hào)點(diǎn)對(duì)應(yīng)函數(shù)接口說(shuō)明:

四.Python+Qt開(kāi)發(fā)控制器單軸回零例程。
1、例程界面如下。
2、程序示例如下。
注:此時(shí)self.ui表示了qt中的ui。
(3)通過(guò)定時(shí)器監(jiān)控控制器狀態(tài)。
def Up_State(self):
idlelist = [ctypes.c_int(-1) for i in range(0, 4)]
fdposlist = [ctypes.c_float(0) for i in range(0, 4)]
for i in range(0, 4):
self.Zmc.get_target_pos(i, fdposlist[i]) # 獲取當(dāng)前軸位置
self.Zmc.get_idle(i, idlelist[i]) # 判斷當(dāng)前軸狀態(tài)
str1 = " {} {} ".format("停止中" if idlelist[0].value else "運(yùn)行中", round(fdposlist[0].value, 2))
self.ui.lineEdit_X.setText(str1)
str1 = " {} {} ".format("停止中" if idlelist[1].value else "運(yùn)行中", round(fdposlist[1].value, 2))
self.ui.lineEdit_Y.setText(str1)
str1 = " {} {} ".format("停止中" if idlelist[2].value else "運(yùn)行中", round(fdposlist[2].value, 2))
self.ui.lineEdit_Z.setText(str1)
str1 = " {} {} ".format("停止中" if idlelist[3].value else "運(yùn)行中", round(fdposlist[3].value, 2))
self.ui.lineEdit_R.setText(str1)
(4)使用回零按鈕的事件處理函數(shù)對(duì)回零運(yùn)動(dòng)前的參數(shù)進(jìn)行初始化以及調(diào)用對(duì)應(yīng)的回零模式操作回零運(yùn)動(dòng)。
def on_btn_run_clicked(self):
if self.Zmc.handle.value is None:
QMessageBox.warning(self.ui, "警告", "未連接控制器")
return
ifidle = ctypes.c_int(0)
self.Zmc.get_idle(self.axis_Num,ifidle)
if 0 == ifidle:
QMessageBox.warning(self.ui, "提示", "運(yùn)動(dòng)未停止")
return
# 設(shè)定軸類型 7 - 脈沖軸類型 + 編碼器Z信號(hào) 不用EZ回零也可以設(shè)置為1
self.Zmc.set_axis_type(self.axis_Num,7 if self.mode < 3 else 1)
# 設(shè)定脈沖模式及邏輯方向(脈沖 + 方向)
self.Zmc.set_invert_step(self.axis_Num,0)
# 設(shè)置當(dāng)量
str_tmp = self.ui.edit_Units.text()
float_tmp = float(str_tmp)
self.Zmc.set_units(self.axis_Num,float_tmp)
# 設(shè)置爬行速度
str_tmp = self.ui.edit_CLSpeed.text()
float_tmp = float(str_tmp)
self.Zmc.set_creep(self.axis_Num,float_tmp)
# 設(shè)置速度
str_tmp = self.ui.edit_Speed.text()
float_tmp = float(str_tmp)
self.Zmc.set_speed(self.axis_Num,float_tmp)
# 設(shè)置加速度
str_tmp = self.ui.edit_Accel.text()
float_tmp = float(str_tmp)
self.Zmc.set_acceleration(self.axis_Num,float_tmp)
# 設(shè)置減速度
str_tmp = self.ui.edit_Decel.text()
float_tmp = float(str_tmp)
self.Zmc.set_deceleration(self.axis_Num,float_tmp)
# 設(shè)置原點(diǎn)開(kāi)關(guān)
str_tmp = self.ui.edit_zeroIO.text()
float_tmp = int(str_tmp)
self.Zmc.set_datum_in(self.axis_Num,float_tmp)
# 反轉(zhuǎn) ZMC系列認(rèn)為OFF時(shí)碰到了原點(diǎn)信號(hào)(常閉) ,如果是常開(kāi)傳感器則需要反轉(zhuǎn)輸入口,ECI系列的不需要反轉(zhuǎn)
if float_tmp != -1:
self.Zmc.set_invert_in(float_tmp,1)
# 設(shè)置正限位輸入信號(hào)開(kāi)關(guān)
str_tmp = self.ui.edit_FWDIO.text()
float_tmp = int(str_tmp)
self.Zmc.set_fwd_in(self.axis_Num,float_tmp)
if float_tmp != -1:
self.Zmc.set_invert_in(float_tmp,1)
# 設(shè)置負(fù)限位輸入信號(hào)開(kāi)關(guān)
str_tmp = self.ui.edit_REVIO.text()
float_tmp = int(str_tmp)
self.Zmc.set_rev_in(self.axis_Num, float_tmp)
if float_tmp != -1:
self.Zmc.set_invert_in(float_tmp, 1)
# 單軸回零
self.Zmc.single_datum(self.axis_Num,self.mode)
03
調(diào)試與監(jiān)控
編譯運(yùn)行例程,同時(shí)通過(guò)RtSys軟件連接控制器對(duì)控制器狀態(tài)進(jìn)行監(jiān)控。

本次,正運(yùn)動(dòng)技術(shù)全國(guó)產(chǎn)EtherCAT運(yùn)動(dòng)控制邊緣控制器(五):IO配置與回零運(yùn)動(dòng)的Python+QT開(kāi)發(fā),就分享到這里。
更多精彩內(nèi)容請(qǐng)關(guān)注“ 正運(yùn)動(dòng)小助手 ”公眾號(hào),需要相關(guān)開(kāi)發(fā)環(huán)境與例程代碼,請(qǐng)咨詢正運(yùn)動(dòng)技術(shù)銷售工程師。
免責(zé)聲明
- 凡本網(wǎng)注明"來(lái)源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請(qǐng)必須注明智能制造網(wǎng),http://towegas.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來(lái)源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品來(lái)源,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
2025第21屆鄭州工業(yè)自動(dòng)化展
展會(huì)城市:鄭州市展會(huì)時(shí)間:2025-05-09