您现在的位置: 万喜堂彩票>技术中心>万喜堂彩票app下载中心

直播推荐

更多>

企业动态

更多>

推荐展会

更多>

万喜堂彩票app下载中心

2023年10月20日 11:49:22人气:240来源:深圳市正运动技术有限公司

今天,正运动小助手给大家分享一下 全国产EtherCAT运动控制边缘控制器ZMC432H如何使用Python+QT实现单轴回零运动控制开发。



 01

功能简介

全国产EtherCAT运动控制边缘控制器ZMC432H是正运动的一款软硬件全国产自主可控,运动控制接口兼容EtherCAT总线和脉冲型的独立式运动控制器,最多支持32轴运动控制,同时支持正运动远程HMI功能,能提供网络组态显示,可实时监控和调整参数配置。

企业微信顺盈平台注册开户_20230927092509.png

ZMC432H具备丰富的硬件接口和控制功能模块,能实现高效稳定的运动控制和实时数据采集,以满足工业控制协同工业互联网的应用需求。

ZMC432H内置了Linux系统,可以使用本地的LOCAL接口进行连接,可以做到更快速的指令交互,单条指令与多条指令一次性交互时间为40us左右。

企业微信顺盈平台注册开户_20230927092548.png



 02

Python+QT进行运动控制开发

一.配置好python +Qt 开发环境,以及安装好所需工具
1、下载python解释器。
2、安装pyside2或者pyside6根据python解释器的版本来选择,高版本的解释器使用pyside6。
安装pyside2有以下两种方式:
方式一: 使用win+r打开运行界面,然后输入cmd(在安装python解释器的时候要根据安装向导配置好环境变量,否则后面的指令不会执行成功),pip install pyside2 -i
方式二: 在pycharm中安装
3、在如下界面点击+号,安装所需的工具,如pyside2。

企业微信顺盈平台注册开户_20231019143914.png

4、在Pycharm中配置自定义工具(用于qt的界面编辑)。
(1)按照如图步骤打开Tool的编辑框。

企业微信顺盈平台注册开户_20231019143924.png

(2)自定义Pyside2-uic:
a.Program填写: Python安装目录 \Scripts\pyside2-uic.exe;
b.Arguments填写: $FileName$ -o $FileNameWithoutExtension$.py;
c.Working directory填写: $FileDir$。

企业微信顺盈平台注册开户_20231019143934.png

(3)自定义QtDesigner:
a.Program填写: Python安装目录 \Scripts\pyside2-designer.exe;
b.Working directory填写: $ProjectFileDir$。

企业微信顺盈平台注册开户_20231019143946.png

将自定义工具配置好之后就可以直接在PyCharm的菜单中直接使用了。
1、点击Tools → Qt → Qtdesigner即可进入UI的设计界面。

企业微信顺盈平台注册开户_20231019143958.png

2、右键ui文件,点击Qt → Pyside2-uic即可生成ui文件的py文件。

企业微信顺盈平台注册开户_20231019144011.png

万喜堂app下载官方入口

1、新建一个目录,并在目录中添加Python文件。

企业微信顺盈平台注册开户_20231019144022.png

2、找到 找到厂家提供的光盘资料,路径如下。
A.进入厂商提供的光盘资料找到“04.PC函数”文件夹,并点击进入。

企业微信顺盈平台注册开户_20231019144034.png

B.选择“PC函数库V2.1.1”文件夹。

企业微信顺盈平台注册开户_20231019144049.png

C.选择“Windows平台”文件夹。

企业微信顺盈平台注册开户_20231019144059.png

D.选择“库文件与例程”文件夹。

企业微信顺盈平台注册开户_20231019144115.png

E.选择“PYTHON例程”文件夹。

企业微信顺盈平台注册开户_20231019144127.png

F.解压对应位数的压缩包。

企业微信顺盈平台注册开户_20231019144140.png

G.解压后如下图所示。

企业微信顺盈平台注册开户_20231019144152.png

企业微信顺盈平台注册开户_20231019144202.png

三.查看PC函数手册,熟悉相关函数接口。

1、PC函数手册也在光盘资料里面,具体路径如下:“光盘资料\04.PC函数\ZMotionPC函数库编程手册及其例程源码\ZMotionPC函数库编程手册V2.1.1.pdf”。

企业微信顺盈平台注册开户_20231019144214.png

2、链接控制器,获取链接句柄。

(1)ZAux_OpenEth()接口说明:
企业微信顺盈平台注册开户_20231019144225.png

(2)配置IO信号点对应函数接口说明:
企业微信顺盈平台注册开户_20231019144235.png

对接口的详细说明可查看PC函数手册。
(3)以下为回零运动调用接口,以及对回零模式的详细说明:
加10表示碰到限位后反找, 不会碰到限位停止,例如13=模式3+限位反找10,用于原点在正中间的情况。
企业微信顺盈平台注册开户_20231019144252.png

万喜堂app下载

1、例程界面如下。

企业微信顺盈平台注册开户_20231019144302.png

2、程序示例如下。

(1)Python中加载qt的UI文件;

企业微信顺盈平台注册开户_20231020114205.png

注:此时 self.ui表示了qt中的ui。

(2) 链接按钮的事件处理函数中调用链接控制器的接口函数ZAux_OpenEth(),与控制器进行链接,链接成功后启动定时器1监控控制器状态。

