脉冲输出指令库用法.docx

上传人:b****9 文档编号:26291362 上传时间:2023-06-17 格式:DOCX 页数:21 大小:280.74KB
下载 相关 举报
脉冲输出指令库用法.docx_第1页
第1页 / 共21页
脉冲输出指令库用法.docx_第2页
第2页 / 共21页
脉冲输出指令库用法.docx_第3页
第3页 / 共21页
脉冲输出指令库用法.docx_第4页
第4页 / 共21页
脉冲输出指令库用法.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

脉冲输出指令库用法.docx

《脉冲输出指令库用法.docx》由会员分享,可在线阅读,更多相关《脉冲输出指令库用法.docx(21页珍藏版)》请在冰豆网上搜索。

脉冲输出指令库用法.docx

脉冲输出指令库用法

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

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:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1