S7200脉冲.docx
- 文档编号:6153854
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:20
- 大小:280.72KB
S7200脉冲.docx
《S7200脉冲.docx》由会员分享,可在线阅读,更多相关《S7200脉冲.docx(20页珍藏版)》请在冰豆网上搜索。
S7200脉冲
S7-200脉冲
概述
S7--200提供了三种方式的开环运动控制:
•脉宽调制(PWM)--内置于S7--200,用于速度、位置或占空比控制。
•脉冲串输出(PTO)--内置于S7--200,用于速度和位置控制。
•EM253位控模块--用于速度和位置控制的附加模块。
S7—200的内置脉冲串输出提供了两个数字输出通道(Q0.0和Q0.1),该数字输出可以通过位控向导组态为PWM或PTO的输出。
当组态一个输出为PTO操作时,生成一个50%占空比脉冲串用于步进电机或伺服电机的速度和位置的开环控制。
内置PTO功能仅提供了脉冲串输出。
您的应用程序必须通过PLC内置I/O或扩展模块提供方向和限位控制。
PTO按照给定的脉冲个数和周期输出一串方波(占空比50%),如图1。
PTO可以产生单段脉冲串或者多段脉冲串(使用脉冲包络)。
可以指定脉冲数和周期(以微秒或毫秒为增加量):
•脉冲个数:
1到4,294,967,295
•周期:
10μs(100K)到65535μs或者2ms到65535ms。
图1
200系列的PLC的最大脉冲输出频率除CPU224XP以外均为20kHz。
CPU224XP可达100kHz。
如表1所示:
表1
2MAP库的应用
2.1MAP库的基本描述
现在,200系列PLC本体PTO提供了应用库MAPSERVQ0.0和MAPSERVQ0.1,分别用于Q0.0和Q0.1的脉冲串输出。
如图2所示:
图2
注:
这两个库可同时应用于同一项目。
各个块的功能如表2所示:
块
功能
Q0_x_CTRL
参数定义和控制
Q0_x_MoveRelative
执行一次相对位移运动
Q0_x_MoveAbsolute
执行一次绝对位移运动
Q0_x_MoveVelocity
按预设的速度运动
Q0_x_Home
寻找参考点位置
Q0_x_Stop
停止运动
Q0_x_LoadPos
重新装载当前位置
Scale_EU_Pulse
将距离值转化为脉冲数
Scale_Pulse_EU
将脉冲数转化为距离值
表2
总体描述
该功能块可驱动线性轴。
为了很好的应用该库,需要在运动轨迹上添加三个限位开关,如图3:
•一个参考点接近开关(home),用于定义绝对位置C_Pos的零点。
•两个边界限位开关,一个是正向限位开关(Fwd_Limit),一个是反向限位开关(Rev_Limit)。
•绝对位置C_Pos的计数值格式为DINT,所以其计数范围为(-2.147.483.648to+2.147.483.647).
•如果一个限位开关被运动物件触碰,则该运动物件会减速停止,因此,限位开关的安置位置应当留出足够的裕量ΔSmin以避免物件滑出轨道尽头。
图3
2.2输入输出点定义
应用MAP库时,一些输入输出点的功能被预先定义,如表3所示:
名称
MAPSERVQ0.0
MAPSERVQ0.1
脉冲输出
Q0.0
Q0.1
方向输出
Q0.2
Q0.3
参考点输入
I0.0
I0.1
所用的高速计数器
HC0
HC3
高速计数器预置值
SMD42
SMD142
手动速度
SMD172
SMD182
表3
2.3MAP库的背景数据块
为了可以使用该库,必须为该库分配68BYTE(每个库)的全局变量,如图4所示:
图4
下表是使用该库时所用到的最重要的一些变量(以相对地址表示),如表4:
符号名
相对地址
注释
Disable_Auto_Stop
+V0.0
默认值=0意味着当运动物件已经到达预设地点时,即使尚未减速到Velocity_SS,依然停止运动; =1时则减速至Velocity_SS时才停止
Dir_Active_Low
+V0.1
方向定义,默认值 0= 方向输出为1时表示正向。
Final_Dir
+V0.2
寻找参考点过程中的最后方向
Tune_Factor
+VD1
调整因子(默认值=0)
Ramp_Time
+VD5
Ramptime=accel_dec_time(加减速时间)
Max_Speed_DI
+VD9
最大输出频率 =Velocity_Max
SS_Speed_DI
+VD13
最小输出频率 =Velocity_SS
Homing_State
+VB18
寻找参考点过程的状态
Homing_Slow_Spd
+VD19
寻找参考点时的低速(默认值 =Velocity_SS)
Homing_Fast_Spd
+VD23
寻找参考点时的高速(默认值 =Velocity_Max/2)
Fwd_Limit
+V27.1
正向限位开关
Rev_Limit
+V27.2
反向限位开关
Homing_Active
+V27.3
寻找参考点激活
C_Dir
+V27.4
当前方向
Homing_Limit_Chk
+V27.5
限位开关标志
Dec_Stop_Flag
+V27.6
开始减速
PTO0_LDPOS_Error
+VB28
使用Q0_x_LoadPos时的故障信息(16#00= 无故障,16#FF= 故障)
Target_Location
+VD29
目标位置
Deceleration_factor
+VD33
减速因子 =(Velocity_SS–Velocity_Max)/
accel_dec_time(格式:
REAL)
SS_Speed_real
+VD37
最小速度 =Velocity_SS(格式:
REAL)
Est_Stopping_Dist
+VD41
计算出的减速距离 (格式:
DINT)
表4
2.4功能块介绍
下面逐一介绍该库中所应用到的程序块。
这些程序块全部基于PLC-200的内置PTO输出,完成运动控制的功能。
此外,脉冲数将通过指定的高速计数器HSC计量。
通过HSC中断计算并触发减速的起始点。
2.4.1Q0_x_CTRL
该块用于传递全局参数,每个扫描周期都需要被调用。
功能块如图5,功能描述见表5。
图5
参数
类型
格式
单位
意义
Velocity_SS
IN
DINT
Pulse/sec.
启动/停止频率,必须是大于零的数
Velocity_Max
IN
DINT
Pulse/sec.
最大频率
accel_dec_time
IN
REAL
sec.
最大加减速时间
Fwd_Limit
IN
BOOL
正向限位开关
Rev_Limit
IN
BOOL
反向限位开关
C_Pos
OUT
DINT
Pulse
当前绝对位置
表5
Velocity_SS是最小脉冲频率,是加速过程的起点和减速过程的终点。
Velocity_Max是最大小脉冲频率,受限于电机最大频率和PLC的最大输出频率。
在程序中若输入超出(Velocity_SS,Velocity_Max)范围的脉冲频率,将会被Velocity_SS或Velocity_Max所取代。
accel_dec_time是由Velocity_SS加速到Velocity_Max所用的时间(或由Velocity_Max减速到Velocity_SS所用的时间,两者相等),范围被规定为0.02~32.0秒,但最好不要小于0.5秒。
警告:
超出accel_dec_time范围的值还是可以被写入块中,但是会导致定位过程出错!
2.4.2Scale_EU_Pulse
该块用于将一个位置量转化为一个脉冲量,因此它可用于将一段位移转化为脉冲数,或将一个速度转化为脉冲频率。
功能块如图6,功能描述见表6。
图6
参数
类型
格式
单位
意义
Input
IN
REAL
mmormm/s
欲转换的位移或速度
Pulses
IN
DINT
Pulse/revol.
电机转一圈所需要的脉冲数
E_Units
IN
REAL
mm/revol.
电机转一圈所产生的位移
Output
OUT
DINT
Pulseorpulse/s
转换后的脉冲数或脉冲频率
表6
下面是该功能块的计算公式:
2.4.3Scale_Pulse_EU
该块用于将一个脉冲量转化为一个位置量,因此它可用于将一段脉冲数转化为位移,或将一个脉冲频率转化为速度。
功能块如图7,功能描述见表7。
图7
参数
类型
格式
单位
意义
Input
IN
REAL
Pulseorpulse/s
欲转换的脉冲数或脉冲频率
Pulses
IN
DINT
Pulse/revol.
电机转一圈所需要的脉冲数
E_Units
IN
REAL
mm/revol.
电机转一圈所产生的位移
Output
OUT
DINT
mmormm/s
转换后的位移或速度
表7
下面是该功能块的计算公式:
2.4.4Q0_x_Home
功能块如图8,功能描述见表8。
图8
参数
类型
格式
单位
意义
EXECUTE
IN
BOOL
寻找参考点的执行位
Position
IN
DINT
Pulse
参考点的绝对位移
Start_Dir
IN
BOOL
寻找参考点的起始方向
(0=反向,1=正向)
Done
OUT
BOOL
完成位(1=完成)
Error
OUT
BOOL
故障位(1=故障)
表8
该功能块用于寻找参考点,在寻找过程的起始,电机首先以Start_Dir的方向,Homing_Fast_Spd的速度开始寻找;在碰到limitswitch(“Fwd_Limit”or“Rev_Limit”)后,减速至停止,然后开始相反方向的寻找;当碰到参考点开关(inputI0.0;with
Q0_1_Home:
I0.1)的上升沿时,开始减速到“Homing_Slow_Spd”。
如果此时的方向与“Final_Dir”相同,则在碰到参考点开关下降沿时停止运动,并且将计数器HC0的计数值设为“Position”中所定义的值。
如果当前方向与“Final_Dir”不同,则必然要改变运动方向,这样就可以保证参考点始终在参考点开关的同一侧(具体是那一侧取决于“Final_Dir”)。
寻找参考点的状态可以通过全局变量“Homing_State”来监测,如表9:
Homing_State的值
意义
0
参考点已找到
2
开始寻找
4
在相反方向,以速度 Homing_Fast_Spd 继续寻找过程(在碰到限位开关或参考点开关之后)
6
发现参考点,开始减速过程
7
在方向 Final_Dir ,以速度 Homing_Slow_Spd 继续寻找过程(在参考点已经在 Homing_Fast_Spd 的速度下被发现之后)
10
故障(在两个限位开关之间并未发现参考点)
表9
2.4.5Q0_x_MoveRelative
该功能块用于让轴按照指定的方向,以指定的速度,运动指定的相对位移。
功能块如图9,功能描述见表10。
图9
参数
类型
格式
单位
意义
EXECUTE
IN
BOOL
相对位移运动的执行位
Num_Pulses
IN
DINT
Pulse
相对位移(必须>1)
Velocity
IN
DINT
Pulse/sec.
预置频率
(Velocity_SS<=Velocity<=
Velocity_Max)
Direction
IN
BOOL
预置方向
(0=反向,1=正向)
Done
OUT
BOOL
完成位(1=完成)
表10
2.4.6Q0_x_MoveAbsolute
该功能块用于让轴以指定的速度,运动到指定的绝对位置。
功能块如图10,功能描述见表11。
图10
参数
类型
格式
单位
意义
EXECUTE
IN
BOOL
绝对位移运动的执行位
Position
IN
DINT
Pulse
绝对位移
Velocity
IN
DINT
Pulse/sec.
预置频率
(Velocity_SS<=Velocity<=Velocity_Max)
Done
OUT
BOOL
完成位(1=完成)
表11
2.4.7Q0_x_MoveVelocity
该功能块用于让轴按照指定的方向和频率运动,在运动过程中可对频率进行更改。
功能块如图11,功能描述见表12。
图11
参数
类型
格式
单位
意义
EXECUTE
IN
BOOL
执行位
Velocity
IN
DINT
Pulse/sec.
预置频率
(Velocity_SS<=Velocity<=
Velocity_Max)
Direction
IN
BOOL
预置方向
(0=反向,1=正向)
Error
OUT
BYTE
故障标识
(0=无故障,1=立即停止,3=执行错误)
C_Pos
OUT
DINT
Pulse
当前绝对位置
表12
注意:
Q0_x_MoveVelocity功能块只能通过Q0_x_Stopblock功能块来停止轴的运动。
如图12:
图12
2.4.8Q0_x_Stop
该功能块用于使轴减速直至停止。
功能块如图13,功能描述见表13。
图13
参数
类型
格式
单位
意义
EXECUTE
IN
BOOL
执行位
Done
OUT
BOOL
完成位(1=完成)
表13
2.4.9Q0_x_LoadPos
该功能块用于将当前位置的绝对位置设置为预置值。
功能块如图14,功能描述见表14。
图14
参数
类型
格式
单位
意义
EXECUTE
IN
BOOL
设置绝对位置的执行位
New_Pos
IN
DINT
Pulse
预置绝对位置
Done
OUT
BOOL
完成位(1=完成)
Error
OUT
BYTE
故障位(0=无故障)
C_Pos
OUT
DINT
Pulse
当前绝对位置
表14
注意:
使用该块将使得原参考点失效,为了清晰地定义绝对位置,必须重新寻找参考点。
2.5校准
该块所使用的算法将计算出减速过程(从减速起始点到速度最终达到Velocity_SS)所需要的脉冲数。
但时在减速过程中所形成的斜坡有可能会导致计算出的减速斜坡与实际的包络不完全一致。
此时就需要对“Tune_Factor”进行校正。
校正因子“Tune_Factor”
“Tune_Factor”的最优值取决于最大、最小和目标脉冲频率以及最大减速时间。
如图15:
图15
如图所示,运动的目标位置是B,算法会自动计算出减速起始点,当计算与实际不符时,当轴已经运动到B点时,尚未到达最低速度,此时若位”Disable_Auto_Stop”=0,则轴运动到B点即停止运动,若位”Disable_Auto_Stop”=1,则轴会继续运动直至到达最低速度。
图中所示的情况为计算的减速起始点出现的太晚了。
确定调整因子
注意:
一次新的校准过程并不需要将伺服驱动器连接到CPU。
步骤如下:
1.置位”Disable_Auto_Stop”,即令”Disable_Auto_Stop”=1。
2.设置“Tune_Factor”=1。
3.使用Q0_x_LoadPos功能将当前位置的绝对位置设为0。
4.使用Q0_x_MoveRelative,以指定的速度完成一次相对位置运动(留出足够的空间以使得该运动得以顺利完成)。
5.运动完成后,查看实际位置HC0。
Tune_Factor的调整值应由HC0,目标相对位移Num_Pulses,预估减速距离Est_Stopping_Dist所决定。
Est_Stopping_Dist由下面的公式计算得出:
Tune_Factor由下面的公式计算得出:
6.在调用Q0_x_CTRL的网络之后插入一条网络,将调整后的Tune_Factor传递给全局变量+VD1,如图16。
图16
7.复位”Disable_Auto_Stop”,即令”Disable_Auto_Stop”=0。
2.6寻找参考点的若干种情况
在寻找参考点的过程中由于起始位置、起始方向和终止方向的不同会出现很多种情况。
一个总的原则就是:
从起始位置以起始方向Start_Dir开始寻找,碰到参考点之前若碰到限位开关,则立即调头开始反向寻找,找到参考点开关的上升沿(即刚遇到参考点开关)即减速到寻找低速Homing_Slow_Spd,若在检测到参考点开关的下降沿(即刚离开遇到参考点开关)之前已经减速到Homing_Slow_Spd,则比较当前方向与终止方向Final_Dir是否一致,若一致,则完成参考点寻找过程;若否,则调头找寻另一端的下降沿。
若在检测到参考点开关的下降沿(即刚离开遇到参考点开关)之前尚未减速到Homing_Slow_Spd,则在减速到Homing_Slow_Spd后调头加速,直至遇到参考点开关上升沿,重新减速到Homing_Slow_Spd,最后判断当前方向与终止方向Final_Dir是否一致,若一致,则完成参考点寻找过程;若否,则调头找寻另一端的下降沿。
(Final_Dir决定寻找参考点过程结束后,轴停在参考点开关的哪一侧)
下面的图形会反应不同情形下寻找参考点的过程。
Start_Dir=0,Final_Dir=0,如图17:
图17
Start_Dir=0,Final_Dir=1,如图18:
图18
Start_Dir=1,Final_Dir=0,如图19:
图19
Start_Dir=1,Final_Dir=1,如图20:
图20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- S7200 脉冲
![提示](https://static.bdocx.com/images/bang_tan.gif)