CAS are able to provide protocol stacks for a number of protocols including BACnet and Modbus – the two most commonly requested. The stacks are sold in two main ways. One where you the developer take the burden of working with a manual. The other, where you work with our dev team to learn about the technology, common practices and have a support engineer at your disposal all the time.
The Stacks are provided in a number of formats : API, Library, DLL, Source Code. It depends on your requirements. For thos that require source code but only for emergency purposes an escrow service can be used.
The stacks are available for C, C++, C# and Java.
The stacks have been implemented on a number of platforms: RTOS, Linux, DOS, Windows Embedded CE and XP.
Read more about BACnet Stacks here
Read more about Modbus Stacks here
Why Are Stacks Called Stacks?
The Open Systems Interconnection (OSI) model (ISO/IEC 7498-1) is a conceptual model that characterizes and standardizes the internal functions of a communications system by partitioning it into abstraction layers. These layers are STACKED on each other and each layer provides service to the layer above and below. The following notes illustrate this using BACnet as an example.
Think of a bacnet packet as a letter you send to a bacnet device. When you take it to the bacnet post office. The clerk says he does not understand the address. He passes it to the UDP clerk. The UDP clerk takes your letter and puts it in a bigger envelope. He addresses the envelope with a UDP address. He passes it to the IP post office clerk. The IP clerk takes your letter and puts it in a bigger envelope. He addresses the envelope with an IP address. He passes it to the Ethernet post office clerk. The Ethernet clerk takes your letter and puts it in a bigger envelope. He addresses the envelope with a hardware address and sends it to that computer. When it arrives the process is reversed until finally the contents are passed to the bacnet application.
Ethernet packets contain packets from other higher level protocols nested inside each other. You drill down to see the detail you want.
In the example below you can see the bacnet packet nested inside a UDP (User Datagram Protocol) which is nested inside an IP protocol packet which is in turn nested inside an Ethernet packet. Drilling down into the Bacnet packet you can see the concept is carried even further. The bacnet service is a write to analog input #1. That is wrapped up with some information about the device – the device number and network number is contained inside the NPDU.