Giuseppe Signorella Inserito: 29 luglio 2013 Segnala Inserito: 29 luglio 2013 Buongiorno ragazzi, Ho la necessità di generare un numero Random. Esiste un modo semplice per generare tale numero o un (pseudo Random) con un S7 1200? Grazie
step-80 Inserita: 29 luglio 2013 Segnala Inserita: 29 luglio 2013 Buongiorno ragazzi, Ho la necessità di generare un numero Random. Esiste un modo semplice per generare tale numero o un (pseudo Random) con un S7 1200? Grazie Come no? Nella tendina a dx, ci deve essere la funzione" lancia i dadi". Su ogni fronte di salita del segnale il plc soffia sui dadi, li lancia e si puó sentire " rien va plus,le jeux sont fais!" . Provata e funziona alla grande. C' è pure la funzione " slot machine" ma il plc va collegato in rete col monopolio di stato. Va beh, scherzavo..... Qui fa caldo..... A parte gli scherzi, non saprei se esiste tale possibilità Giuseppe.
Livio Orsini Inserita: 29 luglio 2013 Segnala Inserita: 29 luglio 2013 Ci sono degli algoritmi per la generazione dei numeri random; ora sono ancora al mare e non ho con me niente ed a memoria non mi ricordo. Comunque se fai una ricerca in rete con le parole "generazione numeri random" dovresti avere solo l'imbarazzo della scelta.
Giuseppe Signorella Inserita: 29 luglio 2013 Autore Segnala Inserita: 29 luglio 2013 (modificato) Avevo pensato d leggere ciclicamente (o quando mi necessita generare il numero random) i nanosecondi dell'ora di sistema della CPU. Non sarà un vero numero random, ma comunque potrebbe essere una soluzione. Ritengo alquanto improbabile che il tempo di ciclo della CPU sia assolutamente costante, anche perchè dopo la "generazione" del primo numero random la CPU eseguirà una porzione di codice che sarà in funzione dle numero random generato. La successiva generazione/lettura sarà influenzato da quello precedente. Modificato: 29 luglio 2013 da Giuseppe Signorella
Livio Orsini Inserita: 30 luglio 2013 Segnala Inserita: 30 luglio 2013 Ho capito bene: nanosecondi? ovvero 10-9 ? Comunque sarebbe poco randommizzato. Un'analisi statistica ti darebbe una distribuzione di tipo gaussiano con concentramento delle letture su una gamma limitata di valori; anche perchè la basr di partenza sarebbe <=999.
Giuseppe Signorella Inserita: 6 settembre 2013 Autore Segnala Inserita: 6 settembre 2013 Metto a disposizione una biblioteca che genera numeri Pseudo_Random. Pseudo perchè si basa sulla lettura dei nanosecondi dell'ora di sistema della CPU, per tale motivo se il richiamo del blocco fosse eseguita per assurdo con una cadenza ciclica assolutamente perfetta (cosa impossibile) genererebbe sempre lo stesso numero. La libreria è parametrizzabile secondo le vostre esigenze, da 0 a 65535, e genera un numero random ogni qual volta viene richiamata con un fronte di salita. Può generare anche numeri negativi. Resto a disposizione per ogni ulteriore chiarimento in merito. Per scaricare la libreria: clicca qui
JumpMan Inserita: 6 settembre 2013 Segnala Inserita: 6 settembre 2013 Ho usato anch'io questo sistema anni fa sul 300, leggevo i millisecondi dell'orario di sistema, non ciclicamente però, mi serviva raramente, alla pressione di un tasto.
Giuseppe Signorella Inserita: 6 settembre 2013 Autore Segnala Inserita: 6 settembre 2013 Si, anche io non lo uso ciclicamente. Nel progetto in cui lo utilizzato, il numero random viene convertito in "tempo". Il successivo richiamo avviene allo scadere della frazione temporale precedente, pertanto non è un richiamo costante. C'è chi afferma, e condivido tale opinione, che in un sistema a logica programmabile, un esiste un vero sistema per generare numeri casuali, in quanto sarebbero comunque prevedibili.
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora