Abstract:
A computer program and system for calculating the performance of a compressor includes selecting a compressor from a database, inputting application conditions, comparing data for the selected compressor to the inputted application conditions, defining an operating envelope for the selected compressor by defining a series of points representing lower and upper limits of evaporating and condensing temperatures for the selected compressor, determining whether the selected compressor operates within its operating envelope, and calculating the performance of the selected compressor.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 11/043,805 filed on Jan. 26, 2005, which is a continuation of U.S. patent application Ser. No. 10/265,220 filed on Oct. 4, 2002. The entire disclosures of each of the above applications is are incorporated herein by reference. 
    
    
     FIELD 
     The present disclosure relates to compressor performance and, in particular, to calculating performance parameters for new and existing compressors. 
     DISCUSSION 
     Whether troubleshooting or replacing a compressor in an existing system or selecting a compressor for a new system, it is desirable to know how the compressor performs. The performance of a compressor can be captured generally by four operating parameters: Capacity (Btu/hr), Power (Watts), Current (Amps) and Mass Flow (lbs/hr). The following equation can be used to describe each of the above-listed parameters in relation to the others: Result=C 0 +C 1 *T E +C 2 *T c +C 3 *T E   2 +C 4 *T E *T C +C 5 *T C   2 +C 6 *T E   3 +C 7 *T C *T E   2 +C 8 *T E *T C   2 +C 8 *T E *T C   2 +C 9 *T C   3 , where T E =Evaporating Temperature (F), T C =Condensing Temperature (F) and C 0 -C 9  are the rating coefficients for each parameter. For this equation, there exists unique rating coefficients for each compressor and for each parameter. 
     Traditionally, compressor performance data is obtained through reference to large binders of hardcopy performance data, or by using a modeling system, which requires the use of compressor rating coefficients. The difficulty with both of these methods is that the compressors are rated at standard conditions, which means that the sub-cool temperature and either the return gas or the super-heat temperatures remain constant. Neither the hardcopy performance data nor the data derived from the rating coefficients in the modeling system will reliably indicate a suitable compressor when actual conditions are not standard. To modify the standard conditions the sub-cool temperature the return gas or the super-heat temperatures must be manually converted to reflect actual conditions. This conversion requires the understanding of thermodynamic properties as well as knowledge of refrigerant property tables. 
     In addition, because there are thousands of compressors commercially available, the maintenance of hardcopy binders and modeling systems for each of the compressors is an insurmountable task given rapid industry and product changes. Further, compressor rating coefficients are often re-rated, compounding the difficulty in maintaining accurate data. 
     The present disclosure provides a method for determining the performance of a compressor using an updateable performance calculator with a convenient user interface. The performance calculator allows the user to select a compressor either by using a model number or by entering specific design conditions. Additionally, the performance calculator includes a lockout feature that assures the calculator is using the latest and most up-to-date data and methods. 
     Further areas of applicability of the present disclosure will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment, are intended for purposes of illustration only and are not intended to limit the scope of the claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present disclosure will become more fully understood from the detailed description and the accompanying drawings, wherein: 
         FIG. 1  is an illustration of a cooling system implementing the performance calculator of the present disclosure; 
         FIG. 2  is a process flow chart illustrating the performance calculation method of the present disclosure; 
         FIG. 3  shows a model selection interface of the present disclosure; 
         FIG. 4  shows a main selection interface of the present disclosure; 
         FIG. 5  shows a condition selection interface of the present disclosure; 
         FIG. 6  is a graphical representation of an operating envelope according to the present disclosure; 
         FIG. 7  is a data table representing the data points of an operating envelope according to the present disclosure; and 
         FIG. 8  shows a check amperage interface of the present disclosure. 
     
    
    
     DETAILED DESCRIPTION 
     The following description is merely exemplary in nature and is in no way intended to limit the disclosure, its application or uses. 
       FIG. 1  illustrates a cooling system  10  incorporating a performance calculator  30  of the present disclosure. Cooling system  10  includes controller  12  that communicates with computer  14  through communication platform  15 . Communication platform  15  may be Ethernet, ControlNet, Echelon or any other comparable communication platform. As shown, internet connection  16  provides a connection to another computer  18 . In addition to linking system components of cooling system  10 , internet connection  16  also provides access to the Internet through computer  14 . Internet connection  16  allows the user to remotely access and download performance calculator updates and store database information to memory device  20 . 
     Performance calculator  30  is shown schematically as including controller  12 , computer  14 , and memory device  20 , but more or fewer computers, controllers, and memory devices may be included. For example, controller  12  of cooling system  10  maybe a processor or other computing system having the ability to communicate through communication platform  15  or internet connection  16  to computer  18 , which is shown external to cooling system  10  and typically at a remote location. Computer  14  is shown located locally, i.e., proximate controller  12  and cooling system  10 , but may be located remotely, such as off-premises. Alternatively, computer  14  and computer  18  can be servers, either individually or as a single unit. Further, computer  14  can replace controller  12 , and communicate directly with system  10  components and computer  18 , or vice versa. Also, memory device  20  may be part of computer  14 . 
     Internal to cooling system  10 , condenser  22  connects to compressor  24  and a load  26 . Compressor  24 , through suction header  25  communicates with load  26 , which can be an evaporator, heat exchanger, etc. Through one or more sensors  28 , controller  12  monitors system conditions to provide data used by performance calculator  30 . The data gathered by sensors  28  can include the current, voltage, temperature, dew point, humidity, light, occupancy, valve condition, system mode, defrost status, suction pressure and discharge pressure of cooling system  10 , and additionally can be configured to monitor other compressor performance indicators. 
     As one skilled in the art can appreciate, there are numerous possibilities for configuring cooling system  10 . Although the above-described system is a cooling system, the performance calculator  30  is suitable for other systems including, but not limited to, heating, air conditioning, and refrigeration systems. 
     Referring to  FIG. 2 , the compressor performance calculator  30  accesses a compressor specification database  40  containing numerous makes, models, and types of compressors including the performance characteristics for each compressor. Database  40  may be located in memory device  20  or may be otherwise available to performance calculator  30 . The stored characteristics may include, but are not limited to, compressor-specific rating coefficients and application parameter limitations. 
     As previously mentioned, the rating coefficients are calculated at standard conditions and are often re-rated after the compressor is commercially released for sale. In addition, as compressors are continually developed, their rating coefficients and application parameter limitations need to be added to database  40 . To assure database  40  includes the most up-to-date data, the performance calculator  30  includes a lockout feature that disables operation after a predetermined period, usually ninety days, until the database is updated. Optionally, updates to the performance calculator  30  can be made by retrieving data via the internet or from any other accessible recording medium. 
     To begin the calculation process, the user selects a compilation route at step  50 . Two examples of compilation routes are selecting a compressor by model number via step  60  or entering design conditions via step  70 . Entering design conditions will return a list of compressors suitable for a particular application. Both of the example compilation routes are discussed in detail below. 
     Continuing the calculation process in  FIG. 2 , the user selects a model number at step  60 . A model selection interface  200  for selecting a compressor by model number is illustrated in  FIG. 3 . As shown, pull down menus  61 ,  63 ,  65 , and  67  are used for selecting the model number, refrigerant, frequency, and/or application type, respectively. Once the user selects a model number at step  60 , the next available parameter automatically highlights indicating the parameter to be selected next. For example, at step  62 , the user might select a refrigerant type from pull down menu  63 . This process guides the user through the compilation route because not all parameter combinations are available for each compressor. Depending on the model number selected, there may or may not be steps for selecting refrigerant  62 , frequency  64 , or application type  66  from pull down menus  63 ,  65 , or  67 , respectively. If a choice is limited, the pull-down menus for refrigerant  63 , frequency  65 , or application type  67  are disabled to prevent changes that differ from the default selection of that parameter. 
     Returning now to  FIG. 2 , the remaining available parameters for refrigerant, frequency, and application type are selected at steps  62 ,  64 , and  66 , respectively, and then stored for step  68  of the performance calculation process. At main selection interface  300 , as shown in  FIG. 4 , the user may change certain parameters such as the evaporating temperature, the condensing temperature and the voltage via data entry points  82 ,  84 , and  86 , respectively, as indicated at step  80  of  FIG. 2 . The main selection interface  300  is further discussed below. 
     Referring again to the beginning of the process in  FIG. 2 , the user can alternatively select a compilation route based on application conditions at step  70 , as illustrated by the condition selection interface  400  of  FIG. 5 . The application conditions available through the condition selection interface  400  differ than those available via the model selection interface  200  of  FIG. 3 . Here the user can input values for evaporating temperature and condensing temperature through data entry points  82  and  84 , respectively. In addition, parameter selections can be made from pull down menus  64 ,  92 ,  62 ,  94 , and  66  for frequency, phase, refrigerant, product type (for example; scroll, discus, hermetic, semi-hermetic and screw) and application type (for example; air conditioning, low temperature, medium temperature or high temperature), respectively. The user may also elect to toggle between selection point  96  for a constant return gas or selection point  98  for constant compressor super-heat temperature. When a constant return gas is selected at selection point  96 , the user is able to input values for return gas temperature and sub-cool temperature at data entry points  97  and  99 , respectively. Conversely, when a constant super-heat temperature is selected at selection point  98 , the user inputs values for the super-heat and the sub-cool temperatures at data entry points  97  and  99 , respectively. The nomenclature for data entry point  97  changes depending on whether there is a constant return gas or a constant superheat. For example, when a constant return gas is selected, the nomenclature for data entry point  97  reads “return gas.” However, if a constant super-heat is selected, the nomenclature reads “super-heat.” 
     In addition, at data entry points  100  and  101 , the user may select a capacity rate and a capacity tolerance percentage, respectively. Compressor capacity is expressed in terms of its enthalpy, which is a function of a compressor&#39;s internal energy plus the product of its volume and pressure. More specifically, the change in compressor enthalpy multiplied by its mass flow defines its capacity. The tolerance percentage refers to its capacity in Btu/hr. 
     Lastly, at selection point  102 , the user may elect to narrow the selection list of compressors by selecting a compressor by category. For example, the user may only be interested in compressors that are OEM production, service replacement or internationally available models. 
     When all selections are complete, the user activates the select button  104 , which initiates at step  120  a query of database  40  for records that match the design criteria. As discussed previously, each compressor&#39;s rating coefficients are representative of the compressor when measured at standard conditions. For example, 65° F. return gas and 0° F. sub-cool, or some other standard at testing. To the extent the specified design conditions differ from standard, conversions are performed to reflect the condition changes. The conversions alter the standard conditions to the new design conditions such as, for example, 25° F. superheat and 10° F. sub-cool. The conversions are derived from thermodynamic principles such as, Q=mΔh, where Q=Capacity, m=mass flow, and Δh=enthalpy change. The query returns a list, after which the user may select a compressor and continue with the performance calculation process. 
     Returning to  FIG. 2 , the exemplary compilation routes merge at step  80  for parameter modification as illustrated by the main selection interface  300  shown in  FIG. 4 . At step  80 , via the main selection interface  300 , the user can modify at data entry points  82 ,  84 , and  86 , the evaporating temperature, condensing temperature and the voltage, respectively. In addition, referring to  FIG. 4 , the user can either choose the default settings for return gas and super-heat by selecting toggle point  81 , or hold one of the temperatures constant by selecting either toggle point  83  for constant return gas or toggle point  85  for constant super-heat. Selecting either toggle point  83  or  85  disables the unselected toggle point so they are prevented from being selected together. If the default setting point  81  is selected, data entry points  87 ,  88  and  89  representing the return gas, sub-cool and compressor super-heat temperature, are fixed and cannot be modified. If constant return gas data entry point  83  is selected at step  80 , the user can modify the return gas and sub-cool temperatures via data entry points  87  and  88 . Data entry point  85  for compressor super-heat, however, is disabled for this configuration preventing modification. Conversely, if a constant super-heat temperature is selected at data entry point  85 , the user may change the values for the sub-cool and super-heat temperatures at data entry points  88  and  89 , respectively. 
     Compressor performance is often expressed in terms of saturated suction and discharge temperatures. For compressors that use glide refrigerants, such as R407C, it is advantageous to determine the appropriate temperatures that define the suction and discharge conditions. There are generally two ways to accomplish this, by midpoint or dew point temperatures. The midpoint approach is expressed by using temperatures that are midpoints of the condensation and evaporation processes. While this is a valid approach for non-glide refrigerants the performance data for compressors using glide refrigerants is more accurate when determined at dew point. The term “glide”, as used herein, is widely used in industry to describe how the temperature changes, or glides, from one value to another during the evaporation and condensation processes. Numerous refrigerants possess a gliding effect. In some, the glide is relatively small and normally neglected, but in others, such as the R407 series, the glide is measurable and can have an effect on a refrigeration cycle and compressor performance data. 
     At step  125  in  FIG. 2 , performance calculator  30  determines whether the compressor selected uses a glide refrigerant. If so, a conversion option  127  for converting the glide refrigerant midpoint temperature to a dew point temperature appears on main selection interface  300  as shown in  FIG. 4 . 
     Once all data is inputted, an operating envelope check is performed at step  130  on the data to verify that it is within compressor operating limits. Each compressor has design and application limits that are predetermined and are defined by evaporating and condensing temperature limits. Each application has an operating envelope, and the check verifies that the compressor selected can run within its operating envelope. The code used for the verification of compressor operating limits performed at step  130  is shown in the Appendix. The operating envelope will be described in detail below. 
     After final parameter selections are made, the user orders performance calculator  30  to calculate the Capacity, Power, Current, Mass Flow, EER and Isentropic Efficiency for the compressor selected  140 . The user can also select from the main selection interface  300  another compressor using the model number method, or by the application condition method previously discussed. Additional features include creating data tables representing a compressor&#39;s operating envelope, graphically showing the operating envelope and checking the rated amperage for the compressor selected. 
     As briefly explained earlier, each application has an operating envelope. The purpose of the envelope is to define an area that encompasses the operating range for each compressor. An example of an operating envelope is graphically represented in  FIG. 6 . The envelope is defined by a series of points that represent the lower and upper limits of the evaporating and condensing temperatures for a given compressor. If an evaporating or condensing temperature is selected that is outside the operating envelope, such as at point  132 , which represents an evaporation temperature of −30° F. and a condensing temperature of 45° F., a message appears in a display window  110  (shown in  FIG. 4 ). The message informs the user that the conditions are outside the operating envelope, in which case no performance calculations are returned. An example of a set of temperatures that falls within the operating envelope, and returns performance results, is located at point  134 , where the evaporating temperature is −60° F. and the condensing temperature is 35° F. 
     Several additional features of the performance calculator  30  are available at the main selection interface  300  of  FIG. 4 . One such feature is the create tables function, which is shown in  FIG. 7 . The function generates a table that displays the following parameters: Capacity (Btu/hr)  140 , Power (Watts)  142 , Current (Amps)  144 , Mass Flow (lbs/hr)  146 , EER (Btu/Watt-hr)  148  and Isentropic Efficiency (%)  150  for an entire operating envelope. Referring to cell A in  FIG. 7 , the above parameters are given for a condensing temperature of 150° F. and an evaporating temperature of 55° F. This table is also a comma separated variable (CSV) document that can be printed or exported to another platform. 
     Another feature available from main selection interface  300  of  FIG. 4  is a check amperage function. A check amperage interface  500 , as shown in  FIG. 8 , displays the model number selected at step  60  for the current application and the design voltage  162  for the selected compressor. At data points  164 ,  166  and  168  the user inputs the compressor&#39;s measured voltage, suction pressure and discharge pressure, respectively. Upon activating the calculate button  178  performance calculator  30  returns the expected saturated suction temperature, saturated discharge temperature, pressure ratio and current in amps at display points  170 ,  172 ,  174 , and  176 , respectively. 
     The foregoing description of the embodiments has been provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention. Individual elements or features of a particular embodiment are generally not limited to that particular embodiment, but, where applicable, are interchangeable and can be used in a selected embodiment, even if not specifically shown or described. The same may also be varied in many ways. Such variations are not to be regarded as a departure from the invention, and all such modifications are intended to be included within the scope of the invention. 
     APPENDIX 
     This function does envelope checking to determine if a given set of evaporating and condensing points fall inside or outside of the operating envelope. The results returned are 0 if within and 1 if outside. 
     
       
         
               
             
               
               
             
               
             
               
               
             
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
               
             
               
             
               
               
             
               
             
               
               
             
               
             
               
               
             
               
             
               
               
             
               
             
               
               
             
               
             
               
               
             
               
             
               
               
             
               
             
               
               
             
               
             
               
               
             
               
               
             
               
               
             
               
             
               
               
             
               
             
               
               
             
               
               
             
               
               
             
               
             
               
               
             
               
               
             
               
               
             
               
             
               
               
             
               
             
           
               
                   
               
             
             
               
                 Function outsideEnv(ByVal UseTemplate As String, ByVal Te As 
               
               
                 Single, ByVal Tc As Single, Optional ByVal EnvRestrictFlag 
               
               
                 As Single) As Single 
               
               
                 If EnvRestrictFlag = 1 Then 
               
             
          
           
               
                   
                 EnvTe = RestrictEnvTe( ) 
               
               
                   
                 EnvTc = RestrictEnvTc( ) 
               
               
                   
                 EnvType = RestrictEnvType( ) 
               
               
                   
                 n = Restrict_n 
               
               
                   
                 Te = Te + 0.000001 
               
               
                   
                 Tc = Tc + 0.000001 
               
             
          
           
               
                 Else 
               
             
          
           
               
                   
                 EnvTe = NormEnvTe( ) 
               
               
                   
                 EnvTc = NormEnvTc( ) 
               
               
                   
                 EnvType = NormEnvType( ) 
               
               
                   
                 n = Norm_n 
               
             
          
           
               
                 End If 
               
               
                 TeMin = EnvTe(1) 
               
               
                 TeMax = EnvTe(1) 
               
               
                 TcMin = EnvTc(1) 
               
               
                 TcMax = EnvTc(1) 
               
               
                 For i = 2 To n 
               
             
          
           
               
                   
                 If EnvTe(i) &lt; TeMin Then 
               
             
          
           
               
                   
                 TeMin = EnvTe(i) 
               
               
                   
                 TeMini = i 
               
             
          
           
               
                   
                 End If 
               
               
                   
                 If EnvTe(i) &gt; TeMax Then 
               
             
          
           
               
                   
                 TeMax = EnvTe(i) 
               
               
                   
                 TeMaxi = i 
               
             
          
           
               
                   
                 End If 
               
               
                   
                 If EnvTc(i) &lt; TcMin Then 
               
             
          
           
               
                   
                 TcMin = EnvTc(i) 
               
               
                   
                 TcMini = i 
               
             
          
           
               
                   
                 End If 
               
               
                   
                 If EnvTc(i) &gt; TcMax Then 
               
             
          
           
               
                   
                 TcMax = EnvTc(i) 
               
               
                   
                 TcMaxi = i 
               
             
          
           
               
                   
                 End If 
               
             
          
           
               
                 Next i 
               
               
                 If Te &lt; TeMin Or Te &gt; TeMax Or Tc &lt; TcMin Or Tc &gt; TcMax Then 
               
             
          
           
               
                   
                 outsideEnv = 1 
               
               
                   
                 Exit Function 
               
             
          
           
               
                 End If 
               
               
                 For i = 1 To n 
               
               
                 If Te &gt;= EnvTe(i) And EnvType(i) = 0 And EnvTe(i) &lt;&gt; TeMax Then 
               
             
          
           
               
                   
                 Env1L = EnvTe(i) 
               
               
                   
                 Env1Li = i 
               
               
                   
                 done1L = 1 
               
             
          
           
               
                 End If 
               
               
                 If Te &lt; EnvTe(i) And EnvType(i) = 0 And done2L &lt;&gt; 1 Then 
               
             
          
           
               
                   
                 Env2L = EnvTe(i) 
               
               
                   
                 Env2Li = i 
               
               
                   
                 done2L = 1 
               
             
          
           
               
                 End If 
               
               
                 If done2L &lt;&gt; 1 Then 
               
             
          
           
               
                   
                 Env2L = TeMax 
               
               
                   
                 Env2Li = TeMaxi 
               
             
          
           
               
                 End If 
               
               
                 If Te &gt;= EnvTe(i) And EnvType(i) = 1 And EnvTe(i) &lt;&gt; TeMax Then 
               
             
          
           
               
                   
                 Env1U = EnvTe(i) 
               
               
                   
                 Env1Ui = i 
               
               
                   
                 done1U = 1 
               
             
          
           
               
                 End If 
               
               
                 If Te &lt; EnvTe(i) And EnvType(i) = 1 And done2U &lt;&gt; 1 Then 
               
             
          
           
               
                   
                 Env2U = EnvTe(i) 
               
               
                   
                 Env2Ui = i 
               
               
                   
                 done2U = 1 
               
             
          
           
               
                 End If 
               
               
                 If done2L &lt;&gt; 1 Then 
               
             
          
           
               
                   
                 Env2U = TeMax 
               
               
                   
                 Env2Ui = i 
               
             
          
           
               
                 End If 
               
               
                 Next i 
               
               
                 If EnvTc(Env1Li) &lt;&gt; EnvTc(Env2Li) Then 
               
             
          
           
               
                   
                 y = yfromeq(Te, EnvTc(Env1Li), EnvTc(Env2Li), EnvTe(Env1Li), 
               
             
          
           
               
                 EnvTe(Env2Li)) 
               
             
          
           
               
                   
                 If Tc &lt; y Then 
               
             
          
           
               
                   
                 outsideEnv = 1 
               
               
                   
                 Exit Function 
               
             
          
           
               
                   
                 End If 
               
             
          
           
               
                 End If 
               
               
                 If EnvTc(Env1Ui) &lt;&gt; EnvTc(Env2Ui) Then 
               
             
          
           
               
                   
                 y = yfromeq(Te, EnvTc(Env1Ui), EnvTc(Env2Ui), EnvTe(Env1Ui), 
               
             
          
           
               
                 EnvTe(Env2Ui)) 
               
             
          
           
               
                   
                 If Tc &gt; y Then 
               
             
          
           
               
                   
                 outsideEnv = 1 
               
               
                   
                 Exit Function 
               
             
          
           
               
                   
                 End If 
               
             
          
           
               
                 End If 
               
               
                 If EnvTc(Env1Ui) = EnvTc(Env2Ui) Then 
               
             
          
           
               
                   
                 If Tc &gt; EnvTc(Env1Ui) Then 
               
             
          
           
               
                   
                 outsideEnv = 1 
               
               
                   
                 Exit Function 
               
             
          
           
               
                   
                 End If 
               
             
          
           
               
                 End If 
               
               
                 End Function 
               
               
                 Function yfromeq(ByVal x As Single, ByVal y1 As Single, ByVal y2 
               
               
                 As Single, ByVal x1 As Single, ByVal x2 As Single) As Single 
               
             
          
           
               
                   
                 yfromeq = (y2 − y1)/(x2 − x1) * (x − x1) + y1 
               
             
          
           
               
                 End Function