/
Data Model

Data Model

The SmartServer uses an innovative data model that is flexible enough to support multiple protocols, yet is rich enough to simplify integration of data and controls from disparate devices using different communications protocols. The data model is based on datapoints.  Datapoints are represented in diagrams as a simple block with an inset on the left to represent an input to the datapoint, and an arrow on the right to represent a reported value from the datapoint.  Here is an example datapoint that reports the temperature for a space.

Datapoints may be a single value, or they may be a collection of values contained within a structure of multiple fields consisting of individual values.  Scalar datapoints represent a single field where the value is an integer or float. Structured datapoints represent more than one value, where multiple fields are separated by a comma.  BACnet and Modbus datapoints are scalar datapoints; LON datapoints can be scalar or structured.  The figures below show examples of scalar and structured datapoints displayed in the CMS Datapoints widget.

Scalar datapoints example
Structured datapoints example

Each datapoint has a datapoint type that you can use to interpret the contents of the datapoint.  The datapoint type describes the units and range of data represented by the datapoint.  For example, the RoomTemperature datapoint can have a datapoint type that specifies it is a temperature value represented in Celsius.

Large systems with hundreds of devices may have thousands of datapoints.  To simplify organization of the datapoints, they are grouped into blocks, where a block is a set of datapoints supporting a common function.  For example, the following figure illustrates a wall unit block that contains datapoints associated with a wall-mounted space temperature controller.  A datapoint that reports a datapoint value for the block is called an output datapoint and has an arrow pointing out of the block.  In this example, the WallUnit block has output datapoints that report the space temperature, effective setpoint, and effective occupancy for the space.  A datapoint that accepts datapoint value updates for the block is called an input datapoint and has an arrow pointing into the block.  In this example, the WallUnit block has a setpoint input datapoint that accepts updates to the setpoint for the space.

The expected contents of a block is specified by a profile.  A profile specifies required and optional inputs and outputs for a type of block.

Profiles and datapoint types are defined in files called resource files.  The SmartServer includes a rich set of profiles and datapoint type definitions based on profiles and types defined by LonMark International.  The SmartServer enables these profile and type definitions to be used with devices using any communications protocol.  The LonMark definitions are available at www.lonmark.org/technology/technical-resources/functional-profile/.

The SmartServer data model provides the following advantages over systems with less complete data models, or that are based on command-based or tag-based data models:

  • Eliminates ambiguity for specifying the inputs and outputs of a device

  • Simplifies data sharing among devices and clients while maintaining independence of the devices and clients from each other

  • Enables standard services like monitoring, logging, alarming, and scheduling to be applied consistently across diverse set of devices

  • Allows for re-use and standardization of device types to make installations much more efficient

  • Supports seamless integration of devices using different protocols and data encoding – for example, the SmartServer data model simplifies integration of devices using BACnet objects, LON network variables, and Modbus data registers

  • Supports priorities (1 through 16, and normal) to determine the current value for a datapoint when writing to a datapoint. See also Datapoint Update Priorities.

 

 

Related content