Enhancing DX-9100 Usability

Natively the JCI Metasys® DX-9100, and all System-91 devices, are a beast to work with. They were workhorses, very high quality devices that could perform extremely complex customized tasks for central plant management and almost anything else that was needed in a building automation project. Programming them was a task that required expert level skills and a detailed understanding of the System-91 specific device architecture and capabilities. The architecture of these devices was also radically different than that of the N2 Open and VMA devices.

The S4 group can’t do anything to change the functionality of these devices, of course, or make them easier to program. However, we have done what we can with our products to improve the integrator’s experience when working with these devices through OPC or BACnet clients. This article will focus on the integration to BACnet, but all of the concepts are transferrable to our OPC products.

S4 Open appliances provide data access, transformation, and presentation for all N2 devices involved in an S4 integrations. Data types and attributes for points are all presented as BACnet standard objects. N2 devices and points are emulated as complete BACnet objects, including priority array support. Our Device Template technology facilitates this capability, enables customization by the integrator, and provides an extensible solution for future enhancements.

The Upstream N2 interface in the S4 Open appliance enables co-existence between the legacy Metasys® supervisory controller or Metasys® Operator Workstation and your BACnet client. This gives you the option of introducing 3rd party value added applications on site or positioning the S4 Open: BACnet-N2 Router as on on-site agent for cloud-based applications.

Data Stores

The data store for Metasys® N2 Open and VMA devices is organized into well-defined Regions with each region containing data of a specified type. The N2 Open protocol provides discrete commands for N2 Read, N2 Write, N2 Override, and N2 Release transactions. Integrating to these devices is non-trivial but it is a documented process. Timing and error handling on the N2 bus is almost an art form. There are three separate sub-protocols (N2 Open, N2B, and System-91) that share the same wire and co-exist with each other.

The data store for Metasys® System-91 devices is one contiguous array of variable length, variable data type elements. They are organized into objects and instances reflecting the various modules in the System-91 device. As with all N2 devices, the device itself contains no identifying information for the data store. That information is all contained externally in configuration files and maintained by dedicated JCI utilities. In the case of the DX-9100, this utility is the GX-9100 here in the U.S. and SX-9100 in Europe. The fact that each DX-9100 is custom programmed makes the concept of Device Templates less than optimal. S4 solved this problem by developing a Metasys® Configuration File Conversion Utility that takes the .DMO file for a DX-9100 as input and produces a custom Device Template that the integrator can assign to the device via our Management Console.

Other System-91 devices have a similar data store architecture, each with its own unique list of elements. Most of them either have their own configuration utilities or are fixed function devices.

Data Types

Device Templates provided by S4 properly profile the data for each System-91 point as the appropriate BACnet data type for the object. The integrator has the power to define points as alternate BACnet object types if special needs arrive in a project.

On Text, Off Text, and Engineering Units

S4 provided Device Templates provide BACnet compliant encoding for

  • On Text and Off Text for Boolean points
  • Enumerations and data transformations for Multistate points via the S4 Smart Data Point capability
  • Engineering Units for Analog points

The integrator is free to substitute their own values for any of these attributes to meet the requirements of their project.

Override and Release Support

Natively supporting the equivalent of override and release operations in System-91 devices is a complex operation that requires the careful execution of a sequence of discrete System-91 commands. This is not at all user friendly and most BACnet Operator Workstations are not capable of supporting this in their graphical user interfaces in a user friendly way, if at all. The S4 Open appliances provide an overlay of emulation logic on top of the raw System-91 protocol to provide the Override and Release capabilities for select System-91 points. This support is provided only for the points most likely to utilize this capability for each System-91 device. The integrator can control this feature through the source strings in our Device Templates associated with each point. By adding an additional attribute to the source string for a point, you can override and release functionality for System-91 devices in a way consistent with N2 Open devices.

  • Adding “.override” to a source string requests that the S4 Open appliance performs an override function
  • Adding “.release” to a source string requests that the S4 Open appliance performs a return to normal function.
  • Adding “.value” to a source string (or not including this attribute) requests that the S4 Open appliance performs a normal N2 write operation.

Note that for System-91 devices the S4 Open appliance does not apply the default actions that we use for N2 Open and VMA devices. You must specifically request an override or release function.

You can define multiple BACnet points in S4 Device Templates as aliases for any System-91 point. Each of these aliases must have a unique point name and unique BACnet OID. In this way the S4 Open appliance supports N2 Override and Release functionality through the BACnet protocol.

Digital Output points in System-91 devices are unique in that, depending on how they are configured, the supporting module for each DO can be driven by either an Analog point or a Digital point. You have the option of directly overriding the TRIAC output for the DO through points that address the Triac directly. This is the preferred method.

BACnet Point Instance Number Assignments

BACnet point instance numbers are assigned in the S4 Device Template. Once assigned, an instance number will never change unless you modify the template, or make a modification through the S4 Open Management Console. We have developed the following convention for creating seven digit BACnet point instance numbers that conveys the maximum available information about the origin of the point.

These assignments are the convention that S4 chose to use. You are free to assign any BACnet point instance number you desire as long as you follow the BACnet standard.

Digits 6 and 7 of each BACnet point instance number reflect the Metasys® Region that the point originated in, according to the following table.

Digits 2 through 5 reflect the Metasys® object number within the region where the point originated. Remember that externally (in documentation and in the Metasys® UI) Metasys® numbers objects starting at 1 but in the N2 protocol the numbering starts at 0. The S4 instance numbers coded in our Device Templates reflect the external object number, rather than the internal number.

Digit 1 reflects the type of N2 transaction that will be initiated by the BACnet-N2 Router when a point is written to from a BACnet client, according to the following table.

The result is a 7 digit BACnet point instance number that can be interpreted as follows:

In compliance with the BACnet standard point instance numbers may not be greater than 4194302.


The S4 Open appliances greatly improve the functionality provided to the integrator and improve the ease of integration with BACnet and OPC vs. working with the native System-91 protocols. Resulting in labor savings, cost savings, and lower risk when performing integrations using the S4 Open: BACnet-N2 Router or S4 Open: OPC-N2 Router vs. any other available integration platform.