Luca.Lombardi Inserito: 4 ore fa Segnala Inserito: 4 ore fa Buongiorno a tutti, ho una domanda abbastanza singolare da porvi. Ho un array di circa 100elementi dove ogni elemento è un struttura da me definita con il comando di Union DUT TYPE U_ByteReal : UNION rValue : REAL; aBytes : ARRAY[0..3] OF BYTE; END_UNION END_TYPE Interna alla mia POU PROGRAM MAIN VAR ricezione : ARRAY[0..99] OF U_ByteReal; END_VAR Quello di cui avrei necessità di fare è di collegare in maniera automatica, i Byte di questo array di U_ByteReal ai byte d'ingresso che arrivano da un nodo profinet. Il nodo profinet ha due blocchi da 100Byte ciascuno e quello che vorrei è collegarli alle mie strutture dati. ricezione[0] i suoi 4 byte collegati ai primi 4 byte d'input ricezione[1] i suoi 4 byte collegati ai secondi 4 byte d'input È possibile farlo o devo armarmi di una pazienza infinita e farlo a mano? Grazie mille
zanellatofabio Inserita: 17 minuti fa Segnala Inserita: 17 minuti fa Ciao, io non uso twincat ma so che somiglia a codesys. Non avendo il file gsdml che usi tu, ho fatto una prova con un device che conosco, un inverter danfoss FC280 con una mappatura di 10/10 word di scambio. Ho usato UINT e non BYTE perchè il device usa UINT ma credo sia lo stesso applicando il concetto ai byte del tuo caso. nella mappatura del device ho mappato gli ingressi su una variabile globale aUintIngressi : ARRAY [1..10] OF UINT ; //mappatura ingressi profinet vedi immagine allegata. il mio tipo di dati usa gli UINT: TYPE U_UintReal : UNION rValue : REAL; aUint : ARRAY[1..2] OF UINT; END_UNION END_TYPE --------------- nel POU PROGRAM POU VAR ricezione : ARRAY[1..5] OF U_UintReal; END_VAR --------------- //su twincat si usa MEMCPY invece in codesys è SYSMEMCPY MEMCPY(ADR(ricezione), ADR(aUintIngressi), SIZEOF(aUintIngressi));
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