A system and method of determining a topology of devices in an ethernet network of a building management system (BMS). The method includes discovering a number and identification of devices within the ethernet ring. The method further includes, for each device discovered in the ethernet ring, disabling an ethernet port of one of the device in the ethernet ring; broadcasting a ring port request onto the ethernet ring; receiving a ring port response from each of the devices having received the ring port request; and incrementing a count associated with each device based on receiving a ring port response from the device. The method then repeats the above steps until each device in the ethernet ring has had an ethernet port disabled. The method further includes determining the topology of the devices in the ethernet ring by ordering the devices in the ethernet ring based on the value of the count associated with each device.
|
0. 34. A method of determining a topology of devices in an ethernet ring or a daisy chain, comprising:
discovering a number and identification of devices within the ethernet ring or the daisy chain;
initiating a procedure to determine the topology of the devices of the ethernet ring or the daisy chain, the procedure comprising:
(i) disabling one or more ports on a reference device in the ethernet ring or daisy chain;
(ii) broadcasting a ring port request to the devices in the ethernet ring or daisy chain;
(iii) receiving a ring port response from each of the devices having received the ring port request;
(iv) re-enabling the one or more ports on the reference device; and
(v) repeating steps (i) through (iv) using a different device in the ethernet ring or daisy chain as the reference device until each device in the ethernet ring or daisy chain has been used as the reference device; and
determining the topology of the devices of the ethernet ring or the daisy chain based on the ring port responses.
0. 21. A method of determining a topology of devices in an ethernet ring or a daisy chain, comprising:
broadcasting a device discovery command from a ring topology generator to the devices in the ethernet ring or the daisy chain;
receiving device discovery information from one or more of the devices in the ethernet ring or the daisy chain at the ring topology generator;
iteratively performing a plurality of steps for each discovered device in the ethernet ring or the daisy chain until the plurality of steps have been repeated for each discovered device, the plurality of steps comprising:
(i) disabling one or more ports on the discovered device;
(ii) broadcasting a ring port request to the devices in the ethernet ring or daisy chain;
(iii) receiving a ring port response from each of the devices having received the ring port request; and
(iv) re-enabling the one or more ports on the discovered device; and
determining the topology of the devices of the ethernet ring or the daisy chain based on the ring port responses.
14. A method of determining a topology of devices in an ethernet ring, comprising:
discovering a number and identification of devices within the ethernet ring;
for each discovered device discovered in the ethernet ring:
(i) disabling an ethernet port of one of the devices the discovered device in the ethernet ring;
(ii) verifying that the ethernet ring is open;
(iii) broadcasting a ring port request onto the ethernet ring from a ring supervisor;
(iv) receiving a ring port response from each of the devices having received the ring port request;
(v) incrementing a count associated with each device based on receiving of the devices from which a ring port response from the device is received other than the discovered device;
(vi) re-enabling the previously disabled ethernet port of the one of the devices discovered device in the ethernet ring; and
(vii) repeating steps (i) through (vi) until each device in the ethernet ring has had an ethernet port disabled; and
determining the topology of the devices in the ethernet ring by ordering the devices in the ethernet ring based on a value of the count associated with each device, wherein the device having a highest count value being closest to the forwarding port of the ring supervisor, and the device having a lowest count value being furthest from the forwarding port of the ring supervisor.
0. 28. A system for determining a topology of an ethernet ring or a daisy chain, the system comprising:
a plurality of devices configured in the ethernet ring or the daisy chain; and
a ring topology generator configured to:
broadcast a device discovery command from the ring topology generator to the devices in the ethernet ring or the daisy chain;
receive device discovery information from one or more of the devices in the ethernet ring or the daisy chain at the ring topology generator;
execute instructions for each discovered device in the ethernet ring or daisy chain, the instructions causing the ring topology generator to:
(i) disable one or more ports on the discovered device;
(ii) broadcast a ring port request to the devices in the ethernet ring or daisy chain; and
(iii) receive a ring port response from each of the devices having received the ring port request; and
(iv) re-enable the one or more ports on the discovered device; and
(v) repeat steps (i) through (iv) until each of the devices in the ethernet ring or daisy chain has had one or more ports disabled and re-enabled, wherein the plurality of devices remain connected to the ring topology generator during steps (i) through (v) when arranged in the ethernet ring; and
determine the topology of the devices of the ethernet ring or the daisy chain based on the ring port responses.
1. A method of determining a topology of devices in an ethernet ring, comprising:
broadcasting a device discovery command from a ring topology generator to the devices in the ethernet ring;
receiving device discovery information from one or more of the devices in the ethernet ring at the ring topology generator;
querying a ring supervisor to confirm that the ethernet ring is closed and to determine which ethernet port of the ring supervisor is connected to the ethernet ring as a forwarding port;
the ring topology generator configured to, for each discovered device in the ethernet ring:
(i) disabling an ethernet port of one of the devices the discovered device in the ethernet ring;
(ii) verifying that the ethernet ring is open;
(iii) broadcasting a ring port request onto the ethernet ring via the ring supervisor;
(iv) receiving a ring port response from each of the devices having received the ring port request;
(v) incrementing a count associated with each device based on receiving of the devices from which a ring port response from the device is received other than the discovered device;
(vi) re-enabling the ethernet port of the one of the devices discovered device in the ethernet ring; and
(vii) repeating steps (i) through (vi) until each device in the ethernet ring has had an ethernet port disabled; and
determining the topology of the devices of the ethernet ring by ordering the devices in the ethernet ring based on a value of the count associated with each device, wherein the device having a highest count value being closest to the forwarding port of the ring supervisor, and the device having a lowest count value being furthest from the forwarding port of the ring supervisor.
8. A system for determining a topology of an ethernet ring, the system comprising:
a plurality of ethernet devices configured in the ethernet ring;
a ring supervisor, the ring supervisor integral to the ethernet ring and configured to manage data flow within the ethernet ring; and
a ring topology generator configured to:
broadcast a device discovery command from a ring topology generator to the devices in the ethernet ring;
receive device discovery information from one or more of the plurality of devices in the ethernet ring, the received device discovery information indicating a discovered device;
query the ring supervisor to confirm that the ethernet ring is closed and to determine which ethernet port of the ring supervisor is connected to the ethernet ring as a forwarding port;
execute the following instructions for each of the discovered devices device:
(i) disable an ethernet port of one of the discovered devices device in the ethernet ring;
(ii) verify that the ethernet ring is open;
(iii) broadcast a ring port request onto the ethernet ring via the ring supervisor;
(iv) receive a ring port response from each of the discovered devices having received the ring port request;
(v) increment a count associated with each device based on receiving of the devices from which a ring port request from the device response is received other than the discovered device;
(vi) re-enable the ethernet port of the one of the discovered devices device; and
(vii) repeat steps (i) through (vi) until each device in the ethernet ring has had an ethernet port disabled; and
determine the topology of the devices on the ethernet ring by ordering the devices in the ethernet ring based on a value of the count associated with each device, wherein the device having a highest count value is closest to the forwarding port of the ring supervisor, and the device having a lowest count value is the device furthest from the forwarding port of the ring supervisor.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
broadcasting a ring port query message based on receiving the device discovery information from the one or more devices in the ethernet ring;
receiving a ring port query response from the one or more devices in the ethernet ring; and
wherein the ring topology generator is configured to orient the ethernet ports of the one or more devices in the ethernet ring based on the received ring port query responses.
7. The method of
9. The system of
10. The system of
11. The system of
12. The system of
broadcast a ring port query message based on receiving the device discovery information from the one or more devices in the ethernet ring;
receive a ring port query response from the one or more devices in the ethernet ring; and
orient the ethernet ports of the one or more devices in the ethernet ring based on the received ring port query responses.
13. The system of
15. The method of
broadcasting a device discovery command from a ring topology generator to the devices in the ethernet ring; and
receiving device discovery information from the devices in the ethernet ring at the ring topology generator.
16. The method of
17. The method of
broadcasting a ring port query message to the ethernet ring from the ring topology generator based on receiving the device discovery information from the one or more devices in the ethernet ring;
receiving a ring port query response from the one or more devices in the ethernet ring; and
wherein the ring topology generator is configured to orient the ethernet ports of the one or more devices in the ethernet ring based on the received port query responses.
18. The method of
19. The method of
20. The method of
0. 22. The method of claim 21, wherein the ring topology generator does not receive a ring port response from the discovered device that currently has the one or more ports disabled.
0. 23. The method of claim 21, wherein the ethernet ring is configured as a Media Redundancy Protocol (MRP) ring.
0. 24. The method of claim 21, wherein the device discovery information includes a device identification (ID).
0. 25. The method of claim 24, wherein the device ID is one or more of a media access control (MAC) address, a building automation control network (BACnet) object identification (OID), and a logical device name.
0. 26. The method of claim 21, further comprising:
broadcasting a ring port query message based on receiving the device discovery information from the one or more devices in the ethernet ring or the daisy chain; and
receiving a ring port query response from the one or more devices in the ethernet ring or the daisy chain;
wherein the ring topology generator is configured to orient the ports of the one or more devices in the ethernet ring or the daisy chain based on the received ring port query responses.
0. 27. The method of claim 26, wherein the ring port query response comprises a message identification (ID), a device identification (ID), and an ethernet port on which the ring port query message was received.
0. 29. The system of claim 28, wherein the ring topology generator does not receive a ring port response from the discovered device that currently has the one or more ports disabled.
0. 30. The system of claim 28, wherein the ethernet ring is configured as one of a Media Redundancy Protocol (MRP) ring and a Spanning Tree Protocol (STP) ring.
0. 31. The system of claim 28, wherein the device discovery information comprises a device identification (ID), the device ID comprising one or more of a media access control (MAC) address, a building automation control network (BACnet) object identification (OD), or a logical device name.
0. 32. The system of claim 28, wherein the ring topology generator is further configured to:
broadcast a ring port query message based on receiving the device discovery information from the one or more devices in the ethernet ring or the daisy chain;
receive a ring port query response from the one or more devices in the ethernet ring or the daisy chain; and
orient the ports of the one or more devices in the ethernet ring or the daisy chain based on the received ring port query responses.
0. 33. The system of claim 32, wherein the ring port query response comprises a message identification (ID), a device identification (ID), and an ethernet port on which the ring port query message was received.
0. 35. The method of claim 34, further comprising disabling a port on each of the devices and verifying that the ethernet ring or the daisy chain is open.
0. 36. The method of claim 34, wherein discovering the number and identification of devices on the ethernet ring or the daisy chain comprises:
broadcasting a device discovery command from a ring topology generator to the devices in the ethernet ring or the daisy chain; and
receiving device discovery information from the devices in the ethernet ring or the daisy chain at the ring topology generator.
0. 37. The method of claim 36, wherein the device discovery information includes a device identification (ID).
0. 38. The method of claim 37, wherein the device identification (ID) comprises one or more of a media access control (MAC) address, a building automation control network (BACnet) object identification (OD), and a logical device name.
0. 39. The method of claim 34, wherein the ring port response comprises a message identification (ID), a device identification (ID), and an ethernet port or daisy chain identification on which the ring port query message was received.
0. 40. The method of claim 34, wherein the ethernet ring is configured as a Media Redundancy Protocol (MRP) ring.
|
This application is a reissue application of U.S. Pat. No. 10,116,517, filed May 1, 2018, the entire disclosure of which is incorporated by reference herein.
The present disclosure relates generally to building management systems. The present disclosure relates more particularly to systems and methods for identifying faults in a building management system Ethernet ring network, such as device faults, cabling faults, and/or cabling errors.
A building management system (BMS) is, in general, a system of devices configured to control, monitor, and manage equipment in or around a building or building area. A BMS can include a heating, ventilation, and air conditioning (HVAC) system, a security system, a lighting system, a fire alerting system, another system that is capable of managing building functions or devices, or any combination thereof. BMS devices may be installed in any environment (e.g., an indoor area or an outdoor area) and the environment may include any number of buildings, spaces, zones, rooms, or areas. A BMS may include a variety of devices (e.g., HVAC devices, controllers, chillers, fans, sensors, etc.) configured to facilitate monitoring and controlling the building space. Throughout this disclosure, such devices are referred to as BMS devices or building equipment.
In some BMS systems, at least some of the devices are connected in a network and particularly, in an Ethernet network. In many system, the Ethernet network may be configured in a ring topology such as a ring using a Media Redundancy Protocol (MRP) ring protocol. MRP rings can provide for single fault tolerances such that connectivity within the ring can be broken (e.g. a device fails or goes offline, or an Ethernet cable between devices is cut or disconnected) without impacting the network connectivity of the (other) devices in the ring.
While MRP rings provide a robust ring topology for a network there is currently no mechanism to accurately determine the order of the devices in the ring or how the devices are connected to each other (e.g. which switch port on a device is connected to a specific neighboring device). This data could be useful to verify that the devices in the MRP ring are connected correctly as per the system design. Further, device order and connection data can be useful in troubleshooting an MRP ring when errors or faults occur. Thus, it would be advantageous to have systems and methods that could automatically determine an order and connection scheme of devices connected in an MRP or other Ethernet ring topology.
One implementation of the present disclosure is a method for determining a topology of devices in an Ethernet ring. The method includes broadcasting a device discovery command from a ring topology generator to the devices in the Ethernet ring; and receiving device discovery information from one or more of the devices in the Ethernet ring at the ring topology generator. The method also includes querying a ring supervisor to confirm that the Ethernet ring is closed and to determine which Ethernet port of the ring supervisor is connected to Ethernet ring as the forwarding port. Additionally, the ring topology generator configured to, for each discovered device in the Ethernet ring: (i) disabling an Ethernet port of one of the devices in the Ethernet ring; (ii) verifying the Ethernet ring is open; (iii) broadcasting a ring port request onto the Ethernet ring from the ring supervisor; (iv) receiving a ring port response from each of the devices having received the ring port request; (v) incrementing a count associated with each device based on receiving a ring port response from the device; (vi) re-enabling the Ethernet port of the one of the devices in the Ethernet ring; and (vii) repeating steps (i) through (vi) until each device in the Ethernet ring has had an Ethernet port disabled. The method further includes determining the topology of the devices of the Ethernet ring by ordering the devices in the Ethernet ring based on the value of the count associated with each device. The device having the highest count value being closest to the forwarding port of the ring supervisor and the device having the lowest count value being furthest from the forwarding port of the ring supervisor.
A further implementation of the present disclosure is a system for determining a topology of an Ethernet ring. The system includes a number of Ethernet devices configured in an Ethernet ring. The system further includes a ring supervisor. The ring supervisor is integral to the Ethernet ring and configured to manage data flow within the Ethernet ring. The system further includes a ring topology generator configured to broadcast a device discovery command from a ring topology generator to the devices in the Ethernet ring. The ring topology generator is further configured to receive device discovery information from one or more of the plurality of devices in the Ethernet ring, the received device discovery information indicating a discovered device. The ring topology generator further configured to instruct the ring supervisory to initialize one Ethernet port connected to the ring as the forwarding port, and disable the other port connected to the Ethernet ring. The ring topology generator further configured to execute the following instructions for each of the discovered devices: (i) disable an Ethernet port of one of the devices in the Ethernet ring; (ii) verify the Ethernet ring is open; (iii) broadcast a ring port request onto the Ethernet ring from the forwarding port of the ring supervisor; (iv) receive a ring port response from each of the devices having received the ring port request; (v) increment a count associated with each device based on receiving a ring port response from the device; (vi) re-enable the Ethernet port of the one of the devices in the Ethernet ring; and (vii) repeat steps (i) through (vi) until each device in the Ethernet ring has had an Ethernet port disabled. The ring topology generator further configured to determine the topology of the devices of the Ethernet ring by ordering the devices in the Ethernet ring based on the value of the count associated with each devices. The device having the highest count value being closest to the forwarding port of the ring supervisor and the device having the lowest count value being furthest from the forwarding port of the ring supervisor.
A further implementation of the present disclosure is a method of determining a topology of devices in an Ethernet ring. The method includes discovering a number and identification of devices within an Ethernet ring. The method further includes, for each devices discovered in the Ethernet ring: (i) disabling an Ethernet port of one of the devices in the Ethernet ring; (ii) verifying the Ethernet ring is open; (iii) broadcasting a ring port request onto the Ethernet ring from the forwarding port of the ring supervisor; (iv) receiving a ring port response from each of the devices having received the ring port request; (v) incrementing a count associated with each device based on receiving a ring port response from the device; (vi) re-enabling the Ethernet port of the one of the devices in the Ethernet ring; and (vii) repeating steps (i) through (vi) until each device in the Ethernet ring has had an Ethernet port disabled. The method further includes determining the topology of the devices of the Ethernet ring by ordering the devices in the Ethernet ring based on the value of the count associated with each devices. The device having the highest count value being closest to the forwarding port of the ring supervisor and the device having the lowest count value being furthest from the forwarding port of the ring supervisor.
Those skilled in the art will appreciate that the summary is illustrative only and is not intended to be in any way limiting. Other aspects, inventive features, and advantages of the devices and/or processes described herein, as defined solely by the claims, will become apparent in the detailed description set forth herein and taken in conjunction with the accompanying drawings.
Building Management System and HVAC System
Referring now to
The BMS that serves building 10 includes an HVAC system 100. HVAC system 100 can include a plurality of HVAC devices (e.g., heaters, chillers, air handling units, pumps, fans, thermal energy storage, etc.) configured to provide heating, cooling, ventilation, or other services for building 10. For example, HVAC system 100 is shown to include a waterside system 120 and an airside system 130. Waterside system 120 can provide a heated or chilled fluid to an air handling unit of airside system 130. Airside system 130 can use the heated or chilled fluid to heat or cool an airflow provided to building 10. An exemplary waterside system and airside system which can be used in HVAC system 100 are described in greater detail with reference to
HVAC system 100 is shown to include a chiller 102, a boiler 104, and a rooftop air handling unit (AHU) 106. Waterside system 120 can use boiler 104 and chiller 102 to heat or cool a working fluid (e.g., water, glycol, etc.) and can circulate the working fluid to AHU 106. In various embodiments, the HVAC devices of waterside system 120 can be located in or around building 10 (as shown in
AHU 106 can place the working fluid in a heat exchange relationship with an airflow passing through AHU 106 (e.g., via one or more stages of cooling coils and/or heating coils). The airflow can be, for example, outside air, return air from within building 10, or a combination of both. AHU 106 can transfer heat between the airflow and the working fluid to provide heating or cooling for the airflow. For example, AHU 106 can include one or more fans or blowers configured to pass the airflow over or through a heat exchanger containing the working fluid. The working fluid can then return to chiller 102 or boiler 104 via piping 110.
Airside system 130 can deliver the airflow supplied by AHU 106 (i.e., the supply airflow) to building 10 via air supply ducts 112 and can provide return air from building 10 to AHU 106 via air return ducts 114. In some embodiments, airside system 130 includes multiple variable air volume (VAV) units 116. For example, airside system 130 is shown to include a separate VAV unit 116 on each floor or zone of building 10. VAV units 116 can include dampers or other flow control elements that can be operated to control an amount of the supply airflow provided to individual zones of building 10. In other embodiments, airside system 130 delivers the supply airflow into one or more zones of building 10 (e.g., via supply ducts 112) without using intermediate VAV units 116 or other flow control elements. AHU 106 can include various sensors (e.g., temperature sensors, pressure sensors, etc.) configured to measure attributes of the supply airflow. AHU 106 can receive input from sensors located within AHU 106 and/or within the building zone and can adjust the flow rate, temperature, or other attributes of the supply airflow through AHU 106 to achieve set-point conditions for the building zone.
Referring now to
In
Hot water loop 214 and cold water loop 216 can deliver the heated and/or chilled water to air handlers located on the rooftop of building 10 (e.g., AHU 106) or to individual floors or zones of building 10 (e.g., VAV units 116). The air handlers push air past heat exchangers (e.g., heating coils or cooling coils) through which the water flows to provide heating or cooling for the air. The heated or cooled air can be delivered to individual zones of building 10 to serve the thermal energy loads of building 10. The water then returns to subplants 202-212 to receive further heating or cooling.
Although subplants 202-212 are shown and described as heating and cooling water for circulation to a building, it is understood that any other type of working fluid (e.g., glycol, CO2, etc.) can be used in place of or in addition to water to serve the thermal energy loads. In other embodiments, subplants 202-212 can provide heating and/or cooling directly to the building or campus without requiring an intermediate heat transfer fluid. These and other variations to waterside system 200 are within the teachings of the present invention.
Each of subplants 202-212 can include a variety of equipment configured to facilitate the functions of the subplant. For example, heater subplant 202 is shown to include a plurality of heating elements 220 (e.g., boilers, electric heaters, etc.) configured to add heat to the hot water in hot water loop 214. Heater subplant 202 is also shown to include several pumps 222 and 224 configured to circulate the hot water in hot water loop 214 and to control the flow rate of the hot water through individual heating elements 220. Chiller subplant 206 is shown to include a plurality of chillers 232 configured to remove heat from the cold water in cold water loop 216. Chiller subplant 206 is also shown to include several pumps 234 and 236 configured to circulate the cold water in cold water loop 216 and to control the flow rate of the cold water through individual chillers 232.
Heat recovery chiller subplant 204 is shown to include a plurality of heat recovery heat exchangers 226 (e.g., refrigeration circuits) configured to transfer heat from cold water loop 216 to hot water loop 214. Heat recovery chiller subplant 204 is also shown to include several pumps 228 and 230 configured to circulate the hot water and/or cold water through heat recovery heat exchangers 226 and to control the flow rate of the water through individual heat recovery heat exchangers 226. Cooling tower subplant 208 is shown to include a plurality of cooling towers 238 configured to remove heat from the condenser water in condenser water loop 218. Cooling tower subplant 208 is also shown to include several pumps 240 configured to circulate the condenser water in condenser water loop 218 and to control the flow rate of the condenser water through individual cooling towers 238.
Hot TES subplant 210 is shown to include a hot TES tank 242 configured to store the hot water for later use. Hot TES subplant 210 can also include one or more pumps or valves configured to control the flow rate of the hot water into or out of hot TES tank 242. Cold TES subplant 212 is shown to include cold TES tanks 244 configured to store the cold water for later use. Cold TES subplant 212 can also include one or more pumps or valves configured to control the flow rate of the cold water into or out of cold TES tanks 244.
In some embodiments, one or more of the pumps in waterside system 200 (e.g., pumps 222, 224, 228, 230, 234, 236, and/or 240) or pipelines in waterside system 200 include an isolation valve associated therewith. Isolation valves can be integrated with the pumps or positioned upstream or downstream of the pumps to control the fluid flows in waterside system 200. In various embodiments, waterside system 200 can include more, fewer, or different types of devices and/or subplants based on the particular configuration of waterside system 200 and the types of loads served by waterside system 200.
Referring now to
In
Each of dampers 316-320 can be operated by an actuator. For example, exhaust air damper 316 can be operated by actuator 324, mixing damper 318 can be operated by actuator 326, and outside air damper 320 can be operated by actuator 328. Actuators 324-328 can communicate with an AHU controller 330 via a communications link 332. Actuators 324-328 can receive control signals from AHU controller 330 and can provide feedback signals to AHU controller 330. Feedback signals can include, for example, an indication of a current actuator or damper position, an amount of torque or force exerted by the actuator, diagnostic information (e.g., results of diagnostic tests performed by actuators 324-328), status information, commissioning information, configuration settings, calibration data, and/or other types of information or data that can be collected, stored, or used by actuators 324-328. AHU controller 330 can be an economizer controller configured to use one or more control algorithms (e.g., state-based algorithms, extremum seeking control (ESC) algorithms, proportional-integral (PI) control algorithms, proportional-integral-derivative (PID) control algorithms, model predictive control (MPC) algorithms, feedback control algorithms, etc.) to control actuators 324-328.
Still referring to
Cooling coil 334 can receive a chilled fluid from waterside system 200 (e.g., from cold water loop 216) via piping 342 and can return the chilled fluid to waterside system 200 via piping 344. Valve 346 can be positioned along piping 342 or piping 344 to control a flow rate of the chilled fluid through cooling coil 334. In some embodiments, cooling coil 334 includes multiple stages of cooling coils that can be independently activated and deactivated (e.g., by AHU controller 330, by BMS controller 366, etc.) to modulate an amount of cooling applied to supply air 310.
Heating coil 336 can receive a heated fluid from waterside system 200 (e.g., from hot water loop 214) via piping 348 and can return the heated fluid to waterside system 200 via piping 350. Valve 352 can be positioned along piping 348 or piping 350 to control a flow rate of the heated fluid through heating coil 336. In some embodiments, heating coil 336 includes multiple stages of heating coils that can be independently activated and deactivated (e.g., by AHU controller 330, by BMS controller 366, etc.) to modulate an amount of heating applied to supply air 310.
Each of valves 346 and 352 can be controlled by an actuator. For example, valve 346 can be controlled by actuator 354 and valve 352 can be controlled by actuator 356. Actuators 354-356 can communicate with AHU controller 330 via communications links 358-360. Actuators 354-356 can receive control signals from AHU controller 330 and can provide feedback signals to controller 330. In some embodiments, AHU controller 330 receives a measurement of the supply air temperature from a temperature sensor 362 positioned in supply air duct 312 (e.g., downstream of cooling coil 334 and/or heating coil 336). AHU controller 330 can also receive a measurement of the temperature of building zone 306 from a temperature sensor 364 located in building zone 306.
In some embodiments, AHU controller 330 operates valves 346 and 352 via actuators 354-356 to modulate an amount of heating or cooling provided to supply air 310 (e.g., to achieve a set-point temperature for supply air 310 or to maintain the temperature of supply air 310 within a set-point temperature range). The positions of valves 346 and 352 affect the amount of heating or cooling provided to supply air 310 by cooling coil 334 or heating coil 336 and may correlate with the amount of energy consumed to achieve a desired supply air temperature. AHU controller 330 can control the temperature of supply air 310 and/or building zone 306 by activating or deactivating coils 334-336, adjusting a speed of fan 338, or a combination thereof.
Still referring to
In some embodiments, AHU controller 330 receives information from BMS controller 366 (e.g., commands, setpoints, operating boundaries, etc.) and provides information to BMS controller 366 (e.g., temperature measurements, valve or actuator positions, operating statuses, diagnostics, etc.). For example, AHU controller 330 can provide BMS controller 366 with temperature measurements from temperature sensors 362-364, equipment on/off states, equipment operating capacities, and/or any other information that can be used by BMS controller 366 to monitor or control a variable state or condition within building zone 306.
Client device 368 can include one or more human-machine interfaces or client interfaces (e.g., graphical user interfaces, reporting interfaces, text-based computer interfaces, client-facing web services, web servers that provide pages to web clients, etc.) for controlling, viewing, or otherwise interacting with HVAC system 100, its subsystems, and/or devices. Client device 368 can be a computer workstation, a client terminal, a remote or local interface, or any other type of user interface device. Client device 368 can be a stationary terminal or a mobile device. For example, client device 368 can be a desktop computer, a computer server with a user interface, a laptop computer, a tablet, a smartphone, a PDA, or any other type of mobile or non-mobile device. Client device 368 can communicate with BMS controller 366 and/or AHU controller 330 via communications link 372.
Referring now to
Each of building subsystems 428 can include any number of devices, controllers, and connections for completing its individual functions and control activities. HVAC subsystem 440 can include many of the same components as HVAC system 100, as described with reference to
Still referring to
Interfaces 407, 409 can be or include wired or wireless communications interfaces (e.g., jacks, antennas, transmitters, receivers, transceivers, wire terminals, etc.) for conducting data communications with building subsystems 428 or other external systems or devices. In various embodiments, communications via interfaces 407, 409 can be direct (e.g., locally wired or wireless communications) or via a communications network 446 (e.g., a WAN, the Internet, a cellular network, etc.). For example, interfaces 407, 409 can include an Ethernet card and port for sending and receiving data via an Ethernet-based communications link or network. In another example, the interfaces 407, 409 can include a Wi-Fi transceiver for communicating via a wireless communications network. In another example, one or more of interfaces 407, 409 can include cellular or mobile phone communications transceivers. In one embodiment, communications interface 407 is a power line communications interface and BMS interface 409 is an Ethernet interface. In other embodiments, communications interface 407 and BMS interface 409 are Ethernet interfaces or are the same Ethernet interface.
Still referring to
Memory 408 (e.g., memory, memory unit, storage device, etc.) can include one or more devices (e.g., RAM, ROM, Flash memory, hard disk storage, etc.) for storing data and/or computer code for completing or facilitating the various processes, layers and modules described in the present application. Memory 408 can be or include volatile memory or non-volatile memory. Memory 408 can include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present application. According to an exemplary embodiment, memory 408 is communicably connected to processor 406 via processing circuit 404 and includes computer code for executing (e.g., by processing circuit 404 and/or processor 406) one or more processes described herein.
In some embodiments, BMS controller 366 is implemented within a single computer (e.g., one server, one housing, etc.). In various other embodiments BMS controller 366 can be distributed across multiple servers or computers (e.g., that can exist in distributed locations). Further, while
Still referring to
Enterprise integration layer 410 can be configured to serve clients or local applications with information and services to support a variety of enterprise-level applications. For example, enterprise control applications 426 can be configured to provide subsystem-spanning control to a graphical user interface (GUI) or to any number of enterprise-level business applications (e.g., accounting systems, user identification systems, etc.). Enterprise control applications 426 can also or alternatively be configured to provide configuration GUIs for configuring BMS controller 366. In yet other embodiments, enterprise control applications 426 can work with layers 410-420 to optimize building performance (e.g., efficiency, energy use, comfort, or safety) based on inputs received at interface 407 and/or BMS interface 409.
Building subsystem integration layer 420 can be configured to manage communications between BMS controller 366 and building subsystems 428. For example, building subsystem integration layer 420 can receive sensor data and input signals from building subsystems 428 and provide output data and control signals to building subsystems 428. Building subsystem integration layer 420 can also be configured to manage communications between building subsystems 428. Building subsystem integration layer 420 translate communications (e.g., sensor data, input signals, output signals, etc.) across a plurality of multi-vendor/multi-protocol systems.
Demand response layer 414 can be configured to optimize resource usage (e.g., electricity use, natural gas use, water use, etc.) and/or the monetary cost of such resource usage in response to satisfy the demand of building 10. The optimization can be based on time-of-use prices, curtailment signals, energy availability, or other data received from utility providers, distributed energy generation systems 424, from energy storage 427 (e.g., hot TES 242, cold TES 244, etc.), or from other sources. Demand response layer 414 can receive inputs from other layers of BMS controller 366 (e.g., building subsystem integration layer 420, integrated control layer 418, etc.). The inputs received from other layers can include environmental or sensor inputs such as temperature, carbon dioxide levels, relative humidity levels, air quality sensor outputs, occupancy sensor outputs, room schedules, and the like. The inputs can also include inputs such as electrical use (e.g., expressed in kWh), thermal load measurements, pricing information, projected pricing, smoothed pricing, curtailment signals from utilities, and the like.
According to an exemplary embodiment, demand response layer 414 includes control logic for responding to the data and signals it receives. These responses can include communicating with the control algorithms in integrated control layer 418, changing control strategies, changing setpoints, or activating/deactivating building equipment or subsystems in a controlled manner. Demand response layer 414 can also include control logic configured to determine when to utilize stored energy. For example, demand response layer 414 can determine to begin using energy from energy storage 427 just prior to the beginning of a peak use hour.
In some embodiments, demand response layer 414 includes a control module configured to actively initiate control actions (e.g., automatically changing setpoints) which minimize energy costs based on one or more inputs representative of or based on demand (e.g., price, a curtailment signal, a demand level, etc.). In some embodiments, demand response layer 414 uses equipment models to determine an optimal set of control actions. The equipment models can include, for example, thermodynamic models describing the inputs, outputs, and/or functions performed by various sets of building equipment. Equipment models can represent collections of building equipment (e.g., subplants, chiller arrays, etc.) or individual devices (e.g., individual chillers, heaters, pumps, etc.).
Demand response layer 414 can further include or draw upon one or more demand response policy definitions (e.g., databases, XML files, etc.). The policy definitions can be edited or adjusted by a user (e.g., via a graphical user interface) so that the control actions initiated in response to demand inputs can be tailored for the user's application, desired comfort level, particular building equipment, or based on other concerns. For example, the demand response policy definitions can specify which equipment can be turned on or off in response to particular demand inputs, how long a system or piece of equipment should be turned off, what setpoints can be changed, what the allowable set point adjustment range is, how long to hold a high demand set-point before returning to a normally scheduled set-point, how close to approach capacity limits, which equipment modes to utilize, the energy transfer rates (e.g., the maximum rate, an alarm rate, other rate boundary information, etc.) into and out of energy storage devices (e.g., thermal storage tanks, battery banks, etc.), and when to dispatch on-site generation of energy (e.g., via fuel cells, a motor generator set, etc.).
Integrated control layer 418 can be configured to use the data input or output of building subsystem integration layer 420 and/or demand response later 414 to make control decisions. Due to the subsystem integration provided by building subsystem integration layer 420, integrated control layer 418 can integrate control activities of the subsystems 428 such that the subsystems 428 behave as a single integrated supersystem. In an exemplary embodiment, integrated control layer 418 includes control logic that uses inputs and outputs from a plurality of building subsystems to provide greater comfort and energy savings relative to the comfort and energy savings that separate subsystems could provide alone. For example, integrated control layer 418 can be configured to use an input from a first subsystem to make an energy-saving control decision for a second subsystem. Results of these decisions can be communicated back to building subsystem integration layer 420.
Integrated control layer 418 is shown to be logically below demand response layer 414. Integrated control layer 418 can be configured to enhance the effectiveness of demand response layer 414 by enabling building subsystems 428 and their respective control loops to be controlled in coordination with demand response layer 414. This configuration may advantageously reduce disruptive demand response behavior relative to conventional systems. For example, integrated control layer 418 can be configured to assure that a demand response-driven upward adjustment to the set-point for chilled water temperature (or another component that directly or indirectly affects temperature) does not result in an increase in fan energy (or other energy used to cool a space) that would result in greater total building energy use than was saved at the chiller.
Integrated control layer 418 can be configured to provide feedback to demand response layer 414 so that demand response layer 414 checks that constraints (e.g., temperature, lighting levels, etc.) are properly maintained even while demanded load shedding is in progress. The constraints can also include set-point or sensed boundaries relating to safety, equipment operating limits and performance, comfort, fire codes, electrical codes, energy codes, and the like. Integrated control layer 418 is also logically below fault detection and diagnostics layer 416 and automated measurement and validation layer 412. Integrated control layer 418 can be configured to provide calculated inputs (e.g., aggregations) to these higher levels based on outputs from more than one building subsystem.
Automated measurement and validation (AM&V) layer 412 can be configured to verify that control strategies commanded by integrated control layer 418 or demand response layer 414 are working properly (e.g., using data aggregated by AM&V layer 412, integrated control layer 418, building subsystem integration layer 420, FDD layer 416, or otherwise). The calculations made by AM&V layer 412 can be based on building system energy models and/or equipment models for individual BMS devices or subsystems. For example, AM&V layer 412 can compare a model-predicted output with an actual output from building subsystems 428 to determine an accuracy of the model.
Fault detection and diagnostics (FDD) layer 416 can be configured to provide on-going fault detection for building subsystems 428, building subsystem devices (i.e., building equipment), and control algorithms used by demand response layer 414 and integrated control layer 418. FDD layer 416 can receive data inputs from integrated control layer 418, directly from one or more building subsystems or devices, or from another data source. FDD layer 416 can automatically diagnose and respond to detected faults. The responses to detected or diagnosed faults can include providing an alert message to a user, a maintenance scheduling system, or a control algorithm configured to attempt to repair the fault or to work-around the fault.
FDD layer 416 can be configured to output a specific identification of the faulty component or cause of the fault (e.g., loose damper linkage) using detailed subsystem inputs available at building subsystem integration layer 420. In other exemplary embodiments, FDD layer 416 is configured to provide “fault” events to integrated control layer 418 which executes control strategies and policies in response to the received fault events. According to an exemplary embodiment, FDD layer 416 (or a policy executed by an integrated control engine or business rules engine) can shut-down systems or direct control activities around faulty devices or systems to reduce energy waste, extend equipment life, or ensure proper control response.
FDD layer 416 can be configured to store or access a variety of different system data stores (or data points for live data). FDD layer 416 can use some content of the data stores to identify faults at the equipment level (e.g., specific chiller, specific AHU, specific terminal unit, etc.) and other content to identify faults at component or subsystem levels. For example, building subsystems 428 can generate temporal (i.e., time-series) data indicating the performance of BMS 400 and the various components thereof The data generated by building subsystems 428 can include measured or calculated values that exhibit statistical characteristics and provide information about how the corresponding system or process (e.g., a temperature control process, a flow control process, etc.) is performing in terms of error from its set-point. These processes can be examined by FDD layer 416 to expose when the system begins to degrade in performance and alert a user to repair the fault before it becomes more severe.
Ethernet Ring Topology Generation
The BMS, as described above, can have multiple individual components within the BMS. Example components may include control devices, such as field equipment controllers (FECs), advanced application field equipment controllers (FACs), network control engines (NCEs), input/output modules (IOMs), and variable air volume (VAV) modular assemblies. However, other control device types are contemplated. For example, the BMS may include multiple devices such as sensors, actuators, valves, beacons, switches, thermostats, etc. In some embodiments, some or many of these devices may be configured as or connected to a network and controlled through that network. For example, the network may be an Ethernet network arranged in a ring topology. The present disclosure describes a mechanism to dynamically and efficiently determine the topology of the devices within the ring, thereby allowing for the system configuration to be easily verified automatically. Further, the mechanism for determining the topology of the devices within the ring can allow for more efficient identification of a malfunctioning device within the Ethernet ring when a fault is detected.
Referring now to
The ring supervisor 504 may be standard Ethernet switch configured to manage a number of Ethernet-based devices in ring topology. In one embodiment, the Ring supervisor 504 is configured to host a Dynamic Host Control Protocol (DHCP) server and a MRP ring manager. The ring supervisor 504 may have a number of Ethernet ports for communicating with one or more Ethernet devices or networks. In one embodiment, the ring supervisor 504 uses two ports, such as port A and port B to communicate with the devices 506-518 and generate an Ethernet ring. As stated above, the Ethernet ring 520 of system 500 may be configured as an MRP ring. However, the herein disclosed topology determination methods and systems are intended to be protocol agnostic, and could be used in various other Ethernet ring protocols, such as a spanning tree protocol (STP) rings, daisy chain configurations, and/or other Ethernet ring protocols. In an MRP ring, an MRP beacon frame may be transmitted to each of the devices 506-518 in the Ethernet ring 520 to inform the devices 506-518 that they are a member of an MRP ring. The devices 506-518, upon receiving the MRP beacon flag, flag themselves as being a part of an MRP ring. In an MRP ring, one device in the ring (e.g. the ring supervisor 504) manages the Ethernet ring 520 to prevent continuous/infinite looping of messages within the Ethernet ring 520.
Each of the devices 506-518 may include a first port and a second port. For example, device A 506 is shown to include Port 1 and Port 2. One port may be designated as a receiving port and the other port may be a forwarding port. In one example, when the ring is closed (e.g. there is no break in the connectivity in the ring), the ring supervisor 504 may block one of the ports to prevent infinite looping within the ring and forwards all packets received outside the ring to the device on the ring. However, both Port 1 and Port 2 may be capable of sending and receiving data packets, as needed. For example, for device A 506, Port 1 is shown as a receiving port, and port 2 is shown as a forwarding port. However, the ports (e.g. port 1 and port 2) may be interchanged between being a forwarding port and a receiving port based on which port on the ring supervisor 504 is being used as a forwarding port. For example, in the system 500, if Port 4 of the Ring supervisor is used as the forwarding port of the ring supervisor 504, then Port 2 would be the receiving port and Port 1 would be the forwarding port of device A 506. In a typical ring topology, one port of the ring supervisor 504 is set as the forwarding port to prevent redundant messages from being provided to the Ethernet ring 520.
Turning now to
The RTG 502 first transmits a ring status query 602 to determine if the Ethernet ring 520 is open or closed. If the ring is closed, the RTG 502 determines that all devices 506-518 are reachable and broadcasts a device discovery broadcast message 604. Upon receiving the device discovery broadcast message 604, the devices 506-518 respond by transmitting a device discovery response 606. The device discovery response 606 may include a device ID, and a device IP address.
Upon receiving a device discovery response 606 from each of the devices 506-518, the RTG 502 may create a ring topology data structure and populate the data structure with the information within the received device discovery responses 606. In one embodiment, the data structure is a Ring Topology Table, such as Table 1, shown below.
TABLE 1
Ring Topology Table with Device Discovery Response Data
Ring Topology Table
Port to
Port to
Ring
Ethernet Supervisor
Previous
Next Ring
Order
Port/Ring Device ID
Ring Device
Device
Count
Supervisor Ring Port
N/A
N/A
Device C
Device F
Device B
Device G
Device D
Device A
Device E
Supervisor Ring Port
N/A
N/A
After the devices 506-518 of the Ethernet ring are discovered, the RTG 502 initiates an Ethernet port orientation process 700, as shown in
In one embodiment, the RTG 502 first transmits a ring status query 702 to the ring supervisor 504 to determine if the Ethernet ring 520 is open or closed. If the ring is open, the RTG 502 may abort the Ethernet port orientation process 700. If the ring is closed, the RTG 502 may transmit a ring port status query 704 to the ring supervisor 504 to determine which port is currently configured as the forwarding port of the ring supervisor 504, and therefore which port of the ring supervisor 504 is blocked. In one embodiment, the ring status query 702 and the ring port status query 704 may be combined into a single query. For purposes of this example, the forwarding port is determined to be Port 3, and the blocked port is determined to be Port 4.
The RTG 502 may then broadcast a ring port request message 706 to all of the devices 506-518. The devices 506-518 may then respond back to the RTG 502 with a ring port response message 708 containing their Device ID, and the port on which they received the ring port request message (e.g. port 1 or port 2). In one example, messages from the RTG 502 will be received on the Ethernet port closest to the forwarding port of the ring supervisor 504 for each of the devices 506-518 where the Ethernet ring 520 is closed. The port receiving the ring port request message 706 therefore is either directly connected to the forwarding port of the ring supervisor 504 (port 3), or is connected to the previous device 506-518 in the ring relative to the forwarding port of the ring supervisor 504 (port 3). Therefore, the device's 506-518 other port is therefore connected to either the blocked port of the ring supervisor 504 (port 4) or to the next device 506-518 in the Ethernet ring 520, according to some embodiments.
The RTG 502 may then update the Ring Topology table with the data received in the ring port response messages 708 received from the devices 506-518. In one embodiment, the RTG 502 may populate the Port to Previous Ring Device with the Ethernet port (1 or 2) of each device 504-518 based on the data received in the ring port response message 708. The Port to Previous Ring Device data points indicate which port of a given device 506-518 is closest to the ring supervisor's 504 forwarding port. The RTG 502 may also populate the Port to Next Ring Device with the Ethernet port (1 or 2) of each device 506-518 based on the data received in the ring port response message 708. The Port to Next Ring Device data points indicate which port of a device 506-518 is closest to the Ethernet ring's 520 blocked port (port 4). An example updated Ring Topology Table is shown in Table 2, below.
TABLE 2
Ring Topology Table with Device Port Data
Ring Topology Table
Port to
Port to
Ring
Ethernet Supervisor
Previous
Next Ring
Order
Port/Ring Device ID
Ring Device
Device
Count
Supervisor Ring Port
N/A
3
N/A
Device C
2
1
0
Device F
1
2
0
Device B
1
2
0
Device G
2
1
0
Device D
1
2
0
Device A
1
2
0
Device E
1
2
0
Supervisor Ring Port
4
N/A
N/A
Once the RTG 502 has determined the orientation of each of the devices' 506-518 ports relative to the ring supervisor 504, the RTG 502 can determine an order of the devices in the ring relative to the ring supervisor's 504 forwarding port. Turning now to
In one embodiment, the port status change request message 804 includes a command to disable one ports of the device 506-518 receiving the message 804. In one embodiment, the port status change request message 804 instructs the device 506-518 receiving the message 804 to disable the port associated with the port to next ring device parameter in the ring topology table for the associated device 506-518. As shown in
Upon receiving the ring port response messages 812, the RTG 502 first determines if the ring port response message 812 is from the reference device (e.g. the device with the currently disabled port). If the ring port response message 812 is from the reference device, the RTG 502 ignores the ring port response message 812. For the ring port response messages 812 not from the reference device, the RTG 502 then determines if the ring port response message for each of the other non-reference devices 506-518 is received from the Ethernet port which matches the Port to Previous Ring Device parameter for each associated device in the ring topology table. If the ring port response message 812 is not from the reference device, and the Ethernet port from which the ring port response message 812 was received matches the port to previous ring device parameter within the ring topology table, the RTG 502 increments a ring order count parameter in the ring topology table for the associated device. As only the forwarding port of the ring supervisor 504 is active, the RTG 502 will only receive the ring port response messages from device 506-518 between the forwarding port of the ring supervisor 504 and the reference device. At this point the ring is open such that the ring supervisor 504 can send the ring port request message 810 over both its ring ports (e.g. port 1 and port 2). However, only the devices which receive the ring port request message 810 via the previously defined forwarding port (ie. The Port to Previous Ring Device port) will have their Ring Order Count incremented. Thus, as in the above example where the device C is the initial reference device, after all of the ring port response messages 812 have been received, the ring order count parameters values within the ring topology chart will be as shown in Table 3, below.
TABLE 3
Ring Topology Table with Initial Ring Order Count
Ring Topology Table
Port to
Port to
Ring
Ethernet Supervisor
Previous
Next Ring
Order
Port/Ring Device ID
Ring Device
Device
Count
Supervisor Ring Port
N/A
3
N/A
Device C
2
1
0
Device F
1
2
0
Device B
1
2
1
Device G
2
1
0
Device D
1
2
0
Device A
1
2
1
Device E
1
2
0
Supervisor Ring Port
4
N/A
N/A
Once the ring port response messages 812 have been received, the RTG 502 may transmit a port status change request 814 to the reference device, device C 510. The port status change request 814 can instruct the reference device, device C 510 to re-enable its Ethernet port. The reference device, device C 510, can then transmit a port status change response 816 to the RTG 502 indicating that the port has been re-enabled. The port status change response 816 may include a message ID indicating that the message is a port status change response, an Ethernet port that was updated, and a result bit associated with the updated Ethernet port (e.g. 1—port enable, 2—port disabled.). Upon receiving the port status change response 816, the RTG 502 may transmit a port status change request 818 to a subsequent device 506-518 in the ring that is different from the previous reference device. After receiving confirmation that the device's Ethernet port has transitioned back to enabled, the RTG 502 may perform another Query Ring Status to confirm that the ring is now closed, and prior to moving on to the next device with 818. The RTG 502 may then repeat the above process for the new reference device, and continue until each of the previously discovered devices 506-518 have been designated as the reference device (e.g. had a port disabled.). Upon completion of the process 800, the ring topology table may include the following data as shown in Table 4 below, based on the system 500.
TABLE 4
Ring Topology Table Including Complete Ring Order Count Data
Ring Topology Table
Port to
Port to
Ring
Ethernet Supervisor
Previous
Next Ring
Order
Port/Ring Device ID
Ring Device
Device
Count
Supervisor Ring Port
N/A
3
N/A
Device C
2
1
4
Device F
1
2
1
Device B
1
2
5
Device G
2
1
0
Device D
1
2
3
Device A
1
2
6
Device E
1
2
2
Supervisor Ring Port
4
N/A
N/A
The RTG 502 may then order then devices 506-518 based on their respective ring order count. By ordering the devices 506-518 from highest ring order count to lowest ring order count, the devices 506-518 will be listed in the order they are installed in the ring in relation to the forwarding port of the ring supervisor 504, as well as how the device 506-518 in the ring are connected to each other (e.g., the Port to Previous Ring Device for the first device in the ring topology table is connected to the ring manager forwarding port, the Port to Next Ring Device of the first device in the ring topology table is connected to the Port to Previous Ring Device of the second device in the ring topology table, and so on.). For the system 500 of
TABLE 5
Ordered Ring Topology Table
Ring Topology Table
Port to
Port to
Ring
Ethernet Supervisor
Previous
Next Ring
Order
Port/Ring Device ID
Ring Device
Device
Count
Supervisor Ring Port
N/A
3
N/A
Device A
1
2
6
Device B
1
2
5
Device C
2
1
4
Device D
1
2
3
Device E
1
2
2
Device F
1
2
1
Device G
2
1
0
Supervisor Ring Port
4
N/A
N/A
Turning now to
At process block 902, all the devices within the Ethernet ring are determined. In one embodiment, an RTG, such as RTG 502 may execute a process to discover all of the devices within the Ethernet ring. For example, the RTG may use a process such as process 600 described above to discover all the devices in the Ethernet ring. The RTG may also determine other information about the devices, such as IP addresses of the devices, device types, associated other devices, associated sub-networks, or the like.
At process block 904, the RTG may determine a port configuration of the discovered device. In some embodiments, the RTG may determine the port configurations using a process similar to process 700 described above. For example, the RTG may broadcast a ring port request to the devices on the Ethernet ring. In some embodiments, the RTG first ensures that one of the ports of an Ethernet ring supervisor associated with the Ethernet ring is disabled, ensuring that any message broadcasted by the RTG is only provided to the Ethernet ring via a single port. By determining the port configurations of the discovered devices, the RTG can determine a relationship of the Ethernet ports of the devices in regards to each other, and an Ethernet ring supervisor, such as ring supervisor 504. The RTG may then populate a data structure with the individual devices within the Ethernet ring, as well as the relationships of their individual ports. For example, the RTG may populate the data structure with data such as the “port to previous ring device,” indicating which port the device received the broadcasted message from the RTG.
At process block 906, the RTG may transmit an instruction to a first device within the Ethernet ring and instruct the first device to disable one of the Ethernet ports of the device. The device with the disabled port may be referred to as the reference device. The RTG may then determine if the Ethernet ring is open at process block 908. In some embodiments, the RTG may verify that the Ethernet ring is open by querying the Ethernet ring supervisor, which can provide a status of the Ethernet ring (e.g. whether the Ethernet ring is open or closed). In other embodiments, the RTG may broadcast a message to the devices on the Ethernet ring and determine if a response is issued from all of the devices, or a portion of the devices, indicating whether the ring is open or closed.
Once the device determines that the Ethernet ring is open, the RTG broadcasts a ring port request to the devices in the Ethernet ring at process block 910. The ring port request may include a message ID indicating that the message is a ring port request. The ring port request may be a standard request in Ethernet ring configurations. At process block 912, the devices receiving the ring port request transmit a ring port response to the RTG. The ring port response may include a message ID, a device ID of the device transmitting the ring port response, a result and an Ethernet port message. The device ID may be a unique identifier for the device. For example, the device ID may be a BACnet OID, a logical name, a media access control (MAC) address, or some other existing ID. The result message may indicate whether the ring port response is successful or unsuccessful. Finally, the Ethernet port message may indicate on which port of the device the ring port request message was received. In one embodiment, the Ethernet port message may only be included in the ring port response where the result message indicates that the ring port response was successful. The RTG, having received the ring port responses from each of the devices receiving the ring port request increments a count associated with each device from which the ring port response is received. In one embodiment, the RTG may ignore the ring port response received from the reference device (e.g. the device with the disabled port.).
Once all of the ring port responses have been received, the RTG enables the previously disabled port on the reference device at process block 914. The RTG may further query the ring supervisor to confirm the ring is closed. The RTG then determines if all of the previously discovered devices within the Ethernet ring have had a port disabled (e.g. has each device been the reference device) at process block 916. If the RTG determines that not all of the previous devices have had an Ethernet port disabled, the process 900 returns to process block 906. If the RTG does determine that all of the devices have had their Ethernet ports disabled, the RTG may determine a topology of the Ethernet ring (e.g. determine the order of the discovered devices within the ring) at process block 918. In one embodiment, the RTG may determine the topology of the devices in the Ethernet ring by ordering the devices based on the number of ring port responses received from each device. The RTG may then determine that the device with the highest number of associated port responses is the device closest to the forwarding port (e.g. active port) of the Ethernet ring supervisor). Therefore, the device with the lowest number of associated port responses is the device further away from the forwarding port of the Ethernet ring supervisory. Accordingly, the order of the devices, based on the number of received port responses, will correspond to the position of the device within the Ethernet ring with respect to the forwarding port of the Ethernet ring supervisor.
In some embodiments, the RTG may utilize the generated topology to be able to identify the location of one or more breaks in an Ethernet ring. For example, whenever a ring device's Ethernet port goes out of service (OOS), the device could send a message to the RTG reporting the OOS port. The RTG could then map the port to the current ring topology and mark the port to indicate the OOS status of the port. In other embodiments, failure or break events should be generated in pairs (i.e., if one end of a connection between two devices within the Ethernet ring goes OOS, then the other should as well, such that the RTG should mark both ends of the connection OOS. If another break in the ring is detected, the connectivity to one or more devices in the ring will be lost. The RTG could determine the devices which have no connectivity based on the most recent ting topology and indicate to a user which devices have lost connection.
Configuration of Exemplary Embodiments
The construction and arrangement of the systems and methods as shown in the various exemplary embodiments are illustrative only. Although only a few embodiments have been described in detail in this disclosure, many modifications are possible (e.g., variations in sizes, dimensions, structures, shapes and proportions of the various elements, values of parameters, mounting arrangements, use of materials, colors, orientations, etc.). For example, the position of elements may be reversed or otherwise varied and the nature or number of discrete elements or positions may be altered or varied. Accordingly, all such modifications are intended to be included within the scope of the present disclosure. The order or sequence of any process or method steps may be varied or re-sequenced according to alternative embodiments. Other substitutions, modifications, changes, and omissions may be made in the design, operating conditions and arrangement of the exemplary embodiments without departing from the scope of the present disclosure.
The present disclosure contemplates methods, systems and program products on any machine-readable media for accomplishing various operations. The embodiments of the present disclosure may be implemented using existing computer processors, or by a special purpose computer processor for an appropriate system, incorporated for this or another purpose, or by a hardwired system. Embodiments within the scope of the present disclosure include program products comprising machine-readable media for carrying or having machine-executable instructions or data structures stored thereon. Such machine-readable media can be any available media that can be accessed by a general purpose or special purpose computer or other machine with a processor. By way of example, such machine-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer or other machine with a processor. Combinations of the above are also included within the scope of machine-readable media. Machine-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions.
Although the figures show a specific order of method steps, the order of the steps may differ from what is depicted. Also two or more steps may be performed concurrently or with partial concurrence. Such variation will depend on the software and hardware systems chosen and on designer choice. All such variations are within the scope of the disclosure. Likewise, software implementations could be accomplished with standard programming techniques with rule based logic and other logic to accomplish the various connection steps, processing steps, comparison steps and decision steps.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
10116517, | May 01 2017 | Tyco Fire & Security GmbH | Systems and methods for determining a topology of an ethernet ring in a building management system |
10411984, | Dec 12 2016 | Tyco Fire & Security GmbH | Systems and methods related to diagnostics for ethernet rings based on media redundancy protocol |
8244838, | Mar 03 2009 | Rockwell Automation Technologies, Inc. | Industrial controller employing the network ring topology |
8520508, | Feb 13 2007 | DELL MARKETING CORPORATION | Spanning tree ring protocol |
9037748, | May 31 2006 | Hewlett Packard Enterprise Development LP | Method and apparatus for determining the switch port to which an end-node device is connected |
9413552, | Jul 30 2014 | Rockwell Automation Technologies, Inc. | Internet protocol addressing of devices employing the network ring topology |
9450808, | Jul 08 2011 | ST ELECTRONICS INFO-COMM SYSTEMS PTE LTD | Communications network |
9537776, | Mar 15 2013 | Innovasic, Inc | Ethernet traffic management apparatus |
9655232, | Nov 05 2013 | Cisco Technology, Inc. | Spanning tree protocol (STP) optimization techniques |
20050076140, | |||
20050243739, | |||
20080056281, | |||
20080239970, | |||
20100165883, | |||
20110019536, | |||
20140321261, | |||
20160036602, | |||
20170012694, | |||
20190349218, | |||
20200076694, | |||
20200076735, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 01 2017 | DRURY, ERIC J | Johnson Controls Technology Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 054109 | /0347 | |
Nov 30 2018 | Johnson Controls Technology Company | (assignment on the face of the patent) | / | |||
Aug 06 2021 | Johnson Controls Technology Company | Johnson Controls Tyco IP Holdings LLP | NUNC PRO TUNC ASSIGNMENT SEE DOCUMENT FOR DETAILS | 058959 | /0764 | |
Feb 01 2024 | Johnson Controls Tyco IP Holdings LLP | Tyco Fire & Security GmbH | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 066957 | /0796 |
Date | Maintenance Fee Events |
Nov 30 2018 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
May 02 2022 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Feb 16 2024 | 4 years fee payment window open |
Aug 16 2024 | 6 months grace period start (w surcharge) |
Feb 16 2025 | patent expiry (for year 4) |
Feb 16 2027 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 16 2028 | 8 years fee payment window open |
Aug 16 2028 | 6 months grace period start (w surcharge) |
Feb 16 2029 | patent expiry (for year 8) |
Feb 16 2031 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 16 2032 | 12 years fee payment window open |
Aug 16 2032 | 6 months grace period start (w surcharge) |
Feb 16 2033 | patent expiry (for year 12) |
Feb 16 2035 | 2 years to revive unintentionally abandoned end. (for year 12) |