BACnet MS/TP is a data link protocol unique to BACnet that is commonly used as a field bus. The acronym MS/TP stands for Master-Slave/Token-Passing. The protocol uses EIA-485 as the physical layer. The protocol is defined using three state machines: Master Node Finite State Machine, Slave Node Finite State Machine, and Receive Frame Finite State Machine. A device is either a Master Node or a Slave Node.
MS/TP Master Nodes are similar to those of other peer-to-peer protocols. At power up, each Master Node waits for its timeslot (based on the Medium Access Control [MAC] address range of 0– 127) to begin searching for peers. When a peer is found, the token is passed to the peer, and that peer begins looking for its peer. Once a node has its peer identified, it participates in Token passing and only searches for a peer every 50 Token passes, and only if there are gaps in the MAC addresses between the nodes. If a Master Node receives a token, it can send one or more frames (defined by Max_Info_Frames). A Slave Node (MAC address range of 0–254) simply waits for a Master Node to query it using a “Data Expecting Reply” message, and it responds. It does not participate in the Token passing. A Slave Node can also receive “Data Not Expecting Reply” frames, such as a Broadcast TimeSynchronization service, but cannot send any messages on its own.
Work it Harder
Because a Slave Node does not receive a Token, it does not respond to a Who-Is service request with an I-Am, and is unable to participate in dynamic device binding (discovering a device based on its Device instance number). Addendum 135-2001a added the capability to issue I-Am responses on behalf of MS/TP slave devices. Automatic Slave detection is accomplished by a proxy device using ReadProperty or ReadPropertyMultiple services to read the Device object’s Protocol_Services_Supported property of the slave to see if it supports execution of the Who-Is service.
The proxy device reads using the special wildcard device object instance of 4194303, which is treated as if the Object Identifier correctly matched the local Device object of the slave. If the slave device does not support the execution of the Who-Is service, then it is added to a list in the proxy device. Manual Slave address binding is also supported with the addition of a new List property, Manual_Slave_Address_Binding, for Slave devices that do not support the special object instance of 4194303. If the Slave proxy device receives a Who-Is request, it will respond with an I-Am for each of the slave devices on the MS/TP network that it has listed, and that match the device range parameters.
Make it Better
Occasionally, there is an ambiguity in the language of the BACnet standard, and someone will ask for an interpretation of the language. The resulting Interpretation Request is reviewed by the BACnet committee (SSPC 135), and the language is then clarified in subsequent releases of the standard. Addendum 135-2004b-9 is such a case, and it permits MS/TP “Data Expecting Reply” frames to be broadcast when they were originally considered an invalid frame.
This adds consistency with the other data link layers since the network layer allows a device to broadcast on its local LAN a message to be routed to a device on some other network. Sometimes a small anomaly is noticed in an MS/TP state machine, where some condition occurs that was not accounted for the in the original design. Although there are no visible changes on the MS/TP wire, one subtle error was found and corrected in Addendum 135-2004d-8. The MS/TP Master Node State Machine handling of the variable EventCount could cause unnecessary transitions between the IDLE and NO_TOKEN states if there was no Token. Another Master Node state machine error was discovered in a real-world installation when a node received an unexpected frame under certain conditions.
In that rare situation, an MS/ TP Master Node would send a Token addressed to itself. As a result, the Token was dropped and was re-generated after a short delay. Addendum 135-2008v-1 fixes the TokenCount value to prevent this from occurring. The Receive Frame state machine was designed to be very efficient, and discarded frames that were not addressed to itself without needing to fully process them. However, if such discarded frames contained data that indicated the start of a new frame, the Receive Frame state machine would begin processing as if another frame was being received. This new frame would eventually be deemed invalid since the CRC (checksum) would fail or the frame would time out. In some cases, the subsequent frame would be lost. After several attempts to fix the problem, the MS/TP working group finally proposed Addendum 135- 2008z-3 to modify the MS/TP Receive State Machine so that it will consistently ignore data that is not addressed to itself. This above information was inspired by Steve Karg, Member ASHRAE.
BACnet MS/TP. These various RS485 protocols include:
RS485 Serial Protocols: has the flexibility to choose Modbus Master/Slave as well as other RS485 serial protocols which include: Modbus Sniffer, A.O. Smith AIN, A.O. Smith PDNP, BACnet MS/TP Client, BACnet MS/TP Server, TCS Basys Master, MSA Chillgard Monitor, DMX 512-Master, DMX-512 Slave, M-Bus Master, Metasys N2 Master, Metasys N2 Slave, Siemens FLN Master, Siemens FLN Slave, Sullair Master, Toshiba ASD Master, Toshiba PLC Master.
MODBUS TCP/IP G
Ethernet and RS-485 Converter Functionality
Can behave as both an Ethernet converter and a RS-485 serial converter. The gateway acts as a protocol converter/translator to allow complex interchanges of data and create a bridge between otherwise incompatible networks. All Ethernet and RS-485 fieldbus protocols are included.
Technical Overview
Provides an IEEE 802.3 10/100BaseT Ethernet port and an RS-485 port (4-wire terminal block style). The Ethernet port accepts standard CAT5-type 8-conductor unshielded twisted-pair (UTP) patch cables and supports multiple simultaneous protocols. The RS-485 port supports multiple protocols.
It supports up to twenty individually-configurable alarms, which can provide email notifications. A configurable network timeout action can also be programmed to allow each database address its own unique “fail-safe” condition in the event of a network interruption. PLC-style logical, arithmetic and filtering database manipulation operations allow the construction of complex autonomous data conditioning functions.
The embedded web server provides remote monitoring as well as a dashboard composed of a variety of gauges, meters and graphs that can be configured to provide an at-a-glance graphical overview of critical application variables in real-time.
Any combination of Ethernet to Ethernet and Ethernet to RS-485 protocol conversion is possible. Note that for Ethernet to Ethernet protocol conversions, only one Ethernet port is required because the Ethernet port supports multiple simultaneous protocols. Some popular combinations include, but are not limited to the following:
4KB DataBase
The series core functionality comes from its 4 KB internal database. This database allows data to be routed from any supported network to any other supported network. PLC-style logical, arithmetic and filtering database manipulation operations allow the construction of complex autonomous data conditioning functions.
RS485 Serial Protocols: has the flexibility to choose Modbus Master/Slave as well as other RS485 serial protocols which include: Modbus Sniffer, A.O. Smith AIN, A.O. Smith PDNP, BACnet MS/TP Client, BACnet MS/TP Server, TCS Basys Master, MSA Chillgard Monitor, DMX 512-Master, DMX-512 Slave, M-Bus Master, Metasys N2 Master, Metasys N2 Slave, Siemens FLN Master, Siemens FLN Slave, Sullair Master, Toshiba ASD Master, Toshiba PLC Master.
Ethernet Protocols: can communicate with the above RS485 protocols to Ethernet; and Ethernet to Ethernet protocols including Ethernet/IP Client/Server, AB CSP Ethernet Client/Server, Modbus TCP/IP, Profinet IO, BACnet/IP BBMD, BACnet/IP Client, BACnet/IP Server, Baumer VeriSens Client, CC-Link IE SLMP Client, MELSEC Client/Server, Generic Socket Client/Server & GreenFumeHood Client.
- Configure protocols, network characteristics, and client/server object definitions
- Graphically interact with the internal database in real-time
- Automatically update device firmware
- Define autonomous elements such as database logic, email alarms and object failsafe values
- Capture, display and save serial network traffic with microsecond-precision timestamps
- 10/100Base-T Ethernet port
- Power can be applied three different ways: via the USB cable (for configuration at a workstation), as a 7-24VDC input on the main terminal block, or via IEEE 802.3af Power over Ethernet / PoE (no need for a local power supply!)
- Internal operations managed by a pair of powerful 32-bit processors
- Autonomous alarm evaluation with email notification
- Real-time web browser-based interaction via an Adobe® Flash Player plug-in. This includes support for database interaction and a dashboard GUI with multiple windows, each of which can be configured to display data in a variety of meter/graph/gauge formats
- User-configurable network timeout behaviors
- 2-wire / 4-wire RS-485 network supports baud rates up to 115.2kbaud
- Desktop, panel/wall and DIN-rail mountable (all hardware included)
- PLC-style logical, arithmetic, trigonometric and filtering database manipulation operations allow the construction of complex data conditioning functions