Fonctionnement TCONT_CP (S7-300, S7-400) - PID

Fonctions de base PID (S7-300, S7-400)

ft:publication_title
Fonctions de base PID (S7-300, S7-400)
Product
PID
Version
V20
Publication date
11/2024
Language
fr-FR
Fonctionnement TCONT_CP

Branche de consigne

La consigne est spécifiée sous forme de valeur physique à virgule flottante ou sous forme de pourcentage à l'entrée SP_INT. La consigne et la mesure intervenant dans le calcul du signal d'écart doivent avoir la même unité.

Sélection de la mesure (PVPER_ON)

Le format de la mesure est choisi en fonction de PVPER_ON : périphérie ou virgule flottante.

PVPER_ON

Entrée de la mesure

TRUE

La mesure est lue à l'entrée PV_PER via la périphérie analogique (PEW xxx).

FALSE

La mesure est lue en format à virgule flottante à l'entrée PV_IN.

Conversion du format de la mesure CRP_IN (PER_MODE)

La fonction CRP_IN effectue la conversion de la valeur de périphérie PV_PER en un format à virgule flottante en fonction du commutateur PER_MODE en appliquant la règle suivante :

PER_MODE

Sortie de CRP_IN

Type d'entrée analogique

Unité

0

PV_PER * 0.1

Thermocouples ; PT100/NI100 ; standard

°C;°F

1

PV_PER * 0.01

PT100/NI100 ; climat ;

°C;°F

2

PV_PER * 100/27648

Tension / courant

%

Normalisation de la mesure PV_NORM (PF_FAC, PV_OFFS)

La fonction PV_NORM calcule la sortie de CRP_IN selon la règle suivante :

Sortie de PV_NORM = (sortie de CRP_IN) * PV_FAC + PV_OFFS

Domaine d'application de cette règle :

  • Conversion de la mesure avec PV_FAC comme facteur de mesure et PV_OFFS comme décalage de la mesure

  • Normalisation d'une température en pourcentage

    Vous souhaitez entrer la consigne sous forme de pourcentage et devez à présent convertir la valeur de température mesurée en pourcentage.

  • Normalisation d'un pourcentage en température

    Vous souhaitez entrer la consigne sous forme de la grandeur physique température et devez à présent convertir la valeur de tension/courant mesurée en température.

Calcul des paramètres :

  • PV_FAC = plage de PV_NORM/ plage de CRP_IN;

  • PV_OFFS = UG(PV_NORM) - PV_FAC * UG(CRP_IN);

    avec UG : Limite inférieure

Les valeurs par défaut (PV_FAC = 1.0 et PV_OFFS = 0.0) permettent de désactiver la normalisation. La mesure opérante est fournie à la sortie PV.

Remarque

Pour une régulation à impulsions, la mesure doit être transmise au bloc dans l'appel d'impulsion rapide (explication : calcul de la valeur moyenne). Dans le cas contraire, la qualité de la régulation risque de se détériorer.

Exemple de normalisation de la mesure

Si vous souhaitez spécifier la consigne sous forme d'un pourcentage et que la plage de températures est comprise entre -20 et 85 °C au niveau de CRP_IN, vous devez convertir la plage de température en pourcentage.

La figure suivante présente un exemple de conversion de la plage de température -20 à 85 ° à la plage interne 0 à 100 % :

Calcul du signal d'écart

Le signal d'écart précédant la zone morte correspond à la différence entre la consigne et la mesure.

La consigne et la mesure doivent avoir la même unité.

Zone morte (DEADB_W)

Le signal d'écart comprend une zone morte (DEADBAND) qui permet de neutraliser une oscillation continue de faible amplitude due à la quantification des grandeurs réglantes (p. ex. en cas de modulation de largeur d'impulsion PULSEGEN). Lorsque DEADB_W = 0.0, la zone morte est désactivée. Le signal d'écart effectif est indiqué par le paramètre ER.

Algorithme PID

La figure suivante représente le schéma fonctionnel de l'algorithme PID.

Interface de paramétrage

Interface d'appel instruction

Algorithme PID (GAIN, TI, TD, D_F)

L'algorithme PID fonctionne comme un algorithme de position. Les actions proportionnelle, par intégration (INT) et par dérivation (DIF) sont montées en parallèle et peuvent être activées et désactivées individuellement. Il est donc possible de paramétrer des régulateurs P, PI, PD et PID.

La fonction d'optimisation de la régulation prend en charge les régulateurs PI et PID. L'inversion de la régulation s'obtient par un GAIN négatif (refroidissement).

