ApolloStudio高手之路(4):用Python以最轻便的方式进行金橙子激光打标板卡二次开发(以EzCad2为载体二次开发)

激光打标是以高密度、高能量的激光束对各种材质媒介(塑料,布匹,金属,陶瓷等等)进行表面局部照射加工,使表层材料汽化或发生颜色变化的化学反应,从而留下永久性标记的一种清洁环保的表面加工方法。激光打标可以打出各种文字、符号和图案等,字符大小可以从毫米到微米量级,这对产品的防伪有特殊的意义。正是因为其普适性优良,使其在制造业对产品质量要求越来越严苛的今天发挥其越来越宽广的应用。

在ApolloStudio中硬件支持仓库中也对市面上使用范围最广、影响力最大的由北京金橙子科技股份有限公司所开发的激光打标机控制板卡进行了深度支持(以EzCad2为载体)。EzCad2是专为平面标刻、精细零部件切割所专门设计的版本。EzCad2基本操作我们在此篇不再赘述,本篇着重点在于对其进行二次开发,我们先在脚本工具集中来大致预览下ApolloStudio所提供哪些精细功能:

ApolloStudio所支持的功能完全来自官方授权最新版的SDK,集成度高达90%,适度删减了部分二次开发中冷门的用法。

开发准备

在开发之前我们需要了解下二次开发的流程原理,ApolloStudio通过SDK直接接管了激光打标板卡,因此无需再开启EzCad2软件(强行开启也会报错,反之亦然,同一时间只能由一款软件对板卡进行接管,ApolloStudio如果不点启动按钮进行初始化操作则不会对板卡进行接管,EzCad2开启会默认启用初始化操作),在ApolloStudio中对二次开发流程进行了大幅优化后可以简单分为3个步骤:

  1. 加载模板文件(必需项)
  2. 替换模板内容(该步骤可根据需求省略,不执行替换操作会默认调用模板内置编码规则进行标刻,替换操作会令内置规则失效)
  3. 执行标刻(必需项)

ApolloStudio内部本身不带SDK,故开发之前需将SDK完整的复制到ApolloStudio,本篇中以官方最新发布的支持二次开发的2.14.9开发版EzCad2为例(官网下载的版本不包含SDK,拥有SDK的版本需得到官方分发或网上获取,2.14.9版本软件内置了SDK,不同硬件可能需要不同版本的软件进行支持,本文以官方V4板卡配2.14.9软件为例),开发之前需将该版本EzCad2软件目录内所有文件(包括文件夹)完整复制到ApolloStudio程序根目录中,切记。

开始使用

编辑模板

EzCad2软件二次开发是通过标记对象的对象名来找到对应对象的,所以我们事先在需要替换对象内容之前对对象名称进行命名:

 我们这里在模板内放置一个文本数据,然后对其进行命名为“1”,保存模板,并命名模板文件名为1.ezd。(设置为二维码也可以,我们这里为了直观简洁直接使用文本数据,图片目前不支持替换,主要原因是不同尺寸格式来源的图片在EzCad2里面需要对图像的工艺参数进行定制才可达到令人满意的效果,尚不具备批量自动处理的能力(官方证实),有替代方案是可以通过创建多个模板,对不同图案进行个性定制后,通过模板文件名进行调用(模板内文本属性的内容还是可以替换的))

ApolloStudio配置

 在ApolloStudio V3之后的版本中,JCZ板卡已作为扩展插件接入,故无需配置UI端,直接使用脚本即可调用。

界面与脚本

在本案例中,我们想要实现可以通过界面按钮或者板卡输入引脚(板卡默认自带8进8出共16个自定义IO点)进行触发标刻,并且界面同步显示标刻的内容。

UI设计

  我们设置一个命名为pic1的图像框,然后配置一个按钮,值得注意的是需要设置按钮的“控件自定义事件”,如上图所示:点选按钮后,点击控件自定义事件,在弹框中选择“绑定按钮标志位”,这里我们设置数值序号为0,然后添加事件,确定保存事件即可,保存该UI布局文件。

