Vai al contenuto
PLC Forum


Array in input di un FC


Messaggi consigliati

Inserito:

Buongiorno

 

qualcuno saprebbe darmi la sintassi per scrivere nel richiamo di un fc come ingresso un array di 30 caratteri?


Inserita:

Vedi esempio

EsempioArrayChar.png

Inserita:

Io non capisco se deve richiamare un FC che prevede quel tipo di parametro di input, o se deve creare un FC sulla cui interfaccia di input deve essere presente questo tipo. A me sembra più la prima, ma la chiarezza è merce rara.

Inserita:

Grazie Batta

 

ma il mio problema è in step 7 , come utilizzarlo nel codice all' interno dell FC, e come passarlo come parametro nel richiamo del FC

 

Inserita:

Premetto che non ho mai utilizzato un richiamo del genere, ma ho memorie di limitazioni dei 300/400 su richiami di fc utilizzanti array. Sempre a memoria, scl è l'unica cosa che può salvarti.

Sicuramente @batta avrà la soluzione però!

In alternativa puoi modificare il tuo fc e invece di un array di chr ti passi l'origine e la lunghezza, i vari byte poi te li vai a pescare tu direttamente nell'fc richiamato.

Inserita:

La sintassi in Step 7 classico è identica.

Per passarlo come parametro, devi avere un DB con un array identico.

All'interno dalla FC lo utilizzi come un normale array.

Non sono sicuro però di aver capito la domanda.

 

Di solito, quando passo array e/o strutture, anziché dichiararle come parametro IN o OUT preferisco dichiararle come INOUT.

Se dichiarate come INOUT, anziché creare nell'interfaccia dalla FC o FB tutta la struttura, viene creato solo un puntatore (6 byte).

Utilizzo abitualmente questo sistema anche quando devo condividere molti dati tra FC/FB diverse. Creo un UDT che utilizzo come parametro INOUT delle funzioni, e in un DB globale che funge quindi da area dati comuni. In un attimo, ecco che tutta la struttura passata è a disposizione di tutte le funzioni, sia in lettura, sia in scrittura, oltre che nel DB globale per accessi diretti.

Attenzione solo che, così facendo, anche nel caso di utilizzo di una FB, trattandosi in realtà di un puntatore, non si può lasciare il collegamento vuoto.

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