[西门子] S7-200 SMART 直线插补之绘制图像工作流

[复制链接]
查看98740 | 回复0 | 2023-12-30 19:54:15 | 显示全部楼层 |阅读模式
NO.1
直线插补之绘制图像工作流


1概述

S7-200 SMART V2.7版本新增加了轴组功能,三轴的运动坐标系支持笛卡尔运动控制模型(ST20仅支持两轴插补),在软件中拖拽向导生成的子例程即可使用,通过直接给定坐标点和速度参数的方式的实现插补功能。

同时S7-200 SMART V2.7版本还增加了路径规划功能,这个功能将大大方便使用者,针对需要连续执行固定路径的场合,将需要连续执行的位置以表格的形式在向导中组态,只调用一个子例程即可完成复杂路径执行。

在实际情况中,很多时候工作的难点变成了如何获取想要绘制图案的坐标点位,

对S7-200 SMART PLC的软件部分操作其他文档已有详尽的说明,本文档将重点介绍绘制图形的工作流,以绘制“SIEMENS”LOGO的图案为例,逐步介绍如何使用各软件工具,最终获取可供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等格式的矢量图形。这一步也是在所有流程中最重要的一步。当然,我们也可以直接使用如AutoCAD等矢量绘图工具直接绘制相关的图形文件,那么转换的步骤自然可以省略。

3.2 G-Code

第二步转换,也就是矢量图到G-Code的转换,相对来说是从技术层面最容易实现的。这种应用场景在数控机床的加工中有大量成熟的应用案例,在线搜索“dxf to GCode”就可以找到一些免费的生成工具来实现这部分的转换。本文档中使用ABViewer这个工具进行操作说明。

3.3 PathData

第三步转换,也就是从G-Code到PLC可执行的坐标数据之间的转换,因为每个厂家的不同定位的CPU可以执行的数据块都不尽相同,Kinematics运动控制库中提供的小工具生成的DB块也不能在用SMART PLC的软件平台,所以目前并没有通用的工具用来执行该转换。针对这种情况,西门子开发了基于Python语言的例子程序,将G-Code转换成SMART PLC可用的数据块以供参考使用。

4:获取矢量图文件

在实际操作的过程中,如果以获得图案坐标点位为最终目的,获取CAD格式文件无疑是最重要的一步,因为这涉及从位图图片到矢量图图片转换的技术难点。本文中介绍的转换操作方法基于Adobe illustrator软件。实际上,至今也没有任何一款软件可以完美的把复杂的位图照片转成矢量图,假如位图与矢量图可以完美转换,由于矢量图缩放不失真文件体积小且携带大量信息的特性,我们平常使用的图片将很快都切换成矢量图形式。所以本文档介绍的流程部分目前只针对简单图形转换的应用场景,同时仍需要转换之后的编辑与加工才能保证效果,想要完全靠软件━键转换是不现实的。



4.1 Adobe lllustrator简述



Adobe illustrator,简称AI,是一种应用于出版、多媒体和在线图像的工业标准矢量插画的软件。它是一款专业图形设计工具,提供丰富的像素描绘功能以及顺畅灵活的矢量图编辑功能,在本文档中将使用这款软件完成照片矢量化流程。

需要说明的是,由于Adobe illustrator高阶版本对电脑的配置比较高,同时各版本的软件同样具备相同的图片矢量化的功能,所以文档本次以Adobe illustrator 2020版本为例,为大家介绍整个软件与矢量化相关的操作。

4.2操作步骤

首先打开Adobe illustrator软件,在软件的顶部的工具栏点击“文件”-“打开”,在弹出的对话框中选择存放图片的文件夹并选择对应的图片打开。在打开图片后图片的比例和位置可能不合适,手动将图片调整至编辑版面中心即可,同时画布的显示的大小可以通过软件左下角的组件进行适当的放大或缩小。



