Vai al contenuto

Informazioni sull’uso delle variabili ritentive

Home Forum Controllori SlimLine e Netsyst (LogicLab) Informazioni sull’uso delle variabili ritentive

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)
  • Autore
    Post
  • #35491
    Mario
    Partecipante

    Ho rilevato il seguente problema sulle memorie ritentive:

    Se mappo una variabile (es. %MX100.3072), il funzionamento è regolare;
    Se creo una variabile automatica e imposto l’attributo su RETAIN, la variabile risulta effettivamente ritentiva alla mancanza di alimentazione del PLC, ma perde la ritentività in caso di ritrasferimento del programma o arresto/riavvio del PLC da software (Halt/Warm restart).

    Specifico che ho una CPU SlimLine ARM7 MPS046B100, con versione firmware SFW184A600, utilizzando LogicLab 2.2.0.0 scaricata dal Vostro sito qualche giorno fa.

    #38001
    Sergio Bertana
    Amministratore del forum

    Come già trattato in questo topic vediamo di chiarire il concetto dell’attributo RETAIN delle variabili di programma. In conformità con IEC 61131 sono riportati due tipi di avvio programma in un PLC. 

    Warm restart, noto anche come Warm reboot: Si ha con l’alimentazione del sistema, il programma viene eseguito dal suo inizio e le variabili RETAIN assumono il valore che avevano quando il sistema è stato arrestato. 

    Cold restart: Si ha dopo aver caricato il programma o su condizione di errore del PLC che ha causato un riavvio. Il programma viene eseguito dal suo inizio e le variabili RETAIN assumono il valore definito nel campo INIT. 

    Nello SlimLine l’area di memoria nella DB 100 a partire da indirizzo 2048 fino a 4096 pur non avendo l’attributo RETAIN sono ritentive. Quindi, tutte le variabili che sono allocate in questa zona mantengono il loro valore allo spegnimento e, a differenza delle variabili RETAIN mantengono il loro valore anche al caricamento del programma e/o riavvio del sistema.

    #39949
    Stefano
    Partecipante

    Impostando un valore nel campo INIT di una variabile posta in area di memoria ritenutiva DB100 questo ha qualche effetto sulla variabile? C’è qualche condizione per cui la variabile assume il valore di INIT ?

    #39944
    Sergio Bertana
    Amministratore del forum

    Alle variabili ritentive non può essere assegnato un valore di INIT. Su quelle di tipo RETAIN si ha anche una segnalazione di errore da parte di LogicLab. Mentre per quelle allocate in DB100 non si hanno indicazioni ma il valore INIT viene ignorato.

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