直线插补之绘制图像工作流
1概述
S7-200 SMART V2.7版本新增加了轴组功能,三轴的运动坐标系支持笛卡尔运动控制模型(ST20仅支持两轴插补),在软件中拖拽向导生成的子例程即可使用,通过直接给定坐标点和速度参数的方式的实现插补功能。
同时S7-200 SMART V2.7版本还增加了路径规划功能,这个功能将大大方便使用者,针对需要连续执行固定路径的场合,将需要连续执行的位置以表格的形式在向导中组态,只调用一个子例程即可完成复杂路径执行。
在实际情况中,很多时候工作的难点变成了如何获取想要绘制图案的坐标点位,
对S7-200 SMART PLC的软件部分操作其他文档已有详尽的说明,本文档将重点介绍绘制图形的工作流,以绘制“SIEMENS”LOGO的图案为例,逐步介绍如何使用各软件工具,Zui终获取可供CPU执行的坐标点位来完成绘制项目。
文档中涉及到除STEP7 MicroWIN SMART外多个软件的使用,本文档将只介绍与整个流程相关的操作,其他的部分如软件如何获取安装、软件对系统的兼容性要求、其他功能的专业操作等均不在该文档讨论之列。同时本文中介绍的方法只是绘制图案工作流程的其中一种,用户只需参照对应的流程即可。
2要求及其他工具
2.1 PLC软硬件要求
软件要求:
.STEP 7-MicroWIN SMART软件版本:V2.7及以上
硬件要求:
·标准型S7-200 SMART CPU固件版本:V2.7及以上
2.2其他工具
Adobe llustrator 2020(矢量绘图软件)AutoCAD 2023(计算机辅助设计软件)ABViewer14 (dxf to G-Code)
visual Studio Code (跨平台源代码编辑器)Python-3.9.13-amd64 (python运行环境安装包)
注:这里的工具软件仅作为参考不指定,其他相关的软件也可以实现功能,客户可根据自己擅长的工具酌情使用
3:工作流概览
生成路径坐标信息的整个工作流程如图所示,熟悉Siemens Kinematics运动控制库的工程师对这个流程一定不陌生。S7-200 SMART从运动控制支持方面也沿用了更高阶控制器的做法,操作流的一致性也使得控制器间的使用经验得以复用。该流程的本质涉及到三个重要的转换:·从位图图片(.PNG)到矢量图图片(.DXF〉转换·矢量图到G-Code的转换·G-Code到DB块(XYZ坐标)的转换
3.1 Vector Graphics
第一步转换,核心的难点在于图形矢量化。所谓矢量图,就是使用直线和曲线来描述的图形,构成这些图形的元素是一些点、线、矩形、多边形、圆和弧线等,它们都是通过数学公式计算获得的,具有编辑后不失真的特点。
如果以图片格式来说明的话,第一步的转换就是将如.bmp、 .jpg、.png等常见的格式图片转为.dwg、.dxf、.ai等格式的矢量图形。这一步也是在所有流程中Zui重要的一步。当然,我们也可以直接使用如AutoCAD等矢量绘图工具直接绘制相关的图形文件,那么转换的步骤自然可以省略。
3.2 G-Code
第二步转换,也就是矢量图到G-Code的转换,相对来说是从技术层面Zui容易实现的。这种应用场景在数控机床的加工中有大量成熟的应用案例,在线搜索“dxf to GCode”就可以找到一些免费的生成工具来实现这部分的转换。本文档中使用ABViewer这个工具进行操作说明。
3.3 PathData
第三步转换,也就是从G-Code到PLC可执行的坐标数据之间的转换,因为每个厂家的不同定位的CPU可以执行的数据块都不尽相同,Kinematics运动控制库中提供的小工具生成的DB块也不能在用SMART PLC的软件平台,所以目前并没有通用的工具用来执行该转换。针对这种情况,西门子开发了基于Python语言的例子程序,将G-Code转换成SMART PLC可用的数据块以供参考使用。
4:获取矢量图文件
在实际操作的过程中,如果以获得图案坐标点位为Zui终目的,获取CAD格式文件无疑是Zui重要的一步,因为这涉及从位图图片到矢量图图片转换的技术难点。本文中介绍的转换操作方法基于Adobe illustrator软件。实际上,至今也没有任何一款软件可以完美的把复杂的位图照片转成矢量图,假如位图与矢量图可以完美转换,由于矢量图缩放不失真文件体积小且携带大量信息的特性,我们平常使用的图片将很快都切换成矢量图形式。所以本文档介绍的流程部分目前只针对简单图形转换的应用场景,同时仍需要转换之后的编辑与加工才能保证效果,想要完全靠软件━键转换是不现实的。
4.1 Adobe lllustrator简述
Adobe illustrator,简称AI,是一种应用于出版、多媒体和在线图像的工业标准矢量插画的软件。它是一款专业图形设计工具,提供丰富的像素描绘功能以及顺畅灵活的矢量图编辑功能,在本文档中将使用这款软件完成照片矢量化流程。
需要说明的是,由于Adobe illustrator高阶版本对电脑的配置比较高,同时各版本的软件同样具备相同的图片矢量化的功能,所以文档本次以Adobe illustrator 2020版本为例,为大家介绍整个软件与矢量化相关的操作。
4.2操作步骤
首先打开Adobe illustrator软件,在软件的顶部的工具栏点击“文件”-“打开”,在弹出的对话框中选择存放图片的文件夹并选择对应的图片打开。在打开图片后图片的比例和位置可能不合适,手动将图片调整至编辑版面中心即可,同时画布的显示的大小可以通过软件左下角的组件进行适当的放大或缩小。
在软件的顶部的工具栏点击“窗口”-勾选“控制”选项卡,此时在工具栏下方将会再出现一排快捷键的栏位。选中图片后在快捷栏位的“图像描摹”下拉箭头的选项栏中,选择“低保真度照片”。选择完成后系统会处理图像,然后在快捷箭头的右侧会出现一个“扩展”的按钮,点击该按钮即可为图片添加边缘路径(这里为了便于对比路径的描边线宽增大了,后续操作需要还原)。
在软件的顶部的工具栏点击“视图”―选择“轮廓”模式,此时整个画布将只显示边缘轮廓。
由于画面中各自连续闭合的曲线都相当于是一个整体不便于修改,选择全部轮廓信息后,单击鼠标右键选择“取消编组”,设定完成后就可以对每个单独字符进行点位信息的处理了。
由于后续转换的G-Code的复杂度与原始文件的锚点数量有关,受制于SMARTPLC路径规划功能Zui多128条线段的限制,前期处理尽量选择更少的点位信息来生成矢量图文件,所以在当前步骤中应尽量在保证图形信息完整的情况下,删除多余的锚点位,如一条直线中的多个锚点位〈此步骤也可以在AutoCAD中完成),利用软件编辑区左侧的工具栏中的添加或删除锚点工具即可完成相关操作。
调整好锚点数量后即可将文件导出,在软件的顶部的工具栏点击“文件”--“导出”一“导出为”来选择将文件导出的格式。
在弹出的对话框中可以选择导出文件存放的目标文件夹以及导出格式,Adobe illustrator软件提供了多种格式供客户选择,这里推荐导出.DXF格式的AutoCAD交换文件,方便后续的编辑使用。
将文件导出后,使用AutoCAD软件仍需要编辑,具体编辑部分不赘述,Zui终获得的矢量图文件效果如下图所示,至此,基于图片矢量化的第一部分转换全部完成。
5:获取G-Code
当我们获得了.DXF格式的矢量图文件,获得G-Code就方便了很多,在线搜索“dxf to GCode”就可以找到一些免费的生成工具。本文档中使用ABViewer这个工具进行操作说明。
5.1ABViewer简述
ABViewer是一款高品质、低成本、高效率的多功能设计及工程文档管理和图像浏览工具,程序具有批处理功能,是专业的2D/3DCAD查看器、编辑器和转换器。软件同时支持30多种光栅和矢量图形格式,并可以jingque的调整图像或转换其它文件格式。本文档主要使用到了该软件CAD to G-Code的功能。
5.2操作步骤
首先打开ABViewer软件,在软件上方的工具栏“File”--“open”,在弹出的对话框中选择目标路径下的目标文件打开。
打开文件以后,在软件上方的工具栏“Output”--“CAD to G-Code”鼠标单击后进入转换界面。
转换G-Code之前,在软件中可以设置一些与转换相关的参数,鼠标单击软件上方工具栏“G-Code setting”可在弹出的对话框中设定转换参数,因为后续的转换我们的Python代码只支持GO0和GO1等简单的G-Code,如果不更改设定而是以默认参数生成的话,转化的G-Code可能包含复杂的数控刀具指令,不利于后续的再次转化的处理。
G-Code setting部分需要设定的部分主要有两处:
.“General”选项卡下,“Machine type”选择“cutting”;
.“Laser (cutting) machine”选项卡下,ON/OFF command文本框中的内容全部删除。
在“Workpiece zero point”选项卡下,可以设定G-Code的加工原点和原点偏移,在此例程中,加工原点选择整体图案的左下角在分别沿XY轴负方向偏移10个单位的位置,设定完成后可在编辑界面看到原点坐标的位置。
参数全部设定完成后,直接点击软件左上角的“Convert”按钮,即可生成G-Code。软件提供了直接保存G-Code的方式,但是保存的是格式为.nc的G-Code文件。为了下一步的程序转换需要,这里我们将弹出的窗口中的G-Code从“ContourO”开始全部复制,在粘贴到一个新建的文本文件中,将文件命名为“SiemensContour”。至此,基于获取G-Code的第二部分转换全部完成。
- 西门子安全IO F-IO作为共享设备的使用 2024-11-21
- 如何在西门子博途软件里面调试变频器或伺服电机 2024-11-21
- S7-1200 作为 IO 控制器进行分布式 IO 设备的通信诊断功能 2024-11-21
- S7-200 SMART 通过PROFINET 连接V90实现速度控制的两种方法和基本定位控制(三) 2024-11-21
- S7-200 SMART 通过PROFINET 连接V90实现速度控制的两种方法和基本定位控制(二) 2024-11-21
- S7-200 SMART 通过PROFINET 连接V90实现速度控制的两种方法和基本定位控制(一) 2024-11-21
- S7-1500T 同步功能介绍 2024-11-21
- 西门子触摸屏程序下载步骤,十分详细,一看就会(二) 2024-11-21
- 西门子触摸屏程序下载步骤,十分详细,一看就会(一) 2024-11-21
- CPU1513与西克RFID的PROFINET通讯以及使用方法 2024-11-21
- 变频器集成安全 STO SS1 SS2 SLS 是什么含义? 2024-11-21
- 使用S7-1200和1500 轻松连接物联网MQTT 消息服务器 2024-11-21
- 西门子S7-200SMART间接寻址应用—模拟量滤波程序 2024-11-21
- 西门子S7-200SMART编码器转速测量程序 2024-11-21
- S7-200 SMART 案例应用之中位值平均滤波算法程序分享 2024-11-21