企业微信顺盈平台注册开户_20231020114126.png

(3) 通过定时器监控控制器状态。


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])  # 获取当前轴位置

self.Zmc.get_idle(i, idlelist[i])  # 判断当前轴状态

str1 = " {}  {} ".format("停止中" if idlelist[0].value else "运行中", round(fdposlist[0].value, 2))

self.ui.lineEdit_X.setText(str1)

str1 = " {}  {} ".format("停止中" if idlelist[1].value else "运行中", round(fdposlist[1].value, 2))

self.ui.lineEdit_Y.setText(str1)

str1 = " {}  {} ".format("停止中" if idlelist[2].value else "运行中", round(fdposlist[2].value, 2))

self.ui.lineEdit_Z.setText(str1)

str1 = " {}  {} ".format("停止中" if idlelist[3].value else "运行中", round(fdposlist[3].value, 2))

self.ui.lineEdit_R.setText(str1)


(4) 使用回零按钮的事件处理函数对回零运动前的参数进行初始化以及调用对应的回零模式操作回零运动。


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, "提示", "运动未停止")

return

# 设定轴类型 7 - 脉冲轴类型 + 编码器Z信号 不用EZ回零也可以设置为1

self.Zmc.set_axis_type(self.axis_Num,7 if self.mode <3 else 1)

# 设定脉冲模式及逻辑方向(脉冲 + 方向)

self.Zmc.set_invert_step(self.axis_Num,0)

# 设置当量

str_tmp = self.ui.edit_Units.text()

float_tmp = float(str_tmp)

self.Zmc.set_units(self.axis_Num,float_tmp)

# 设置爬行速度

str_tmp = self.ui.edit_CLSpeed.text()

float_tmp = float(str_tmp)

self.Zmc.set_creep(self.axis_Num,float_tmp)

# 设置速度

str_tmp = self.ui.edit_Speed.text()

float_tmp = float(str_tmp)

self.Zmc.set_speed(self.axis_Num,float_tmp)

# 设置加速度

str_tmp = self.ui.edit_Accel.text()

float_tmp = float(str_tmp)

self.Zmc.set_acceleration(self.axis_Num,float_tmp)

# 设置减速度

str_tmp = self.ui.edit_Decel.text()

float_tmp = float(str_tmp)

self.Zmc.set_deceleration(self.axis_Num,float_tmp)

# 设置原点开关

str_tmp = self.ui.edit_zeroIO.text()

float_tmp = int(str_tmp)

self.Zmc.set_datum_in(self.axis_Num,float_tmp)

# 反转 ZMC系列认为OFF时碰到了原点信号(常闭) ,如果是常开传感器则需要反转输入口,ECI系列的不需要反转

if float_tmp != -1:

self.Zmc.set_invert_in(float_tmp,1)

# 设置正限位输入信号开关

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)

# 设置负限位输入信号开关

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)


(5) 通过停止运动按钮的事件处理函数来停止当前的运动。

企业微信顺盈平台注册开户_20231020114604.png


(6) 通过坐标清零按钮的事件处理函数来对当前轴的坐标进行对应清零。

企业微信顺盈平台注册开户_20231020114614.png



03

调试与监控

编译运行例程,同时通过RtSys软件连接控制器对控制器状态进行监控。

企业微信顺盈平台注册开户_20231019144315.png

企业微信顺盈平台注册开户_20231019144329.png

企业微信顺盈平台注册开户_20231019144344.png

本次,正运动技术全国产EtherCAT运动控制边缘控制器(五):IO配置与回零运动的Python+QT开发,就分享到这里。

更多精彩内容请关注“ 正运动小助手 ”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师。

本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。



全年征稿/资讯合作 联系邮箱:1271141964@qq.com

万喜堂app下载网页版

  • 凡本网注明"来源:万喜堂彩票"的所有作品,版权均属于万喜堂彩票,转载请必须注明万喜堂彩票,http://tsyxdc.sbs。违反者本网将追究相关法律责任。
  • 企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

<
更多 >

工控网 机器人 仪器仪表 物联网 3D打印 工业软件 金属加工机械 包装机械 印刷机械 农业机械 食品加工设备 制药设备 仓储物流 环保设备 造纸机械 工程机械 纺织机械 化工设备 电子加工设备 水泥设备 海洋水利装备 矿冶设备 新能源设备 服装机械 印染机械 制鞋机械 玻璃机械 陶瓷设备 橡塑设备 船舶设备 电子元器件 电气设备


我要投稿
  • 投稿请发送邮件至:(邮件标题请备注“投稿”)1271141964.qq.com
  • 联系电话0571-89719789
工业4.0时代智能制造领域“互联网+”服务平台
万喜堂彩票APP

功能丰富 实时交流

万喜堂彩票小程序

订阅获取更多服务

微信公众号

关注我们

抖音

万喜堂彩票

抖音号:gkzhan

打开抖音 搜索页扫一扫

视频号

万喜堂彩票

公众号:万喜堂彩票

打开微信扫码关注视频号

快手

万喜堂彩票

快手ID:gkzhan2006

打开快手 扫一扫关注
意见反馈
关闭
企业未开通此功能
详询客服 : 0571-87858618