Memoria
I dispositivi sono dotati di una memoria. La memoria del dispositivo è suddivisa in diversi segmenti di memoria. I segmenti di memoria di un dispositivo possono, a titolo di esempio, essere definiti come di seguito:
- segmento_1: memorizza i valori degli oggetti gruppo
- segmento_2: memorizza i parametri
- segmento_3: memorizza il programma applicativo
- segmento_4: memorizza le informazioni generali
I vantaggi legati al concetto di segmenti di memoria sono i seguenti:
- Ottimizzazione dei download: viene scaricato solo il segmento che è stato effettivamente modificato; ad esempio, non è necessario scaricare il programma applicativo se è stato modificato solo uno dei parametri
- Tipi di memoria distinti
- RAM: valori degli oggetti gruppo (dati volatili e di runtime)
- EEPROM/Flash: parametri e programma applicativo
- ROM: informazioni generali
Proprietà (*)
La configurazione di un dispositivo è conservata nella sua memoria ed è divisa tra diversi oggetti, ognuno dei quali contiene una serie di proprietà. Una proprietà è identificata da un cosiddetto 'PID'.
Ad esempio, 'Device Object' (Oggetto dispositivo) (**) contiene tra le altre le seguenti proprietà generali:
- Flag errore
- Modalità di programmazione
- Indirizzo individuale
L'oggetto dispositivo, oltre alle proprietà generali, può contenere anche proprietà specifiche per il dispositivo (prodotto).
Configurazione del dispositivo
È possibile accedere alla configurazione di un dispositivo in due modi:
- Direttamente: tramite i servizi della memoria
- Indirettamente: tramite i servizi delle proprietà
Direttamente:
- MemoryRead(indirizzo, lunghezza_dati)
- Il servizio 'MemoryRead' consente di leggere i parametri del dispositivo
- Per utilizzare questo servizio è tuttavia necessario conoscere, per ogni parametro, la posizione (indirizzo) di memoria esatta e la lunghezza esatta dei dati
Indirettamente:
- PropertyRead(ID_oggetto_dispositivo, PID)
- I parametri del dispositivo possono essere letti anche con il servizio 'PropertyRead'
- Per utilizzare questo servizio è sufficiente conoscere il PID di ogni parametro
- 'Indirettamente' significa che il mapping tra il PID e la posizione di memoria effettiva della proprietà è svolto interamente all'interno del dispositivo
(*) I dispositivi 'System 1' sono privi di proprietà e di conseguenza non supportano i servizi delle proprietà
(**) Da non confondere con un oggetto gruppo