脚本设计

#-*- coding: UTF-8 -*-
#加载内嵌模块
import clr,sys,time,lmjcz
 
#创建金橙子连接对象
myjcz = lmjcz.AS_LM_JCZ_Obj(AS)
#板卡初始化连接
if not myjcz.Init():
	AS.Func_SysInfoAdd("板卡初始化连接失败,请确认配置后再试!")
	sys.exit(0)
AS.Func_SysInfoAdd("板卡初始化链接成功...")
 
#执行循环扫描
while True:
	#根据按钮0的触发标志位或者板卡硬件输入0的触发来激活操作流程
	if AS.Func_UI_Button_GetValue(0) or myjcz.GetInPort(0):
		AS.Func_SysInfoAdd("开始加载模板...")
		myjcz.LoadFile("D:\\Download\\金橙子激光打标卡(EzCAD2)\\01.ezd")#加载EzCad2模板文件
		myjcz.ChangeContent("1", "hello myworld!")#替换对象内容
		AS.Func_UI_PictureBox_SetImage("pic1", myjcz.GetPreviewImg(640, 480))#界面显示预览图像
		AS.Func_SysInfoAdd("打刻过程开始...")
		if myjcz.Mark(False):#开始标刻,带True表示飞行标刻模式
			AS.Func_SysInfoAdd("打刻结束!")
		else:
			AS.Func_SysInfoAdd("打刻异常!")
		AS.Func_UI_Button_SetValue(0, False)#复位按钮触发标志位
	time.sleep(0.5)#系统扫描周期,减少CPU占用率

脚本中我们通过设置一个循环扫描,周期性的检测按钮和IO输入点被触发的信号来执行操作。

结果验证 

ApolloStudio在启动时会尝试连接板卡,这里需要等待10秒左右(笔者也不清楚官方为何设计这么久),之后点击打标,即可看到图像显示,并且已驱动激光机对预览图像进行加工操作(由于设置了循环扫描,故该操作过程是可以重复触发的)。

***********************************************************************************************************************************************

ApolloStudio最新版下载地址(网盘有交流群号):

(点击跳转至首页文章,见文章最底部下载链接)

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
橙子ezcad2软件是一款用于激光设备标刻的软件。作为一款开发工具,橙子ezcad2具有丰富的功能和灵活的操作方式,但有时候用户希望可以对该软件进行二次开发,以满足个性化需求。 要进行二次开发,可以借助csdn(中国最大的IT技术社区)这个平台上的相关资源和社区讨论。csdn上有很多关于橙子ezcad2软件的开发文档和教程,用户可以在这里学习如何进行二次开发。 首先,用户需要了解ezcad2软件的基本架构和相关接口,可以查看开发文档来获取这方面的信息。然后,用户可以利用csdn上的资源,比如博客、论坛等来提问并交流。在这里,用户可以向其他开发者请教相关问题,分享经验和技巧,还可以参与讨论,获取别人的建议。 对于橙子ezcad2软件二次开发而言,重要的技术包括C++、C#、Python等编程语言,以及相关的激光设备控制和标刻算法等领域知识。在csdn上,用户可以寻找相关的教程和代码示例,来学习和应用这些技术。 除了获取资源和知识外,csdn还有很多开发者分享的实践经验和案例分析。用户可以通过阅读这些文章,了解其他人是如何进行橙子ezcad2软件的二次开发的,从而积累经验和优化自己的开发流程。 综上所述,橙子ezcad2软件的二次开发可以通过借助csdn平台上的相关资源和社区讨论来进行。在这里,用户可以学习相关知识和技术,获取开发文档和代码示例,并与其他开发者交流和分享经验。通过这种方式,用户可以更好地满足个性化需求,实现自己的开发目标。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值