经济型EtherCAT运动控制器(三):PLC实现多轴直线插补与电子凸轮
XPLC006E功能简介
XPLC006E是正运动运动控制器推出的一款多轴经济型EtherCAT总线运动控制器,XPLC系列运动控制器可应用于各种需要脱机或联机运行的场合。
XPLC006E自带6个电机轴,最多12轴运动控制(含虚拟轴数),支持12轴直线插补、电子凸轮、电子齿轮、同步跟随、虚拟轴设置等功能。
XPLC006E支持多任务同时运行,同时可以在PC上直接仿真运行,编程方式多种可选,支持ZDevelop软件的Basic/PLC梯形图/HMI组态和常用上位机软件编程。
XPLC006E只支持EtherCAT总线轴,不支持脉冲轴和编码器轴。采用EtherCAT总线与驱动器通讯,1ms的刷新周期。
XPLC006E支持PLC、Basic、HMI组态三种编程方式。PC上位机API编程支持C#、C++、LabVIEW、VB、matlab、Qt、Linux、.Net、iMAC、Python、 ROS等接口。
→此款产品有XPLC004E、XPLC006E、XPLC008E三个不同轴数的型号可选。
XPLC864E2功能简介
XPLC864E2在XPLC006E的功能基础上做了升级(即上节介绍的XPLC006E的功能都支持),部分资源空间优于XPLC006E,使用方法基本一致,不同之处在于XPLC864E2,硬件支持32点输入、32点输出、2个ADC、2个DAC,支持脉冲轴和总线轴混合使用,总实轴轴数为8,除了带EtherCAT接口之外,输出口硬件上可配置为8个轴的脉冲方向信号输出,另带两路编码器输入,可由输入口配置。
XPLC864E2支持PLC、Basic、HMI组态三种编程方式。PC上位机API编程支持C#、C++、LabVIEW、VB、matlab、Qt、Linux、.Net、iMAC、Python、 ROS等接口。
XPLC系列经济型EtherCAT总线运动控制器支持多种编程方式,支持使用正运动技术自主研发的ZDevelop开发环境的basic语言和PLC梯形图,上一节讲解了Basic开发,本节内容主要讲解PLC梯形图的开发。
XPLC006E使用PLC编程时,轴的运动指令调用Basic封装的指令。
PLC梯形图执行从左侧的母线开始,从左至右,从上至下依次扫描,从第一行程序开始顺序扫描到END为一个扫描周期,然后又开始新一轮程序扫描,直到程序被停止。
PLC编程方式有两种,通常选择梯形图编程,熟悉指令的用户也可选择语句表的编程方式。
一前期准备工作
在正运动技术官网下载新版编程软件ZDevelop V3.10.06,准备一台XPLC系列经济型EtherCAT总线运动控制器,按照上方的XPLC006E参考架构完成接线。
没有控制器的场合也可完成ZBasic的开发,程序下载到仿真器运行即可,仿真器是ZDevelop软件安装包自带的。
二下载PLC程序到控制器
1. 新建工程项目,并下载PLC程序文件到控制器运动的流程如下图。
2.打开已有的项目文件运行,需要打开zpj文件,再连接控制器,下载程序运动。PLC编程界面如下所示:
PLC的自动运行的主文件建议只设置一个,使得PLC只有一个主循环,其他模块在主循环中调用。
PLC指令均不分大小写,PLC指令请参考《ZMotion PLC编程手册》,手册可在软件的帮助菜单栏快速打开。
三PLC梯形图编程
梯形图编程方式就是使用顺序符号和软元件编号在编程界面上画出顺控梯形图的方式,由于顺控回路是通过触点符号和线圈符号来表现的,显示更加直观,程序的内容更易理解。
在梯形图显示状态下程序监控与调试更为便捷,梯形图显示示例如下所示。
程序结尾一定要包含END程序结束指令,否则报错,无法下载到控制器执行。
1.PLC指令按照指令的用途将指令分为如下几个类别。
A.常用指令:包含取触点、输出线圈、定时器、计数器等常用指令。
B.触点比较指令:比较两个寄存器的值,满足条件触点导通。
C.传送和比较指令:寄存器之间数据按规则比较和传送。
D.循环和跳转指令:包括条件循环指令,跳转到子程序执行指令。
E.运算指令:包含四则运算和逻辑运算指令。
F.移位指令:将源操作数的数据按位移动。
G.数据处理指令:执行其他运算,例如编码、译码等。
H.浮点运算指令:针对32位浮点数的运算。
I.其他指令:轴运动相关参数。
2.PLC指令根据操作数的位长分为16位指令和32位指令两种。
16位数据和32位数据处理采用不同的指令,除了数据长度不同外,二者其他方面均相同,处理数据类型均为有符号数。
16位指令:传送的数值范围:-32768 -+32767。
32位指令:传送的数值范围:-2147483648 - +2147483647。32位指令一般占用连续两个16位空间。
3.根据指令的执行方式的不同,分为连续执行型和脉冲执行型两种。
连续执行型:满足条件,每个扫描周期都执行一次。
脉冲执行型:满足条件,仅执行一次。连续执行型指令添加符号P表示脉冲执行型指令。
4.PLC软元件一览表。
计数器C和定时器T的数据类型与访问时使用的指令有关,通过16位指令访问时自动使用低16位,通过32位指令访问时使用32位。
5.PLC与Basic相关寄存器对应关系。
四PLC调用Basic指令
PLC可以通过EXE指令或EXEP指令调用Basic标准指令。EXEP指令是EXE指令的脉冲形式,仅在驱动输入由OFF变为ON后,才调用Basic标准指令。
语法格式如下:
“EXE @BASIC指令”等价于“BASIC指令”
注意:使用EXE指令调用寄存器时,@之后要参照Basic的语法,不可出现“EXE @DT0=10”,正确写法应是“EXE @TABLE(0)=10”。
在PLC里调用Basic直线插补语法如上图,直线插补PLC语法“MOVE D0 D2”,操作数应该为PLC操作数支持的格式,插补数据由寄存器传递,不能直接给出。
五PLC直线插补例程
控制脉冲轴轴0和轴1直线插补运动,轴参数和运动指令使用EXE调用Basic指令,将写好的程序下载XPLC006E上调试运行。
1.PLC控制程序如下。
2.程序说明。
程序上电初始化时,对轴的各种参数进行初始化。
当X0上升沿触发时,对存储两个轴运动距离的寄存器D0、D2进行赋值,当X1上升沿触发启动示波器采样、开启MOVE直线插补运动并且M0自锁,轴0运动距离为300,轴1运动距离为400。
M8100为轴0的IDLE标志,当运动完成时,轴0停止,M8100变为ON,M1被置位一个周期,M1的常闭触点断开一个周期,M0自锁取消。
再次按下X1,MOVE再次执行轴0轴1直线插补运动。
X2为急停按钮,若轴在运动中按下X2,按FASTDEC快减速设置的值快速停下。
3.示波器采样的轴0轴1的位置和速度曲线如下所示。
4.以上PLC程序在Basic里实现的程序如下。
FOR i=0 TO 10 'MODBUS_BIT寄存器清0
MODBUS_BIT(i)=0
NEXT
BASE(0,1) '轴0和轴1参数初始化
UNITS = 100,100
ATYPE =1,1
SPEED = 200,200
ACCEL = 1000,1000
DECEL = 1000,1000
SRAMP = 200,200
DPOS = 0,0
MPOS = 0,0
FASTDEC = 20000,20000
WHILE 1 '循环检测输入
IF IN_SCAN(0,2) THEN '扫描IN0-2口电平变化
IF IN_EVENT(1)> 0 THEN '启动
TRIGGER
MOVE(300,400)
ELSEIF IN_EVENT(2)> 0 THEN '停止
RAPIDSTOP(2)
ENDIF
ENDIF
WEND
END
六PLC追剪(电子凸轮)例程
PLC通过调用Basic的MOVESLINK自动凸轮命令完成追剪过程,MOVESLINK自动凸轮的从轴自动规划速度跟随主轴运动,指令用法参见Basic编程手册,PLC程序的主要组成部分如下:
1.初始化部分
2.选择追剪轴号
3.轴参数初始化
4.追剪参数初始化
5.追剪运动
触摸屏界面:可设置追剪加工参数,控制追剪的启停,同时能显示当前轴的位置信息。
追剪波形如下,主轴为匀速运动的传送带,第一阶段从轴(轴1)从初始位置跟随主轴(轴2)加速运动,第二阶段主从轴速度一致,达到同步,追剪刀具下剪后准备返回初始位置,第三阶段从轴跟随主轴减速到0,第四阶段从轴反向回到初始位置,准备下一轮追剪。
本次,正运动技术经济型EtherCAT运动控制器(三):PLC实现多轴直线插补与电子凸轮,就分享到这里。
更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师。
本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。
利用运动仿真解决复杂凸轮设计
一、背景概述
凸轮机构最大的优点就是:只要适当的设计出凸轮的轮廓曲线,就可以使推杆得到各种预期的运动规律,而且机构简单紧凑。基于凸轮的上述优点,凸轮机构被广泛的应用。
然而使用传统的方法计算凸轮的轮廓费时费力。那么如何快速并且精确的得到凸轮的轮廓呢?我们可以借助SOLIDWORKS Motion来帮助我们快速完成凸轮的设计。
SOLIDWORKS Motion是一个虚拟原型机仿真工具,借助在工业动态仿真分析软件领域占主导地位达25年之久的ADAMS的强力支持,SOLIDWORKS Motion能够帮助设计人员在设计前期判断设计是否能达到预期目标。
本文以SOLIDWORKS作为平台,使用SOLIDWORKS Motion完成凸轮的设计。
二、凸轮设计
1.凸轮设计的模型准备
使用SOLIDWORKS完成如下图所示装配体的建模,并添加恰当的配合。
图1
2.从动件运动数据点的准备
新建一个excel,并按下图填入数据。并将其另存为CSV格式。
图2
3.运动条件分析
该机构中凸轮为其核心零件,但是现在它的设计还没有完成。现在已知从动件需要按照图2所示的数据点进行运动,循环时间为3秒。将数据点用图表表示如下图3所示。
图3
4.运动分析边界条件设定
①.启动SOLIDWORKS Motion插件
如图4通过选项——>插件——>勾选SOLIDWORKS Motion或者工具——>插件——>勾选SOLIDWORKS Motion启动运动仿真分析
如图5切换到Motion study视图,并将分析模式切换到Motion分析。
在视项和相机视图中右键并单击禁用观阅键码播放。
图4
②.我们已知从动件的运动需要符合数据点的规律。为了能满足此要求,我们需要设置一个线性马达来驱动从动件。
如图6马达的位置选择从动件的顶面,方向向下,运动的模式切换到数据点模式以打开函数编制程序对话框。在此对话框中设置值为位移,自变量为时间,插值类型选择Akima样条曲线。
接着点击输入数据,找到我们在第3步创建的EXCEL表格并打开。在函数编制对话框中确定,在马达编辑中确定。
图5
图6
③.由于从动件的运动周期是3秒,为了保持同步。拖动时间栏的关键帧到3秒,将仿真的周期设置为3秒,如图7。
图7
④.给凸轮添加旋转马达,使凸轮在从动件的一个运动周期中旋转一圈。如图8,旋转马达的位置选择传动轴的边线。运动类型设置为等速,每分钟20圈,确定。
图8
⑤.添加重力,如图9,方向沿Y轴负方向。
图9
图10
⑥.设置运动算例属性
为了使获取的凸轮的轮廓精度更高,我们需要提高每秒帧数到100,并选择精确接触。如图10。
⑦.如图11,单击计算,运行运动仿真。
此时我们会看到预期的运动,凸轮转动一圈,从动件同时完成一个周期的运动。
图11
5.获取凸轮轮廓
为了获取凸轮的轮廓,我们只需找到从动件上与凸轮接触的一点相对于凸轮的跟踪路径。此跟踪路径即为凸轮的轮廓。
如图12和13,14所示,单击结果和图解,选择位移/速度/加速度——>跟踪路径。在要测量的实体中选择从动件的顶点及凸轮的圆柱面。确定之后即获得一个跟踪路径,此路径即为凸轮的轮廓。
图12
图13
图14
6.将跟踪路径转化为曲线输入到凸轮中。
我们现在已经生成了从动件顶点相对于凸轮的跟踪路径,并且也知道这个跟踪路径即为凸轮的轮廓。为了在凸轮中使用这个跟踪路径,我们需要将其转化为曲线并输入到凸轮中。
如图15,在结果图解1上右键——>从跟踪路径生成曲线——>在参考零件中从路径生成曲线。
图15
打开凸轮,在设计树中将有一个曲线,在前视基准面上绘制草图,并用转换实体引用命令,将此曲线引用,接着对草图进行拉伸。如图16
图16
切换到装配体中,重建模型。这是凸轮的设计已经完成了。接下来需要验证凸轮的轮廓是否正确。
7.验证凸轮机构
凸轮的轮廓已经设计完成,接下来我们要验证其是否正确。在当前的仿真中,从动件是依靠线性马达驱动的。在实际凸轮机构中应当是依靠凸轮的轮廓保证从动件的运动。因此在验证的时候我们需要将加在从动件上的线性马达去掉,并在从动件和凸轮之间添加接触。
将时间调整到0秒的位置,压缩线性马达,如图17。在从动件和凸轮之间添加接触。如图18。
图17
图18
再次运行计算。我们发现从动件基本按照预期进行运动,但是在如图19的地方发生了跳跃,这是因为从动件只有在重力的作用下保证和凸轮的接触。
在实际凸轮机构中,从动件上会受到向下的压力,因此我们可以忽略这一点。
图19
三、查看从动件在Y方向上的线性位移
如图20,点击图解,选择位移/速度/加速度——>线性位移——>Y分量。选择从动件的一个面,确定。其在Y方向的线性位移如图21.
图20
图21
对比图3与图21,我们不难看出,从动件是符合我们所规定的运动规律的。说明凸轮轮廓的设计是合乎设计要求的。
四、结束语
本文利用SOLIDWORKS Motion运动仿真功能来完成凸轮机构的运动仿真,从而快速直观的获得凸轮轮廓。可以大大的降低研发成本,得到很好的使用效果。
相关问答
电子凸轮 与机械凸轮在机械部分的区别。机械凸轮是由凸轮,推...电子凸轮跟机械凸轮很不一样的,电子凸轮一般用步进电机驱动,其升城曲线由涵数方程式决定电子凸轮就是所说的软靠模,升程是通过程序驱动步进电机或...
Proe怎么在装配体画治具?如果你自己画一个皮带,再装配到机构上在proe中是无法进行仿真的。可以利用proe中的传送带功能进行仿真。通过“应用程序——机构”切换到机构模式下,运用右面...