Ramp with acc/deceleration time in ms

已锁定

garbage

  • 帖子

    18
  • 精华

    2
  • 被关注

    0

论坛等级:新手

注册时间:2004-10-05

普通 普通 如何晋级?

Ramp with acc/deceleration time in ms

625

0

2004-10-05 21:52:28

FUNCTION "RAMPE_1" : VOID
TITLE ="Ramp with acc/deceleration time in ms"
AUTHOR : BenBen
VERSION : 1.1


VAR_INPUT
VALID : BOOL ; //Validation
T_CYCLE : REAL ; //Cycle time (ms)
MAXI_OUT : REAL ; //Maximum output
T_ACCEL : REAL ; //Acceleration time (ms)
T_DECEL : REAL ; //Deceleration time (ms)
Setpoint : REAL ; //Input
END_VAR
VAR_OUTPUT
ZERO : BOOL ; //Output ramp at zero
AV : BOOL ; //Output ramp positive
AR : BOOL ; //Output ramp negative
END_VAR
VAR_IN_OUT
OUT : REAL ; //Output ramp
END_VAR
VAR_TEMP
T_ACC : REAL ; //Temps acc閘閞ation en cours
T_DEC : REAL ; //Temps d閏閘閞ation en cours
END_VAR
BEGIN
NETWORK
TITLE =
//*********************** TEST DES PARAMETRES D'ENTREE ********************
A #VALID; // Si rampe valid閑
A( ;
L #T_CYCLE; // et temps de cycle > 0
L 0.000000e+000;
>R ;
) ;
A( ;
L #T_ACCEL; // temps accel > 0
L 0.000000e+000;
>R ;
) ;
A( ;
L #T_ACCEL; // temps de decel > 0
L 0.000000e+000;
>R ;
) ;
A( ;
L #MAXI_OUT; // maxi de la sortie > 0
L 0.000000e+000;
>R ;
) ;
JC M12; // alors OK et saut en M12
L 0.000000e+000; // sinon 0 dans la sortie
T #OUT;
JU M001;
//
// ************************* LIMITATION DE LA CIBLE AU MAXI ******************
M12: L #Setpoint;
L #MAXI_OUT;
JC M007;
L #MAXI_OUT; // transfert maxi dans cible
T #Setpoint;
JU M002;
M007: NOP 0;
L #MAXI_OUT;
L -1.000000e+000;
*R ;
L #Setpoint;
JC M002;
TAK ;
T #Setpoint; // transfert - maxi dans cible
// ****************************** TEST SI CIBLE = SORTIE *************************
M002: L #Setpoint; // si cible
L #OUT; // == sortie
==R ;
JC M001; // alors saut
//
// *************** CHOIX DES TAUX ACCEL ET DECEL SELON SIGNE DE LA SORTIE **********
A( ;
L #OUT; //Si sortie
L 0.000000e+000; //est negative
) ;
JC M005;
L #T_ACCEL; // si sortie positive alors
T #T_ACC; // pas d'inversion des taux
L #T_DECEL;
T #T_DEC;
JU M006;
M005: NOP 0; // si sortie n間ative alors
L #T_DECEL; // on inverse les taux accel et decel
T #T_ACC;
L #T_ACCEL;
T #T_DEC;
//
//****************************** CHOIX DU SENS *******************************
M006: NOP 0;
L #Setpoint;
L #OUT; // si cible < sortie
JC DEC; // alors saut ?DEC
//
NOP 0; //******** ACCELERATION *********
L #T_CYCLE; // (T_CYCLE * MAXI_OUT)/(T_0_MAX)
L #MAXI_OUT; // + OUT ---> OUT
*R ;
L #T_ACC;
/R ;
L #OUT;
+R ;
T #OUT;
//
L #Setpoint; // Si OUT > CIBLE
JC M001; // Alors saut en M001
L #Setpoint; // sinon CIBLE ---> OUT
T #OUT;
JU M001;
//
DEC: NOP 0; //******** DECELERATION *********
L #T_CYCLE; // (T_CYCLE * MAXI_OUT)/(T_MAX_0)
L #MAXI_OUT; // - OUT ---> OUT
*R ;
L #T_DEC;
/R ;
L -1.000000e+000;
*R ;
L #OUT;
+R ;
T #OUT;
//
L #Setpoint; // Si OUT < CIBLE
>R ;
JC M001; // Alors saut en M001
L #Setpoint; // sinon CIBLE ---> OUT
T #OUT;
//
// ****************************** SORTIES ZERO/ AV/ AR ***********************
M001: NOP 0;
L #OUT;
L 0.000000e+000; // Si sortie > 0 alors saut en M003
>R ;
JC M003;
JC M004;
S #ZERO; // Sinon ZERO = vrai
R #AV; // AV = faux
R #AR; // AR = faux
JU FIN;
M003: NOP 0;
R #ZERO; // ZERO = faux
S #AV; // AV = vrai
R #AR; // AR = faux
JU FIN;
M004: NOP 0;
R #ZERO; // ZERO = faux
R #AV; // AV = faux
S #AR; // AR = vrai
FIN: NOP 0;
END_FUNCTION

Ramp with acc/deceleration time in ms 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。