Page 1 sur 2

Sélection de points aléatoires sur un M221

Posté : 10 avr. 2016, 13:48
par ChrisLBQ
Bonjour à tous,

Je me trouve dans une impasse aujourd'hui, je travail sur un morceau de programme pour un échantillonneur qui fait des prélèvements dans une benne agricole, de façon séquentielle. (Point 1 - Point 2 - Point 3 ..... Point 10)
Mais voilà, j'aurais aimé savoir si il était possible de simuler (ladder, ou IL) une petit fonction qui génère un nombre aléatoire entre 1 et 10 que je stockerai dans un bit de mot afin que l'on se retrouve avec un cycle de prélèvement complètement aléatoire (ou qu'il y paraisse tout du moins...)
sampling dot.jpg

Merci d'avance, je continues de me gratter la tête de mon coté.

Concrètement aujourd'hui mon raisonnement est le suivant:

Je stock mes 10 positions de prélèvements dans dans un bit de mot %Mw10:0 à %Mw10:9 -
Puis en fonction d'un compteur %C0 => je lui donne l'ordre de la séquence.
Exemple: %C0 = 0 => 1 à 10
%C0 = 1 => 10 à 1
%C0 = 2 => 5 - 4 - 3 - 2 - 1 - 6 - 7 - 8 - 9 - 10
%C0 = 3 => 4 - 1 - 9 - 8 - 2 - 5 - 6 - 3 - 10 - 7

Bref, je ne suis pas convaincu par cette solution qui reste très sommaire.

Re: Sélection de points aléatoires sur un M221

Posté : 10 avr. 2016, 15:42
par itasoft
Slts,
Complètement aléatoire c’est pas possible , ça sera obligatoirement répétitif dans le temps.
Ceci dit, si le but est de tester chaque point, quel intérêt à ce que ça soit aléatoire ???
Bb

Re: Sélection de points aléatoires sur un M221

Posté : 10 avr. 2016, 17:53
par ChrisLBQ
Aucun intérêt, mais c'est ainsi que le cahier des charges à voulu que la modification soit faite, mais je te rejoins clairement sur l'utilité de la chose.
Ils ont peut être l'impression qu'en prélevant aléatoirement dans la benne, ils pourront garantir à leur client une "homogénéisation" des échantillons. (Ce qui est faux, bien entendu).

Faire de l'aléatoire avec un système qui ne sait fonctionner autrement qu'en séquentielle, c'est impossible, ce sera qu'un "semblant" en jouant sur des sélections de séquences, je posais la question aujourd'hui, des fois que quelqu'un ai déjà été confronté au problème.

Re: Sélection de points aléatoires sur un M221

Posté : 10 avr. 2016, 22:21
par Cyril93
Salut,

Connais tu la librairie OSCAT, la fonction RDM2 génère un INT aléatoire entre deux valeurs limite que tu renseignes.

Re: Sélection de points aléatoires sur un M221

Posté : 11 avr. 2016, 00:22
par kosbor
bsr
Si sur cet automate il y a les millisecondes sur l'horodateur je ferais un bete modulo de 10 sur les ms

Re: Sélection de points aléatoires sur un M221

Posté : 11 avr. 2016, 01:26
par itasoft
@cyril93,
C’est un M221 sous SoMachine Basic comment tu installe la Librairie OSCAT ?

@kosbor,
Oui avec un compteur à la ms, c’est ce qui se rapprocherait le plus à de l’aléatoire.
Sinon, on peut aussi jouer sur l’imprécision des tempos pour générer un nombre pseudo-aléatoire.
Dans l’exemple ci dessous, toutes les 2s on génère un nombre entre 0 et 9 dans le mot %MW1

cliquer dessus pour agrandir la photo
Aleatoir.JPG

Re: Sélection de points aléatoires sur un M221

Posté : 11 avr. 2016, 08:29
par Cyril93
Ah oui c'est vrai somachine BASIC, ils auraient pu choisir un autre nom quand même. :mrgreen:

Re: Sélection de points aléatoires sur un M221

Posté : 11 avr. 2016, 08:54
par Mantysse
Salut!

Franchement "aléatoire" en informatique/automatisme je ne sais pas ce que c'est. Même en langage C la fonction Random(), n'est pas un vrai aléatoire...

Bon courage mais je sens que tu va devoir un peu truander

A+

Re: Sélection de points aléatoires sur un M221

Posté : 11 avr. 2016, 09:07
par itasoft
@Mantysse,
pour ce qu'il veut faire un pseudo aléatoire suffit largement

Re: Sélection de points aléatoires sur un M221

Posté : 11 avr. 2016, 13:46
par Mantysse
itasoft a écrit :@Mantysse,
pour ce qu'il veut faire un pseudo aléatoire suffit largement
Il semblerai au vue du cahier des charges, maintenant faut pas que le client soit buté et tatillon ;)