Jump to content

Copia Da Bool [32] A Dint


Recommended Posts

Bacchetti Lorenzo
Posted

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

del_user_27683
Posted

mi sa che non esiste perchè sono strutture dati diverse, non ti resta che fare un ciclo indice con relativo calcolo.

ciao

Posted

mi sembra che dalla versione V18 o V19 sia possibile questo con l'istruzione COP

COP( TagBool[0], TagDint, 1);

Posted

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

Posted

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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...