Vai al contenuto
PLC Forum


Numeri Random


Messaggi consigliati

Inserito:

ciao a tutti,

avrei l'esigenza di far variare il valore di una word di un db con un numero random cioè che cambi sembre in modo casuale.

qualcuno ha qualche consiglio o qualche idea?? oppure c'è un blocco siemens adatto??

grazie


Cristina Fantoni
Inserita:

Non ricordo se Siemens ha il blocco adatto, ma potresti anche generarlo a partire da data e ora (compresi i centesimi di secondo) operando sulle cifre in base alle caratteristiche che dovrà avere il numero generato.

:wub:

smile%20xstmas%20bighat.gif

Inserita:

Ciao Cristina

grazie per la risposta.....

ma se hai voglia potresti darmi ancora qualche imbeccata....

a me serve un numero che sia compreso tra 0 e 32767 che cambi in continuazione va bene ad ogni ciclo .

ho bisogno di plottarlo su un trend di spv per poi fare delle prove. quindi mi serve che nel grafico ci siano continui cambiamenti.

tu dici di usare ora minuti e secondi ma in che modo????? faccio dei calcoli tipo divisioni e moltiplicazioni usando questi dati che cambiano????

questo volevo dire???

ciao ciao .. grazie :rolleyes:

Inserita:

prendi il registro di accumulo di un timer che conta sempre fino a 32768 msec e fai un ror (o un rol) di 9 (per esempio) bit e con solo due istruzioni hai un random

Inserita:
e fai un ror (o un rol) di 9 (per esempio) bit

Cosè un "ror"?

Cosè un "rol"?

Un nuovo set d'istruzione che la SIEMENS ha realizzato apposta per Piero Azzoni?

Ciao!

Inserita:

se proprio dobbiamo polemizzare

quasi tutti i plc usano la stessa dizione, o per meglio dire "la stessa dizione circa" per indicare una funzione

Siemens NO !

add vuol dire per tutti addizione xor vuol dire per tutti exclusive or ror vuol dir rotate right rol rotate left ecc.....

non ne ho colpa io che chi usa un certo plc capisce il significato dei tag istruzioni degli altri, chi usa siemens parla sempre una altra lingua

Inserita:

non mi ricordo più come si fa a prendere in esame il registro di accumulo di un timer.... :(

Inserita:
non mi ricordo più come si fa a prendere in esame il registro di accumulo di un timer....

Devi usare il formato dati TIME se vuoi realizzare come ti ha suggerito Piero Azzoni!

Per caricare una DWORD con il valore 32768 puoi scrivere:

L T#32S768MS

Per leggere il valore in secondi di una variabile TIME basta che lo carichi e lo dividi per 1000.

Esistono delle funzioni IEC: TON, TOF, per gestire un temporizzatore, guarda l'. S7!

Ciao

Sergio

PS. x Piero: probabilmente il limite è il mio che conosco soltanto SIEMENS!

Matteo Montanari
Inserita:

utilizzando CERCA ho trovato questo...

(che è la funzione siemens per creare un numero casuale)

Inserita:

per i numeri random io userei il TEMPO, credo che date_time ha anche milisecondi .. allora scrivi in piccolo fc che legge il tempo legge i milisecondi dopo lo usi direttamente o lo metti in un funzione e lo aggiungi come lo vuoi te ..

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...