分享

西门子s7-200定位库函数map使用说明

 乐风一生 2015-02-15
C_Pos
OUT  DINT Pulse
表12

当前绝对位置

注意:Q0_x_MoveVelocity 功能块只能通过 Q0_x_Stop block 功能块来停止轴的运动。如图
12:
 

图 12
 
2.4.8 Q0_x_Stop
该功能块用于使轴减速直至停止。功能块如图13,功能描述见表13。
 
 
 
 
EXECUTE

IN

BOOL   

执行位

Done

OUT  BOOL   
 
2.4.9 Q0_x_LoadPos
 
 
该功能块用于将当前位置的绝对位置设置为预置值。功能块如图14,功能描述见表14。   
 
图 14

 
New_Pos

IN

DINT

Pulse

预置绝对位置
 
注意:使用该块将使得原参考点失效,为了清晰地定义绝对位置,必须重新寻找参考点。
 
 
2.5 校准
 
 
 
该块所使用的算法将计算出减速过程(从减速起始点到速度最终达到Velocity_SS)所需要的
脉冲数。但时在减速过程中所形成的斜坡有可能会导致计算出的减速斜坡与实际的包络不完
全一致。此时就需要对 _Tune_Facto   进行校正。
 
 
 
 
 
校正因子 “Tune_Facto ?
_Tune_ actor? 的最优值取决于最大、最小和目标脉冲频率以及最大减速时间。如图15:
图 15
如图所示,运动的目标位置是B,算法会自动计算出减速起始点,当计算与实际不符时,当
轴已经运动到B点时,尚未到达最低速度,此时若位 _Disable_Auto_Sto ,则轴运动到
B点即停止运动,若位 _Disable_Auto Stop?= 1 ,则轴会继续运动直至到达最低速度。图中
所示的情况为计算的减速起始点出现的太晚了。
 
 
 
确定调整因子
 
 
 
注意:一次新的校准过程并不需要将伺服驱动器连接到CPU。
步骤如下:
1.                            置位 _Disable_Auto_Sto     ,即令 _Disable_Auto_ top?= 1 。
2.                          设置 _Tune Factor?= 1   。
3.          使用 Q0_x_LoadPos 功能将当前位置的绝对位置设为0。
4.        使用 Q0_x_MoveRelative,以指定的速度完成一次相对位置运动(留出足够的空间
以使得该运动得以顺利完成)。
5.                                   运动完成后,查看实际位置 HC0。     Tune_Factor 的调整值应由 HC0,目标相对位移
Num_Pulses,预估减速距离 Est_Stopping_Dist 所决定。
 6.   复位 _Disable_Auto_Sto     ,即令 _Disable_Auto_ top?= 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 决定寻找参考点过程结束
后,轴停在参考点开关的哪一侧)
 
 
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.2 Scale_EU_Pulse 该块用于将一个位置量转化为一个脉冲量,因此它可用于将一段位移转化为脉冲数,或将一
个速度转化为脉冲频率。功能块如图6,功能描述见表6。
 
 
 
 
 
 
 
 
 
 
 
图 6
 
 

参数

类型    格式

单位

意义
Output

OUT  DINT

Pulse or pulse/s   转换后的脉冲数或脉冲频率
表6

下面是该功能块的计算公式:
2.4.3 Scale_ Pulse_EU
该块用于将一个脉冲量转化为一个位置量,因此它可用于将一段脉冲数转化为位移,或将一
个脉冲频率转化为速度。功能块如图7,功能描述见表7。
图 7
参数

类型    格式

单位

意义
E_Units
IN
REAL  mm /revol.

电机转一圈所产生的位移

Output

OUT  DINT

mm or mm/s
2.4.4 Q0_x_Home
功能块如图8,功能描述见表8。
图 8
 
 
 
 
 该功能块用于寻找参考点,在寻找过程的起始,电机首先以 Start_Dir 的方向,
Homing_Fast_Spd 的速度开始寻找;在碰到limit switch (_Fwd_Limit?or _Rev_Limi    后,减
速至停止,然后开始相反方向的寻找;当碰到参考点开关(input I0.0 with
Q0_1_Home: I0.1)的上升沿时,开始减速到 _Homing_Slow_ pd  。如果此时的方向与
_Final_Di ?   相同,则在碰到参考点开关下降沿时停止运动,并且将计数器HC0的计数值设为
_Position 中所定义的值。
 
 
 
如果当前方向与 _Final_Dir    不同,则必然要改变运动方向,这样就可以保证参考点始终在参
考点开关的同一侧(具体是那一侧取决于 _Final_Dir )。
 
 
 
寻找参考点的状态可以通过全局变量 _Homing State?   来监测,如表9:

Homing_State 的值
0
2
 
 
4
6
 
 
7 10

意义
参考点已找到
开始寻找
在相反方向,以 速度 Homing_Fast_Spd 继续寻找过程(在碰到限位
开关或参考点开关之后)
发现参考点,开始减速过程
在方向 Final_Dir ,以速度 Homing_Slow_Spd 继续寻找过程(在参
考点已经在 Homing_Fast_Spd 的速度下被发现之后)
故障(在两个限位开关之间并未发现参考点) 
2.4.5 Q0_x_MoveRelative
该功能块用于让轴按照指定的方向,以指定的速度,运动指定的相对位移。功能块如图9,
图 9
Direction

IN

BOOL   

( 0=反向,1=正向)

Done

OUT  BOOL   
表10

完成位(1=完成)

2.4.6 Q0_x_MoveAbsolute
该功能块用于让轴以指定的速度,运动到指定的绝对位置。功能块如图10,功能描述见表
11。
图 10

Done

OUT  BOOL   
表11

完成位(1=完成)

2.4.7 Q0_x_MoveVelocity 该功能块用于让轴按照指定的方向和频率运动,在运动过程中可对频率进行更改。功能块如图 11,
 
 
 
 
图 11
 
 
 
Velocity

IN

DINT

Pulse/sec.

Velocity_Max)
预置方向


Velocity_Max

IN

DINT

Pulse/sec.

最大频率

 
西门子S7-200定位库函数MAP使用说明
作者:自动化教研室    浏览 2511

Target_Location

+VD29

目标位置
减速因子 =(Velocity_SS ?Velocity_Max) /

Deceleration_factor  +VD33                        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.1 Q0_x_CTRL
该块用于传递全局参数,每个扫描周期都需要被调用。功能块如图5,功能描述见表5。
                                                                                图 5
 
参数             类型   格式     单位            意义
  
 
S7-200 PLC 脉冲输出MAP 库文件的使用
 
Application of S7-200 PTO MAP Lib
 


 目录
 
1  概述..............................................................4 
 
2 MAP库的应用......................................................5 
2.1 MAP库的基本描述                                    .......................................................................................................5     
2.2 输入输出点定义                                ...........................................................................................................7     
2.3 MAP库的背景数据块                                        ...................................................................................................7     
2.4 功能块介绍                         ..................................................................................................................8     
2.4.1 Q0_x_CTRL..........................................................................................................8     
2.4.2 Scale_EU_Pulse.................................................................................................10     
2.4.3 Scale_ Pulse_EU................................................................................................10     
2.4.4 Q0_x_Home........................................................................................................11     
2.4.5 Q0_x_MoveRelative............................................................................................12     
2.4.6 Q0_x_MoveAbsolute...........................................................................................13     
2.4.7 Q0_x_MoveVelocity............................................................................................14     
2.4.8 Q0_x_Stop..........................................................................................................15     
2.4.9 Q0_x_LoadPos...................................................................................................15     
2.5 校准              ...........................................................................................................................16    
2.6 寻找参考点的若干种情况                                             ...........................................................................................18     


1    概述
 
 
S7--200提供了三种方式的开环运动控制:
·  脉宽调制(PWM)--内置于S7--200,用于速度、位置或占空比控制。
·  脉冲串输出(PTO)--内置于S7--200,用于速度和位置控制。
·  EM253位控模块--用于速度和位置控制的附加模块。
 
 
 
S7?00  的内置脉冲串输出提供了两个数字输出通道(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
2 MAP库的应用
2.1 MAP 库的基本描述
现在,200系列 PLC 本体 PTO 提供了应用库MAP SERV Q0.0 和 MAP SERV Q0.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.648 to +2.147.483.647). ?
·  如果一个限位开关被运动物件触碰,则该运动物件会减速停止,因此,限位开关的安
置位置应当留出足够的裕量??Smin 以避免物件滑出轨道尽头。
  
图 3


  2.2 输入输出点定义
应用MAP库时,一些输入输出点的功能被预先定义,如表3所示:

名称
脉冲输出
方向输出
参考点输入
所用的高速计数器
高速计数器预置值
手动速度

