Comment pouvons-nous aider ?
PID
Le PID est le contrôle proportionnel, intégralet dérivé. Il est très couramment utilisé dans le contrôle des processus, le contrôle du chauffage et le contrôle des mouvements. La fonction PID calcule la valeur de l' »erreur » entre une variable de processus mesurée et le point de consigne souhaité. Elle ajuste une sortie pour tenter de minimiser l’erreur. Cet ajustement se produit à intervalles réguliers. Chaque fois qu’un ajustement est effectué, il prend en compte l’ampleur de l’erreur (Proportionnel), le total accumulé de l’erreur dans le temps (Intégral) et le taux de variation de l’erreur (Dérivé).
Dans vBuilder, le contrôle PID est une tâche d’arrière-plan. Cela signifie que vous le démarrez et qu’il continuera à fonctionner en arrière-plan, en calculant constamment l’erreur, en l’intégrant et en déterminant son taux de variation et en mettant à jour la sortie en fonction de ces facteurs combinés aux constantes que vous avez définies. Vous ne devez donc pas appeler l’outil PID à chaque cycle de l’API. Ne l’appelez que pour modifier les paramètres.
Une fois lancé, le PID fonctionnera jusqu’à ce qu’il soit mis en pause. Si vous êtes novice en matière de PID, vous trouverez une bonne description du PID sur Wikipedia.
L’équation de base du PID utilisée dans la fonction PID de vBuilder est la suivante : O = P*E I * ∫ E dt D * ΔE/dt où :
- O : Sortie
- P : constante proportionnelle (parfois appelée gain)
- I : Constante intégrale (parfois appelée Reset)
- D : Constante dérivée (parfois appelée taux)
- E : Erreur
- dt : changement dans le temps

