The present disclosure relates to control systems and methods for determining an optimal evaporator saturated suction temperature setpoint (SST) for an evaporator and controlling an evaporator pressure regulating valve based on the determined evaporator saturated suction temperature setpoint, with the optimal evaporator SST being an evaporator SST that will result in a control value of the evaporator, such as discharge air temperature (DAT), being closer to a control value setpoint, such as a DAT setpoint.
This section provides background information related to the present disclosure which is not necessarily prior art.
The temperature within a refrigerated space, such as within a refrigeration case of a supermarket refrigeration system, can be controlled by controlling evaporator suction pressure. For example, discharge air temperature of the evaporator can be monitored and a position of an electronic evaporator pressure regulating valve (EEPR) can be controlled based on a discharge air temperature setpoint. When the discharge air temperature is above the setpoint, an opening of the EEPR can be increased to decrease the evaporator pressure and lower the discharge air temperature of the evaporator. When the discharge air temperature is below the setpoint, the opening of the EEPR can be decreased to increase the evaporator pressure and increase the discharge air temperature of the evaporator. Alternatively, evaporator pressure can be monitored and the EEPR can be controlled based on a fixed evaporator pressure setpoint. For example, U.S. Pat. No. 7,287,396, titled “Evaporator Pressure Regulator Control and Diagnostics,” describes a controller that controls an associated electronic evaporator pressure regulator of an evaporator. U.S. Pat. No. 7,287,396 is incorporated by reference in its entirety.
Traditional control systems and methods, however, may not account for external factors, such dirty coils or degradation of superheat control, that may impact the ability of the system to accurately and efficiently satisfy the cooling demand within the refrigerated space. The use of zeotropic refrigerant mixtures that have a high evaporator temperature glide may also impact the ability of the traditional control systems and methods to accurately and efficiently satisfy the cooling demand within the refrigerated space. Further, traditional systems may periodically require manual tuning and adjustment by a technician.
This section provides a general summary of the disclosure, and is not a comprehensive disclosure of its full scope or all of its features.
The present disclosure provides a system that includes a case controller for a refrigeration case of a refrigeration system. The case controller is configured to determine an evaporator saturated suction temperature (SST) of an evaporator of the refrigeration case, control an evaporator pressure regulator of the refrigeration system based on a comparison of the evaporator SST with an evaporator saturated suction temperature (SST) setpoint, receive an air temperature value from an air temperature sensor associated with the refrigeration case, determine whether the air temperature value is within a predetermined range of an air temperature setpoint, and adjust the SST setpoint in response to the air temperature value being outside of the predetermined range of the air temperature setpoint.
In other features, the case controller can be further configured to increase the SST setpoint in response to the air temperature value being outside of the predetermined range and below the air temperature setpoint and to decrease the SST setpoint in response to the air temperature value being outside of the predetermined range and above the air temperature setpoint.
In other features, the air temperature sensor can monitor at least one of a discharge air temperature (DAT) value and a return air temperature (RAT) value of the evaporator and can communicate the at least one of the DAT value and the RAT value to the case controller as the air temperature value.
In other features, the case controller can be further configured to adjust the SST setpoint a maximum of one time during each of consecutive predetermined time interval cycles based on an adjustment amount.
In other features, the adjustment amount can be user configurable.
In other features, the case controller can be further configured to receive an evaporator suction pressure from an evaporator suction pressure sensor associated with the evaporator, determine the evaporator SST of the evaporator based on the evaporator suction pressure, compare the evaporator SST with the evaporator SST setpoint, and control the evaporator pressure regulator based on the comparison of the evaporator SST with the evaporator SST setpoint.
In other features, the case controller can be further configured to increase an opening of the evaporator pressure regulator when the evaporator SST is greater than the evaporator SST setpoint and to decrease the opening of the evaporator pressure regulator when the evaporator SST is less than the evaporator SST setpoint.
In other features, the evaporator pressure regulator can be an electronic evaporator pressure regulator.
The present disclosure also provides a method that includes determining, with a case controller for a refrigeration case of a refrigeration system, an evaporator saturated suction temperature (SST) of an evaporator of the refrigeration case. The method also includes controlling, with the case controller, an evaporator pressure regulator of the refrigeration system based on a comparison of the evaporator SST with an evaporator saturated suction temperature (SST) setpoint. The method also includes receiving, with the case controller, an air temperature value from an air temperature sensor associated with the refrigeration case. The method also includes determining, with the case controller, whether the air temperature value is within a predetermined range of an air temperature setpoint. The method also includes adjusting, with the case controller, the SST setpoint in response to the air temperature value being outside of the predetermined range of the air temperature setpoint.
In other features, the method can also include increasing, with the case controller, the SST setpoint in response to the air temperature value being outside of the predetermined range and below the air temperature setpoint, and decreasing, with the case controller, the SST setpoint in response to the air temperature value being outside of the predetermined range and above the air temperature setpoint.
In other features, the method can also include the air temperature sensor can monitor at least one of a discharge air temperature (DAT) value and a return air temperature (RAT) value of the evaporator and communicate the at least one of the DAT value and the RAT value to the case controller as the air temperature value.
In other features, the method can also include adjusting, with the case controller, the SST setpoint a maximum of one time during each of consecutive predetermined time interval cycles based on an adjustment amount.
In other features, the adjustment amount can be user configurable.
In other features, the method can also include receiving, with the case controller, an evaporator suction pressure from an evaporator suction pressure sensor associated with the evaporator, determining, with the case controller, an evaporator SST of the evaporator based on the evaporator suction pressure, comparing, with the case controller, the evaporator SST with the evaporator SST setpoint, and controlling, with the case controller, the evaporator pressure regulator based on the comparison of the evaporator SST with the evaporator SST setpoint.
In other features, the method can also include increasing, with the case controller, an opening of the evaporator pressure regulator when the evaporator SST is greater than the evaporator SST setpoint, and decreasing, with the case controller, the opening of the evaporator pressure regulator when the evaporator SST is less than the evaporator SST setpoint.
In other features, the evaporator pressure regulator can be an electronic evaporator pressure regulator.
The present disclosure also provides a system that includes a first case controller for a first refrigeration case having a first evaporator of at least one of a refrigeration system and an HVAC system and a second case controller for a second refrigeration case having a second evaporator of the at least one of the refrigeration system and the HVAC system. The first refrigeration case and the second refrigeration case discharge refrigerant to an evaporator pressure regulator of the refrigeration system. The first case controller is configured to receive a first air temperature value from a first air temperature sensor associated with the first refrigeration case and to communicate the first air temperature value to the second case controller. The second case controller is configured to: (i) receive a second air temperature value from a second air temperature; (ii) determine an evaporator saturated suction temperature (SST) value based on at least one a first evaporator SST of the first evaporator and a second evaporator SST of the second evaporator; (iii) control the evaporator pressure regulator of the refrigeration system based on a comparison of the evaporator SST value with an evaporator SST setpoint; (iv) determine an air temperature control value based on the first air temperature value and the second air temperature value; (v) determine whether the air temperature control value is within a predetermined range of an air temperature setpoint; and (vi) adjust the evaporator SST setpoint in response to the air temperature control value being outside of the predetermined range of the air temperature setpoint.
In other features, the second case controller can be further configured to determine the air temperature control value by averaging the first air temperature value and the second air temperature value.
In other features, the second case controller can be further configured to increase the SST setpoint in response to the air temperature control value being outside of the predetermined range and below the air temperature setpoint and to decrease the SST setpoint in response to the air temperature control value being outside of the predetermined range and above the air temperature setpoint.
In other features, the first case controller can be further configured to receive a first evaporator suction pressure from a first evaporator suction pressure sensor associated with the first evaporator and to communicate the first evaporator suction pressure to the second case controller. The second case controller can be further configured to: (i) receive a second evaporator suction pressure from a second evaporator suction pressure sensor associated with the second evaporator; (ii) determine the evaporator SST value based on the first evaporator suction pressure and the second evaporator suction pressure; (iii) compare the evaporator SST value with the evaporator SST setpoint; and (iv) control the evaporator pressure regulator based on the comparison of the evaporator SST value with the evaporator SST setpoint.
Further areas of applicability will become apparent from the description provided herein. The description and specific examples in this summary are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.
The drawings described herein are for illustrative purposes only of selected embodiments and not all possible implementations, and are not intended to limit the scope of the present disclosure.
Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings.
Example embodiments will now be described more fully with reference to the accompanying drawings.
The present disclosure includes an evaporator pressure control algorithm that determines an optimal evaporator saturated suction temperature (SST) setpoint to produce a desired evaporator discharge air temperature. A setpoint adjustment amount is determined by the control algorithm and used to determine an optimal SST setpoint. The setpoint adjustment amount is stored in memory and used by the control algorithm when calculating the current setpoint.
Refrigeration equipment manufacturers generally provide a recommended setpoint for evaporator SST. That recommended setpoint is received as input to the algorithm and used as a base or initial predetermined SST setpoint for the evaporator. The control algorithm then operates the system and controls an electronic evaporator pressure regulating (EEPR) valve using the initial predetermined SST setpoint for an initial period of time to collect an initial dataset of evaporator air temperature data points during the initial period of time, such as discharge air temperature (DAT), return air temperature (RAT), or a combination of DAT and RAT. The temperature data is then averaged over a period of time to smooth out isolated spikes. While the present disclosure provides examples utilizing DAT as the control value, it is understood that the systems and methods of the present disclosures can utilize DAT, RAT, or a combination of DAT and RAT as the control value.
Once a sufficient amount of data has been collected over the initial time period, the control algorithm enables a floating algorithm that floats or adjusts the SST setpoint. For example, the control algorithm determines whether the evaporator DAT or RAT is within an acceptable temperature band surrounding a temperature setpoint. The control algorithm compares the current temperature value of the evaporator with the temperature band to determine whether the temperature is too warm or too cold. When the current temperature is outside of the acceptable temperature band, the control algorithm automatically makes incremental adjustments to the evaporator SST setpoint to increase or decrease the evaporator SST setpoint. After an SST setpoint adjustment, the control algorithm activates an interval timer. Once the interval timer expires, evaporator temperature data is re-evaluated and, if the temperature data remains outside of the acceptable temperature band, then another adjustment is made to the evaporator SST setpoint. Once the temperature remains within the acceptable temperature band, a satisfactory SST setpoint has been achieved and the control algorithm refrains from making additional SST setpoint adjustments until the evaporator temperature falls outside of the acceptable temperature band again. The optimal SST setpoint is then stored in memory.
One beneficial feature of the systems and methods of the present disclosure is provided during a refrigeration pull down after a defrost cycle. For example, when the system enters a refrigeration mode after a defrost cycle, the control algorithm loads the previously stored optimal SST setpoint that was determined and used prior to starting that defrost cycle. This reduces the amount of time required to bring the evaporator temperature and product temperature back down to the target temperature in the refrigerated space. A beneficial feature of the systems and methods of the present disclosure, as compared with existing systems and methods, is that during a pulldown after a defrost cycle the control algorithm can disable the floating SST setpoint algorithm to allow sufficient time for the system to remove the inherent heat load generated by the defrost cycle. During this waiting time, the control algorithm does not attempt to make SST setpoint adjustments. If, however, the control algorithm detects that the pulldown is taking longer than a predetermined amount of time, such as 30 to 60 minutes, to cool the temperature of the evaporator to the target temperature, then the floating SST setpoint algorithm can be automatically re-enabled to attempt to pull the temperature down to target.
With reference to
The refrigeration system 10 also includes a compressor rack 12 with multiple compressors 14. While three compressors 14 are shown in
The compressors 14 receive low-pressure refrigerant vapor on a suction side of the compressors 14 via the suction header and compress the low-pressure refrigerant vapor into high-pressure refrigerant vapor that is discharged to the discharge header. The high-pressure refrigerant vapor is received by a condenser 16. The condenser 16, for example, can include one or more condenser fans that remove heat from the high-pressure refrigerant vapor so that the high-pressure refrigerant vapor condenses to liquid refrigerant. The condenser 16 discharges high-pressure, low-temperature refrigerant liquid.
The liquid refrigerant from the condenser 16 is routed to the evaporators 20 of each of the refrigeration cases 22. An expansion valve 18 associated with each of the evaporators 20 receives the liquid refrigerant and decreases the pressure of the refrigerant to discharge a low pressure liquid refrigerant to the associated evaporator 20. The expansion valves 18 can be thermostatic expansion valves (TXV), pulse type solenoids, electronic expansion valves (EXV), or any other suitable type of expansion valve.
The evaporators 20 include an evaporator coil and one or more fans that circulate air from within the refrigerated space, such as the interior of the refrigeration case 22, over the evaporator coil so that heat from the circulated air is absorbed by the refrigerant in the evaporator coil thereby cooling the circulated air within the refrigerated space. The heat absorbed by the refrigerant from the circulated air causes the liquid refrigerant to vaporize into refrigerant vapor. The refrigerant vapor discharged from the evaporator 20 is then routed back to a suction side and suction header of the compressor rack 12. The refrigeration cycle then starts anew.
Each of the circuits 40, 50, 52 includes an electronic evaporator pressure regulator (EEPR) valve 24 on a discharge side of the evaporators 20 between the evaporators 20 and the suction side of the compressor rack 12. In circuits 50, 52 with multiple refrigeration cases 22, a single EEPR valve 24 can be used for the multiple cases 22 such that refrigerant from each of the cases 22 is piped together before encountering the EEPR valve 24. An opening of the EEPR valve 24 is increased or decreased to control evaporator suction pressure for the evaporators 20 within the associated circuit 40, 50, 52. For example, increasing the opening of the EEPR valve 24 decreases the evaporator suction pressure and decreasing the opening of the EEPR valve 24 increases the evaporator suction pressure of the associated evaporator 20. While the examples of the present disclosure are described as utilizing an EEPR valve 24, any evaporator pressure regulator can be used with the present teachings.
Each of the refrigeration cases 22 has an associated case controller 26, 26s. In addition, each EEPR valve 24 is controlled by a corresponding master case controller 26. Other case controllers 26s in the same circuit 50, 52 as the master case controller 26 can communicate temperature data for the associated refrigeration cases 22 to the master case controller 26. For example, as discussed in further detail below, each of the case controllers 26, 26s receives evaporator suction pressure data from a suction pressure sensor 30. In addition, the master case controller 26 can receive suction pressure data from each of the slave case controllers 26s within the circuit 50, 52. As shown in
The case controller 26 also receives data indicating discharge air temperature (DAT) of the evaporator 20 from a DAT sensor 28 that senses the DAT of the evaporator 20. For circuits 50, 52 with multiple cases 22, the slave case controllers 26s can communicate DAT data for the corresponding cases to the master case controller 26 for the circuit 50, 52. As discussed in further detail below, the case controller 26 monitors the DAT of the evaporator 20 and compares the DAT of the evaporator 20 with a DAT setpoint stored in memory 28. As mentioned above, while examples are providing using DAT as the control variable, other temperatures can be used in accordance with the present disclosure. For example, return air temperature (RAT) can be used. Additionally, a combination of RAT and DAT can be used. As discussed in further detail below, the case controller 26 can float or adjust the SST setpoint based on the comparison of the DAT setpoint with the sensed DAT of the evaporator 20. In particular, as discussed in further detail below, if the current DAT of the evaporator 20 is too low, the case controller 26 can increase the SST setpoint to incrementally raise the SST and the DAT of the evaporator 20. Likewise, if the current DAT of the evaporator 20 is too high, the case controller 26 can decrease the SST setpoint to incrementally lower the SST and the DAT of the evaporator 20.
As noted below, the case controller 26 includes one or more processors, modules, and/or circuitry, such as one or more printed circuit board (PCBs), configured to implement and perform the functionality of the present disclosure, described in further detail below. For example, the case controller 26 can include a processor configured to execute computer-executable instructions stored in memory to carry out and perform the functionality and methods of the present disclosure. Additionally, while the examples of the present disclosure describe the functionality and methods as being performed by the case controller 26, the functionality and methods can alternatively be performed by a system controller and/or by a remote computer that receives the sensed data from the DAT sensor 28 and the pressure sensor 30 and that is in communication with and controls the EEPR valve 24.
With reference to
At 206, the case controller 26 determines whether to disable floating SST setpoint control. When floating SST setpoint control is enabled, the case controller 26 can increase or decrease the current SST setpoint to adjust the SST setpoint in accordance with the present disclosure. When floating SST setpoint control is disabled, the case controller 26 simply uses the most recent SST setpoint stored in memory 28. At 206, based on the monitored system parameters, the case controller 26 determines whether to enable or disable floating SST setpoint control. For example, if the case controller 26 determines that the evaporator 20 is currently in a pulldown state after a defrost cycle, the case controller 26 disables floating SST setpoint control, at least for a predetermined period of time. If the case controller 26 determines that the evaporator 20 is not currently in a pulldown state after a defrost cycle and is, instead, in a normal refrigeration state, the case controller 26 enables floating SST setpoint control. At 206, when the case controller 26 enables floating setpoint control, the case controller 26 proceeds to 208. When the case controller 26 disables floating setpoint control, the case controller 26 proceeds to 210.
At 210, when floating setpoint control is disabled, the case controller 26 retrieves and sets the current SST setpoint to the most recent SST setpoint stored in memory 28 and proceeds to 212.
At 208, when floating setpoint control is enabled, the case controller performs floating setpoint control and adjusts the current SST setpoint, as discussed in further detail with reference to
At 212, the case controller 26 adjusts the control output based on the current SST setpoint. As discussed in further detail below with reference to
With reference to
After determining or retrieving the SST float band parameter at 304, the case controller 26 proceeds to 306 and determines whether the float band parameter is greater than 0. As mentioned above, the float band parameter can be set to 0 degrees to disable floating SST setpoint control functionality. At 306, when the float band parameter is greater than 0 degrees, the case controller proceeds to 308 and calculates an SST float adjustment value, as discussed in further detail with reference to
The case controller 26 then proceeds to 312 and sets the current SST setpoint to be the initial or predetermined SST setpoint plus the SST float adjustment value set at either 308 or 310. For example, if the recommended or predetermined SST setpoint is X degrees, and the float adjustment is set to 0 degrees at 310, the current SST setpoint is set to X degrees at 312. Likewise, if the float adjustment was set to 0.5 degrees at 308, then the current SST setpoint is set to X+0.5 degrees at 312. Similarly, if the float adjustment was set to −0.25 degrees at 308, then the current SST setpoint is set to X—0.25 degrees at 312.
With additional reference to
With reference to
After collecting DAT data during the start-delay interval, the case controller 26 proceeds to 406 and waits for a calculation interval while monitoring DAT data. The calculation interval is the normal loop time of the control algorithm 308 and can be, for example, set to 5 to 10 minutes. The calculation interval can be user configurable. Additionally, the calculation interval can be user configurable within a predetermined range of time periods having a maximum and a minimum time period.
After collecting DAT data during the calculation interval, the case controller proceeds to 408 and calculates and stores a current float adjustment amount, as described in further detail below with reference to
At 410, the case controller sets the float adjustment to be the previous float adjustment plus the adjustment amount calculated at 408. The case controller then loops back to 406 and continues to monitor DAT data during the next calculation interval.
With reference to
At 506, the case controller 26 compares the control value with a temperature range around a control setpoint based on a control setpoint deadband. For example, using the example of average DAT over a time period as the control value, the control setpoint corresponds to a target DAT for the case 22 or evaporator 20. For example, the DAT control setpoint can be set to 40° Fahrenheit and the control deadband can be 2°, resulting in a temperature range of +/−1° from the 40° control setpoint temperature. In other words, the resulting temperature range is +/−half of the control deadband from the control setpoint temperature. In this way, the resulting temperature range spans from an upper temperature of the control setpoint plus half of the control deadband to a lower temperature of the control setpoint minus half of the control deadband. The control setpoint and the control deadband can both be user configurable. At 506 the case controller 26 compares the control value, e.g., an average DAT value, with the lower end of the temperature range, i.e., the control setpoint minus half of the control deadband. Using the above example of a 40° control setpoint and a control deadband of 2°, the lower end of the temperature range would be 39° (i.e., 40°−1°=39°). At 506, when the control value is less than the control set point minus the half of the deadband, the case controller 26 proceeds to 508. At 508, because the control value is below the control setpoint minus half of the dead band, the DAT is too low and the case controller 26 sets the adjustment amount to be a positive float delta amount. The float delta amount can be, for example, 0.2°. The float delta amount can be user configurable. In this way, at 508, the case controller 26 sets the adjustment amount to be the positive float delta amount, i.e., positive 0.2. With reference back to 410 of
At 510, the case controller 26 compares the control value with the control setpoint plus the half of the deadband amount. Using the above example, if the control setpoint is 40° Fahrenheit and the control deadband is 2°, at 510, the case controller 26 determines whether the control value is greater than 41° (i.e., 40°+1°=41°). At 510, when the control value is greater than the control setpoint plus half of the deadband, the case controller proceeds to 512 and sets the adjustment amount to be negative float adjustment amount. At 512, because the control value is above the control setpoint plus half of the deadband, the DAT is too high and the case controller 26 sets the adjustment amount to be a negative float delta amount. Using a float delta amount of 0.2°, for example, at 512, the case controller 26 sets the adjustment amount to be the negative float delta amount, i.e., −0.2. With reference back to 410 of
At 514, the case controller 26 has determined that the control value, e.g., DAT, is within the deadband of the control value. In other words, the control value is close to the target control setpoint. In the above example, in this case the control value DAT would be within +/−1° of the control setpoint of 40°. In this case, at 514 the case controller 26 sets the adjustment amount to 0 and no change to the float adjustment is made at 410 of
With reference to
At 608, the case controller 26 compares the determined evaporator SST with the current SST setpoint. At 610, the case controller 26 controls the EEPR 24 based on the comparison of evaporator SST with the current SST setpoint performed at 608. For example, the case controller 26 can use a PID algorithm, for example, to control the EEPR 24 based on the comparison. Generally, when evaporator SST is greater than the current SST setpoint, the case controller 26 can increase the opening of the EEPR to lower the evaporator SST and can decrease the opening of the EEPR to increase the evaporator SST.
The case controller 26 then loops back to 604 and continues to receive evaporator suction pressure from the evaporator suction pressure sensor 30.
The foregoing description is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses. The broad teachings of the disclosure can be implemented in a variety of forms. Therefore, while this disclosure includes particular examples, the true scope of the disclosure should not be so limited since other modifications will become apparent upon a study of the drawings, the specification, and the following claims. It should be understood that one or more steps within a method may be executed in different order (or concurrently) without altering the principles of the present disclosure. Further, although each of the embodiments is described above as having certain features, any one or more of those features described with respect to any embodiment of the disclosure can be implemented in and/or combined with features of any of the other embodiments, even if that combination is not explicitly described. In other words, the described embodiments are not mutually exclusive, and permutations of one or more embodiments with one another remain within the scope of this disclosure.
Spatial and functional relationships between elements (for example, between modules, circuit elements, semiconductor layers, etc.) are described using various terms, including “connected,” “engaged,” “coupled,” “adjacent,” “next to,” “on top of,” “above,” “below,” and “disposed.” Unless explicitly described as being “direct,” when a relationship between first and second elements is described in the above disclosure, that relationship can be a direct relationship where no other intervening elements are present between the first and second elements, but can also be an indirect relationship where one or more intervening elements are present (either spatially or functionally) between the first and second elements.
As used herein, the phrase at least one of A and B should be construed to mean a logical (A OR B), using a non-exclusive logical OR. For example, the phrase at least one of A and B should be construed to include any one of: (i) A alone; (ii) B alone; (iii) both A and B together. The phrase at least one of A and B should not be construed to mean “at least one of A and at least one of B.” The phrase at least one of A and B should also not be construed to mean “A alone, B alone, but not both A and B together.” The term “subset” does not necessarily require a proper subset. In other words, a first subset of a first set may be coextensive with, and equal to, the first set.
In the figures, the direction of an arrow, as indicated by the arrowhead, generally demonstrates the flow of information (such as data or instructions) that is of interest to the illustration. For example, when element A and element B exchange a variety of information but information transmitted from element A to element B is relevant to the illustration, the arrow may point from element A to element B. This unidirectional arrow does not imply that no other information is transmitted from element B to element A. Further, for information sent from element A to element B, element B may send requests for, or receipt acknowledgements of, the information to element A.
In this application, including the definitions below, the term “module” or the term “controller” may be replaced with the term “circuit.” The term “module” or the term “controller” may refer to, be part of, or include: an Application Specific Integrated Circuit (ASIC); a digital, analog, or mixed analog/digital discrete circuit; a digital, analog, or mixed analog/digital integrated circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor circuit (shared, dedicated, or group) that executes code; a memory circuit (shared, dedicated, or group) that stores code executed by the processor circuit; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip.
The module or controller may include one or more interface circuits. In some examples, the interface circuit(s) may implement wired or wireless interfaces that connect to a local area network (LAN) or a wireless personal area network (WPAN). Examples of a LAN are Institute of Electrical and Electronics Engineers (IEEE) Standard 802.11-2016 (also known as the WIFI wireless networking standard) and IEEE Standard 802.3-2015 (also known as the ETHERNET wired networking standard). Examples of a WPAN are the BLUETOOTH wireless networking standard from the Bluetooth Special Interest Group and IEEE Standard 802.15.4. In addition, components, controllers, and programmable logic controllers of the present disclosure can communicate with a network using an RS-485 communication protocol, a Modbus communication protocol, a BACnet communication protocol, an Ethernet communication protocol.
The module or controller may communicate with other modules or controllers using the interface circuit(s). Although the module or controller may be depicted in the present disclosure as logically communicating directly with other modules or controllers, in various implementations the module or controller may actually communicate via a communications system. The communications system includes physical and/or virtual networking equipment such as hubs, switches, routers, and gateways. In some implementations, the communications system connects to or traverses a wide area network (WAN) such as the Internet. For example, the communications system may include multiple LANs connected to each other over the Internet or point-to-point leased lines using technologies including Multiprotocol Label Switching (MPLS) and virtual private networks (VPNs).
In various implementations, the functionality of the module or controller may be distributed among multiple modules or controllers that are connected via the communications system. For example, multiple modules or controllers may implement the same functionality distributed by a load balancing system. In a further example, the functionality of the module or controller may be split between a server (also known as remote, or cloud) module and a client (or, user) module.
Some or all hardware features of a module or controller may be defined using a language for hardware description, such as IEEE Standard 1364-2005 (commonly called “Verilog”) and IEEE Standard 1076-2008 (commonly called “VHDL”). The hardware description language may be used to manufacture and/or program a hardware circuit. In some implementations, some or all features of a module may be defined by a language, such as IEEE 1666-2005 (commonly called “SystemC”), that encompasses both code, as described below, and hardware description.
The term code, as used above, may include software, firmware, and/or microcode, and may refer to programs, routines, functions, classes, data structures, and/or objects. The term shared processor circuit encompasses a single processor circuit that executes some or all code from multiple modules. The term group processor circuit encompasses a processor circuit that, in combination with additional processor circuits, executes some or all code from one or more modules. References to multiple processor circuits encompass multiple processor circuits on discrete dies, multiple processor circuits on a single die, multiple cores of a single processor circuit, multiple threads of a single processor circuit, or a combination of the above. The term shared memory circuit encompasses a single memory circuit that stores some or all code from multiple modules. The term group memory circuit encompasses a memory circuit that, in combination with additional memories, stores some or all code from one or more modules.
The term memory circuit is a subset of the term computer-readable medium. The term computer-readable medium, as used herein, does not encompass transitory electrical or electromagnetic signals propagating through a medium (such as on a carrier wave); the term computer-readable medium may therefore be considered tangible and non-transitory. Non-limiting examples of a non-transitory computer-readable medium are nonvolatile memory circuits (such as a flash memory circuit, an erasable programmable read-only memory circuit, or a mask read-only memory circuit), volatile memory circuits (such as a static random access memory circuit or a dynamic random access memory circuit), magnetic storage media (such as an analog or digital magnetic tape or a hard disk drive), and optical storage media (such as a CD, a DVD, or a Blu-ray Disc).
The systems and methods described in this application may be partially or fully implemented by a special purpose computer created by configuring a general purpose computer to execute one or more particular functions embodied in computer programs. The functional blocks and flowchart elements described above serve as software specifications, which can be translated into the computer programs by the routine work of a skilled technician or programmer.
The computer programs include processor-executable instructions that are stored on at least one non-transitory computer-readable medium. The computer programs may also include or rely on stored data. The computer programs may encompass a basic input/output system (BIOS) that interacts with hardware of the special purpose computer, device drivers that interact with particular devices of the special purpose computer, one or more operating systems, user applications, background services, background applications, etc.
The computer programs may include: (i) descriptive text to be parsed, such as HTML (hypertext markup language), XML (extensible markup language), or JSON (JavaScript Object Notation), (ii) assembly code, (iii) object code generated from source code by a compiler, (iv) source code for execution by an interpreter, (v) source code for compilation and execution by a just-in-time compiler, etc. As examples only, source code may be written using syntax from languages including C, C++, C#, Objective C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, JavaScript®, HTML5 (Hypertext Markup Language 5th revision), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK, Python®, and/or IEC 61131-3 languages.
This application claims the benefit of U.S. Provisional Application No. 62/907,286, filed on Sep. 27, 2019. The entire disclosure of the above application is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62907286 | Sep 2019 | US |