MAP SERV Q0.0 Q0.0
Q0.2 I0.0 HC0 SMD 42 SMD 172
表3

MAP SERV Q0.1 Q0.1
Q0.3 I0.1 HC3 SMD 142 SMD 182

2.3 MAP 库的背景数据块
为了可以使用该库,必须为该库分配 68 BYTE(每个库)的全局变量,如图4所示:
 
                                                                        图 4
 
 下表是使用该库时所用到的最重要的一些变量(以相对地址表示),如表4:

符号名

相对地址

注释
默认值=0 意味着当运动物件已经到达预设地点
时,即使尚未减速到  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
开始减速
 
使用Q0_x_LoadPos时的故障信息(16#00 =
PTO0_LDPOS_Error +VB28              无故障, 16#FF = 故障)

 

Velocity_SS           IN         DINT        Pulse/sec.
启动/停止频率


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.2 Scale_EU_Pulse 该块用于将一个位置量转化为一个脉冲量,因此它可用于将一段位移转化为脉冲数,或将一
个速度转化为脉冲频率。功能块如图6,功能描述见表6。
  
                                                                                                      图 6
 
 

参数

类型    格式

单位

意义
Output

OUT  DINT

Pulse or pulse/s   转换后的脉冲数或脉冲频率
表6

下面是该功能块的计算公式:
2.4.3 Scale_ Pulse_EU
该块用于将一个脉冲量转化为一个位置量,因此它可用于将一段脉冲数转化为位移,或将一
个脉冲频率转化为速度。功能块如图7,功能描述见表7。
                                                                                                        图 7
参数

类型    格式

单位

意义
E_Units
IN
REAL  mm /revol.

电机转一圈所产生的位移

Output

OUT  DINT

mm or mm/s
2.4.4 Q0_x_Home
功能块如图8,功能描述见表8。
图 8
 
 
 
 
 该功能块用于寻找参考点,在寻找过程的起始,电机首先以 Start_Dir 的方向,
Homing_Fast_Spd 的速度开始寻找;在碰到limit switch (_Fwd_Limit?or _Rev_Limi    后,减
速至停止,然后开始相反方向的寻找;当碰到参考点开关(input I0.0 with
Q0_1_Home: I0.1)的上升沿时,开始减速到 _Homing_Slow_ pd  。如果此时的方向与
_Final_Di ?   相同,则在碰到参考点开关下降沿时停止运动,并且将计数器HC0的计数值设为
_Position 中所定义的值。
 
 
 
如果当前方向与 _Final_Dir    不同,则必然要改变运动方向,这样就可以保证参考点始终在参
考点开关的同一侧(具体是那一侧取决于 _Final_Dir )。
 
 
 
寻找参考点的状态可以通过全局变量 _Homing State?   来监测,如表9:

Homing_State 的值
0
2
 
 
4
6
 
 
7 10

意义
参考点已找到
开始寻找
在相反方向,以 速度 Homing_Fast_Spd 继续寻找过程(在碰到限位
开关或参考点开关之后)
发现参考点,开始减速过程
在方向 Final_Dir ,以速度 Homing_Slow_Spd 继续寻找过程(在参
考点已经在 Homing_Fast_Spd 的速度下被发现之后)
故障(在两个限位开关之间并未发现参考点) 
2.4.5 Q0_x_MoveRelative
该功能块用于让轴按照指定的方向,以指定的速度,运动指定的相对位移。功能块如图9,
图 9
Direction

IN

BOOL   

( 0=反向,1=正向)

Done

OUT  BOOL   
表10

完成位(1=完成)

2.4.6 Q0_x_MoveAbsolute
该功能块用于让轴以指定的速度,运动到指定的绝对位置。功能块如图10,功能描述见表
11。
图 10

Done

OUT  BOOL   
表11

完成位(1=完成)

2.4.7 Q0_x_MoveVelocity 该功能块用于让轴按照指定的方向和频率运动,在运动过程中可对频率进行更改。功能块如图 11,
 
 
图 11
 
 
 
Velocity

IN

DINT

Pulse/sec.

Velocity_Max)
预置方向

 

 

accel_dec_time  IN
REAL  sec.
最大加减速时间
Fwd_Limit              IN
BOOL   
正向限位开关
Rev_Limit              IN
BOOL   
反向限位开关

Direction                IN         BOOL   
(0=反向,1=正向)
 
故障标识
(0=无故障,1=立即停止,3=执行错

Error                      OUT  BYTE                      误)

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多