Vai al contenuto
PLC Forum


Copia Da Bool [32] A Dint


Bacchetti Lorenzo

Messaggi consigliati

Bacchetti Lorenzo

Buonasera a tutti,

volevo sapere se c'era un'istruzione che mi permette di copiare il valore di una tag Bool[32] in una tag DINT.

Grazie mille,

Lorenzo

Link al commento
Condividi su altri siti


Beatrice, purtroppo non si può fare... :toobad:

Le istruzioni su File (COP,MOV ecc....) non supportano gli Array Booleani....in realtà questo tipo di dati ha un supporto molto limitato di istruzioni Logix...

Lorenzo, per poter fare quanto chiedi, dovresti invece creare al posto degli Array Booleani delle UDT (User-Defined Data Type) che li contengano (per esempio, un array di 32 BOOL, ipotizziamo di chiamare questa nuova struttura dati BOOL32, il suo unico Member Name per esempio MyBool, Data Type BOOL[32])

Crea poi una nuova tag (es. MyBoolArray) e come Data Type scegli la struttura BOOL32 appena creata, otterrai le variabili MyBoolArray.MyBool[0] fino a MyBoolArray.MyBool[31], ovvero i tuoi 32 BOOL da utilizzare come meglio credi nel programma.

Adesso puoi utilizzare un'istruzione COP, come source MyBoolArray, come destination il tuo DINT, length 1; in questo modo copierai tutti e 32 gli elementi del tuo Array Booleano nel DINT.

- fuzzy logic

Link al commento
Condividi su altri siti

Hai raggione Fuzzy Logic.

Mi sono dimenticata appunto del particolare che tu hai spiegato.

usando un UDT.

ma questa udt puo' essere anche composta anche con un Array di Array Bool[32]

Normalmente aggregare elementi non omogenei come i Bool, non ha molto senso, gia' come

principio di programmazione.

Ma inserendoli in un UDT crea il contesto di aggregazione per poterli copiare e spostare.

Quindi in un UDT puoi creare una collezione di dati anche non omogenea e con l'istruzione COP o CPS

puoi spostarli su un elemento appropriato.

Con il Presupposto di creare un UDT in maniera senzata, non un miscuglio senza capo ne coda.

Magari creando nella struttura principale della tua UDT, altri sotto elementi strutturati che abbiano un certo senso,

nell' eventualita' di coppiare parte della struttura UDT.

Grazie Fuzzy Logic sei molto preciso e bravo nelle cose che fai.

Link al commento
Condividi su altri siti

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