slts,
demande à "djé" de t"expliquer le PID comme intégrateur seul, car moi au bout de 3 lignes d'écriture je suis déjà épuisé; lol
Augmenter le temps de réponse d'un signal - SoMachine Basic
- itasoft
- Mi homme - Mi automate
- Messages : 7037
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Augmenter le temps de réponse d'un signal - SoMachine Basic
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
- djé
- Dieu du process
- Messages : 776
- Inscription : 20 oct. 2015, 09:55
- Localisation : Bretagne, Pays de la Loire, Nantes
Re: Augmenter le temps de réponse d'un signal - SoMachine Basic
Salut,
Comme déjà dit je ne connais pas SoMachinBidule et son PID.
De manière générale un PID donne en sortie après traitement une action Proportionnelle + une action intégrale + une action dérivée.
Si tu supprimes l'action Proportionnelle ainsi que l'action dérivée tu te retrouves avec une action intégrale seule, qu'on appelle aussi un retard pur.
Si tu appliques une échelon (y= a = cste) à l'entrée, tu obtiendras donc en sortie, avec l'action intégrale seule, une action de type y = ax, soit une pente.
Ca c'est la théorie, je ne connait pas le PID de SoMachine ni comment il fonctionne. En regardant vite fait sur une doc Schneider, j'ai cru voir qu'il n'acceptait pas un paramètre nul pour le gain.
Ce a quoi il faut absolument faire attention lorsque l'on travaille avec un bloc PID c'est son appel: il faut qu'il soit appelé de manière cyclique (ie dans une tâche dont la fréquence est connue et fixe): il y a en général un paramètre d'entrée qui permet de spécifier la fréquence échantillonnage du Traitement du Bloc PID. Si cela n'est pas respecté, on peut s'attendre à un fonctionnement moins précis voire erroné de la fonction.
Maintenant on peut imaginer aussi de programmer une fonction maison qui permette de créer un retard pur pour faire une rampe.
Ce sujet avait déjà été évoqué ici :
viewtopic.php?f=4&t=1674&p=11320&hilit=rampe#p11320
.
Comme déjà dit je ne connais pas SoMachinBidule et son PID.
De manière générale un PID donne en sortie après traitement une action Proportionnelle + une action intégrale + une action dérivée.
Si tu supprimes l'action Proportionnelle ainsi que l'action dérivée tu te retrouves avec une action intégrale seule, qu'on appelle aussi un retard pur.
Si tu appliques une échelon (y= a = cste) à l'entrée, tu obtiendras donc en sortie, avec l'action intégrale seule, une action de type y = ax, soit une pente.
Ca c'est la théorie, je ne connait pas le PID de SoMachine ni comment il fonctionne. En regardant vite fait sur une doc Schneider, j'ai cru voir qu'il n'acceptait pas un paramètre nul pour le gain.
Ce a quoi il faut absolument faire attention lorsque l'on travaille avec un bloc PID c'est son appel: il faut qu'il soit appelé de manière cyclique (ie dans une tâche dont la fréquence est connue et fixe): il y a en général un paramètre d'entrée qui permet de spécifier la fréquence échantillonnage du Traitement du Bloc PID. Si cela n'est pas respecté, on peut s'attendre à un fonctionnement moins précis voire erroné de la fonction.
Maintenant on peut imaginer aussi de programmer une fonction maison qui permette de créer un retard pur pour faire une rampe.
Ce sujet avait déjà été évoqué ici :
viewtopic.php?f=4&t=1674&p=11320&hilit=rampe#p11320
.
Le monde se divise en 10 catégories:les personnes qui comprennent le binaire,et les autres.
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
- itasoft
- Mi homme - Mi automate
- Messages : 7037
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Augmenter le temps de réponse d'un signal - SoMachine Basic
slts,
bon ok, va pas s'en sortir avec l’intégrateur, ci dessous un exemple de rampe en SoMachine bestial
------------cliquer-dessus pour agrandir-----------
bon ok, va pas s'en sortir avec l’intégrateur, ci dessous un exemple de rampe en SoMachine bestial
------------cliquer-dessus pour agrandir-----------
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Augmenter le temps de réponse d'un signal - SoMachine Basic
Bonjour,
Je rentre de déplacement, merci djé et itasoft pour vos réponses que je découvre aujourd'hui.
J'ai encore un peu de mal avec le langage Ladder, j'ai donc quelques questions concernant l'image du programme que vous avez jointe.
Déjà, je ne comprends pas à quoi correspond la base de temps ? C'est une fréquence que l'on choisit arbitrairement ?
Ensuite, si je comprends bien, lorsque la base de temps est à 1, MW5 passe à 1 et donc on peut détecter un front montant ? Puis la comparaison de l'entrée et de la sortie permet de savoir si la pente est positive et négative.
Enfin, MW0 et MW1 sont des mots dont les valeurs varient entre -10000 et 10000. L'incrémentation et la décrémentation effectuée se fait de 1 en 1 ?
Aussi, je ne vois pas comment l'intégrer à mon programme, ou plutôt, comment placer les différents blocs de manière à ce que le temps de réponse s'applique seulement aux valeurs en sorties %QW.
Cordialement,
- djé
- Dieu du process
- Messages : 776
- Inscription : 20 oct. 2015, 09:55
- Localisation : Bretagne, Pays de la Loire, Nantes
Re: Augmenter le temps de réponse d'un signal - SoMachine Basic
Bonjour
-> ce Sont des infos "Système", générée par le CPU utilisable à volonté. -> voir la doc pour plus de détails
-> Oui sauf que c'est M5, un bit et non MW5 un mot.Ensuite, si je comprends bien, lorsque la base de temps est à 1, MW5 passe à 1 et donc on peut détecter un front montant ?
-> c'est cà.Puis la comparaison de l'entrée et de la sortie permet de savoir si la pente est positive et négative.
-> oui, après tu peux composer avec un bloc d'addition pour changer l'incrémentation/décrémentationEnfin, MW0 et MW1 sont des mots dont les valeurs varient entre -10000 et 10000. L'incrémentation et la décrémentation effectuée se fait de 1 en 1 ?
-> à toi de réfléchir / testerAussi, je ne vois pas comment l'intégrer à mon programme, ou plutôt, comment placer les différents blocs de manière à ce que le temps de réponse s'applique seulement aux valeurs en sorties %QW.
Le monde se divise en 10 catégories:les personnes qui comprennent le binaire,et les autres.
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Re: Augmenter le temps de réponse d'un signal - SoMachine Basic
Ok merci beaucoup je vais essayer
djé a écrit : ↑26 mars 2019, 08:41 Bonjour
-> ce Sont des infos "Système", générée par le CPU utilisable à volonté. -> voir la doc pour plus de détails
-> Oui sauf que c'est M5, un bit et non MW5 un mot.Ensuite, si je comprends bien, lorsque la base de temps est à 1, MW5 passe à 1 et donc on peut détecter un front montant ?
-> c'est cà.Puis la comparaison de l'entrée et de la sortie permet de savoir si la pente est positive et négative.
-> oui, après tu peux composer avec un bloc d'addition pour changer l'incrémentation/décrémentationEnfin, MW0 et MW1 sont des mots dont les valeurs varient entre -10000 et 10000. L'incrémentation et la décrémentation effectuée se fait de 1 en 1 ?
-> à toi de réfléchir / testerAussi, je ne vois pas comment l'intégrer à mon programme, ou plutôt, comment placer les différents blocs de manière à ce que le temps de réponse s'applique seulement aux valeurs en sorties %QW.