En mettant TI et TD à 0.0, vous obtenez un régulateur P pur au point de fonctionnement.

La réponse indicielle dans la plage de temps correspond à :

sachant que :

LMN_Sum(t) grandeur réglante lors du fonctionnement automatique du régulateur

ER (0) pas du signal d'écart normé

GAIN gain du régulateur

TI temps d'intégration

TD temps de dérivation

D_F facteur de dérivation

Intégrateur (TI, I_ITL_ON, I_ITLVAL)

En mode manuel, il correspond à : LMN_I = LMN - LMN_P - DISV.

En cas de limitation de la valeur de réglage, l'action I est arrêtée. Elle est à nouveau activée lorsque le signal d'écart rapproche l'action par intégration I de la plage de réglage interne.

Les mesures suivantes permettent également de modifier l'action par intégration I.

  • La désactivation de l'action par intégration I du régulateur s'obtient avec TI = 0.0

  • Atténuation de l'action proportionnelle P en cas de modification de la consigne

  • Plage de régulation

  • Les limites de la valeur de réglage peuvent être modifiées en ligne

Atténuation de l'action proportionnelle P en cas de modification de la consigne (PFAC_SP)

Pour éviter un dépassement, vous pouvez atténuer l'action proportionnelle P avec le paramètre "Coefficient d'action proportionnelle en cas de modification de la consigne" (PFAC_SP). PFAC_SP vous permet de sélectionner toute valeur comprise entre 0.0 et 1.0 pour spécifier l'importance de l'action proportionnelle P en cas de modification de la consigne :

  • PFAC_SP = 1.0 : en cas de modification de la consigne, l'action proportionnelle P est totalement opérante

  • PFAC_SP = 0.0 : en cas de modification de la consigne, l'action proportionnelle P n'est pas opérante

L'atténuation de l'action P s'obtient par compensation de l'action I.

Dérivateur (TD, D_F)

  • La désactivation de l'action D du régulateur s'obtient avec TD = 0.0

  • Lorsque l'action D est activée, il convient de respecter l'équation suivante :

    TD = 0.5 * CYCLE * D_F

Paramétrage d'un régulateur P ou PD avec point de fonctionnement

Dans l'interface de paramétrage, désactivez l'action par intégration I (TI = 0.0) et le cas échéant, l'action par dérivation D (TD = 0.0). Effectuez également le paramétrage suivant :

  • I_ITL_ON = TRUE

  • I_ITLVAL = point de fonctionnement ;

Action anticipatrice (DISV)

Vous pouvez additionner une grandeur perturbatrice à l'entrée DISV.

Calcul de la valeur de réglage

La figure suivante représente le schéma fonctionnel du calcul de la valeur de réglage :

Interface de paramétrage

Interface d'appel instruction

Interface de paramétrage, interface d'appel instruction

Plage de régulation (CONZ_ON, CON_ZONE)

Lorsque CONZ_ON = TRUE, le régulateur fonctionne avec une plage de régulation. Cela signifie que le régulateur fonctionne d'après l'algorithme suivant :

  • Si la mesure PV dépasse la consigne SP_INT de plus de CON_ZONE, la valeur LMN_LLM est fournie comme grandeur réglante.

  • Si la mesure PV est inférieure à la consigne SP_INT de plus de CON_ZONE, la valeur LMN_HLM est fournie comme grandeur réglante.

  • Si la mesure PV se situe dans la plage de régulation (CON_ZONE), la grandeur réglante prend la valeur de l'algorithme PID, LMN_Sum.

    Remarque

    Le changement de la grandeur réglante de LMN_LLM ou LMN_HLM sur LMN_Sum s'effectue en respectant un hystérésis de 20 % de la plage de régulation.

    Remarque

    Avant d'activer manuellement la plage de régulation, assurez-vous que sa largeur n'est pas trop petite. Si tel est le cas, la grandeur réglante et la mesure oscilleront.

Avantage de la plage de régulation

À l'entrée dans la plage de régulation, l'action D activée entraîne une réduction très rapide de la grandeur réglante. La plage de régulation n'est donc utile que lorsque l'action D est activée. Sans plage de régulation, seule la réduction de l'action proportionnelle P permettrait de réduire la grandeur réglante. La plage de régulation conduit plus rapidement à un régime transitoire sans sur ou sous-oscillation lorsque la grandeur réglante minimale ou maximale fournie est très éloignée de la grandeur réglante stationnaire qui est requise pour le nouveau point de fonctionnement.

Mode manuel (MAN_ON, MAN)

