Vai al contenuto

Dimensione memoria ritentiva

Home Forum Controllori SlimLine e Netsyst (LogicLab) Dimensione memoria ritentiva

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Autore
    Post
  • #46489
    Giorgio Boero
    Partecipante

    Se la memoria ritentiva da DB100.2048 a DB100.4095 della cpu MPS054 non mi basta quali alternative ho?

    Devo salvare i dati e poterli gestire da pannello operatore, quindi necessariamente DB100.xxxxx.

    #46496
    Sergio Bertana
    Amministratore del forum

    Vediamo le diverse possibilità.

    Potresti allocarti un array di memoria con l’attributo RETAIN (Massima dimensione 1 KByte), ed a ogni loop di programma (O solo su variazioni) copiare il contenuto della memoria da DB100.0 a DB100.xxx in questo array, puoi usare la funzione Sysmemmove. Ed alla accensione fare l’operazione opposta. Se vuoi eseguire la copia solo su variazioni puoi usare il FB BufferModified per il controllo.

    Usando sempre l’area non ritentiva della DB100 puoi copiarla su di un file su disco utilizzando il FB FileMemoryDump. In questo caso conviene eseguire la copia solo sulle variazioni. Poi alla accensione esegui la copia inversa da file in memoria.

    Puoi allocare un array in memoria non ritentiva della dimensione che ti serve e poi sempre con il FB FileMemoryDump trasferirlo su file come detto precedentemente. In questo caso per poter raggiungere questo array che non si trova in DB100 da Modbus devi utilizzare il FB ModbusSlave_v1 agganciandolo ad un FB TCPServer istanziato appositamente. Naturalmente dovrai utilizzare un’altra porta TCP non la 502.

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