Premetto che sto ancora facendo dei test per prendere confidenza con l'ambiente di sviluppo e le funzionalità del PL500.
Ho dichiarato un data types ( myDataType) con queste variabili
Code: Select all
bo : bool;
b1 : bool;
c1 : uint;
c2 : uint;
Code: Select all
count1 : udint;
count2 : udint;
data : array [0..255] of myDataType
Code: Select all
VAR_GLOBAL RETAIN
myData : myStruct;
END_VAR
In fase di compilazione ottengo "A4100: Retentive vars space exhausted"
Se anche per il bool viene comunque riservata una word, il totale dovrebbe essere 4*256 = 1024, se poi passando la struttura all' FB ne fà una copua e si riserva altro spazio non ritentivo siamo a un totale di 2048.
Il LogicLab mi da come retain space 2k ma nel manuale del PL500 trovo N. Word ritentive 10.000 words.
Cosa mi sta sfuggendo?
C'è modo di passare una struttura ad un FB senza fare un copia della stessa?