Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Copiare Strutture Dati In Wago Codesys) - Cpu 750-841


Messaggi consigliati

Inserito:

Salve a tutti, sono alle prime esperienze con Wago che naturalmente programmo in Codesys. Lo trovo un gran bel sistema, il linguaggio, così ad oggetti e ben strutturato permette di fare di tutto. Mi trovo però in difficoltà con una cosa che in Allen&Bradley o Siemens avrei risolto con istruzioni tipo BTD o puntatori vari in AWL (o SFC vari)... ovvero la copia di dati tra strutture di tipo diverso. Mi spiego meglio: ho un'area dichiarata come variabili globali, si tratta di un array di 5 WORD. Il contenuto di queste 5 word lo vorrei "spalmare" su una struttura (nel senso proprio di una STRUCT) che internamente è composta esattamente da 80 bit, dichiarati singolarmente. Come posso copiare quelle 5 word sugli 80 bit? in B&R mi sembra ci sia un'istruzione di MEMCPY, ovvero una funzione di "copia" che tiene conto solo degli indirizzi delle aree di origine-destinazione, senza tener conto del tipo di dati... ma qui su Wago (cpu 750-841) non la trovo. Come posso fare?

Nello specifico, in quelle 5 word ricevo gli ingressi via Modbus-UDP di un nodo remoto (750-352) al quale sono collegate alcune schede di ingressi digitali, le voglio copiare in tempo reale in una struttura a singoli bit in modo da poter dare un simbolo e un commento ad ogni bit... <_<


Inserita:

...acc.. . . ma è così complicata, 'sta cosa? ... intanto è saltato fuori una sorta di MemCopy da una libreria...

Inserita:

Per accedere ai singoli bits di un byte di ingressi non è necessario copiarlo su una diversa area di memoria dichiarata a bit. Basterebbe usare i bytes su indirizzi assoluti ad esempio con AT %IB0 e poi dichiarare i bits, con rispettive label, forzandone l'allocazione, anche per questi, in modo assoluto ad esempio con AT %IX0.2 in modo da evitare di far perdere tempo al processore nella copia.

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