Memory
Devices are equipped with memory. Device memory is divided over several memory segments. The memory segments of a device could e.g. be defined as follows:
- segment_1: stores Group Objects values
- segment_2: stores parameters
- segment_3: stores the Application Program
- segment_4: stores general information
The advantages of the memory segment concept are:
- download optimization: only download the segment that actually has been changed, e.g. there is no need to download the Application Program if only one of the parameters has been changed
- distinguish memory types
- RAM: Group Object values (volatile & run-time data)
- EEPROM/Flash: parameters & Application Program
- ROM: general information
Properties (*)
The configuration of a device is stored in its memory and is divided over a number of objects and each object contains a number of properties. A property is identified by a so called 'PID'.
E.g. the 'Device Object' (**) contains among others the following general properties:
- Error Flags
- Programming Mode
- Individual Address
The Device Object can besides the general properties also contain device (product) specific properties.
Device configuration
The configuration of a device can be accessed in two ways:
- directly: via memory services
- indirectly: via property services
Directly:
- i.e. MemoryRead(address, data_length)
- the 'MemoryRead' service can be used in order to read device parameters
- using this service however means that for each parameter its exact memory location (address) and its exact data length need to be known
Indirectly:
- i.e. PropertyRead(Device_Object_ ID, PID)
- also via the 'PropertyRead' service device parameters can be read
- using this service means that only the PID of each parameter needs to be known
- 'indirectly' means that the mapping between the PID and the actual memory location of the property is entirely done within the device
(*) 'System 1' devices have no properties and therefore don't support property services
(**) not to be confused with a Group Object