Vai al contenuto

Conoscere l’indirizzo delle variabili (funzione ADR)

Home Forum Programmazione IEC 61131 (LogicLab) Conoscere l’indirizzo delle variabili (funzione ADR)

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Autore
    Post
  • #35430
    Maurizio
    Partecipante

    Ho la necessità di intervenire in lettura e scrittura su una memoria, disponibile sia dal lato TCP modbus che dal lato programma. Inoltre, l’indirizzo della variabile deve essere fornito ad una libreria protetta, che deve poter avere accesso alla variabile stessa.

    In altri sistemi di sviluppo esiste la funzione ADR, che fornisce l’indirizzo fisico della variabile, utilizzabile poi per referenziarla dall’interno della libreria. E’ possibile avere la stessa funzione in LogicLab ?

    #37822
    Sergio Bertana
    Amministratore del forum

    Anche se l’utilizzo dei puntatori è deprecato dalla normativa IEC-61131, in molti programmi sarebbe impossibile realizzare certe funzioni senza i puntatori. Ecco quindi che anche LogicLab come altri ambienti di programmazione prevede la possibilità di utilizzare i puntatori e di conseguenza conoscere l’indirizzo di allocazione delle variabili. utilizzando la funzione ADR().

    Ipotizzando di avere un contatore Counter di tipo USINT e di volerne conoscere e/o modificare il valore con un puntatore, dovremo definire una variabile Ptr di tipo @USINT.

    Ptr:=ADR(Counter); carica in Ptr l’indirizzo della variabile Counter.
    IF (@Ptr = 10) THEN controlla il valore della variabile Counter.
    @Ptr:=20; carica 20 nella variabile Counter.

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Devi essere connesso per rispondere a questo topic.