Démarrer/Continuer
Le PID ne doit être démarré qu’une seule fois. Il continuera à fonctionner jusqu’à ce qu’il soit mis en pause. Start/Continue utilise les paramètres suivants :
- Sortie : C’est ce que le PID ajuste réellement. La sortie doit avoir un impact direct sur la valeur de la variable de procédé. Par exemple, une vanne papillon contrôlant l’alimentation en gaz des brûleurs d’une chaudière a un impact direct sur la température de la chaudière.
- Output Max : valeur maximale autorisée pour la sortie. Quel que soit le résultat du calcul PID, la sortie sera limitée à cette valeur. [tout type de variable sauf Bit et ui8]
- Output Min : La valeur minimale autorisée pour la sortie. Quel que soit le résultat du calcul PID, la sortie ne peut être inférieure à cette valeur. [tout type de variable sauf Bit et ui8]
- Variable de processus : Il s’agit de la mesure du paramètre que vous essayez de contrôler.
- Point de consigne : Il s’agit de la valeur souhaitée de la variable de processus à ce moment précis
- Input Max : valeur maximale de la mesure de la variable de processus qui sera utilisée pour le calcul du PID. Si la mesure réelle dépasse cette valeur, c’est cette valeur qui sera utilisée.
- Input Min : La valeur minimale de la mesure de la variable de processus qui sera utilisée pour le calcul du PID. Si la mesure réelle est inférieure à cette valeur, c’est cette valeur qui sera utilisée.
- Proportionnel : Le multiplicateur constant de l’erreur.
- Intégrale : Le multiplicateur constant de l’intégrale de l’erreur.
- Dérivée : Le multiplicateur constant de la dérivée de l’erreur.
- Taux d’échantillonnage : Temps écoulé entre chaque calcul/ajustement PID, en millisecondes.
- Biais de gel : Il s’agit d’une option sélectionnable. Si elle est sélectionnée, elle est utilisée pour limiter l’impact de la partie intégrale de l’équation à la totalité de la plage de sortie. Cela permet d’éviter une réaction excessive après une période pendant laquelle un facteur a empêché le contrôle réel de la variable de processus [ce qui pourrait entraîner une valeur intégrale élevée].
Lorsque vous démarrez un PID, il continue à fonctionner à la fréquence d’échantillonnage définie, en arrière-plan. En d’autres termes, une fois que vous l’avez démarré, vous n’avez pas besoin de continuer à exécuter les blocs Start/Continue du PID pour le faire fonctionner. Il n’y a pas de problème si vous le faites. Ce n’est tout simplement pas nécessaire.
Pause
Un bloc PID Pause arrête le fonctionnement du PID. Sélectionnez la variable de sortie du PID que vous souhaitez mettre en pause, comme indiqué ici.
Réinitialisation
Une réinitialisation de PID fixe la valeur intégrale à la valeur requise pour produire une sortie égale à la valeur de réinitialisation. C’est ce que vous devez faire lorsque vous démarrez un PID. La fonction Démarrer/Continuer n’initialise pas la valeur intégrale, car elle ne sait pas s’il s’agit d’un démarrage réel ou d’une continuation. Lorsque vous placez une réinitialisation de PID dans un organigramme, sélectionnez la variable de sortie du PID que vous souhaitez réinitialiser, comme indiqué ici. Sélectionnez la valeur de la sortie du PID pour démarrer le PID.
PID avec sortie numérique ?
Il n’est pas utile de connecter un PID à une sortie numérique, car le PID produit un signal continu (et non discret). Vous devez trouver un moyen de rendre cette sortie continue pertinente pour les composants matériels. Le plus souvent, on utilise la modulation de largeur d’impulsion (PWM), qui permet d’activer la sortie pendant une durée variable en fonction de la sortie du PID. Cependant, certains composants matériels n’apprécient pas d’être activés et désactivés rapidement, il peut donc être nécessaire de limiter la vitesse à laquelle la vanne commute (en faisant fonctionner la boucle de contrôle à une faible fréquence). https://www. support.aceautomation.eu/knowledge-base/subroutines-to-download-for-vbuilder/ Voir « Conversion PID vers PWM » Avec la sortie numérique, vous perdez une partie de l’avantage du PID. Vous devez comparer la sortie pour la marche/arrêt avec le point de consigne. En fait, il faut souvent un cycle marche/arrêt long pour protéger les composants matériels.
Un peu d’histoire pour comprendre le principe de la régulation
| Imaginez que vous conduisiez votre voiture sur l’autoroute et que vous souhaitiez stabiliser votre vitesse à 130 km/h. En pratique, vous pouvez le faire sans avoir besoin d’un régulateur. Dans la pratique, vous pouvez le faire sans trop de difficultés. Dans cet exemple, il est important de comprendre comment votre esprit régule intuitivement votre vitesse. | ![]() |
L’action proportionnelle
Tout d’abord, la chose la plus intuitive que vous fassiez lorsque vous voulez rouler à une certaine vitesse sur l’autoroute est de vous dire : « plus je roule lentement par rapport à la vitesse que je veux atteindre, plus j’appuie sur la pédale d’accélérateur ». La pression sur l’accélérateur est donc proportionnelle à l’erreur commise. C’est-à-dire proportionnelle à la différence entre la vitesse souhaitée et la vitesse réelle. Avec cette méthode, si vous êtes à 50 km/h, vous appuyez à fond sur la pédale d’accélérateur. Votre vitesse augmente rapidement et se rapproche de la limite de vitesse. Lorsque la vitesse atteint 130 km/h, l’erreur devient nulle et vous relâchez l’accélérateur. En raison de l’effet d’inertie de la voiture, vous avez alors dépassé la vitesse fixée. Lorsque vous relâchez l’accélérateur, la voiture commence à ralentir jusqu’à ce qu’elle retombe en dessous de la vitesse programmée. Vous recommencez donc à appuyer sur l’accélérateur, puis de plus en plus pour essayer d’atteindre 130 km/h. Finalement, vous parvenez à stabiliser votre vitesse à une vitesse inférieure à celle que vous avez choisie, disons 120 km/h.
|
L’action proportionnelle permet d’influencer la vitesse de réponse du processus. Plus le gain est élevé, plus la réponse est rapide, plus l’erreur statique est faible (en proportionnel pur), mais plus la stabilité se dégrade. Il faut donc trouver un bon compromis entre la vitesse et la stabilité.
|
![]() |
Action intégrale
C’est alors que l’on se dit : « Merde ! Je n’arrive pas à obtenir la vitesse que je veux. Il faut que je rajoute une règle à mon raisonnement ! » . Vous décidez alors que si votre vitesse reste longtemps inférieure à l’objectif, vous accélérerez de plus en plus. Vous décidez donc qu’en plus d’accélérer proportionnellement à l’erreur commise, vous devez mémoriser cette erreur dans le temps. Plus l’erreur globale est importante, plus vous accélérez. Ainsi, lorsque vous stabilisez votre vitesse à 120km/h, l’erreur globale augmente et vous commencez à appuyer de plus en plus fort sur l’accélérateur jusqu’à atteindre 130km/h. et la dépasser ! En effet, à 130km/h, l’erreur globale est positive, vous continuez donc à appuyer sur l’accélérateur. Une fois que vous avez atteint 130km/h, l’erreur est négative et donc l’erreur globale diminue. Vous levez donc le pied de l’accélérateur de plus en plus fort jusqu’à ce que vous reveniez à 130 km/h. À 130 km/h, l’erreur est à nouveau négative et vous continuez à décélérer. Vous accélérez donc encore et encore jusqu’à ce que vous vous stabilisiez à 130 km/h après de multiples oscillations.
|
L’action intégrale annule l’erreur statique (la différence entre la mesure et le point de consigne). Plus l’action intégrale est élevée (TI petite), plus la réponse est rapide et moins la stabilité est bonne. Là encore, il faut trouver un bon compromis entre vitesse et stabilité.
|
![]() |
Action dérivée
|
L’action dérivée est anticipative. Elle ajoute un terme qui prend en compte le taux de variation de l’écart. Cela permet d’anticiper en accélérant la réponse du processus lorsque l’écart augmente. Au contraire, elle la ralentit lorsque l’écart diminue. Plus l’action dérivée (Td) est élevée, plus la réponse est rapide. Là encore, un bon compromis doit être trouvé entre rapidité et stabilité.
|
![]() |
Comment régler un PID ? (Proportionnel, Intégral, Dérivé)
Méthode manuelle de réglage des paramètres du PID
- Régler les valeurs Intégrale (I) et Dérivée (D) à zéro.
- Augmentez ensuite le gain proportionnel (P) jusqu’à ce que la sortie oscille.
- Augmenter ensuite le gain intégral jusqu’à ce que l’oscillation s’arrête.
Autre méthode n°1
- Régler les valeurs Intégrale (I) et Dérivée (D) à zéro.
- Augmenter la valeur proportionnelle à 100,0
- Augmenter la valeur intégrale à 100
- Diminuer lentement la valeur intégrale et observer la réponse du système
- Puisque le système sera maintenu autour du point de consigne, modifiez le point de consigne et vérifiez si le système se corrige dans un délai acceptable. Si ce n’est pas le cas ou si vous souhaitez une réponse rapide, continuez à abaisser la valeur intégrale.
- Si le système recommence à osciller, enregistrez la valeur intégrale et augmentez-la à 100. Tout comme moi, vous avez été un peu trop gourmand en essayant d’obtenir la réponse la plus rapide.
Autre méthode n°2
Une méthode plus simple pour déterminer manuellement les valeurs P, I et D consiste à désactiver les termes intégral et dérivé et à régler la bande proportionnelle au minimum. La largeur d’oscillation Xosc et la période d’oscillation tosc qui en résultent peuvent être utilisées pour déterminer les paramètres PID indiqués ci-dessous. P = 2,0 * Xosc I = 1,5 * tosc D = I / 5 Ces valeurs entraînent une réponse légèrement suramortie et toutes les valeurs peuvent donc être légèrement réduites pour obtenir une boucle plus réactive.



