Unity pro : fonction aléatoire

Forum traitant des automates industriels de marque Schneider - Telemecanique
Avatar du membre
claudius
Première mise en service
Première mise en service
Messages : 63
Enregistré le : 03 nov. 2018, 18:30

Re: Unity pro : fonction aléatoire

Message par claudius »

Bonsoir; je déterre ce post parce que je voudrais faire une fonction aléatoire sur un montage avec twido ou M221.
Je n'ai pas tout pigé sur l'exemple en particulier l'instruction LIMIT. ( je n'ai pas UNITY à dispo )

Image

Merci de votre aide
Parti de rien pour arriver à pas grand chose, je n'ai de merci à donner à personne ( Pierre Dac)
md42
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 116
Enregistré le : 22 mars 2016, 08:54

Re: Unity pro : fonction aléatoire

Message par md42 »

salut
voici l'explication du bloc fonction LIMIT de Unity
limit_1.JPG
limit_2.JPG

bon courage
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7162
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Unity pro : fonction aléatoire

Message par itasoft »

Slts,
Pour ce cas de figure c’est l’appui sur la touche qui est aléatoire dans le temps, donc suffit d‘incrémenter un compteur cyclique qui compte de 1 à 3 et à l’appui sur la touche on prends la valeur courante du compteur.
La fonction qui génère un nombre aléatoire est utile dans le cas ou la demande fait partie du programme et non pas par une action manuelle dans le temps comme c’est le cas ici.
Automaticien privé (de tout)
itasoft@free.fr
Avatar du membre
claudius
Première mise en service
Première mise en service
Messages : 63
Enregistré le : 03 nov. 2018, 18:30

Re: Unity pro : fonction aléatoire

Message par claudius »

Bonsoir,
Merci md42 pour les explications. Comme je suis retraité j'ai un peu de temps, je me suis un peu penché sur cette fonction. Le générateur aléatoire RAND ressemble beaucoup à un " générateur à congruence linéaire " utilisé par Unix et dont voici la formule mathématique : xn = (1103515245 * xn-1 + 12345) mod (232) .
Bon ça vous laisse de marbre le mot" congruence" et je le comprend. En fouillant un peu, j'ai trouvé une façon assez simple de générer des nombres aléatoires en utilisant un " Registre à décalage à rétroaction linéaire " et c'est adaptable sur n'importe quel automate.
Le principe est simple: dans un mot on charge une valeur numérique. On fait un XOR avec 2 ou 3 bits de poids faible, le résultat donnant un bit qui sera placé au poids le plus fort et on décale le mot vers la droite ( de 1 ). ( merci Wikipédia ici : https://fr.wikipedia.org/wiki/Registre_ ... %C3%A9aire ( il y a un beau schéma animé ) )
J'ai testé avec un Twido et j'ai vérifié que la première valeur sortie soit différente des suivantes. J'ai arrêté à 10000.
Bonne journée
Parti de rien pour arriver à pas grand chose, je n'ai de merci à donner à personne ( Pierre Dac)
Répondre