施耐德运动控制控制模板经验总结.docx
- 文档编号:27825550
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:36
- 大小:897.06KB
施耐德运动控制控制模板经验总结.docx
《施耐德运动控制控制模板经验总结.docx》由会员分享,可在线阅读,更多相关《施耐德运动控制控制模板经验总结.docx(36页珍藏版)》请在冰豆网上搜索。
施耐德运动控制控制模板经验总结
以施耐德公司的位置控制模板TSXCAY系列为例:
如图所示:
9针D型阳插座输出4路模拟信号,可以控制4台驱动器。
15针D型插座接收反馈信号。
反馈信号可以是绝对编码SSI或增量编码RS422。
它们的电源由外部提供。
电源可以是5V或24V。
外部电源由HE10型插座接入。
如图示说明:
TSXCAY位置控制单元还集成了基本的输入/输出端子,使得在运动控制过程中更加完善了它的控制功能,例如:
原点开关,位置限位,事件开关等,电源也由此输入。
如图所示:
I0:
原点开关
I1:
紧急停止开关
I2:
事件开关
I3:
自较正开关
Q0:
辅助输出
下面就是一个在通道0实际连接的例子。
PO是原点开关,用于程序中的寻原点的执行。
FCD,FCG,AT_UR都是紧急停止开关。
EVT是一个事件开关,可以在程序中进行中断情况的处理。
REC可以是自校正的处理开关。
另外,TSXCAY还集成了对驱动单元的管理功能,例如,驱动器的使能,驱动器出错的报警等。
如图示:
COMx,VALVARx为输出到相应驱动器的使能控制。
OK_VARx为驱动器正常工作的输入信号。
连接如图:
TSXCAY驱动器
综上所述,所有这些硬件构成了位置控制的最基本要素,无论是哪家的产品,结构都基本如此。
2.3脉冲输出的位置控制结构
如上图所示
脉冲输出对位置的控制,结构简捷,不需要来自电机或驱动器的反馈。
运动的位置取决于驱动器接收的脉冲数,运动的速度取决于脉冲的频率。
对电流,速度,位置的调节都在驱动器里。
它可以实现对位置的点到点的控制和同步跟随控制。
2.4典型的硬件结构
如图所示
以施耐德公司的步进控制模板TSXCFY系列为例
15针D型插座输出脉冲信号,使能信号。
同时也接收来自驱动器的运行状态信号。
连接结构如下图所示:
TSXCFY驱动器
在TSXCFY模板中也集成有基本的输入/输出点,这些输入/输出点构成了运动控制的完整功能。
如限位,原点等。
它们的功能分布如图所示:
这些输入/输出点的连接,都是通过HE10端子连接的,通过这些I/O点,实现了对运动过程中,原点的定位,紧急停车及事件的中断处理。
实际的连接如下图:
2.5运动控制的软件编程设计
各个伺服产品供应商都为自己的产品配上了相应的控制软件,有的集成在PLC软件中,有的集成在CNC软件中,有的自成体系。
但就其编程规律和所要完成的目标基本是一致的。
我们以施耐德PREMIUMPLC中的编程语言PL7为例,说明运动控制系统的编程设计。
2.5.1运动控制系统的配置
由于运动控制模板是挂在PLC机架上,因此,在对它进行编程时,首先要对它的参数进行组态,以满足实际要求。
在一个CPU机架上,我们配置位置控制模板CAY21.
点击CAY21,出现如下画面:
点击下拉菜单,选择”Positioncontrol”。
出现如下画面:
Units:
单位,在此点击下拉菜单,选择合适的单位,如:
MM(毫米)等。
Initialresolution:
初始分辨率,Distance:
长度距离;Counts:
脉冲数。
初始分辨率取决于编码器的分辨率。
它通常不是一个整数。
它是一个比例数,表述为:
初始分辨率=长度(Distance)/脉冲数(Counts)。
式中:
长度(Distance)指运动物体走过的距离。
脉冲数(Counts)指对应于走过的距离,编码器发出的脉冲数。
例如:
电机转一圈发出512个脉冲,对应走过的长度为10000微米,因此,初始分辨率为
10000/512=19.5微米。
Encodertype:
编码器类型,可以选择增量编码或绝对编码。
Inversion:
对模拟量输出或测量输入进行反向,从而不用改动硬件连接就可以定义某一方向为正向。
Sequencecontrol:
此参数用于定义分段运动不停止(G01,G11,G30)时的跟随顺序。
Hilimit:
正向位置限制值。
Lolimit:
反向位置限制值。
Max.speed:
最高速度限制。
Max.setpoint:
最高模拟量输出值。
Max.acc.Vmax:
最快加速时间。
Event:
事件的使能,选择事件有效,则遇到事件触发就进入中断程序。
Eventinput:
事件触发形式选择。
Referencepoint:
寻原点方式选择。
Recalibrate:
自校正位置,防止累计误差。
按以上原则,填好参数,点击最上面的‘对钩’栏,如无错误,配置就完成了。
如下图:
完成对系统的组态后,我们就可以编写程序了。
2.5.2运动控制命令的编写
在PL7中,运动控制的编程语言为:
SMOVE%CHxy.i(N_Run,G9_,G,X,F,M)
%Chxy.i:
轴控模块在PLC组态中的地址。
x:
机架号
y:
轴控模块在机架上的位置
i:
轴通道号
如上图,机架号为零,x=0
CAY21占用的槽位是2号,所以地址是%CH2.0
和%CH2.1两个轴通道。
N_Run:
0-32767,SMOVE功能执行的任务标号,在调试方式下用以确认当前的动作所属。
G9_:
运动动作类型标识
90:
运动到一个绝对位置。
91:
运动到一个与当前位置相关的相对位置。
98:
运动到一个与存储位置PREF相关的相对位置。
(用指令码G07来存储PREF位置值)
60:
沿指定方向的绝对运动(只在无限轴)。
68:
沿指定方向运动到一个与存储位置PREF相关的相对位置。
(只在无限轴)
G:
指令码
09:
运动到位置并停止
01:
运动到位置且不停
10:
运动到触发事件点并停止
11:
运动到触发事件点且不停止
14:
寻原点
05:
等待事件
07:
当事件触发时存储当前位置
62:
强制原点
21:
无限轴运动中的动态参考点设置
04:
停止运动
指令码图示如下:
X:
对应要到达的位置。
这个位置可以是立即数,也可以是双字变量%MDi,内部常数%KDi。
这里需要注意,当使用指令G14和G62时,此时X值表示:
要设定的原点位置。
长度单位是在组态中设定的单位。
F:
运动的速度,这个速度可以是立即数,也可以是双字变量%MDi和常量%KDi。
速度值的选取在10到最大值之间。
单位取决于长度单位。
速度单位=U*1000/min,式中U为长度单位。
例如:
长度单位为:
mm,
速度单位=mm*1000/min-->m/min
M:
事件处理设置,辅助输出设置。
它是由4个半字节组成的16进制码,16#
当第12位:
设为1,则事件触发指令G10,G11,G05,G07有效。
设为0,则事件触发指令无效。
第二组半字节用于在G01,G09,G10,G11指令时设置相关通道的辅助输出。
这组半字节为:
0:
Unchanged:
输出无变化。
1:
synchronizedwithmvt:
指令开始执行时,输出状态定义。
2:
consecutivetomvt:
指令执行结束时,输出状态定义。
第0组半字节用于定义输出的高/低有效。
0:
定义输出为“0”。
1:
定义输出为“1”。
对于事件指令G05,用第13位来定义:
第13位:
0:
等待时间中断或一个事件。
1:
等待位置刷新中断。
例子:
16#0101:
表示事件触发中断无效,当执行SMOVE指令时,辅助输出为1。
16#1201:
表示事件触发中断有效,SMOVE指令执行结束,辅助输出为1。
此M码通过选择Auxiliarydiscreteoutput列出的选项,自动完成设置。
如图所示
2.5.3基本运动命令的使用
最基本运动
∙运动到一个位置(指令码01,09),
∙一直运动到一个事件触发(指令码11,10),
∙寻原点(指令码14)。
在编写这些程序时,我们要写出要到达的位置及运动速度,加减速参数在组态中设置(矩形,三角形,梯形)。
例1:
相对于原点走一绝对定长,位置=50000,速度=1000。
(类型:
90)
例2:
相对目前位置走一定长,长度=40000,速度=1000。
(类型:
91)
例3:
相对于存储器PREF1内位置走一定长,定长=30000,速度=1000。
(类型:
98)
存储器PREF1内位置由G07指令设置。
在无限轴的应用中,不论当前位置和目标位置怎样,它总是可以从正向或反向到达目标。
也就是说,有3种方式可以完成从A点到B点的运动。
∙正向走到位置。
(Movement1)
∙反向走到位置。
(Movement2)
∙最短的运动距离,由位控模块决定运动方向。
或由速度符号决定运动方向。
(Movement3)
所以,无限轴的运动可以如下编程:
例4:
相对于原点的最短距离运动,到达位置(类型:
90)。
在这种情况下,最短运动距离决定运动方向。
例5:
按设置方向运动,到达位置(类型:
60)。
在这种情况下,速度符号定义了方向。
例6:
点到点,到位置后停止
一直运动到触发事件的输入(指令码:
10,11)
指令G11,G10非常类似于指令G01,G09,只不过是遇到事件触发,指令结束。
(或者,没有碰到事件触发,而到达设定位置,使指令结束。
)
这些事件EVENT的触发
∙可以是从相关通道的事件输入端输入的上升沿或下降沿。
(这取绝于在EVENT选项中的组态。
)
∙也可以是由程序产生的上升沿EXT_EVENT位(%Qxy.i.10),它是由位置参数决定的。
当一直没有碰到事件触发,而且到达这个位置,则指令就结束了。
当M参数的第12位被设成“1”则碰到事件触发就可以启动一个事件处理程序。
例7:
一直运动到触发事件,但不停止运动
例8:
一直运动到触发事件,并停止.
编简单的加工指令
一个简单的加工指令如下:
G32,G30通常用来建立一个简单加工轮廓,它包括:
∙用指令G32定义趋进速度。
∙用指令G30定义加工速度和目标位置。
例9:
起始速度1000,然后加工到位置5000000时,速度为500。
寻原点程序的编制:
寻原点指令如下:
根据寻原点方式,运动轴找原点开关或编码器电气零点位置,找到后,把当前位置定义为原点。
寻原点方式在轴控的组态画面中完成。
例10:
原点定义在5000000。
运动速度为200。
即,碰到原点开关后,停止的位置为5000000。
例11:
寻原点方式为:
反方向碰原点开关后,在电气零点停止。
此点为原点。
在运动过程中,参考点的设置:
指令码21
在运动过程中,通过触发一个参考点事件来定义参考点的指令如下:
例:
执行条件:
∙增量编码器
∙重校功能无效状态
∙运动指令码为60
停止运动:
指令码04
这个指令功能是用来停止G01,G30和G11这些没有停止功能的运动的,它相当于停止命令。
但与停止命令不同的是,当用G04停止一个运动时,并不清空缓冲器。
例如,10秒后,停止一个G01的运动。
SMOVE%CH2.0(1,91,01,100000,1500,16#0000)
SMOVE%CH2.0(2,90,05,0,10000,16#0000)
SMOVE%CH2.0(3,90,04,0,0,16#0000)
强制参考点:
指令码62
这个指令用于强制一个参考点(此时电机不能运动,处于静止)。
当执行这个指令时,当前位置被设置为参考点,参考位置值由位置参数定义。
例如:
SMOVE%CH2.0(1,90,62,1000,0,0)
执行完此指令,参考位置被设置为1000。
等待一个事件:
指令码05
这个指令是用于等待一个由参数F定义的时间周期内触发的事件,时间的单位为ms。
如果在F定义的时间内没有触发事件,则等待事件指令失效。
如果F设置为“0”,则等待时间无限制。
在无限轴应用中,G05也可以被用于等待通过临界点的次数。
这可以通过M参数的第13位来定义。
∙0等待一个事件。
∙1等待临界点次数。
与G05指令相关的事件可以是:
∙轴通道对应的事件输入点的上升沿或下降沿。
∙程序中产生的位EXT_EVT(%Qxy.i.10)的上升沿。
∙过临界点数量(无限轴)。
例如:
等待过临界点10次后执行事件触发任务
SMOVE%CH2.0(1,90,05,10,16#2000)
当M参数的第12位设置为”1”.并检测到事件输入时,这个指令还可触发一个事件任务。
当时间超过,还没有检测到事件时,位TO_G05被置为1。
例如:
等待时间为1.5秒内,激活一个事件任务。
SMOVE%CH2.0(1,90,05,0,1500,16#1000)
当事件触发时,记忆当前位置:
指令码07
执行完此指令后,当检测到事件输入时,当前位置被马上记忆。
对位置参数X,它可以记忆1到2个位置(PREF1和PREF2),这取决于组态的选择。
∙如果在组态中,没有测量选择,那末只有PREF1一个位置被记忆(参数X必须等于1)
∙如果在组态中,带有测量选择,那末,如果X=1,当记忆PREF1后,激活事件处理。
如果X=2,则记忆位置PREF1和PREF2后,执行事件处理。
下表图示出,根据不同组态,对当前位置的记忆:
如果M参数的第12位被设置为”1”,则当检测到事件触发时,事件处理被激活。
程序立即携此功能到下一个指令。
只有当定义的事件被触发时,字%IDxy.i.9(PREF1)和%IDxy.i.11(PREF2)的值才被刷新。
指令G07的执行结果对于增量编码为立即执行,对于绝对编码则小于400微秒。
一个如何利用位置指针的例子:
位置指针通常用来解决执行一个重复运行的运动。
例如下面的例子,我们把这个基本运动执行9次。
这个基本运动是:
∙开始运动,一直到触发事件地点
(2)
∙以事件点为基准,运动到位置20000(3)
∙以事件点为基准,运动到位置10000(4)
∙以事件点为基准,运动到事件点处(5)
把这个基本运动运行9次的程序如下图示:
2,3,4,5表示了以上基本运动的每步执行指令,与下图相对应。
运行后的图形如下所示:
2.5.4运动控制指令的顺序
我们熟知了以上很多的运动指令后,就可以用SMOVE功能把一系列基本运动指令编辑成为一套运动控制程序了。
每一个基本运动指令只执行一次SMOVE功能,所以编辑一个完整的执行程序可以用流程图的方式:
使每一步指令有效或无效,或者使用结构文本或梯形图来编辑控制位。
运动执行的结果状态由模板中的NEXT和DONE控制位来指示。
在TSXCAY模板中有固定的结构把运动指令集成排序。
在TSXCAY模板中的每一个轴都有一个缓冲寄存器,它可以在当前指令执行前,再接收2条运动指令,这样当目前的指令执行完,就立即转向执行缓冲寄存器的第一条命令。
缓冲寄存器不满,则立即再接收新的指令。
两个基本运动指令的连接按如下方式:
∙如果第一个运动不包含停止,则立即执行第二条命令,
∙如果第一个运动包含停止,则确认运动到位或到设置的停止时间后执行。
与执行顺序相关的状态位:
NEXT(%Ixy.i.0)这个位用来指示模板准备好,可以接收下一个指令。
DONE(%Ixy.i.1)这个位用来指示命令过程执行完毕并且在缓冲寄存器中没有新的指令。
TH_PNT(%Ixy.i.10)指示目标位置已经到达。
AT_PNT(%Ixy.i.9)在手动方式下,指示运动位置到达;在自动方式下指示带有停止动作的运动到达一个目标位置。
注意:
在执行每一个SMOVE指令前,都要对NEXT和DONE位进行检测。
程序执行时序例如下:
对于带有停止动作的运动,DONE位在没有运动动作和缓冲寄存器不满的情况下为“1”。
对于不带有停止动作的运动,DONE位在到达目标位置和缓冲寄存器不满的情况下为“1”。
2.6其它运动控制功能的实现
2.6.1在运动过程中原点的重校
这个功能在增量编码时有效,即:
运动部件在正向运动中,一碰到校准点的上升沿,位置值就刷新一次。
运动部件在反向运动中,一碰到校准点的下降沿,位置值也刷新一次。
这也特别适合于那些位置值不再反映实际值的往复运动的场合。
这个功能可以在组态画面激活。
当一个事件触发时,轴控模板把当前位置预置到RE_POS,然后,用调节画面或程序中定义的RE_POS(%MDxy.i.43)值与当前位置比较:
∙如果比较结果显示当前值超出RE_WDW(%MDxy.i.51)定义的误差范围,则错误标志位产生。
(位REC_FLT%Mwxy..i.3:
X12)
如图所示,运动单元在做连续运动
这个功能的执行条件为:
组态中重校功能被激活
是一个有参考点的轴
在自动,手动或直接驱动模式
对于无限轴,在测量模式。
2.6.2在有限轴控时(轴控模板TSXCAY*1),对主轴的跟随控制
这个功能的应用:
是指一个轴(从轴)的位置始终与另一个轴(主轴)的位置按比例同步。
在运动控制模板中,主轴的通道总被定义为“0”轴。
在2轴模板中,可以有一个主轴,一个从轴。
在4轴模板中,可以有一个主轴,3个从轴。
跟随控制的组态在组态画面中定义。
在程序中,只要跟随控制位%Qxy.i.17被置为“1”,则同步跟随立即开始。
%Ixy.i.36显示是否在同步状态。
从轴跟随测量位置值还是主轴设定的位置值来运动,可以通过组态来选择。
其中主从的位置比例可以通过RATIO1/RATIO2这两个参数定义。
为了显示跟随的准确性,这里用了位%Ixy.i.9AT_PNT来表示,当跟随过程误差低于DMAX2,则AT_PNT为“1”。
例如:
一个从轴跟随主轴的位置,跟随的比例RATIO=3/4,那么,运动的轨迹如图所示:
跟随功能的执行条件:
∙从轴在自动模式
∙主轴在手动,或自动模式
∙从轴已定义好参考点
注意事项:
∙为了保证从轴计算出的设定位置有效,你必须在启动跟随之前,确认这个从轴已经在主轴位置*RATIO的位置上。
∙当在跟随模式时,不要做主轴的寻原点任务。
∙在跟随模式下,TH_PNT,NEXT位不起作用,PAUSE命令无效。
2.6.3在无限轴控时(轴控模板TSXCAY*2),对主轴的跟随控制
这个功能的应用:
是指一个轴(从轴)的位置始终与另一个轴(主轴)的位置按比例同步。
在运动控制模板中,主轴的通道总被定义为“0”轴。
在2轴模板中,可以有一个主轴,一个从轴。
在4轴模板中,可以有一个主轴,3个从轴。
跟随控制的组态在组态画面中定义。
在程序中,只要跟随控制位%Qxy.i.17被置为“1”,则同步跟随立即开始。
%Ixy.i.36显示是否在同步状态。
使用测量位置还是主轴位置设置值作为反馈,这在组态中进行选择定义。
比例参数RATIO1/RATIO2和偏置offset值决定了最后的设定。
这3个参数的定义在调节画面中完成。
当从轴连到主轴后,它们具有如下关系:
从轴位置=主轴位置*(Ratio1/Ratio2)+偏置offset
为了显示跟随的准确性,这里用了位%Ixy.i.9AT_PNT来表示,当跟随过程误差低于DMAX2,则AT_PNT为“1”。
有限轴TSXCAY*1和无限轴TSXCAY*2在以下功能的区别如下:
∙在调节画面或在程序运行中,比例RATIO可以修改。
(对TSXCAY*1RATIO是固定的)
∙不管主轴位置如何,offset值可以使主轴对从轴进行控制。
有了这个功能,跟随控制就可以应用在主轴总是按固定方向转动的场合(传送带)。
(贴标机等)
Offset值可以在线修改或在Adjust模式下用PL7软件修改。
TSXCAY*2模板提供了设定参数到从动轴的方法,已保证平滑传送。
此功能计算如下:
Slave_position=Master_positionXRatio+Offset
“Automaticoffset”组态参数通常用来选择操作模式。
Offset的值在0.01到100之间。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 施耐德 运动 控制 模板 经验总结