IPL FB介绍

<< 点击显示目录 >>

主页  轴控开发使用手册 > 轴控应用 > 18.ACOPOS功能块 >

IPL FB介绍

 

1.基本信息

编写人

穆珊珊

审核人

(检查,测试,注释)

应用归属

运动控制

软件信息

 

硬件信息


其他

 

版本信息

修改内容

修改人

V1.00

创建

穆珊珊

 

 

 

 

2. 简介

IPL:插补器

该功能块可以实现采样系统的可变调整。使用已有数据x(tn)来生成额外数据y(ti)。例如,这就是设定值如何从PLC任务周期调整为ACOPOS周期。

该功能块最常用的是在主站周期不能设置为400us的情况下,通过POWERLINK网络来输入设定值。

 

3. ParID

ParID名字

缩写

访问方式

数据类型

数据范围

初始值

描述

IPL_MODE

m

WR

UI2

0,1,2,4

0

功能模式,激活功能块

0…关闭

1…线性插补

2…二次插补

3…二次插补,无过冲,延迟增加(起始版本V3.110)

IPL_IN_PARID

*x

RD,WR

UI2

<ParID>,0

0

输入的ParID(指向输入值)

IPL_EV_PARID

*e

RD,WR

UI2

<ParID>,0

0

事件输入的ParID,检测输入的改变和速率(指向事件,整数类型)

IPL_CYCLE_TIME

Tm

RD,WR

UI4

n*400

400

输入值产生的循环周期[us]

400的整数倍,最大50000000

IPL_EXTRAPOLATION_TIME

Te

RD,WR

UI4

0, n*400

0

外推时间[us]

0或400的整数倍,最大50000000

IPL_VALUE_I4

yi

RD

I4

 

0

整数结果(输出)

IPL_VLAUE_R4

yf

RD

R4

 

0.0

浮点数结果(输出)

 

Ta:IPL循环时间,ACOPOS是400us,ACP10SDC和ACP10SIM是相应的任务等级循环时间。

4. 功能

clip0194

模式0:关闭

将m置为0,可以将功能块关闭。当前输出值将保持。

注意:一般来说,这样会引起斜率跳变到0(因此,当输入值是激活的“运动”时,输出端的速度会跳变为0)。

 

模式1:线性插补

功能块使能时(0 -> 1),当前输入值直接输出到输出端。在Ta时刻,对输入变化进行线性插补,然后延迟后输出到输出端。在恒速下,延迟时间是(Tm-Ta)。

如果事件输入端在Tm时间后没有改变,输出会线性外推。Te时间后,外推结束并“冻结”输出值。

下图给出了输出值yi和二次正弦输入xi及相应的导数vi的图形。

clip0195

 

模式2:二次插补

功能块使能时(0 -> 2),当前输入值直接输出到输出端。输入在Ta时刻经过二次插补延迟输出到输出端。在恒速下,延迟时间是(Tm-Ta)。

如果在Tm时间后没有值事件改变,输出会执行二次插补直到Te。

下图给出了输出值yi和二次正弦输入xi及相应的导数vi的图形。

clip0196

 

模式4:二次插补,无过冲,延迟增加

与模式2的区别:即使在加速度很大的情况下,输出也没有过冲。但是恒速下的延迟时间会增加到(Tm-Ta+(Tm-Ta)/2)。

clip0197

 

循环时间IPL_CYCLE_TIME

参数Tm定义了循环时间,在每个Tm时间点会生成输入数据,以及发生事件输入的改变。例如,Tm可能是生成输入数据的PLC任务的循环时间。如果Tm设置不正确,那么就会有不必要的延迟时间或信号失真。

 

结果:

结果以两种方式输出。

1.以整型/位置值输出:IPL_VALUE_I4。

使用INT32溢出。整数部分和小数部分会发生调整,小数部分在内部,但是没有对应的ParID。

 

2.以浮点数输出:IPL_VALUE_R4

没有限制或溢出调整。

 

注意:浮点型输入值没有INT32溢出处理,输出值只在INT32类型的一半范围内有效。

 

5. 限制

不允许在线修改参数

当功能块使能时不允许修改参数(只有mode为0时允许修改)。

如果功能块不使用事件输入会产生插补时间过冲:

如果不使用IPL_EV_PARID,那么只有在检测到x发生改变时才会确定输入值。如果输入值丢失或是常值输入,那么输出值是插补出来的。输出值在超过插补时间后会“冻结”。因此,IPL功能块应该使用事件输入端和尽可能小的插补时间。

为了补偿ACOPOS和PLC之间的时间不同步和抖动,有必要使用插补。

 

6. 例子

控制器通过网络每4ms给ACOPOS发送一次数据(“循环用户通道”数据到/从驱动器)。所控制的运动应该保持一定的速度和加速度限制。

为了达到要求,从网络获得的4ms的阶梯式位置信息需要使用IPL功能块按400us进行插补。然后从IPL功能块获得的“平滑”的输出值应用于设定值发生器的循环位置输入,这样才能达到要求的限制。

clip0198

 

clip0199

 

问题:该功能测试后,模式1和2一样,都有大的延迟,按帮助所说,模式一应该没有延迟才对。

clip0200

程序中,使用了PLCopen往VAR_I4_0写数据,效果是一样的,伺服接收数据也有计数,见下图。

clip0201