Bacchetti Lorenzo Inserito: 18 dicembre 2012 Segnala Share Inserito: 18 dicembre 2012 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 More sharing options...
del_user_27683 Inserita: 18 dicembre 2012 Segnala Share Inserita: 18 dicembre 2012 mi sa che non esiste perchè sono strutture dati diverse, non ti resta che fare un ciclo indice con relativo calcolo. ciao Link al commento Condividi su altri siti More sharing options...
Beatrice_Ru Inserita: 19 dicembre 2012 Segnala Share Inserita: 19 dicembre 2012 mi sembra che dalla versione V18 o V19 sia possibile questo con l'istruzione COP COP( TagBool[0], TagDint, 1); Link al commento Condividi su altri siti More sharing options...
fuzzy logic Inserita: 20 dicembre 2012 Segnala Share Inserita: 20 dicembre 2012 Beatrice, purtroppo non si può fare... 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 More sharing options...
Beatrice_Ru Inserita: 20 dicembre 2012 Segnala Share Inserita: 20 dicembre 2012 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 More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora