Abstract:
A method of proofing a refrigeration system operating state includes monitoring a change in operating state of a refrigeration system component, determining an expected operating parameter of the refrigeration system component as a function of the change, and detecting an actual operating parameter of the refrigeration system component after the change. The method also comprises comparing the actual operating parameter to the expected operating parameter of the refrigeration component and detecting a malfunction of the refrigeration system component based on the comparison. The method may be executed by a controller or stored in a computer-readable medium.

Description:
FIELD 
   The present teachings relate to refrigeration systems and, more particularly, to proofing an operating state of the refrigeration system. 
   BACKGROUND 
   Produced food travels from processing plants to retailers, where the food product remains on display case shelves for extended periods of time. In general, the display case shelves are part of a refrigeration system for storing the food product. In the interest of efficiency, retailers attempt to maximize the shelf-life of the stored food product while maintaining awareness of food product quality and safety issues. 
   The refrigeration system plays a key role in controlling the quality and safety of the food product. Thus, any breakdown in the refrigeration system or variation in performance of the refrigeration system can cause food quality and safety issues. Thus, it is important for the retailer to monitor and maintain the equipment of the refrigeration system to ensure its operation at expected levels. 
   Refrigeration systems generally require a significant amount of energy to operate. The energy requirements are thus a significant cost to food product retailers, especially when compounding the energy uses across multiple retail locations. As a result, it is in the best interest of food retailers to closely monitor the performance of the refrigeration systems to maximize their efficiency, thereby reducing operational costs. 
   Monitoring refrigeration system performance, maintenance and energy consumption are tedious and time-consuming operations and are undesirable for retailers to perform independently. Generally speaking, retailers lack the expertise to accurately analyze time and temperature data and relate that data to food product quality and safety, as well as the expertise to monitor the refrigeration system for performance, maintenance and efficiency. Further, a typical food retailer includes a plurality of retail locations spanning a large area. Monitoring each of the retail locations on an individual basis is inefficient and often results in redundancies. 
   SUMMARY 
   A method of proofing a refrigeration system operating state is provided. The method comprises monitoring a change in operating state of a refrigeration system component, determining an expected operating parameter of the refrigeration system component as a function of the change, and detecting an actual operating parameter of the refrigeration system component after the change. The method also comprises comparing the actual operating parameter to the expected operating parameter of the refrigeration component and detecting a malfunction of the refrigeration system component based on the comparison. 
   In other features, a controller executing the method is provided. In still other features, a computer-readable medium having computer-executable instructions for performing the method is provided. 
   Further areas of applicability of the present teachings will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the teachings. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present teachings will become more fully understood from the detailed description and the accompanying drawings, wherein: 
       FIG. 1  is a schematic illustration of an exemplary refrigeration system; 
       FIG. 2  is a schematic overview of a system for remotely monitoring and evaluating a remote location; 
       FIG. 3  is a simplified schematic illustration of circuit piping of the refrigeration system of  FIG. 1  illustrating measurement sensors; 
       FIG. 4  is a simplified schematic illustration of loop piping of the refrigeration system of  FIG. 1  illustrating measurement sensors; 
       FIG. 5  is a flowchart illustrating a signal conversion and validation algorithm according to the present teachings; 
       FIG. 6  is a block diagram illustrating configuration and output parameters for the signal conversion and validation algorithm of  FIG. 5 ; 
       FIG. 7  is a flowchart illustrating a refrigerant properties from temperature (RPFT) algorithm; 
       FIG. 8  is a block diagram illustrating configuration and output parameters for the RPFT algorithm; 
       FIG. 9  is a flowchart illustrating a refrigerant properties from pressure (RPFP) algorithm; 
       FIG. 10  is a block diagram illustrating configuration and output parameters for the RPFP algorithm; 
       FIG. 11  is a graph illustrating pattern bands of the pattern recognition algorithm; 
       FIG. 12  is a block diagram illustrating configuration and output parameters of a pattern analyzer; 
       FIG. 13  is a flowchart illustrating a pattern recognition algorithm; 
       FIG. 14  is a block diagram illustrating configuration and output parameters of a message algorithm; 
       FIG. 15  is a block diagram illustrating configuration and output parameters of a recurring notice/alarm algorithm; 
       FIG. 16  is a block diagram illustrating configuration and output parameters of a condenser performance monitor for a non-variable sped drive (non-VSD) condenser; 
       FIG. 17  is a flowchart illustrating a condenser performance algorithm for the non-VSD condenser; 
       FIG. 18  is a block diagram illustrating configuration and output parameters of a condenser performance monitor for a variable sped drive (VSD) condenser; 
       FIG. 19  is a flowchart illustrating a condenser performance algorithm for the VSD condenser; 
       FIG. 20  is a block diagram illustrating inputs and outputs of a condenser performance degradation algorithm; 
       FIG. 21  is a flowchart illustrating the condenser performance degradation algorithm; 
       FIG. 22  is a block diagram illustrating inputs and outputs of a compressor proofing algorithm; 
       FIG. 23  is a flowchart illustrating the compressor proofing algorithm; 
       FIG. 24  is a block diagram illustrating inputs and outputs of a compressor performance monitoring algorithm; 
       FIG. 25  is a flowchart illustrating the compressor performance monitoring algorithm; 
       FIG. 26  is a block diagram illustrating inputs and outputs of a compressor high discharge temperature monitoring algorithm; 
       FIG. 27  is a flowchart illustrating the compressor high discharge temperature monitoring algorithm; 
       FIG. 28  is a block diagram illustrating inputs and outputs of a return gas and flood-back monitoring algorithm; 
       FIG. 29  is a flowchart illustrating the return gas and flood-back monitoring algorithm; 
       FIG. 30  is a block diagram illustrating inputs and outputs of a contactor maintenance algorithm; 
       FIG. 31  is a flowchart illustrating the contactor maintenance algorithm; 
       FIG. 32  is a block diagram illustrating inputs and outputs of a contactor excessive cycling algorithm; 
       FIG. 33  is a flowchart illustrating the contactor excessive cycling algorithm; 
       FIG. 34  is a block diagram illustrating inputs and outputs of a contactor maintenance algorithm; 
       FIG. 35  is a flowchart illustrating the contactor maintenance algorithm; 
       FIG. 36  is a block diagram illustrating inputs and outputs of a refrigerant charge monitoring algorithm; 
       FIG. 37  is a flowchart illustrating the refrigerant charge monitoring algorithm; 
       FIG. 38  is a flowchart illustrating further details of the refrigerant charge monitoring algorithm; 
       FIG. 39  is a block diagram illustrating inputs and outputs of a suction and discharge pressure monitoring algorithm; and 
       FIG. 40  is a flowchart illustrating the suction and discharge pressure monitoring algorithm. 
   

   DETAILED DESCRIPTION 
   The following description is merely exemplary in nature and is in no way intended to limit the present teachings, applications, or uses. As used herein, computer-readable medium refers to any medium capable of storing data that may be received by a computer. Computer-readable medium may include, but is not limited to, a CD-ROM, a floppy disk, a magnetic tape, other magnetic medium capable of storing data, memory, RAM, ROM, PROM, EPROM, EEPROM, flash memory, punch cards, dip switches, or any other medium capable of storing data for a computer. 
   With reference to  FIG. 1 , an exemplary refrigeration system  100  includes a plurality of refrigerated food storage cases  102 . The refrigeration system  100  includes a plurality of compressors  104  piped together with a common suction manifold  106  and a discharge header  108  all positioned within a compressor rack  110 . A discharge output  112  of each compressor  102  includes a respective temperature sensor  114 . An input  116  to the suction manifold  106  includes both a pressure sensor  118  and a temperature sensor  120 . Further, a discharge outlet  122  of the discharge header  108  includes an associated pressure sensor  124 . As described in further detail hereinbelow, the various sensors are implemented for evaluating maintenance requirements. 
   The compressor rack  110  compresses refrigerant vapor that is delivered to a condenser  126  where the refrigerant vapor is liquefied at high pressure. Condenser fans  127  are associated with the condenser  126  to enable improved heat transfer from the condenser  126 . The condenser  126  includes an associated ambient temperature sensor  128  and an outlet pressure sensor  130 . This high-pressure liquid refrigerant is delivered to the plurality of refrigeration cases  102  by way of piping  132 . Each refrigeration case  102  is arranged in separate circuits consisting of a plurality of refrigeration cases  102  that operate within a certain temperature range.  FIG. 1  illustrates four (4) circuits labeled circuit A, circuit B, circuit C and circuit D. Each circuit is shown consisting of four (4) refrigeration cases  102 . However, those skilled in the art will recognize that any number of circuits, as well as any number of refrigeration cases  102  may be employed within a circuit. As indicated, each circuit will generally operate within a certain temperature range. For example, circuit A may be for frozen food, circuit B may be for dairy, circuit C may be for meat, etc. 
   Because the temperature requirement is different for each circuit, each circuit includes a pressure regulator  134  that acts to control the evaporator pressure and, hence, the temperature of the refrigerated space in the refrigeration cases  102 . The pressure regulators  134  can be electronically or mechanically controlled. Each refrigeration case  102  also includes its own evaporator  136  and its own expansion valve  138  that may be either a mechanical or an electronic valve for controlling the superheat of the refrigerant. In this regard, refrigerant is delivered by piping to the evaporator  136  in each refrigeration case  102 . 
   The refrigerant passes through the expansion valve  138  where a pressure drop causes the high pressure liquid refrigerant to achieve a lower pressure combination of liquid and vapor. As hot air from the refrigeration case  102  moves across the evaporator  136 , the low pressure liquid turns into gas. This low pressure gas is delivered to the pressure regulator  134  associated with that particular circuit. At the pressure regulator  134 , the pressure is dropped as the gas returns to the compressor rack  110 . At the compressor rack  110 , the low pressure gas is again compressed to a high pressure gas, which is delivered to the condenser  126 , which creates a high pressure liquid to supply to the expansion valve  138  and start the refrigeration cycle again. 
   A main refrigeration controller  140  is used and configured or programmed to control the operation of the refrigeration system  100 . The refrigeration controller  140  is preferably an Einstein Area Controller offered by CPC, Inc. of Atlanta, Ga., or any other type of programmable controller that may be programmed, as discussed herein. The refrigeration controller  140  controls the bank of compressors  104  in the compressor rack  110 , via an input/output module  142 . The input/output module  142  has relay switches to turn the compressors  104  on an off to provide the desired suction pressure. 
   A separate case controller (not shown), such as a CC-100 case controller, also offered by CPC, Inc. of Atlanta, Ga. may be used to control the superheat of the refrigerant to each refrigeration case  102 , via an electronic expansion valve in each refrigeration case  102  by way of a communication network or bus. Alternatively, a mechanical expansion valve may be used in place of the separate case controller. Should separate case controllers be utilized, the main refrigeration controller  140  may be used to configure each separate case controller, also via the communication bus. The communication bus may either be a RS-485 communication bus or a LonWorks Echelon bus that enables the main refrigeration controller  140  and the separate case controllers to receive information from each refrigeration case  102 . 
   Each refrigeration case  102  may have a temperature sensor  146  associated therewith, as shown for circuit B. The temperature sensor  146  can be electronically or wirelessly connected to the controller  140  or the expansion valve for the refrigeration case  102 . Each refrigeration case  102  in the circuit B may have a separate temperature sensor  146  to take average/min/max temperatures or a single temperature sensor  146  in one refrigeration case  102  within circuit B may be used to control each refrigeration case  102  in circuit B because all of the refrigeration cases  102  in a given circuit operate at substantially the same temperature range. These temperature inputs are preferably provided to the analog input board  142 , which returns the information to the main refrigeration controller  140  via the communication bus. 
   Additionally, further sensors are provided and correspond with each component of the refrigeration system and are in communication with the refrigeration controller  140 . Energy sensors  150  are associated with the compressors  104  and the condenser  126  of the refrigeration system  100 . The energy sensors  150  monitor energy consumption of their respective components and relay that information to the controller  140 . 
   Referring now to  FIG. 2 , data acquisition and analytical algorithms may reside in one or more layers. The lowest layer is a device layer that includes hardware including, but not limited to, I/O boards that collect signals and may even process some signals. A system layer includes controllers such as the refrigeration controller  140  and case controllers  141 . The system layer processes algorithms that control the system components. A facility layer includes a site-based controller  161  that integrates and manages all of the sub-controllers. The site-based controller  161  is a master controller that manages communications to/from the facility. 
   The highest layer is an enterprise layer that manages information across all facilities and exists within a remote network or processing center  160 . It is anticipated that the remote processing center  160  can be either in the same location (e.g., food product retailer) as the refrigeration system  100  or can be a centralized processing center that monitors the refrigeration systems of several remote locations. The refrigeration controller  140  and case controllers  141  initially communicate with the site-based controller  161  via a serial connection, Ethernet, or other suitable network connection. The site-based controller  161  communicates with the processing center  160  via a modem, Ethernet, internet (i.e., TCP/IP) or other suitable network connection. 
   The processing center  160  collects data from the refrigeration controller  140 , the case controllers  141  and the various sensors associated with the refrigeration system  100 . For example, the processing center  160  collects information such as compressor, flow regulator and expansion valve set points from the refrigeration controller  140 . Data such as pressure and temperature values at various points along the refrigeration circuit are provided by the various sensors via the refrigeration controller  140 . 
   Referring now to  FIGS. 3 and 4 , for each refrigeration circuit and loop of the refrigeration system  100 , several calculations are required to calculate superheat, saturation properties and other values used in the hereindescribed algorithms. These measurements include: ambient temperature (T a ), discharge pressure (P d ), condenser pressure (P c ), suction temperature (T s ), suction pressure (P s ), refrigeration level (RL), compressor discharge temperature (T d ), rack current load (I cmp ), condenser current load (I cnd ) and compressor run status. Other accessible controller parameters will be used as necessary. For example, a power sensor can monitor the power consumption of the compressor racks and the condenser. Besides the sensors described above, suction temperature sensors  115  monitor T s  of the individual compressors  104  in a rack and a rack current sensor  150  monitors I cmp  of a rack. The pressure sensor  124  monitors P d  and a current sensor  127  monitors I cnd  Multiple temperature sensors  129  monitor a return temperature (T c ) for each circuit. 
   The analytical algorithms include common and application algorithms that are preferably provided in the form of software modules. The application algorithms, supported by the common algorithms, predict maintenance requirements for the various components of the refrigeration system  100  and generate notifications that include notices, warnings and alarms. Notices are the lowest of the notifications and simply notify the service provider that something out of the ordinary is happening in the system. A notification does not yet warrant dispatch of a service technician to the facility. Warnings are an intermediate level of the notifications and inform the service provider that a problem is identified which is serious enough to be checked by a technician within a predetermined time period (e.g., 1 month). A warning does not indicate an emergency situation. An alarm is the highest of the notifications and warrants immediate attention by a service technician. 
   The common algorithms include signal conversion and validation, saturated refrigerant properties, pattern analyzer, watchdog message and recurring notice or alarm message. The application algorithms include condenser performance management (fan loss and dirty condenser), compressor proofing, compressor fault detection, return gas superheat monitoring, compressor contact monitoring, compressor run-time monitoring, refrigerant loss detection and suction/discharge pressure monitoring. Each is discussed in detail below. The algorithms can be processed locally using the refrigeration controller  140  or remotely at the remote processing center  160 . 
   Referring now to  FIGS. 5 through 15 , the common algorithms will be described in detail. With particular reference to  FIGS. 5 and 6 , the signal conversion and validation (SCV) algorithm processes measurement signals from the various sensors. The SCV algorithm determines the value of a particular signal and up to three different qualities including whether the signal is within a useful range, whether the signal changes over time and/or whether the actual input signal from the sensor is valid. 
   Referring now to  FIG. 5 , in step  500 , the input registers read the measurement signal of a particular sensor. In step  502 , it is determined whether the input signal is within a range that is particular to the type of measurement. If the input signal is within range, the SCV algorithm continues in step  504 . If the input signal is not within the range an invalid data range flag is set in step  506  and the SCV algorithm continues in step  508 . In step  504 , it is determined whether there is a change (Δ) in the signal within a threshold time (t thresh ). If there is no change in the signal it is deemed static. In this case, a static data value flag is set in step  510  and the SCV algorithm continues in step  508 . If there is a change in the signal a valid data value flag is set in step  512  and the SCV algorithm continues in step  508 . 
   In step  508 , the signal is converted to provide finished data. More particularly, the signal is generally provided as a voltage. The voltage corresponds to a particular value (e.g., temperature, pressure, current, etc.). Generally, the signal is converted by multiplying the voltage value by a conversion constant (e.g., ° C./V, kPa/V, A/V, etc.). In step  514 , the output registers pass the data value and validation flags and control ends. 
   Referring now to  FIG. 6 , a block diagram schematically illustrates an SCV block  600 . A measured variable  602  is shown as the input signal. The input signal is provided by the instruments or sensors. Configuration parameters  604  are provided and include Lo and Hi range values, a time Δ, a signal Δ and an input type. The configuration parameters  604  are specific to each signal and each application. Output parameters  606  are output by the SCV block  600  and include the data value, bad signal flag, out of range flag and static value flag. In other words, the output parameters  606  are the finished data and data quality parameters associated with the measured variable. 
   Referring now to  FIGS. 7 through 10 , refrigeration property algorithms will be described in detail. The refrigeration property algorithms provide the saturation pressure (P SAT ), density and enthalpy based on temperature. The refrigeration property algorithms further provide saturation temperature (T SAT ) based on pressure. Each algorithm incorporates thermal property curves for common refrigerant types including, but not limited to, R22, R401a (MP39), R402a (HP80), R404a (HP62), R409a and R507c. 
   With particular reference to  FIG. 7 , a refrigerant properties from temperature (RPFT) algorithm is shown. In step  700 , the temperature and refrigerant type are input. In step  702 , it is determined whether the refrigerant is saturated liquid based on the temperature. If the refrigerant is in the saturated liquid state, the RPFT algorithm continues in step  704 . If the refrigerant is not in the saturated liquid state, the RPFT algorithm continues in step  706 . In step  704 , the RPFT algorithm selects the saturated liquid curve from the thermal property curves for the particular refrigerant type and continues in step  708 . 
   In step  706 , it is determined whether the refrigerant is in a saturated vapor state. If the refrigerant is in the saturated vapor state, the RPFT algorithm continues in step  710 . If the refrigerant is not in the saturated vapor state, the RPFT algorithm continues in step  712 . In step  712 , the data values are cleared, flags are set and the RPFT algorithm continues in step  714 . In step  710 , the RPFT algorithm selects the saturated vapor curve from the thermal property curves for the particular refrigerant type and continues in step  708 . In step  708 , data values for the refrigerant are determined. The data values include pressure, density and enthalpy. In step  714 , the RPFT algorithm outputs the data values and flags. 
   Referring now to  FIG. 8 , a block diagram schematically illustrates an RPFT block  800 . A measured variable  802  is shown as the temperature. The temperature is provided by the instruments or sensors. Configuration parameters  804  are provided and include the particular refrigerant type. Output parameters  806  are output by the RPFT block  800  and include the pressure, enthalpy, density and data quality flag. 
   With particular reference to  FIG. 9  a refrigerant properties from pressure (RPFP) algorithm is shown. In step  900 , the temperature and refrigerant type are input. In step  902 , it is determined whether the refrigerant is saturated liquid based on the pressure. If the refrigerant is in the saturated liquid state, the RPFP algorithm continues in step  904 . If the refrigerant is not in the saturated liquid state, the RPFP algorithm continues in step  906 . In step  904 , the RPFP algorithm selects the saturated liquid curve from the thermal property curves for the particular refrigerant type and continues in step  908 . 
   In step  906 , it is determined whether the refrigerant is in a saturated vapor state. If the refrigerant is in the saturated vapor state, the RPFP algorithm continues in step  910 . If the refrigerant is not in the saturated vapor state, the RPFP algorithm continues in step  912 . In step  912 , the data values are cleared, flags are set and the RPFP algorithm continues in step  914 . In step  910 , the RPFP algorithm selects the saturated vapor curve from the thermal property curves for the particular refrigerant type and continues in step  908 . In step  908 , the temperature of the refrigerant is determined. In step  914 , the RPFP algorithm outputs the temperature and flags. 
   Referring now to  FIG. 10 , a block diagram schematically illustrates an RPFP block  1000 . A measured variable  1002  is shown as the pressure. The pressure is provided by the instruments or sensors. Configuration parameters  1004  are provided and include the particular refrigerant type. Output parameters  1006  are output by the RPFP block  1000  and include the temperature and data quality flag. 
   Referring now to  FIGS. 11 through 13 , the data pattern recognition algorithm or pattern analyzer will be described in detail. The pattern analyzer monitors operating parameter inputs such as case temperature (T CASE ), product temperature (T PROD ), P s  and P d  and includes a data table (see  FIG. 11 ) having multiple bands whose upper and lower limits are defined by configuration parameters. A particular input is measured at a configured frequency (e.g., every minute, hour, day, etc.). As the input value changes, the pattern analyzer determines within which band the value lies and increments a counter for that band. After the input has been monitored for a specified time period (e.g., a day, a week, a month, etc.) notifications are generated based on the band populations. The bands are defined by various boundaries including a high positive (PP) boundary, a positive (P) boundary, a zero (Z) boundary, a minus (M) boundary and a high minus (MM) boundary. The number of bands and the boundaries thereof are determined based on the particular refrigeration system operating parameter to be monitored. If the population of a particular band exceeds a notification limit, a corresponding notification is generated. 
   Referring now to  FIG. 12 , a pattern analyzer block  1200  receives measured variables  1202 , configuration parameters  1204  and generates output parameters  1206  based thereon. The measured variables  1202  include an input (e.g., T CASE , T PROD , P s  and P d ). The configuration parameters  1204  include a data sample timer and data pattern zone information. The data sample timer includes a duration, an interval and a frequency. The data pattern zone information defines the bands and which bands are to be enabled. For example, the data pattern zone information provides the boundary values (e.g., PP) band enablement (e.g., PPen), band value (e.g., PPband) and notification limit (e.g., PPpct). 
   Referring now to  FIG. 13 , input registers are set for measurement and start trigger in step  1300 . In step  1302 , the algorithm determines whether the start trigger is present. If the start trigger is not present, the algorithm loops back to step  1300 . If the start trigger is present, the pattern table is defined in step  1304  based on the data pattern bands. In step  1306 , the pattern table is cleared. In step  1308 , the measurement is read and the measurement data is assigned to the pattern table in step  1310 . 
   In step  1312 , the algorithm determines whether the duration has expired. If the duration has not yet expired, the algorithm waits for the defined interval in step  1314  and loops back to step  1308 . If the duration has expired, the algorithm populates the output table in step  1316 . In step  1318 , the algorithm determines whether the results are normal. In other words, the algorithm determines whether the population of each band is below the notification limit for that band. If the results are normal, notifications are cleared in step  1320  and the algorithm ends. If the results are not normal, the algorithm determines whether to generate a notice, a warning, or an alarm in step  1322 . In step  1324 , the notification(s) is/are generated and the algorithm ends. 
   Referring now to  FIG. 14 , a block diagram schematically illustrates the watchdog message algorithm, which includes a message generator  1400 , configuration parameters  1402  and output parameters  1404 . In accordance with the watchdog message algorithm, the site-based controller  161  periodically reports its health (i.e., operating condition) to the remainder of the network. The site-based controller generates a test message that is periodically broadcast. The time and frequency of the message is configured by setting the time of the first message and the number of times per day the test message is to be broadcast. Other components of the network (e.g., the refrigeration controller  140 , the processing center  160  and the case controllers) periodically receive the test message. If the test message is not received by one or more of the other network components, a controller communication fault is indicated. 
   Referring now to  FIG. 15 , a block diagram schematically illustrates the recurring notification algorithm. The recurring notification algorithm monitors the state of signals generated by the various algorithms described herein. Some signals remain in the notification state for a protracted period of time until the corresponding issue is resolved. As a result, a notification message that is initially generated as the initial notification occurs may be overlooked later. The recurring notification algorithm generates the notification message at a configured frequency. The notification message is continuously regenerated until the alarm condition is resolved. 
   The recurring notification algorithm includes a notification message generator  1500 , configuration parameters  1502 , input parameters  1504  and output parameters  1506 . The configuration parameters  1502  include message frequency. The input  1504  includes a notification message and the output parameters  1506  include a regenerated notification message. The notification generator  1500  regenerates the input notification message at the indicated frequency. Once the notification condition is resolved, the input  1504  will indicate as such and regeneration of the notification message terminates. 
   Referring now to  FIGS. 16 through 40 , the application algorithms will be described in detail. With particular reference to  FIGS. 16 through 21 , condenser performance degrades due to gradual buildup of dirt and debris on the condenser coil and condenser fan failures. The condenser performance management includes a fan loss algorithm and a dirty condenser algorithm to detect either of these conditions. 
   Referring now to  FIGS. 16 and 17 , the fan loss algorithm for a condenser fan without a variable speed drive (VSD) will be described. A block diagram illustrates a fan loss block  1600  that receives inputs of total condenser fan current (I CND ), a fan call status, a fan current for each condenser fan (I EACHFAN ) and a fan current measurement accuracy (δI FANCURRENT ). The fan call status is a flag that indicates whether a fan has been commanded to turn on. The fan current measurement accuracy is assumed to be approximately 10% of I EACHFAN  if it is otherwise unavailable. The fan loss block  1600  processes the inputs and can generate a notification if the algorithm deems a fan is not functioning. 
   Referring to  FIG. 17 , the condenser control requests that a fan come on in step  1700 . In step  1702 , the algorithm determines whether the incremental change in I CND  is greater than or equal to the difference of I EACHFAN  and δI FANCURRENT . If the incremental change is not greater than or equal to the difference, the algorithm generates a fan loss notification in step  1704  and the algorithm ends. If the incremental change is greater than or equal to the difference, the algorithm loops back to step  1700 . 
   Referring now to  FIGS. 18 and 19 , the fan loss algorithm for a condenser fan with a VSD will be described. A block diagram illustrates a fan loss block  1800  that receives inputs of I CND , the number of fans ON (N), VSD speed (RPM) or output %, I EACHFAN  and δI FANCURRENT . The VSD RPM or output % is provided by a motor control algorithm. The fan loss block  1600  processes the inputs and can generate a notification if the algorithm deems a fan is not functioning. 
   Referring to  FIG. 19 , the condenser control calculates and expected current (I EXP ) in step  1900  based on the following formula:
 
 I   EXP   =N×I   EACHFAN ×(RPM/100) 3  
 
In step  1902 , the algorithm determines whether I CND  is greater than or equal to the difference of I EXP  and δI FANCURRENT . If the incremental change is not greater than or equal to the difference, the algorithm generates a fan loss notification in step  1904  and the algorithm ends. If the incremental change is greater than or equal to the difference, the algorithm loops back to step  1900 .
 
   Referring specifically to  FIGS. 20 and 21 , the dirty condenser algorithm will be explained in further detail. Condenser performance degrades due to dirt and debris. The dirty condenser algorithm calculates an overall condenser performance factor (U) for the condenser which corresponds to a thermal efficiency of the condenser. Hourly and daily averages are calculated and stored. A notification is generated based on a drop in the U averages. A condenser performance degradation block  2000  receives inputs including I CND , I CMP , P d , T a , refrigerant type and a reset flag. The condenser performance degradation block generates an hourly U average (U HRLYAVG ), a daily U average (U DAILYAVG ) and a reset flag time, based on the inputs. Whenever the condenser is cleaned, the field technician resets the algorithm and a benchmark U is created by averaging seven days of hourly data. 
   A condenser performance degradation analysis block  2002  generates a notification based on U HRLYAVG , U DAILYAVG  and the reset time flag. Referring now to  FIG. 21 , the algorithm calculates T DSAT  based on P d  in step  2100 . In step  2102 , the algorithm calculates U based on the following equation: 
           U   =       I   CMP         (       I   CND     +   Ionefan     )     ⁢     (       T   DSAT     -     T   a       )               
