Vai al contenuto

Overlapping variabili mappate

Home Forum Programmazione IEC 61131 (LogicLab) Overlapping variabili mappate

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

    Quando in un progetto devo mappare delle variabili in modo che sia raggiungibili via Modbus non ho mai avuto la necessita di usare il blocco ModbusSlave, mi affido sempre alla gestione del sistema operativo, di solito opero nel modo seguente.

    Creo tutte le mie variabili accessibili via Modbus tra le variabili globali, ovviamente le mappo in %Mx100 con opportuno indirizzo, e le metto anche nel gruppo di variabili “MODBUS” in modo da tenerle in ordine.

    Dovevo fare un debug veloce di una anomalia eseguendo un calcolo e visualizzando il risultato sull’HMI. Ho quindi creato un programma a parte che eseguisse quel calcolo, l’ho posizionato in task fast per acquisire un ingresso digitale del modulo CPU con GET_PHR() e ho appoggiato il risultato in una variabile locale al programma mappata su %MR100.1000.

    Tutto il resto dei programmi sono eseguiti in SLOW o un BACK.

    Ho eseguito il debug di cui avevo bisogno ma ho visto che due variabili, usate solo in visualizzazione, ogni tanto mostravano valori strani. Dopo vari controlli mi sono accorto che le due variabili incriminate erano globali e mappate in %MW100.1000 e %MW100.1002 quindi venivano ovviamente sporcate dalla variabile messa in quel codice di debug.

    Mi ricordo che nelle vecchie versioni di LogicLab una situazione del genere generava un warning. Non mi ricordo se in compilazione o addirittura nel momento in cui si inseriva l’indirizzo della variabile. Ho fatto alcune prove ma nella 9.1.20.0 non ricevo avvisi. Nelle opzioni di progetto non vedo controlli da abilitare.

    In opzioni programma -> unione è attivo “abilita merge” e “Sovrapposzione” -> “Chiedi cosa fare” ma non so se si riferisca allo stesso caso.

    #71028
    Sergio Bertana
    Amministratore del forum

    In effetti nelle vecchie versioni di LogicLab in caso di sovrapposizione di variabili appariva un pop-up di alert, ora non appare più.

    Sinceramente non mi sono posto il problema ma ho girato la domanda al supporto Axel, posterò la risposta appena la ricevo.

    Le opzioni a cui ti riferisci, riguardano il comportamento di LogicLab quando importi un programma o variabili. Trovi le spiegazioni sul manuale al capitolo MERGE FUNCTION.

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