The traditional ETS data model is not effective for devices containing many copies of essentially the same structure, and for configurable structures. Such data occurs often for devices with many channels (e.g. Gateways) or for highly configurable devices (e.g. sensors with touch display).
The problem here is that all possible data has to be explicitly included in the project data which has the following drawbacks:
- Unnecessarily large Application Programs (with long import and loading times and high resource consumption – even out-of-memory exceptions – in ETS)
- Risk of bugs introduced when manually copying the data in MT.
- Waste of device resources (e.g. in the object table) because each channel (or similar structure) has to accommodate for the maximum size of the contained data.
- This article presents suggestions to improve the ETS data model to take advantage of regularly structured Application Programs by a more modular approach.
This has the further advantage that it is easier to build new Application Programs from already available, tested and maybe translated building blocks.
Most of these topics have direct effect on product costs and quality.
Universal Touch Display with memory- mapped parameters
Consider a touch display which is capable of displaying up to 100 controls, each of which is either an OnOff function, a dimming function, or a shutter function.
The OnOff function is a realization of the FB 'Light Switching Sensor Basic' with two Group Objects (SwitchOnOff and InfoOnOff) and a few parameters. One of the parameters is the label to be displayed on the button in the UI.
The dimming function is a realization of the FB 'Dimming Sensor Basic' with three Group Objects (SwitchOnOff, InfoOnOff, Relative Setvalue Control) and a few parameters. One of the parameters is the label to be displayed on the button in the UI.
The shutter function is a realization of the FB 'Shutters and Blinds Sunblind Sensor Basic' with two Group Objects (Move Up Down and StopStep Up Down) and a few parameters. One of the parameters is the label to be displayed on the button in the UI.
With the help of a DCA or a Button handler script, the number and type of devices connected to a gateway is determined. For each discovered device, a Module is instantiated: for devices of Type 1 Module type 1 and so on.
More details can be found in the help (i.e. the 'local' help) of the Manufacturer Tool (from 5.7 onward).