To avoid an error due to division by 0, a small nominal value I onefan  is added to the denominator. In this way, even when the condenser is off, and I CND  is 0, the equation does not return an error. I onefan  corresponds to the normal current of one fan. The In step  2104 , the algorithm updates the hourly and daily averages provided that I CMP  and I CND  are both greater than 0, all sensors are functioning properly and the number of good data for sampling make up at least 20% of the total data sample. If these conditions are not met, the algorithm sets U=−1. The above calculation is based on condenser and compressor current. As can be appreciated, condenser and compressor power, as indicated by a power meter, or PID control signal data may also be used. PID control signal refers to a control signal that directs the component to operate at a percentage of its maximum capacity. A PID percentage value may be used in place of either the compressor or condenser current. As can be appreciated, any suitable indication of compressor or condenser power consumption may be used.
 
   In step  2106 , the algorithm logs U HRLYAVG , U DAILYAVG  and the reset time flag into memory. In step  2108 , the algorithm determine whether each of the averages have dropped by a threshold percentage (XX %) as compared to respective benchmarks. If the averages have not dropped by XX %, the algorithm loops back to step  2100 . If the averages have dropped by XX %, the algorithm generates a notification in step  2110 . 
   Referring now to  FIGS. 22 and 23 , the compressor proofing algorithm monitors T d  and the ON/OFF status of the compressor. When the compressor is turned ON, T d  should rise by at least 20° F. A compressor proofing block  2200  receives T d  and the ON/OFF status as inputs. The compressor proofing block  2200  processes the inputs and generates a notification if needed. In step  2300 , the algorithm determines whether T d  has increased by at least 20° F. after the status has changed from OFF to ON. If T d  has increased by at least 20° F., the algorithm loops back. If T d  has not increased by at least 20° F., a notification is generated in step  2302 . 
   High compressor discharge temperatures result in lubricant breakdown, worn rings, and acid formation, all of which shorten the compressor lifespan. This condition can indicate a variety of problems including, but not limited to, damaged compressor valves, partial motor winding shorts, excess compressor wear, piston failure and high compression ratios. High compression ratios can be caused by either low suction pressure, high head pressure or a combination of the two. The higher the compression ratio, the higher the discharge temperature. This is due to heat of compression generated when the gasses are compressed through a greater pressure range. 
   High discharge temperatures (e.g., &gt;300 F) cause oil break-down. Although high discharge temperatures typically occur in summer conditions (i.e., when the outdoor temperature is high and compressor has some problem), high discharge temperatures can occur in low ambient conditions, when compressor has some problem. Although the discharge temperature may not be high enough to cause oil break-down, it may still be higher than desired. Running compressor at relatively higher discharge temperatures indicates inefficient operation and the compressor may consume more energy then required. Similarly, lower then expected discharge temperatures may indicate flood-back. 
   The algorithms detect such temperature conditions by calculating isentropic efficiency (N CMP ) for the compressor. A lower efficiency indicates a compressor problem and an efficiency close to 100% indicates a flood-back condition. 
   Referring now to  FIGS. 24 and 25 , the compressor fault detection algorithm will be discussed in detail. A compressor performance monitoring block  2400  receives P s , T s , P d , T d , compressor ON/OFF status and refrigerant type as inputs. The compressor performance monitoring block  2400  generates N CMP  and a notification based on the inputs. A compressor performance analysis block selectively generates a notification based on a daily average of N CMP . 
   With particular reference to  FIG. 25 , the algorithm calculates suction entropy (S SUC ) and suction enthalpy (h SUC ) based on T s  and P s , intake enthalpy (h ID ) based on S SUC , and discharge enthalpy (h DIS ) based on T d  and P d  in step  2500 . In step  2502 , control calculates N CMP  based on the following equation:
 
 N   CMP =( h   ID   −h   SUC )/( h   DIS   −h   SUC )*100
 
