S7-200 PLC 脉冲输出MAP 库文件的使用(步进伺服控制入门)

更新时间:2024-03-27 04:44:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目录

1 概述 .............................................................................................................................................. 1 2 MAP库的应用 ............................................................................................................................... 2

2.1 MAP库的基本描述 ............................................................................................................ 2 2.2 输入输出点定义 ................................................................................................................ 4 2.3 MAP库的背景数据块 ........................................................................................................ 4 2.4 功能块介绍 ........................................................................................................................ 6

2.4.1 Q0_x_CTRL ............................................................................................................... 6 2.4.2 Scale_EU_Pulse ........................................................................................................ 6 2.4.3 Scale_ Pulse_EU ....................................................................................................... 7 2.4.4 Q0_x_Home ............................................................................................................. 8 2.4.5 Q0_x_MoveRelative ................................................................................................. 9 2.4.6 Q0_x_MoveAbsolute .............................................................................................. 10 2.4.7 Q0_x_MoveVelocity ............................................................................................... 10 2.4.8 Q0_x_Stop .............................................................................................................. 11 2.4.9 Q0_x_LoadPos ........................................................................................................ 12

2.5 校准 ................................................................................................................................. 12 2.6 寻找参考点的若干种情况 .............................................................................................. 14

1 概述

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

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所示:

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

MAP SERV Q0.0 Q0.0 Q0.2 I0.0 HC0 SMD 42 SMD 172 MAP SERV Q0.1 Q0.1 Q0.3 I0.1 HC3 SMD 142 SMD 182 2.3 MAP库的背景数据块

为了可以使用该库,必须为该库分配 68 BYTE(每个库)的全局变量,如图4所示:

图4

下表是使用该库时所用到的最重要的一些变量(以相对地址表示),如表4:

符号名 Disable_Auto_Stop Dir_Active_Low Final_Dir Tune_Factor Ramp_Time Max_Speed_DI SS_Speed_DI Homing_State Homing_Slow_Spd Homing_Fast_Spd Fwd_Limit Rev_Limit Homing_Active C_Dir Homing_Limit_Chk Dec_Stop_Flag PTO0_LDPOS_Error Target_Location Deceleration_factor 相对地址 注释 默认值=0意味着当运动物件已经到达预设地点+V0.0 时,即使尚未减速到Velocity_SS,依然停止运动; =1时则减速至Velocity_SS时才停止 方向定义,默认值 0 = 方向输出为1时表示正+V0.1 向。 +V0.2 寻找参考点过程中的最后方向 +VD1 调整因子(默认值=0) +VD5 Ramp time = accel_dec_time(加减速时间) +VD9 最大输出频率 = Velocity_Max +VD13 最小输出频率 = Velocity_SS +VB18 寻找参考点过程的状态 +VD19 寻找参考点时的低速(默认值 = Velocity_SS) 寻找参考点时的高速(默认值 = +VD23 Velocity_Max/2) +V27.1 正向限位开关 +V27.2 反向限位开关 +V27.3 寻找参考点激活 +V27.4 当前方向 +V27.5 限位开关标志 +V27.6 开始减速 使用Q0_x_LoadPos时的故障信息(16#00 = 无+VB28 故障, 16#FF = 故障) +VD29 目标位置 +VD33 减速因子 =(Velocity_SS – Velocity_Max) /

SS_Speed_real Est_Stopping_Dist 表4

+VD37 +VD41 accel_dec_time (格式: REAL) 最小速度 = Velocity_SS (格式: REAL) 计算出的减速距离 (格式: DINT) 2.4 功能块介绍

下面逐一介绍该库中所应用到的程序块。这些程序块全部基于PLC-200 的内置PTO输出,完成运动控制的功能。此外,脉冲数将通过指定的高速计数器 HSC 计量。通过 HSC 中断计算并触发减速的起始点。

2.4.1 Q0_x_CTRL

该块用于传递全局参数,每个扫描周期都需要被调用。功能块如图5,功能描述见表5。

图5

参数 Velocity_SS Velocity_Max accel_dec_time Fwd_Limit Rev_Limit C_Pos 类型 IN IN IN IN IN OUT 意义 启动/停止频率,必须是大于零的DINT Pulse/sec. 数 DINT Pulse/sec. 最大频率 REAL sec. 最大加减速时间 BOOL 正向限位开关 BOOL 反向限位开关 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

参数 Input Pulses E_Units Output 类型 IN IN IN OUT 格式 REAL DINT REAL DINT 单位 mm or mm/s Pulse /revol. mm /revol. Pulse or pulse/s 表6

意义 欲转换的位移或速度 电机转一圈所需要的脉冲数 电机转一圈所产生的位移 转换后的脉冲数或脉冲频率 下面是该功能块的计算公式:

2.4.3 Scale_ Pulse_EU

该块用于将一个脉冲量转化为一个位置量,因此它可用于将一段脉冲数转化为位移,或将一个脉冲频率转化为速度。功能块如图7,功能描述见表7。

图7

参数 Input Pulses E_Units Output 表7

类型 IN IN IN OUT 格式 REAL DINT REAL DINT 单位 Pulse or pulse/s Pulse /revol. mm /revol. mm or mm/s 意义 欲转换的脉冲数或脉冲频率 电机转一圈所需要的脉冲数 电机转一圈所产生的位移 转换后的位移或速度 下面是该功能块的计算公式:

2.4.4 Q0_x_Home

功能块如图8,功能描述见表8。

图8

参数 类型 EXECUTE IN Position IN Start_Dir Done Error IN OUT OUT 格式 BOOL DINT BOOL BOOL BOOL 单位 Pulse 表8

意义 寻找参考点的执行位 参考点的绝对位移 寻找参考点的起始方向 (0=反向,1=正向) 完成位(1=完成) 故障位(1=故障) 该功能块用于寻找参考点,在寻找过程的起始,电机首先以Start_Dir的方向,Homing_Fast_Spd的速度开始寻找;在碰到limit switch (“Fwd_Limit” or “Rev_Limit”)后,减速至停止,然后开始相反方向的寻找;当碰到参考点开关(input I0.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 10 表9

发现参考点,开始减速过程 在方向 Final_Dir ,以速度 Homing_Slow_Spd 继续寻找过程(在参考点已经在 Homing_Fast_Spd 的速度下被发现之后) 故障(在两个限位开关之间并未发现参考点) 2.4.5 Q0_x_MoveRelative

该功能块用于让轴按照指定的方向,以指定的速度,运动指定的相对位移。功能块如图9,功能描述见表10。

图9

参数 类型 EXECUTE IN Num_Pulses IN Velocity Direction Done 表10

格式 BOOL DINT DINT BOOL BOOL 单位 Pulse Pulse/sec. IN IN OUT 意义 相对位移运动的执行位 相对位移(必须>1) 预置频率 (Velocity_SS<= Velocity <= Velocity_Max) 预置方向 (0=反向,1=正向) 完成位(1=完成) 2.4.6 Q0_x_MoveAbsolute

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

图10

参数 类型 EXECUTE IN Position IN Velocity Done IN OUT 格式 BOOL DINT DINT BOOL 单位 Pulse Pulse/sec. 表11

意义 绝对位移运动的执行位 绝对位移 预置频率 (Velocity_SS<= Velocity <=Velocity_Max) 完成位(1=完成) 2.4.7 Q0_x_MoveVelocity

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

图11

参数 类型 EXECUTE IN Velocity IN 格式 BOOL DINT 单位 Pulse/sec. 意义 执行位 预置频率

Direction Error C_Pos IN OUT OUT BOOL BYTE DINT Pulse 表12

(Velocity_SS<= Velocity <= Velocity_Max) 预置方向 (0=反向,1=正向) 故障标识 (0=无故障,1=立即停止,3=执行错误) 当前绝对位置 注意:Q0_x_MoveVelocity 功能块只能通过 Q0_x_Stop block 功能块来停止轴的运动。如图12:

图12

2.4.8 Q0_x_Stop

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

图13

参数 类型 EXECUTE IN Done OUT 格式 BOOL BOOL 单位 意义 执行位 完成位(1=完成) 表13

2.4.9 Q0_x_LoadPos

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

图14

参数 EXECUTE New_Pos Done Error C_Pos 类型 IN IN OUT OUT OUT 格式 BOOL DINT BOOL BYTE DINT 单位 Pulse Pulse 表14

意义 设置绝对位置的执行位 预置绝对位置 完成位(1=完成) 故障位(0=无故障) 当前绝对位置 注意:使用该块将使得原参考点失效,为了清晰地定义绝对位置,必须重新寻找参考点。

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

MAP Serve 库的下载方法: 根据下面的链接进入产品支持网站:

/cs/document/26513850?caller=view&lc=en-CN 网页如下所示:

在搜索关键字中输入文档编号“26513850”,进入下面的网页:

选择下载 MAP 参考文档(English)SERV_MAP_e.pdf 和库文件 SERV MAP.zip。 关键词

S7-200 PLC;脉冲输出;MAP

本文来源:https://www.bwwdw.com/article/nw9r.html

Top