Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Generatore di numeri casuali in S7


Messaggi consigliati

Inserito:

Qualcuno sa indicarmi una funzione capace di emettere un numero casuale da 0 a n...?

Avrei bisogno di un algoritmo (tipo una fc) che mi accetti in ingresso il valore di "n" per specificare il limite superiore del campo dei numeri. Ad ogni chiamata deve generare un numero casuale <=n.

Chi mi da' una mano?

Grazie...


Federico Milan
Inserita:

Mai fatto una cosa del genere con il PLC ... cosa ti serve ?!? ... generare rumore !?? PWM ?!? sono curioso ...

comunque se non erro, qualche tempo fa ho usato un algoritmo ricorsivo e il problema di questi algoritmi sono le costanti ...

questo è quello che ho usato e le costanti le ho trovate, non mi ricordo più dove, ovviamente le devi agiustare per i tuoi scopi :) questo genera una segquenza di numeri pseudo-casuali tra 0-1 e sono reali ... adattalo alle tue esisgenza ... io ho dato a Y_k con k= 0 Y_0 = 1.

Y_(k+1) = (a*Y_k+c) mod m k > 0

dove per le costanti si potrebbe scegliere

m=2^31-1;

a=1103515245 e c=0.

ciao

Luca Bettinelli
Inserita:

Se il tuo PLC è uno Step7, ed hai il linguaggio di programmazione SCL esiste una funzione che genera un numero casuale.

Se vuoi ti posso inviare un blocco che genera un numero casuale dati due limiti del valore in ingresso.

Ciao

Inserita:

x luca.bettinelli...

grazie.

mi interessa, potrei fare delle prove.

rispondimi su questo forum.

grazie 1000.

Luca Bettinelli
Inserita: (modificato)

Ti allego il sorgente AWL del blocco, non sapendo se hai l'SCL, questo blocco utilizza l'SFC 64 per leggere il timer di sistema come base per la generazione del numero casuale.

Ciao

Modificato: da NULL
Inserita:

Anch'io ho l'SCL, la funzione dove la trovo ?

Grazie e CIAO

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...