Vai al contenuto

Limiti di memoria PLC su modulo CPU CODESYS

Home Forum Obsoleti SlimLine (CODESYS) Limiti di memoria PLC su modulo CPU CODESYS

Stai visualizzando 6 post - dal 1 a 6 (di 6 totali)
  • Autore
    Post
  • #35683
    Claudio
    Partecipante

    Ho visto che nei “Target settings” di Codesys relativi al target “ELSIST Slimline Mps052” è possibile modificare le dimensioni delle varie memorie PLC. Quali sono i limiti ammessi ?

    #38566
    Massimo
    Moderatore

    Nei “Target settings”-“Memory layout” di Codesys, si possono modificare le dimensioni delle aree di memoria del PLC (Screenshot).

    Per la memoria “Code” praticamente il limite è dettato dallo spazio disponibile nel file system verifcabile ad esempio da un Telnet con un comando “dir” dove si ottiene un numero di “bytes free”. Il consiglio è comunque quello di non utilizzarlo tutto quanto per il PLC.

    Per la memoria dati, bisogna fare in modo che la somma delle aree Global, Memory,  Input, Output, e (“numero di POU” x 12 bytes), non superi il massimo di 16#10000. Anche il numero di POU è modificabile.

    #38770
    Antonio
    Partecipante

    Mi servirebbe avere, se è possibile la mappatura della memoria disponibile per l’indirizzamento delle variabili interne. Resta da capire se per le variabili ritenute esiste un’altra area di memoria (come sembrerebbe dal target setting) o se le variabili ritenute vanno dichiarate all’interno della stessa area.

    #38771
    Sergio Bertana
    Amministratore del forum

    Come si vede dall’estratto manuale esistono 3 aree di memoria RAM dati, queste tre aree sono tra di  loro indipendenti.

    Memoria variabili globali (54 Kb), dove sono allocate tutte le variabili mnemoniche definite dall’utente.
    Memoria allocazione  variabili (4 Kb), dove sono allocate tutte le variabili con indirizzo definito dall’utente.
    Memoria retain (8 Kb), dove sono allocate le variabili definite retain.

    #38842
    Anonimo
    Inattivo

    Per un nuovo progetto ho la necessità di usare le famose librerie OSCAT, sia le OSCAT basic che le OSCAT network, ma all’atto della compilazione del progetto si incorre nell’errore “Error 3612: Maximum number of POUs (512) exceeded. Compile is aborted”. Ho provato a scremare i blocchi non utilizzati, ma il problema è che alcuni FB anche se non utilizzati sono intrinsecamente legati ai blocchi funzione che intendo utilizzare.

    L’unico modo che permette la compilazione senza errori è quella ovvia di aumentare il Maximum number of POUs nell’impostazione del target, settandolo ad esempio a 2048 il programma viene compilato senza errori. Utilizzando come Target lo “SlimLine Modulo CPU Base Codesys”, che problemi tecnici può comportare il mio settaggio ?

    #38843
    Sergio Bertana
    Amministratore del forum

    E’ sicuramente possibile aumentare il numero di POU gestibili, basta definire il nuovo valore nelle impostazioni del target (Screenshot). Unica accortezza come indicato nel post precedente è non superare il limite di memoria disponibile. Quindi se aumenti il numero di POU devi diminuire l’area di memoria (Ti consiglio di ridurre l’area di memoria globale). Ricorda come già detto precedentemente che ogni POU necessita di 12 bytes di memoria.

    Quindi se aumenti di 1536 il numero di POU portandolo a 2048, dovrai ridurre di 18432 bytes l’area di memoria globale.

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