All of our software is written in “C” code with the intent of keeping the code a portable as possible. The OS is Microsoft’s CE 5.0 which gives us near real time performance and an additional layer if insulation from the actual hardware. We’ve stuck with one hardware platform and OS to minimize support requirements but, if the right business case were made, we could port the software to other environments.
When we initially prototyped the system it was on a Windows PC platform running as a standard Windows application. There were a couple of issues that led us to the Network Appliance delivery model.
Timing on the N2 bus is extremely sensitive
Error handling on the N2 bus
Support for our Upstream N2 bus (or Virtual N2 bus) required us to handle the routing and transport of N2 transactions and responses at near wire speed and in a deterministic manner. The existence of our S4 Open Appliances in a Metasys system is completely transparent to the upstream supervisory controller. Our products are compatible with all generations of the Metasys supervisory controller.
At the time that we started prototyping the system the only way to get RS-485 support in a standard PC platform was to utilize 3rd party add in cards. Each had their own installation procedures and, in most cases, their own drivers. With the unique requirements of the N2 protocol we saw this a being a potential major drain on our support resources. Today, with USB support this might not be as big an issue.
We have had requests for ports to other hardware platforms, including the Tridium JACE. Those are being investigated in the context of delivering the same features and capabilities that we do on our own platform. More will be published on this we learn more details.