In step  2504 , the algorithm determines whether N CMP  is less than a first threshold (THR 1 ) for a threshold time (t THRESH ) and whether N CMP  is greater than a second threshold (THR 2 ) for t THRESH . If N CMP  is not less than THR 1  for t THRESH  and is not greater than THR 2  for t THRESH , the algorithm continues in step  2508 . If N CMP  is less than THR 1 , for t THRESH  and is greater than THR 2  for t THRESH , the algorithm issues a compressor performance effected notification in step  2506  and ends. The thresholds may be predetermined and based on ideal suction enthalpy, ideal intake enthalpy and/or ideal discharge enthalpy. Further, THR 1  may be 50%. An N CMP  of less than 50% may indicate a refrigeration system malfunction. THR 2  may be 90%. An N CMP  of more than 90% may indicate a flood back condition.
 
   In step  2508 , the algorithm calculates a daily average of N CMP  (N CMPDA ) provided that the compressor proof has not failed, all sensors are providing valid data and the number of good data samples are at least 20% of the total samples. If these conditions are not met, N CMPDA  is set equal to −1. In step  2510 , the algorithm determines whether N CMPDA  has changed by a threshold percent (PCT THR ) as compared to a benchmark. If N CMPDA  has not changed by PCT THR , the algorithm loops back to step  2500 . If N CMPDA  has not changed by PCT THR , the algorithm ends. If N CMPDA  has changed by PCT THR , the algorithm initiates a compressor performance effected notification in step  2512  and the algorithm ends. 
   Referring now to  FIGS. 26 and 27 , a high T d  monitoring algorithm will be described in detail. The high T d  monitoring algorithm generates notifications for discharge temperatures that can result in oil beak-down. In general, the algorithm monitors T d  and determines whether the compressor is operating properly based thereon. T d  reflects the latent heat absorbed in the evaporator, evaporator superheat, suction line heat gain, heat of compression, and compressor motor-generated heat. All of this heat is accumulated at the compressor discharge and must be removed. High compressor T d &#39;s result in lubricant breakdown, worn rings, and acid formation, all of which shorten the compressor lifespan. This condition can indicate a variety of problems including, but not limited to damaged compressor valves, partial motor winding shorts, excess compressor wear, piston failure and high compression ratios. High compression ratios can be caused by either low P s , high head pressure, or a combination of the two. The higher the compression ratio, the higher the T d  will be at the compressor. This is due to heat of compression generated when the gasses are compressed through a greater pressure range. 
   Referring now to  FIG. 26 , a T d  monitoring block  2600  receives T d  and compressor ON/OFF status as inputs. The T d  monitoring block  2600  processes the inputs and selectively generates an unacceptable T d  notification. Referring now to  FIG. 27 , the algorithm determines whether T d  is greater than a threshold temperature (T THR ) for a threshold time (t THRESH ). If T d  is not greater than T THR  for t THRESH , the algorithm loops back. If T d  is greater than T THR  for t THRESH , the algorithm generates an unacceptable discharge temperature notification in step  2702  and the algorithm ends. 
   Referring now to  FIGS. 28 and 29 , the return gas superheat monitoring algorithm will be described in further detail. Liquid flood-back is a condition that occurs while the compressor is running. Depending on the severity of this condition, liquid refrigerant will enter the compressor in sufficient quantities to cause a mechanical failure. More specifically, liquid refrigerant enters the compressor and dilutes the oil in either the cylinder bores or the crankcase, which supplies oil to the shaft bearing surfaces and connecting rods. Excessive flood back (or slugging) results in scoring the rods, pistons, or shafts. 
   This failure mode results from the heavy load induced on the compressor and the lack of lubrication caused by liquid refrigerant diluting the oil. As the liquid refrigerant drops to the bottom of the shell, it dilutes the oil, reducing its lubricating capability. This inadequate mixture is then picked up by the oil pump and supplied to the bearing surfaces for lubrication. Under these conditions, the connecting rods and crankshaft bearing surfaces will score, wear, and eventually seize up when the oil film is completely washed away by the liquid refrigerant. There will likely be copper plating, carbonized oil, and aluminum deposits on compressor components resulting from the extreme heat of friction. 
   Some common causes of refrigerant flood back include, but are not limited to inadequate evaporator superheat, refrigerant over-charge, reduced air flow over the evaporator coil and improper metering device (oversized). The return gas superheat monitoring algorithm is designed to generate a notification when liquid reaches the compressor. Additionally, the algorithm also watches the return gas temperature and superheat for the first sign of a flood back problem even if the liquid does not reach the compressor. Also, the return gas temperatures are monitored and a notification is generated upon a rise in gas temperature. Rise in gas temperature may indicate improper settings. 
   Referring now to  FIG. 28 , a return gas and flood back monitoring block  2800 , receives T s , P s , rack run status and refrigerant type as inputs. The return gas and flood back monitoring block  2800  processes the inputs and generates a daily average superheat (SH), a daily average T s  (T savg ) and selectively generates a flood back notification. Another return gas and flood back monitoring block  2802  selectively generates a system performance degraded notice based on SH and T savg . 
   Referring now to  FIG. 29 , the algorithm calculates a saturated T s  (T ssat ) based on P s  in step  2900 . The algorithm also calculates SH as the difference between T s  and T ssat  in step  2900 . In step  2902 , the algorithm determines whether SH is less than a superheat threshold (SH THR ) for a threshold time (t THRSH ). If SH is not less than SH THR  for t THRSH , the algorithm loops back to step  2900 . If SH is less than SH THR  for t THRSH , the algorithm generates a flood back detected notification in step  2904  and the algorithm ends. 
   In step  2908 , the algorithm calculates an SH daily average (SH DA ) and T savg  provided that the rack is running (i.e., at least one compressor in the rack is running, all sensors are generating valid data and the number of good data for averaging are at least 20% of the total data sample. If these conditions are not met, the algorithm sets SH DA =−100 and T savg =−100. In step  2910 , the algorithm determines whether SH DA  or T savg  change by a threshold percent (PCT THR ) as compared to respective benchmark values. If neither SH DA  nor T savg  change by PCT THR , the algorithm ends. If either SH DA  or T savg  changes by PCT THR , the algorithm generates a system performance effected algorithm in step  2912  and the algorithm ends. 
   The algorithm may also calculate a superheat rate of change over time. An increasing superheat may indicate an impending flood back condition. Likewise, a decreasing superheat may indicate an impending degraded performance condition. The algorithm compares the superheat rate of change to a rate threshold maximum and a rate threshold minimum, and determines whether the superheat is increases or decreasing at a rapid rate. In such case, a notification is generated. 
   Compressor contactor monitoring provides information including, but not limited to, contactor life (typically specified as number of cycles after which contactor needs to be replaced) and excessive cycling of compressor, which is detrimental to the compressor. The contactor sensing mechanism can be either internal (e.g., an input parameter to a controller which also accumulates the cycle count) or external (e.g., an external current sensor or auxiliary contact). 
   Referring now to  FIG. 30 , the contactor maintenance algorithm selectively generates notifications based on how long it will take to reach the maximum count using a current cycling rate. For example, if the number of predicted days required to reach maximum count is between 45 and 90 days a notice is generated. If the number of predicted days is between 7 and 45 days a warning is generated and if the number of predicated days is less then 7, an alarm is generated. A contactor maintenance block  3000  receives the contactor ON/OFF status, a contactor reset flag and a maximum contactor cycle count (N MAX ) as inputs. The contactor maintenance block  3000  generates a notification based on the input. 
   Referring now to  FIG. 31 , the algorithm determines whether the reset flag is set in step  3100 . If the reset flag is set, the algorithm continues in step  3102 . If the reset flag is not set, the algorithm continues in step  3104 . In step  3102 , the algorithm sets an accumulated counter (C ACC ) equal to zero. In step  3104 , the algorithm determines a daily count (C DAILY ) of the particular contactor, updates C ACC  based on C DAILY  and determines the number of predicted days until service (D PREDSERV ) based on the following equation:
 
 D   PREDSERV =( N   MAX   −C   ACC )/ C   DAILY  
 
   In step  3106 , the algorithm determines whether D PREDSERV  is less than a first threshold number of days (D THR1 ) and is greater than or equal to a second threshold number of days (D THR2 ). If D PREDSERV  is less than D THR1  and is greater than or equal to D THR2 , the algorithm loops back to step  3100 . If D PREDSERV  is not less than D THR1  or is not greater than or equal to D THR2 , the algorithm continues in step  3108 . In step  3108 , the algorithm generates a notification that contactor service is required and ends. 
   An excessive contactor cycling algorithm watches for signs of excessive cycling. Excessive cycling of the compressor for an extended period of time reduces the life of compressor. The algorithm generates at least one notification a week to notify of excessive cycling. The algorithm makes use of point system to avoid nuisance alarm.  FIG. 32  illustrates a contactor excessive cycling block  3200 , which receives contactor ON/OFF status as an input. The contactor excessive cycling block  3200  selectively generates a notification based on the input. 
   Referring now to  FIG. 33 , the algorithm determines the number of cycling counts (N CYCLE ) each hour and assigns cycling points (N POINTS ) based thereon. For example, if N CYCLE /hour is between 6 and 12, N POINTS  is equal to 1. If N CYCLE /hour is between 12 and 18, N POINTS  is equal to 3 and if N CYCLE /hour is greater than 18, N POINTS  is equal to 1. In step  3302 , the algorithm determines the accumulated N POINTS  (N POINTSACC ) for a time period (e.g., 7 days). In step  3304 , the algorithm determines whether N POINTSACC  is greater than a threshold number of points (P THR ). If N POINTSACC  is not greater than P THR , the algorithm loops back to step  3300 . If N POINTSACC  is greater than P THR , the algorithm issues a notification in step  3306  and ends. 
   The compressor run-time monitoring algorithm monitors the run-time of the compressor. After a threshold compressor run-time (t COMPTHR ), a routine maintenance such as oil change or the like is required. When the run-time is close to t COMPTHR , a notification is generated. Referring now to  FIG. 34 , a compressor maintenance block  3400  receives an accumulated compressor run-time (t COMPACC ), a reset flag and t COMPTHR  as inputs. The compressor maintenance block  3400  selectively generates a notification based on the inputs. 
   Referring not to  FIG. 35 , the algorithm determines whether the reset flag is set in step  3500 . If the reset flag is set, the algorithm continues in step  3502 . If the reset flag is not set, the algorithm continues in step  3504 . In step  3502 , the algorithm sets t COMPACC  equal to zero. In step  3504 , the algorithm calculates the daily compressor run time (t COMPDAILY ) and predicts the number of days until service is required (t COMPSERV ) based on the following equation:
 
 t   COMPSERV =( t   COMPTHR   −t   COMPACC )/ t   COMPDAILY  
 
   In step  3506 , the algorithm determines whether t COMPSERV  is less than a first threshold (D THR1 ) and greater than or equal to a second threshold (D THR2 ). If t COMPSERV  is not less than D THR1  or is not greater than or equal to D THR2 , the algorithm loops back to step  3500 . If t COMPSERV  is less than D THR1  and is greater than or equal to D THR2 , the algorithm issues a notification in step  3508  and ends. 
   Refrigerant level within the refrigeration system  100  is a function of refrigeration load, ambient temperatures, defrost status, heat reclaim status and refrigerant charge. A reservoir level indicator (not shown) reads accurately when the system is running and stable and it varies with the cooling load. When the system is turned off, refrigerant pools in the coldest parts of the system and the level indicator may provide a false reading. The refrigerant loss detection algorithm determines whether there is leakage in the refrigeration system  100 . 
   Refrigerant leak can occur as a slow leak or a fast leak. A fast leak is readily recognizable because the refrigerant level in the optional receiver will drop to zero in a very short period of time. However, a slow leak is difficult to quickly recognize. The refrigerant level in the receiver can widely vary throughout a given day. To extract meaningful information, hourly and daily refrigerant level averages (RL HRLYAVG , RL DAILYAVG ) are monitored. If the refrigerant is not present in the receiver should be present in the condenser. The volume of refrigerant in the condenser is proportional to the temperature difference between ambient air and condenser temperature. Refrigerant loss is detected by collectively monitoring these parameters. 
   Referring now to  FIG. 36 , a first refrigerant charge monitoring block  3600  receives receiver refrigerant level (RL REC ), P d , T a , a rack run status, a reset flag and the refrigerant type as inputs. The first refrigerant charge monitoring block  3600  generates RL HRLYAVG , RL DAILYAVG , TD HRLYAVG , TD DAILYAVG , a reset date and selectively generates a notification based on the inputs. RL HRLYAVG , RL DAILYAVG , TD HRLYAVG , TD DAILYAVG  and the reset date are inputs to a second refrigerant charge monitoring block  3602 , which selectively generates a notification based thereon. It is anticipated that the first monitoring block  3600  is resident within and processes the algorithm within the refrigerant controller  140 . The second monitoring block  3602  is resident within and processes the algorithm within the processing center  160 . The algorithm generates a refrigerant level model based on the monitoring of the refrigerant levels. The algorithm determines an expected refrigerant level based on the model, and compares the current refrigerant level to the expected refrigerant level. 
   Referring now to  FIG. 37 , the refrigerant loss detection algorithm calculates T dsat  based on P d  and calculates TD as the difference between T dsat  and T a  in step  3700 . In step  3702 , the algorithm determines whether RL REC  is less than a first threshold (RL THR1 ) for a first threshold time (t 1 ) or whether RL REC  is greater than a second threshold (RL THR2 ) for a second threshold time (t 2 ). If RL REC  is not less than RL THR1  for t 1  and RL REC  is not greater than RL THR2  for t 2 , the algorithm loops back to step  3700 . If RL REC  is less than RL THR1  for t 1 , or RL REC  is greater than RL THR2  for t 2 , the algorithm issues a notification in step  3704  and ends. 
   In step  3706 , the algorithm calculates RL HRLYAVG  and RL DAILYAVG  provided that the rack is operating, all sensors are providing valid data and the number of good data points is at least 20% of the total sample of data points. If these conditions are not met, the algorithm sets TD equal to −100 and RL REC  equal to −100. In step  3708 , RL REC , RL HRLYAVG , RL DAILYAVG , TD and the reset flag date (if a reset was initiated) are logged. 
   Referring now to  FIG. 38 , the algorithm calculates expected daily RL values. The algorithm determines whether the reset flag has been set in step  3800 . If the reset flag has been set, the algorithm continues in step  3802 . If the reset flag has not been set, the algorithm continues in step  3804 . In step  3802 , the algorithm calculates TD HRLY  and plots the function RL REC  versus TD, according to the function RL REC =Mb×TD+Cb, where Mb is the slope of the line and Cb is the Y-intercept. In step  3804 , the algorithm calculates expected RL DAILYAVG  based on the function. In step  3806 , the algorithm determines whether the expected RL DAILYAVG  minus the actual RL DAILYAVG  is greater than a threshold percentage. When the difference is not greater than the threshold percentage, the algorithm ends. When the difference is greater than the threshold, a notification is issued in step  3808 , and the algorithm ends. 
   P s  and P d  have significant implications on overall refrigeration system performance. For example, if P s  is lowered by 1 PSI, the compressor power increases by about 2%. Additionally, any drift in P s  and P d  may indicate malfunctioning of sensors or some other system change such as set point change. The suction and discharge pressure monitoring algorithm calculates daily averages of these parameters and archives these values in the server. The algorithm initiates an alarm when there is a significant change in the averages.  FIG. 39  illustrates a suction and discharge pressure monitoring block  3900  that receives P s , P d  and a pack status as inputs. The suction and discharge pressure monitoring block  3900  selectively generates a notification based on the inputs. 
   Referring now to  FIG. 40 , the suction and discharge pressure monitoring algorithm calculates daily averages of P s  and P d  (P sAVG  and P dAvG , respectively) in step  4000  provided that the rack is operating, all sensors are generating valid data and the number of good data points is at least 20% of the total number of data points. If these conditions are not met, the algorithm sets P sAVG  equal to −100 and P dAVG  equal to −100. In step  4002 , the algorithm determines whether the absolute value of the difference between a current P sAVG  and a previous P sAVG  is greater than a suction pressure threshold (P sTHR ). If the absolute value of the difference between the current P sAVG  and the previous P sAVG  is greater than P sTHR , the algorithm issues a notification in step  4004  and ends. If the absolute value of the difference between the current P sAVG  and the previous P sAVG  is not greater than P sTHR , the algorithm continues in step  4006 . 
   In step  4006 , the algorithm determines whether the absolute value of the difference between a current P dAVG  and a previous P dAVG  is greater than a discharge pressure threshold (P dTHR ). If the absolute value of the difference between the current P dAVG  and the previous P dAVG  is greater than P dTHR , the algorithm issues a notification in step  4008  and ends. If the absolute value of the difference between the current P dAVG  and the previous P dAVG  is not greater than P dTHR , the algorithm ends. Alternatively, the algorithm may compare P dAVG  and P sAVG  to predetermined ideal discharge and suction pressures. 
   The description is merely exemplary in nature and, thus, variations are not to be regarded as a departure from the spirit and scope of the teachings.