Vous pouvez choisir entre le mode manuel et le mode automatique. En mode manuel, la grandeur réglante est ajustée en fonction d'une valeur manuelle.

L'intégrateur (INT) est forcé de manière interne à LMN - LMN_P - DISV et le dérivateur (DIF) est forcé à 0 et égalisé de manière interne. Le passage au mode automatique s'effectue donc sans à-coups.

Remarque

Durant l'optimisation, le paramètre MAN_ON n'est pas actif.

Limitation de la valeur de réglage LMNLIMIT (LMN_HLM, LMN_LLM)

La fonction LMNLIMIT permet de limiter la valeur de réglage entre LMN_HLM et LMN_LLM. Les bits de signalisation QLMN_HLM et QLMN_LLM indiquent que les limites sont atteintes.

En cas de limitation de la valeur de réglage, l'action I est arrêtée. Elle est à nouveau activée lorsque le signal d'écart rapproche l'action par intégration I de la plage de réglage interne.

Modification en ligne des limites de la valeur de réglage

Lorsque le domaine de la valeur de réglage est réduit et lorsque la nouvelle valeur de réglage illimitée se trouve hors des limites, l'action par intégration I et donc la valeur de réglage sont décalées.

La valeur de réglage est diminuée de la modification de sa limite. Si la valeur de réglage était illimitée avant la modification, elle prend exactement la valeur de la nouvelle limite (dans le cas présent, la description est faite pour la limite supérieure de la valeur de réglage).

Normalisation de la valeur de réglage LMN_NORM (LMN_FAC, LMN_OFFS)

La fonction LMN_NORM normalise la valeur de réglage d'après la règle suivante :

LMN = LmnN * LMN_FAC + LMN_OFFS

Domaine d'application de cette règle :

  • Conversion de la valeur de réglage avec LMN_FAC comme facteur de valeur de réglage et LMN_OFFS comme décalage de valeur de réglage

La valeur de réglage est également disponible en format périphérie. La fonction CRP_OUT convertit la valeur LMN à virgule flottante en une valeur de périphérie d'après la règle suivante :

LMN_PER = LMN * 27648/100

Les valeurs par défaut (LMN_FAC = 1.0 et LMN_OFFS = 0.0) permettent de désactiver la normalisation. La valeur de réglage effective est fournie à la sortie LMN.

Sauvegarder les paramètres de régulation SAVE_PAR

Si vous estimez que les paramètres actuels pourront resservir, enregistrez-les dans des paramètres de structure spécialement prévus à cet effet dans le DB d'instance de l'instruction TCONT_CP avant de les modifier manuellement. Au cours de l'optimisation du régulateur, les paramètres enregistrés sont remplacés par les valeurs qui étaient valables avant l'optimisation.

PFAC_SP, GAIN, TI, TD, D_F, CONZ_ON et CONZONE sont écrits dans la structure PAR_SAVE.

Rechargement des paramètres enregistrés du régulateur UNDO_PAR

Les derniers paramètres de régulation sauvegardés peuvent à nouveau être activés avec cette fonction (uniquement en mode manuel).

Changement entre les paramètres PI et PID, LOAD_PID (PID_ON)

Après une optimisation, les paramètres PI et PID sont enregistrés dans les structures PI_CON et PID_CON. En mode manuel, vous pouvez remplacer les paramètres actifs par les paramètres PI ou PID avec LOAD_PID et en fonction de PID_ON.

Paramètre PID PID_ON = TRUE

Paramètres PI PID_ON = FALSE

  • GAIN = PID_CON.GAIN

  • TI = PID_CON.TI

  • TD = PID_CON.TD

  • GAIN = PI_CON.GAIN

  • TI = PI_CON.TI

Remarque

Les paramètres du régulateur ne peuvent être restitués avec UNDO_PAR ou LOAD_PID que si le gain du régulateur est différent de zéro :

les paramètres de LOAD_PID ne peuvent être copiés qu'à condition que GAIN <> 0 (paramètres provenant des jeux PI ou PID). Ceci permet de tenir compte du cas où aucune optimisation n'a été faite ainsi que de l'absence éventuelle de paramètres PID. Si PID_ON = TRUE et PID.GAIN = FALSE, PID_ON prend la valeur FALSE et les paramètres PI sont copiés.

  • D_F, PFAC_SP sont présélectionnés automatiquement du fait de l'optimisation. Elles peuvent ensuite être modifiées par l'utilisateur. LOAD_PID ne modifie pas ces paramètres.

  • Avec LOAD_PID, la plage de régulation est systématiquement recalculée

    (CON_ZONE = 250/GAIN), même si CONZ_ON = FALSE.