Page 2 sur 2

Re: Augmenter le temps de réponse d'un signal - SoMachine Basic

Posté : 15 mars 2019, 17:37
par itasoft
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

Re: Augmenter le temps de réponse d'un signal - SoMachine Basic

Posté : 16 mars 2019, 14:41
par djé
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


.

Re: Augmenter le temps de réponse d'un signal - SoMachine Basic

Posté : 17 mars 2019, 07:26
par itasoft
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-----------
_1234.JPG

Re: Augmenter le temps de réponse d'un signal - SoMachine Basic

Posté : 25 mars 2019, 11:16
par Sopastom
itasoft a écrit : 17 mars 2019, 07:26 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-----------
_1234.JPG
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,

Re: Augmenter le temps de réponse d'un signal - SoMachine Basic

Posté : 26 mars 2019, 08:41
par djé
Bonjour
Sopastom a écrit : 25 mars 2019, 11:16

Déjà, je ne comprends pas à quoi correspond la base de temps ? C'est une fréquence que l'on choisit arbitrairement ?
-> ce Sont des infos "Système", générée par le CPU utilisable à volonté. -> voir la doc pour plus de détails
Ensuite, si je comprends bien, lorsque la base de temps est à 1, MW5 passe à 1 et donc on peut détecter un front montant ?
-> Oui sauf que c'est M5, un bit et non MW5 un mot.
Puis la comparaison de l'entrée et de la sortie permet de savoir si la pente est positive et négative.
-> c'est cà.
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 ?
-> oui, après tu peux composer avec un bloc d'addition pour changer l'incrémentation/décrémentation
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.
-> à toi de réfléchir / tester

Re: Augmenter le temps de réponse d'un signal - SoMachine Basic

Posté : 26 mars 2019, 14:06
par Sopastom
Ok merci beaucoup je vais essayer :ugeek:
djé a écrit : 26 mars 2019, 08:41 Bonjour
Sopastom a écrit : 25 mars 2019, 11:16

Déjà, je ne comprends pas à quoi correspond la base de temps ? C'est une fréquence que l'on choisit arbitrairement ?
-> ce Sont des infos "Système", générée par le CPU utilisable à volonté. -> voir la doc pour plus de détails
Ensuite, si je comprends bien, lorsque la base de temps est à 1, MW5 passe à 1 et donc on peut détecter un front montant ?
-> Oui sauf que c'est M5, un bit et non MW5 un mot.
Puis la comparaison de l'entrée et de la sortie permet de savoir si la pente est positive et négative.
-> c'est cà.
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 ?
-> oui, après tu peux composer avec un bloc d'addition pour changer l'incrémentation/décrémentation
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.
-> à toi de réfléchir / tester