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




Variabile array


Messaggi consigliati

Inserito:

Buongiorno,  ho creato una variabile array (0...9) (tipo di dati real)con dieci elementi all'interno che mi serve a prelevare dei valori, c'è un modo per azzerare i valori senza doverlo fare con 1 move per ogni elemento? C'è un modo per sommare i valori senza dover sommare ogni singolo elemento? Grazie mille


Inserita:

Per azzerare ti crei da qualche parte un array delle stesse dimensioni di quello da azzerare, che non andrai MAI a scrivere e quindi sarà sempre a zero, e poi fai un MOVE di tutto l'array in quello che devi azzerare. Io di solito lo creo in una variabile TEMP del blocco. Per sommare i valori puoi usare un ciclo FOR in SCL oppure un blocco CALCULATE, dando come parametri di ingresso i singoli elementi dell'array. Nel blocco fai il calcolo IN1+In2+IN3, ecc. Con un solo richiamo del blocco hai fatto la somma di tutti.

Inserita:

Ok ma quando vado a puntare l'array, all'ingresso del MOVE, non mi fa scegliere uno dei singoli elementi? 

Inserita:

No, puoi dargli tutto l'array in un colpo solo, senza specificare elementi. Vorrei allegarti un immagine ma non riesco a caricarla, comunque è semplice.
 

Inserita:

Niente mi da la variabile in rosso, come devo fare?

Inserita:

Con l'istruzione MOVE puoi copiare byte, word, doppie word, string, array, struct o interi DB. L'importante è che sorgente e destinazione (a parte alcune conversioni implicite) siano dello stesso tipo. Per copiare una struttura, la struttura sorgente e la struttura destinazione devono essere identiche. Se copi un array, l'array sorgente e l'array destinazione devono essere identici. Se copi un DB, il DB sorgente ed il DB destinazione devono essere identici.

 

Un altro modo per azzerare un array o una struttura, è l'uso dell'istruzione FILL. Ti serve una variabile con valore zero, la quale variabile va a riempire tutta la struttura di destinazione. Funziona solo con blocchi NON ottimizzati.

Inserita:

Si, ma quando vado a puntare la variabile array mi fa subito scegliere uno dei suoi elementi e se non lo scelgo mi diventa la scritta in rosso. 

Giuseppe Signorella
Inserita:

Quando scrivi il nome dell'array, il sistema ti propone in automatico la scelta di  un elemento dell'array.

Tu ne scegli uno a caso, poi una volta inseriti lo editi eliminando sia le parentesi quadre che il numero dell'elemento e premi enter.

Ciao

Inserita:

Provato e funziona. E vai :clap: grazie mille per le spiegazioni a numero :thumb_yello:. Grazie ancora

 

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