在软件的顶部的工具栏点击“窗口”-勾选“控制”选项卡,此时在工具栏下方将会再出现一排快捷键的栏位。选中图片后在快捷栏位的“图像描摹”下拉箭头的选项栏中,选择“低保真度照片”。选择完成后系统会处理图像,然后在快捷箭头的右侧会出现一个“扩展”的按钮,点击该按钮即可为图片添加边缘路径(这里为了便于对比路径的描边线宽增大了,后续操作需要还原)。





在软件的顶部的工具栏点击“视图”―选择“轮廓”模式,此时整个画布将只显示边缘轮廓。





由于画面中各自连续闭合的曲线都相当于是一个整体不便于修改,选择全部轮廓信息后,单击鼠标右键选择“取消编组”,设定完成后就可以对每个单独字符进行点位信息的处理了。



由于后续转换的G-Code的复杂度与原始文件的锚点数量有关,受制于SMARTPLC路径规划功能最多128条线段的限制,前期处理尽量选择更少的点位信息来生成矢量图文件,所以在当前步骤中应尽量在保证图形信息完整的情况下,删除多余的锚点位,如一条直线中的多个锚点位〈此步骤也可以在AutoCAD中完成),利用软件编辑区左侧的工具栏中的添加或删除锚点工具即可完成相关操作。



调整好锚点数量后即可将文件导出,在软件的顶部的工具栏点击“文件”--“导出”一“导出为”来选择将文件导出的格式。



在弹出的对话框中可以选择导出文件存放的目标文件夹以及导出格式,Adobe illustrator软件提供了多种格式供客户选择,这里推荐导出.DXF格式的AutoCAD交换文件,方便后续的编辑使用。



将文件导出后,使用AutoCAD软件仍需要编辑,具体编辑部分不赘述,最终获得的矢量图文件效果如下图所示,至此,基于图片矢量化的第一部分转换全部完成。



5:获取G-Code

当我们获得了.DXF格式的矢量图文件,获得G-Code就方便了很多,在线搜索“dxf to GCode”就可以找到一些免费的生成工具。本文档中使用ABViewer这个工具进行操作说明。

5.1ABViewer简述



ABViewer是一款高品质、低成本、高效率的多功能设计及工程文档管理和图像浏览工具,程序具有批处理功能,是专业的2D/3DCAD查看器、编辑器和转换器。软件同时支持30多种光栅和矢量图形格式,并可以精确的调整图像或转换其它文件格式。本文档主要使用到了该软件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的第二部分转换全部完成。





6:获取路径坐标点

当获得G-Code文档后,便可以开始第三步的转换,也就是从G-Code到PLC可执行的坐标数据之间的转换。针对目前SMART PLC支持的数据块的情况,西门子开发了基于Python编程语言的程序,将G-Code转换成SMART PLC可用的数据块以供参考使用。但是在Windows系统中想要运行Python语言编写的程序需要满足安装环境才可以,本章节先简单说明Python运行环境搭建的相关步骤,再介绍运行程序来获取坐标点的操作。

6.1 Python安装环境

Python并不是一门新的编程语言,1991年就发行了第一个版本,2010年以后随着大数据和人工智能的兴起,Python又重新焕发出了耀眼的光芒。在2019年12月份世界编程语言排行榜中,Python排名第三,仅次于Java和C语言。Python是一门开源免费的脚本编程语言,它不仅简单易用,而且功能强大。它的运行环境安装包可以免费在官网获得,Python安装包下载地址: https://www.python.org/downloads/打开该链接,可以看到有各个版本的Python,如下图所示



这里不推荐使用最新版本,较新的版本可能对电脑的配置兼容性要求都比较高,以安装Python3.9.13的版本为例,点击上图中的版本号或者“Download”按钮进入对应版本的下载页面,滚动到最后即可看到各个平台的Python安装包,选择对应系统的安装包即可。



下载完成后点击安装包,进入安装进程



请尽量勾选“add Python3.9 to PATH”这样可以将Python命令工具所在目录添加到系统Path环境变量中,以后开发程序或者运行Python命令会非常方便。安装过程不赘述,用户可根据自己需要的功能和安装路径设定完成安装。更多详细信息可参照该教程: http;/c.biancheng.net/view/4161.html安装完成以后,打开Windows的命令行程序(命令提示符),在窗口中输入命令python --version,如果出现Python的版本信息,就说明安装成功了,如下图所示。



安装成功后,便可以进行下一步的运行Python代码生成坐标点的文档了。

6.2 Python代码运行

与本文档搭配使用的Python例子程序需要在源代码编辑器中运行,文档中以Visual Studio Code为例来演示操作步骤。

6.2.1 Visual Studio Code简述



Visual Studio Code(简称“VS Code”)是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于Mac OSX、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器,可在桌面上运行,并且可用于Windows,macOS和Linux。它具有对JavaScript,TypeScript和Node.js的内置支持,并具有丰富的其他语言(例如C++,C#,Java,Python,PHP,Go)和运行时(例如.NET和Unity)扩展的生态系统,是各种源代码开发人员手中的利器。

6.2.2程序执行

运行程序之前,将与文档配套的程序和在第五章生成的.txt格式的G-Code文件同时放入一个文件夹中,打开VSCode软件,选择“Open Folder”,在弹出的窗口中找到对应路径,选择已放置好所有文档的文件夹。



选择信任所选中的文件夹后,即可进入到程序的编辑显示界面,该例子程序主要的功能就是将G-Code文件转换成.txt格式的SMART PLCV寄存器区坐标数据文件。程序的具体逻辑不赘述,需要说明的是下图中红色方框圈住的区域,第一个方框声明的是源G-COde文件和输出坐标文件的名称,第二个方框声明的是V区写入数据的起始地址和Z轴运动时抬笔和落笔的坐标数据。客户可根据自己实际的应用情况酌情修改。



确认程序无误不需其他修改后,鼠标单击软件的右上角小三角箭头按钮,即可运行程序。



程序运行结束后,软件下方的编译执行信息无报错,可以看到程序项目树区域新增加了一个名为“motion_coordinates.txt”的文件,也就是程序中提前声明好的输出文件,该文件的生成路径,即是整个项目文件夹的路径。至此,基于Python程序的第三部分转换全部完成。

6.2.3执行结果

在项目文件夹下打开生成的文件,可看到最终可供PLC程序执行的坐标点位信息(如下图所示-部分点位)。因为在Python程序中V区的起始地址值设置为1000,所以第一个点位的信息也是从VB1000开始记录。



将所有的点位信息复制到Excel表格中,使用插入散点图的方式即可验证点位信息的正确与否。同时在Excel表格中可以直接将数据复制到SMART编程软件运动控制向导的表格中,通过MovePath指令来执行程序,这部分操作其他文档有更加详细的说明,故在此不赘述。



7简单的坐标获取方法

前面的章节中我们已经介绍了通过三步转换法这种相对复杂的获取坐标点的过程,实际上当我们获得了想要加工项目的CAD文件后,如果图像的线段数量较少且方便记录的话,我们可以利用AutoCAD软件本身的软件特性轻易的获得各个目标点位。

7.1AutoCAD简述



AutoCAD (Autodesk Computer Aided Design)是Autodesk(欧特克)公司首次于1982年开发的自动计算机辅助设计软件,用于二维绘图、详细绘制、设计文档和基本三维设计,现已经成为国际上广为流行的绘图工具。AutoCAD具有良好的用户界面,通过交互菜单或命令行方式便可以进行各种操作。它的多文档设计环境,让非计算机专业人员也能很快地学会使用。在不断实践的过程中更好地掌握它的各种应用和开发技巧,从而不断提高工作效率。AutoCAD具有广泛的适应性,它可以在各种操作系统支持的微型计算机和工作站上运行。

AutoCAD有多个版本,本文以AutoCAD 2023版本为例,为大家介绍简易的坐标获取方法。

7.2操作步骤

仍然以绘制“SIEMENS”LOGO图案为例,当我们获得矢量图格式的文件时,使用AutoCAD打开文档进入编辑区后,点击软件右下方的配置按钮,勾选坐标选项卡。



这样操作之后,当我们的鼠标在CAD软件的编辑区任意的移动时,软件底部的信息栏位中就会针对当前的光标点给出实时的坐标反馈,如果精度要求不高的场合,可以将鼠标指针分别放大移动到对应线段点位的端点处来分别记录坐标点位,但这里并不建议这样操作,有更加简单有效的方法来获取坐标数据。



如果坐标的点位和想要的差距过大甚至坐标方向有误,很有可能是基准的原点位置没有设置正确,可以通过在软件中输入快捷指令“UCS”,将十字光标拖放到正确的位置后单击空格键就可以重置基准原点。





在重新定位确定好原点后,使用光标选择任意一条线段后单击鼠标右键,选择特性。



选择成功后在软件的左侧便会显示选中线段的起点和终点的坐标,将每条线段的点位信息分别记录下来,通过这种方式,也可以实现最终的图形绘制。



8:执行结果



版权声明:本文来源于网络,如果有侵权,请转告小编或者留言,本公众号立即删除。


TIA_Portal_v18虚拟机分享
西门子TIA博途软件入门到精通教程免费分享
西门子S7-1500博途PLC(基础+高级)视频教程分享西门子TIA博途-SCL高级编程多套视频资料免费分享-限时删除西门子TIA博途高级语言SCL视频资料分享
三菱FX3U系列plc精讲视频分享(40讲+240讲) 49GB
西门子smart200视频教程分享两套西门子WinCC视频教程分享(9.5G)PLC、触摸屏工控小游戏样例合集分享EPLAN电气设计制图视频教程分享-限时删除都有哪些好用电工仿真软件?学习电路图变得如此简67本自动化书籍免费领取啦!!!最新西门子授权工具EKB2022版分享立体仓库穿梭车程序分享
威纶触摸屏视频教程(66讲)分享
博途TIA V16-V17全套软件与组件分享
标准化编程之-博途TIA程序设计编程规范
西门子SCL编程练习:排水泵根据运行时间先起先停控制
如何使用C#编写程序读写西门子PLC?
VASS标准—PLC安全程序架构讲解
VASS05标准—KUKA机器人培训课件
大众VASS_05标准——PLC程序架构
KUKA机器人高级编程(下)第3-4章(计时器\运动编程)西门子博途SCL案例_仓储系统出料优先级控制程序实战练习西门子TIA博途SCL高级教程—伺服V90速度控制
西门子TIA博途SCL高级教程—伺服V90定位控制
西门子TIA博途SCL高级视频教程—模拟量在工程中的应用博途TIA Portal——SCL间接寻址PEEK和POKE指令的使用案例
西门子SCL高级语言教程—冒泡排序和选择排序西门子博途WINCC脚本VBS教程4_脚本操作画面内对象的属性如何使用C#编写程序读写西门子PLC?
C#上位机通过TCP/IP协议和KUKA机器人通讯
不外传的28条PLC编程规范及建议,赶紧收藏win10家庭版安装西门子博途软件时提示“管理员已阻止你运行此应用”解决方法西门子SCL编程-数据堆栈存储与操作在项目中的使用
博途实现程序动态加密—分级催款密钥授权管理系统程序实现分享几个PROFINET网络故障诊断与分析案例工控的面向对象编程SiCar自动化标准平台架构
特斯拉EPLAN 电气图纸和结构标准
SICAR标准-VALVE_1_TO_8_3POS_FB夹具控制功能块
西门子PLC信号分析软件Winplc Analyzer 使用方法
PROFINET设备的GSD文件及其描述语言GSDML
大众标准VASS06软件环境设置
ABB机器人编程与应用中级篇PLC编程算法—FIFO堆栈程序的实现大众VASS06 项目库标准程序结构.
C#利用S7netplus读写西门子PLC数据
吉利KUKA_KRC4系列机器人现场应用规范和技术要求
TESLA特斯拉—PLC 逻辑编程规范TESLA特斯拉—SCADA 设计规范

技术交流资源获取

趋热纳凉,尽享美好

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则