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

Forum traitant des automates industriels de marque Schneider - Telemecanique
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
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

Message 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
Automaticien privé (de tout)
itasoft@free.fr
Avatar de l’utilisateur
djé
Dieu du process
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

Message 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


.
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 ...
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
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

Message 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
Automaticien privé (de tout)
itasoft@free.fr
Sopastom
Code sa première boucle
Code sa première boucle
Messages : 15
Inscription : 01 mars 2019, 17:25

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

Message 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,
Avatar de l’utilisateur
djé
Dieu du process
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

Message 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
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 ...
Sopastom
Code sa première boucle
Code sa première boucle
Messages : 15
Inscription : 01 mars 2019, 17:25

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

Message 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
Répondre