Vai al contenuto
PLC Forum


Copiare Gli Elementi Di Una Variabile Strutturata - (altrimenti detta Data Type)


franco1

Messaggi consigliati

Ho un variabile strutturata (Data Type...come la chiama Rockwell) costituita da 50 variabili elementari (bool, real, timer, ecc.).

Ho la necessità di copiare solo le prime tre variabili elementari in una nuova variabile strutturata che abbia solo queste tre variabili elementari (booleane). Come lo posso fare?

Ho provato con l'istruzione COP, mettendo 3 come numero di elementi da copiare ma le variabili Sorgente e Destinazione devono essere dello stesso Data Type (quindi sempre costituite da 50 variabili elementari).

Vi ringrazio e vi saluto.

Link al commento
Condividi su altri siti


Ciao Franco hai chiesto questo:

"Ho la necessità di copiare solo le prime tre variabili elementari in una nuova variabile strutturata"

Se ho capito bene la tua struttura o UDT e' costituita per i primi elementi di singoli bool e poi mi sembra di aver capito che ci sono altri tipi di elementi del tipo (Timer,Real etc).

Percio' i primi 3 elementi sono sicuramente Bool (vero ?)

esempio UDT :

element1= BOOL

element2= BOOL

element3= BOOL

element4= BOOL

element5= BOOL

element6= BOOL

element7= BOOL

element8= BOOL

element9= BOOL

elementT1= TIMER

elementT2= TIMER

elementR1= REAL

....

....

Percio'

Crea una nuova UDT chiamala per comodita' "test2"

fatta di soli 3 elementi BOOL

esempio

UDT "Test2" :

a=BOOL

b=BOOL

c=BOOL

Crea 2 TAG fate una con la tua UDT (tag Sorgente), e l' altra con UDT "test2"

Chiamale che ne so ( Prova[Tua UDT] e Prova2[test2] )

e prova con l'istruzione COP in questa maniera

COP(Prova,Prova2,1)

dove : Prova e' la sorgente, Prova2 e' la destinazione.

cosi copierai i primi tre BOOL della tua Tag "Prova" (Prova.element1, Prova.element2, Prova.element3)

negli unici tre elementi presenti nella Tag "Prova2" (Prova2.a, Prova2.b, Prova2.c)

il segreto e' di puntare il nome della Tag o eventualmente se la tua tag e' fatta di altre sotto UDT

punta sempre il nome del sotto elemento UDT.

In pratica sarebbe piu' efficiente se ti creai la tua UDT come un insieme di tante UDT del tipo"test2"

cosi

UDT "TUA_UDT" :

elementi_1=test2

elementi_2=test2

elementi_3=test2

elementT1=Timer

elementT2=Timer

elementR1= REAL

.....

.....

cosi potrai copiare ogni tripletta (elementi_1,elementi_2,elementi_3)

in questo modo:

COP(Prova.elementi_1,Prova2,1) oppure cosi

COP(Prova.elementi_2,Prova2,1) oppure cosi

COP(Prova.elementi_3,Prova2,1)

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