Patent Description:
Oil-based frying is commonly used as a cooking method for a wide range of foods, such as poultry, fish, and potato products. Commercial fryers include one or more fry pots that are filled with a cooking medium such as oil or solid fats. Heat is provided to the cooking medium using a heater, which typically includes an electrical heating element submerged in the cooking medium or a gas burner thermally coupled to the cooking medium though the walls of the fry pot. When the cooking medium reaches a preset cooking temperature, food products are placed into the cooking medium for a predetermined amount of time during which the food products are cooked by heat from the cooking medium. To facilitate insertion and removal of the food product, the food product is typically placed inside a container, such as a wire basket, and the container lowered into the cooking medium for the predetermined amount of time.

Fryers typically include an electronic controller that is configured to maintain the temperature of the cooking medium at a preset level and generally operate the fryer. When the temperature of the cooking medium drops below a setpoint temperature, the controller activates a heater to raise the temperature of the cooking medium back to the setpoint temperature. When the setpoint temperature is achieved, the heater is deactivated. The goal of the controller is to activate the heater in a manner that keeps the temperature of the cooking medium relatively consistent and near the setpoint temperature. However, controllers are often subject to overshoot and other errors that cause the cooking medium to become too hot or too cold.

<CIT> discloses an apparatus for cooking foods comprising a cooking device arranged for supporting and cooking a product, a heating device for transferring a cooking heat to the cooking device, a managing and controlling device for driving and controlling the heating device, the last comprising a plurality of heating elements positioned adjacent to respective portions of the cooking device and selectively drivable by the managing and controlling device such as to heat at least one of the portions of the cooking device and or regulate the cooking heat.

<CIT> discloses a deep fat frying system having heating elements controlled by triacs operated in the zero switching mode by a programmed digital processor. The triacs are switched, and thus power is delivered to the heating elements, at a rate substantially faster than the thermal cycle of the heating elements to create a constant or uniform temperature on the surface of the heating elements, which avoids temperature fluctuations, particularly excessive peak temperatures, in the heating elements that scorch fat in contact with the elements and that cause temperatures of the fat to overshoot a desired cooking set point temperature.

<CIT> discloses a method for operating a cooking appliance which has a cooking vessel to which a weight measuring system is assigned, wherein the weight of a substance introduced into the cooking vessel is determined via a weight difference determination and wherein the determined weight is used as a parameter for a safety function and/or a cooking process optimization, wherein the cooking process optimization comprises at least a time optimization, with the result that the duration of the cooking process is adapted to the weight of the introduced substance. Furthermore, an assembly is described.

Thus, there is a need for improved systems, methods, and computer program products which enable improved temperature control in fryers.

For solving the problems mentioned above, the claimed invention proposes a fryer according to claim <NUM> and a method according to claim <NUM>. Optional features of this claimed invention are mentioned in the dependent claims <NUM>-<NUM> and <NUM>-<NUM>.

In an embodiment of the invention, a fryer is provided. The fryer includes a fry pot configured to receive a cooking medium, and a controller. The controller is configured to control an amount of heat provided to the cooking medium based on a setpoint temperature, which is set to a target cooking temperature during a cook cycle. In response to the cook cycle ending, the controller starts an idle timer. If an order to cook is received prior to expiration of the idle timer, the controller resets the idle timer. If the order to cook is not received prior to expiration of the idle timer, the controller sets the setpoint temperature to an idle temperature that is less than the target cooking temperature.

In an aspect of the invention, the controller is further configured to, in response to the fryer being powered on, set the setpoint temperature to a melt temperature that is less than the idle temperature, and in response to a sensed temperature of the cooking medium reaching the melt temperature, set the setpoint temperature to the target cooking temperature.

In another aspect of the invention, the fryer further includes a plurality of heating elements, and the controller is further configured to, while the setpoint temperature is set to the melt temperature, select a heating element of the plurality of heating elements based on an activation sequence, and activate the selected heating element for an activation time. In response to the activation time expiring, the controller deactivates the selected heating element, selects a next heating element in the activation sequence, and repeats activation, deactivation, and selection of the next heating element in the activation sequence while the setpoint temperature is set to the melt temperature.

In another aspect of the invention , the controller is further configured to, in response to deactivating the selected heating element, wait for a deactivation time before activating the next heating element.

In another aspect of the invention, the fry pot includes a plurality of regions, each heating element of the plurality of heating elements is located one of the plurality of regions, and the activation sequence is configured so that consecutively activated heating elements are not in the same region.

In another aspect of the invention, the fryer further includes a heating element and a power switch including a first contactor and a second contactor connected in series. The power switch is configured to selectively couple the heating element to a power source in response to one or more signals from the controller, and the controller is further configured to, in response to receiving a first command to activate the heating element, determine a state of a contactor flag having a first state and a second state. In response to the contactor flag being in the first state, the controller activates the first contactor, and in response to receiving a second command to deactivate the heating element, the controller deactivates the second contactor and changes the state of the contactor flag to the second state. In response to the contactor flag being in the second state, the controller activates the second contactor, and in response to receiving the second command to deactivate the heating element, deactivates the first contactor and changes the state of the contactor flag to the first state.

In another aspect of the invention, the fryer further includes a plurality of heating elements each configured to provide heat to the cooking medium in response to being activated by the controller, and the controller is further configured to determine a cooking load and select a set of setpoint bias temperatures based on the cooking load, each setpoint bias temperature defining a threshold temperature below the target cooking temperature. In response to a sensed temperature of the cooking medium being below a first threshold temperature but above a second threshold temperature, the controller activates a first heating element of the plurality of heating elements, and in response to the sensed temperature of the cooking medium being below the second threshold temperature, the controller activates a second heating element of the plurality of heating elements.

In another aspect of the invention, the fry pot includes a plurality of regions, the fryer further includes a plurality of temperature sensors each configured to provide one or more signals to the controller indicative of a temperature of the cooking medium in a region of the plurality of regions, and the controller is further configured to, each time a heating element is to be activated, determine the region of the fry pot having a lowest temperature of the cooking medium, and select the heating element in the region having the lowest temperature of the cooking medium for activation.

In another aspect of the invention, the plurality of regions of the fry pot includes a first region into which a first basket is lowered and a second region into which a second basket is lowered, and the cooking load is one of a first cooking load in which the first basket and the second basket are each full of a food product, a second cooking load in which one of the first basket and the second basket is partially full of the food product and the other of the first basket and the second basket is full of the food product, and a third cooking load in which the first basket and the second basket are each partially full of the food product.

In another aspect of the invention, the number of setpoint bias temperatures in the set of setpoint bias temperatures is equal to the number of heating elements in the plurality of heating elements.

In another aspect of the invention, the controller is further configured to, in response to the sensed temperature of the cooking medium being above one of the first threshold temperature and the second threshold temperature, deactivate any heating elements of the plurality of heating elements which were previously activated in response to the sensed temperature being below the one of the first threshold temperature and the second threshold temperature.

In another embodiment of the invention, a method of controlling the fryer is presented. The method includes controlling the amount of heat provided to the cooking medium based on the setpoint temperature, the setpoint temperature being set to the target cooking temperature during the cook cycle. In response to the cook cycle ending, the method starts the idle timer. If an order to cook is received prior to expiration of the idle timer, the method resets the idle timer, and if the order to cook is not received prior to expiration of the idle timer, the method sets the setpoint temperature to the idle temperature that is less than the target cooking temperature.

In an aspect of the invention, the method further includes, in response to the fryer being powered on, setting the setpoint temperature to the melt temperature that is less than the idle temperature, and in response to the sensed temperature of the cooking medium reaching the melt temperature, setting the setpoint temperature to the target cooking temperature.

In another aspect of the invention, the method further includes, while the setpoint temperature is set to the melt temperature, selecting the heating element of the plurality of heating elements based on the activation sequence, and activating the selected heating element for the activation time. In response to the activation time expiring, the method deactivates the selected heating element, selects the next heating element in the activation sequence, and repeats activation, deactivation, and selection of the next heating element in the activation sequence while the setpoint temperature is set to the melt temperature.

In another aspect of the invention, the method further includes, in response to deactivating the selected heating element, waiting for the deactivation time before activating the next heating element.

In another aspect of the invention, each heating element of the plurality of heating elements is located one of the plurality of regions of the fry pot, and the activation sequence is configured so that consecutively activated heating elements are not in the same region.

In another aspect of the invention, the fryer includes the heating element and the power switch including the first contactor and the second contactor connected in series, the power switch is configured to selectively couple the heating element to the power source, and the method further includes, in response to receiving the first command to activate the heating element, determining the state of a contactor flag having the first state and the second state. In response to the contactor flag being in the first state, the method activates the first contactor of the power switch, and in response to receiving a second command to deactivate the heating element, deactivates the second contactor and changes the state of the contactor flag to the second state. In response to the contactor flag being in the second state, the method activates the second contactor, and in response to receiving the second command to deactivate the heating element, deactivates the first contactor and changes the state of the contactor flag to the first state.

In another aspect of the invention, the fryer includes the plurality of heating elements each configured to provide heat to the cooking medium in response to being activated by the controller, and the method further includes determining the cooking load and selecting the set of setpoint bias temperatures based on the cooking load, each setpoint bias temperature defining the threshold temperature below the target cooking temperature. In response to the sensed temperature of the cooking medium being below the first threshold temperature but above the second threshold temperature, the method activates the first heating element of the plurality of heating elements, and in response to the sensed temperature of the cooking medium being below the second threshold temperature, the method activates the second heating element of the plurality of heating elements.

In another aspect of the invention, the fryer includes the fry pot having the plurality of regions, and the method further includes, each time a heating element is to be activated, determining the region of the fry pot having the lowest temperature of the cooking medium, and selecting the heating element in the region having the lowest temperature of the cooking medium for activation.

A computer program product for controlling the fryer is provided. The computer program product includes a non-transitory computer-readable storage medium, and program code stored on the non-transitory computer-readable storage medium that, when executed by one or more processors, causes the one or more processors to control the amount of heat provided to the cooking medium based on the setpoint temperature, the setpoint temperature being set to the target cooking temperature during the cook cycle. In response to the cook cycle ending, the program code causes the one or more processors to start the idle timer, if the order to cook is received prior to expiration of the idle timer, reset the idle timer, and if the order to cook is not received prior to expiration of the idle timer, set the setpoint temperature to the idle temperature that is less than the target cooking temperature.

In another embodiment of the invention, another fryer is provided. The fryer includes the fry pot configured to receive the cooking medium, the plurality of heating elements each configured to provide heat to the cooking medium, and the controller. The controller is configured to control the amount of heat provided to the cooking medium by selectively activating the heating elements based on the setpoint temperature, the setpoint temperature being set to the target cooking temperature. The controller is further configured to determine the cooking load and select the set of setpoint bias temperatures based on the cooking load, each setpoint bias temperature defining the threshold temperature below the target cooking temperature. In response to the sensed temperature of the cooking medium being below the first threshold temperature but above the second threshold temperature, the controller activates the first heating element of the plurality of heating elements, and in response to the sensed temperature of the cooking medium being below the second threshold temperature, the controller activates the second heating element of the plurality of heating elements.

The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various embodiments of the invention and, together with the general description of the invention given above, and the detailed description of the embodiments given below, serve to explain the embodiments of the invention.

It should be understood that the appended drawings are not necessarily to scale, and may present a somewhat simplified representation of various features illustrative of the basic principles of the invention. The specific design features of the sequence of operations disclosed herein, including, for example, specific dimensions, orientations, locations, and shapes of various illustrated components, may be determined in part by the particular intended application and use environment. Certain features of the illustrated embodiments may have been enlarged or distorted relative to others to facilitate visualization and a clear understanding. In particular, thin features may be thickened, for example, for clarity or illustration.

Fryers in accordance with embodiments of the invention may include a plurality of operational modes, and a heating system having a plurality of individually controlled heating elements. The modes may include a melt mode, a warm idle mode, and a cooking mode. The heating elements may be controlled using a cold-region selection feature that determines which heating elements should be activated to maintain a setpoint temperature TSP based on the relative temperature of the cooking medium in different regions of the fry pot. A staging process may also be implemented that anticipates an impending cook cycle in order to provide better management of temperature drops and overshoots of the cooking medium based on an expected cooking load. To this end, the staging process may activate one or more heating elements to compensate for the expected cooking load. This may reduce temperature drop and shorten temperature recovery periods as compared to conventional fryers, thereby providing more consistent cooking and improved product quality. This cooking load anticipation feature may be particularly advantageous when used in 'batch mode" where the temperature of the cooking medium may have an opportunity to cool between cook cycles.

<FIG> depicts an exemplary fryer <NUM> in accordance with an embodiment of the invention. The fryer <NUM> includes a plurality of fry pots <NUM>, <NUM>, a cabinet <NUM>, one or more control panels <NUM>, one or more access panels <NUM>, <NUM>, wheels <NUM>, a basket hanger <NUM>, and a backsplash <NUM>. Each of the fry pots <NUM>, <NUM>, cabinet <NUM>, access panels <NUM>, <NUM>, basket hanger <NUM>, and backsplash <NUM> may be constructed from stainless steel, mild steel, or some other suitable material. Each fry pot <NUM>, <NUM> also includes a respective top opening <NUM>, <NUM> though which a food product can be placed into the fryer <NUM>.

A food product may be placed into the fry pots <NUM>, <NUM>, for example, by lowering a basket containing the food product into the fry pot <NUM>, <NUM> through the top opening <NUM>, <NUM>. At completion of the cook cycle, the basket may be removed from the fry pot <NUM>, <NUM> and hung from the basket hanger <NUM> to allow excess cooking medium to drain back into the fry pot <NUM>, <NUM>. The control panels <NUM> may provide a human-machine interface for operating the fryer <NUM>. To this end, the control panels <NUM> may receive commands from an operator of the fryer <NUM>, and display information regarding a status of the fryer <NUM> to the operator. The access panels <NUM>, <NUM> may be used to access to the interior of cabinet <NUM> and to service the components of the fryer <NUM>.

<FIG> depicts a diagrammatic cross-sectional view of an exemplary fry pot <NUM>, <NUM> in accordance with an embodiment of the invention. The fry pot <NUM>, <NUM> may be configured to receive a cooking medium <NUM> and one or more (e.g., two) baskets <NUM>. Suitable cooking mediums <NUM> may include plant-based fats, animal-based fats, and/or synthetic (e.g., hydrogenated) fats. A heating system <NUM> configured to heat the cooking medium <NUM> may include a controller <NUM>, one or more (e.g., four) heating elements <NUM>-<NUM>, one or more (e.g., three) temperature sensors <NUM>-<NUM>, a level sensor <NUM>, a thermal cutoff switch <NUM>, and one or more (e.g., four) power switches <NUM>-<NUM>. The power switches <NUM>-<NUM> may be used to selectively couple the heating elements <NUM>-<NUM> to a power source <NUM> via the thermal cutoff switch <NUM> in response to power control signals (e.g., pulse-width modulated signals) from the controller <NUM>. The power switches <NUM>-<NUM> may thereby enable the controller <NUM> to individually control the amount of power provided to each heating element <NUM>-<NUM>. Each power switch <NUM>-<NUM> may include one or more contactors, thyristors, triacs, or any other suitable high power switching devices designed to provide power to high-current loads.

The heating elements <NUM>-<NUM> may be located in different positions so that each element is the primary provider of heat to a different region of the cooking medium <NUM>. To this end, each heating element <NUM>-<NUM> may be offset vertically, horizontally, or both vertically and horizontally from the other heating elements. Exemplary regions may include a top-left heated region in which a top-left heating element <NUM> is located, a top-right heated region in which a top-right heating element <NUM> is located, a bottom-left heated region in which a bottom-left heating element <NUM> is located, and a bottom-right heated region in which a bottom-right heating element <NUM> is located. In an exemplary configuration of the heating elements <NUM>-<NUM>, each heating element <NUM>-<NUM> may be located one or more of a distance d<NUM> from a side surface <NUM> of fry pot <NUM>, <NUM>, a distance d<NUM> from a laterally adjacent heating element <NUM>-<NUM>, a distance d<NUM> from a vertically adjacent heating element <NUM>-<NUM>, a distance d<NUM> from a bottom portion of the basket <NUM> when the basket <NUM> is fully lowered into the fry pot <NUM>, <NUM>, and a distance d<NUM> from a bottom surface <NUM> of fry pot <NUM>, <NUM>. The distances d<NUM>-d<NUM> may be selected to provide optimal heating of the cooking medium <NUM>, e.g., by minimizing thermal gradients within the cooking medium <NUM> when the heating elements <NUM>-<NUM> are activated.

The temperature sensors <NUM>-<NUM> may include a left temperature sensor <NUM> configured to detect the temperature of the cooking medium <NUM> in a region occupied by or proximate to one of the baskets <NUM>, a middle temperature sensor <NUM> configured to detect the temperature of the cooking medium in a region between the baskets <NUM>, and a right temperature sensor <NUM> configured to detect the temperature of the cooking medium <NUM> in a region occupied by or proximate to the other of the baskets <NUM>.

The controller <NUM> may be operatively coupled to the control panel <NUM>, temperature sensors <NUM>-<NUM>, level sensor <NUM>, and power switches <NUM>-<NUM>. The controller <NUM> may be configured to provide operating information to, and receive input from, an operator of the fryer <NUM> via the control panels <NUM>. The temperature sensors <NUM>-<NUM> may be configured to provide signals to the controller <NUM> indicative of the temperature of the cooking medium <NUM> in the region occupied by the sensor. These signals may be used by the controller <NUM> to regulate the temperature of the cooking medium <NUM>, e.g., by comparing the sensed temperature TSENSE with a setpoint temperature TSP, and to display the temperature of the cooking medium <NUM> on the control panel <NUM>.

The controller <NUM> may include a processor <NUM>, a memory <NUM> that stores program code which is executed by the processor <NUM>, and an input/output (I/O) interface <NUM> that operatively couples the processor to other components of the fryer <NUM>, such as the control panel <NUM>, power switches <NUM>-<NUM>, temperature sensors <NUM>-<NUM>, and level sensor <NUM>. The control panels <NUM> may be operatively coupled to the controller <NUM> to provide a human-machine interface (HMI) that allows the operator to interact with the controller <NUM>. The control panels <NUM> may include a display (e.g., a touchscreen) having suitable audio and visual indicators capable of providing information to the operator. The control panels <NUM> may also include input devices and controls capable of accepting commands or input from the operator and transmitting the entered input to the controller <NUM>, such as the aforementioned touchscreen. In this way, the control panels <NUM> may enable manual initiation or selection of system functions, for example, during set-up of the fryer <NUM>.

The processor <NUM> may operate under the control of an operating system <NUM> that resides in memory <NUM>. The operating system <NUM> may manage controller resources so that computer program code embodied as one or more computer software applications, such as an application <NUM> residing in memory <NUM>, can have instructions executed by the processor <NUM>. In an alternative embodiment, the processor <NUM> may execute the application <NUM> directly, in which case the operating system <NUM> may be omitted. One or more data structures <NUM> may also reside in memory <NUM>, and may be used by the processor <NUM>, operating system <NUM>, or application <NUM> to store or manipulate data.

The controller <NUM> may control the various cycles of the fryer <NUM> by transmitting signals to, and receiving signals from the control panel <NUM>, temperature sensors <NUM>-<NUM>, level sensor <NUM>, and power switches <NUM>-<NUM>. For example, the controller <NUM> may control the temperature of the cooking medium <NUM> by applying power to the heating elements <NUM>-<NUM> in a controlled manner through selective activation of the corresponding power switches <NUM>-<NUM>. This controlled application of power to a heating element may be referred to herein as simply activation of the heating element. The amount of power applied to the heating element while it is activated may be further controlled using Pulse-Width-Modulation (PWM) or any other suitable method of controlling the applied power.

The controller <NUM> may determine the sensed temperature TSENSE of the cooking medium <NUM> by averaging the temperatures detected by each of the temperature sensors <NUM>-<NUM>. This sensed cooking medium temperature may be updated periodically, e.g., about once every <NUM> seconds. If the controller <NUM> determines the temperature of the cooking medium <NUM> has exceeded a maximum operating temperature TMAX (e.g., TMAX = <NUM>°F), the controller <NUM> may shut off power to all heating elements <NUM>-<NUM> and cause the control panel <NUM> to indicate an overtemperature alarm. As a further precaution, the thermal cutoff switch <NUM> may be configured to electrically decouple the power switches <NUM>-<NUM> from the power source <NUM> if the temperature of the cooking medium <NUM> rises above a high limit temperature THL (e.g., THL = <NUM>°F). In response to detecting the temperature of the cooking medium <NUM> has exceeded the high limit temperature THL, the controller <NUM> may cause the control panel <NUM> to indicate another type of overtemperature alarm.

<FIG> depicts an exemplary power switch <NUM> in accordance with an embodiment of the invention. The power switch <NUM> includes a plurality of contactors <NUM> connected in series. The input of one of the contactors <NUM> is operatively coupled to a source of power (e.g., the output of thermal cutoff switch <NUM>), and the output of the other contactor <NUM> is operatively coupled to a heating element <NUM>. The series configuration of contactors <NUM> requires the controller <NUM> to switch on both contactors <NUM> in order to activate the heating element <NUM>.

The controller <NUM> may disable the heating system <NUM> by default on power-up. Having a default startup in which the heating system <NUM> is inactive may facilitate maintenance and filtration activities, and may also prevent the heating elements <NUM>-<NUM> from running in off hours. In response to powering up the fryer <NUM>, the control panel <NUM> may initially display a menu screen that provides the operator with the option of enabling the heating elements <NUM>-<NUM> in none, one, or both fry pots <NUM>, <NUM>. An overtemperature interlock feature programmed into the controller <NUM> may prevent the heating elements <NUM>-<NUM> from being activated if the temperature of the cooking medium <NUM> is too high, e.g., above <NUM>°F. After the preliminary checks have been completed and the heating elements <NUM>-<NUM> are enabled, the heating system <NUM> is operational.

The heating system <NUM> attempts to maintain the temperature of the cooking medium <NUM> at the setpoint temperature TSP by automatically activating and deactivating the heating elements <NUM>-<NUM>. When the heating system <NUM> is operating in the melt mode, the setpoint temperature TSP is set to a melt temperature TMELT, e.g., about <NUM>°F. When the heating system <NUM> is operating in the cooking mode, the setpoint temperature TSP is set to a target cooking temperature TTCT, e.g., about <NUM>°F. When the heating system <NUM> is operating in the warm idle mode, the setpoint temperature TSP is set to an idle temperature TIDLE, e.g., about <NUM>°F.

<FIG> depicts a flowchart illustrating an exemplary heating element control process <NUM> that may be implemented to control activation of individual heating elements <NUM>-<NUM> in accordance with an embodiment of the invention in which each power switch <NUM>-<NUM> includes two contactors <NUM>, such as shown by the power switch <NUM> depicted in <FIG>. Although shown as a single process for clarity, it should be understood that a separate instance of process <NUM> may be executed concurrently for each heating element <NUM>-<NUM>. In block <NUM>, the process <NUM> may initialize a contactor flag and a contactor state. This initialization may include causing one of the contactors <NUM> to enter a low impedance or "closed" state (e.g., contactor A), another contactor <NUM> to enter a high impedance or "open" state (e.g., contactor B), and the contactor flag for the switch being controlled to be set or cleared in accordance with the state of the contactors (e.g., contactor flag = set).

In block <NUM>, the process <NUM> determines if an on-command has been received for the heating element, e.g., from a temperature control process being executed by the controller <NUM>. If an on-command has not been received ("NO" branch of decision block <NUM>), the process <NUM> may continue to wait for the on-command. If an on-command has been received ("YES" branch of decision block <NUM>), the process <NUM> proceeds to block <NUM> and checks the status of the contactor flag. If the contactor flag is set ("YES" branch of decision block <NUM>), the process <NUM> proceeds to block <NUM>, activates (i.e., closes) contactor B, and proceeds to block <NUM>. If the contactor flag is not set ("NO" branch of decision block <NUM>), the process <NUM> proceeds to block <NUM>, activates (i.e., close) contactor A, and proceeds to block <NUM>.

In block <NUM> and in block <NUM>, the process <NUM> determines if an off-command has been received, e.g., from the aforementioned temperature control process. If an off-command has not been received ("NO" branch of decision blocks <NUM>, <NUM>), the process <NUM> continues to wait for the off-command. If an off-command has been received ("YES" branch of decision blocks <NUM>, <NUM>), the process <NUM> proceeds to block <NUM> (from block <NUM>) or to block <NUM> (from block <NUM>).

In block <NUM>, the process <NUM> deactivates (i.e., opens) contactor A and clears the contactor flag. In block <NUM>, the process <NUM> deactivates (i.e., opens) contactor B and clears the contactor flag. In either case, the process <NUM> then proceeds to block <NUM>. The process <NUM> may thereby cause the switch to be in an open state by alternately opening one of the contactors <NUM> in the switch depending on the state of the contactor flag. The process <NUM> may thereby optimize contactor life by alternating which contactor <NUM> is activated between activations of the heating element controlled by the switch.

The controller <NUM> may attempt to maintain the temperature of the cooking medium <NUM> at the setpoint temperature TSP by determining an error temperature TERR. The error temperature TERR may be determined by taking the difference between the sensed temperature TSENSE and the setpoint temperature TSP, e.g., TERR = TSENSE - TSP. The error temperature TERR may then be used as an input to a temperature control algorithm (e.g., a proportional-integral-derivative algorithm) that outputs a correction signal. The temperature control algorithm may use the correction signal determine the value of a control variable associated with a rate at which energy is to be provided to one or more of the heating elements <NUM>-<NUM>. Control variables may include, but are not limited to a Pulse-Width-Modulation (PWM) duty cycle, heating element activation time, number of heating elements activated, or any other variable that controls the rate at which heat is provided to the cooking medium <NUM>.

<FIG> depicts a flowchart illustrating a temperature control process <NUM> that may be implemented by the controller <NUM> to set the value of the setpoint temperature TSP. In block <NUM>, the process <NUM> sets the value of the setpoint temperature TSP to the melt temperature TMELT, e.g., in response to the fryer <NUM> being powered on. The melt temperature TMELT may be selected to prevent the controller <NUM> from causing the heating elements <NUM>-<NUM> to heat up too fast from a cold startup. Setting the setpoint temperature TSP to the melt temperature TMELT may cause the heating system <NUM> to gradually heat cooking mediums which are solid at low temperature (e.g., shortening) so that the cooking medium <NUM> has an opportunity to liquify before heat is applied at a higher rate. This may result in the cooking medium <NUM> being heated at a rate that prevents scorching, smoking, or breakdown of the cooking medium <NUM>, as well as other negative effects.

In block <NUM>, the process <NUM> may determine if the sensed temperature TSENSE of the cooking medium <NUM> has reached the melt temperature TMELT. If the sensed temperature TSENSE of the cooking medium <NUM> has not reached the melt temperature TMELT ("NO" branch of decision block <NUM>), the process <NUM> remains in the melt mode and continue to monitor the temperature of the cooking medium <NUM>. If the sensed temperature TSENSE of the cooking medium <NUM> has reached the melt temperature TMELT ("YES" branch of decision block <NUM>), the process <NUM> causes the fryer <NUM> to exit the melt mode and enter the cooking mode by proceeding to block <NUM>, setting the value of the setpoint temperature TSP to the target cooking temperature TTCT, and proceeding to block <NUM>.

In block <NUM>, the process <NUM> determines if the temperature of the cooking medium <NUM> is at or above a minimum cooking temperature TMIN. The minimum cooking temperature TMIN is a temperature that is considered adequate to start a cook cycle, and may be equal to or somewhat below the target cooking temperature TTCT. If the sensed temperature TSENSE of the cooking medium <NUM> is not at or above the minimum cooking temperature TMIN ("NO" branch of decision block <NUM>), the process <NUM> continues to monitor the temperature of the cooking medium <NUM>.

If the sensed temperature TSENSE of the cooking medium <NUM> has reached the minimum cooking temperature TMIN. ("YES" branch of decision block <NUM>), the process <NUM> proceeds to block <NUM>, starts an idle timer, and proceeds to block <NUM>. The idle timer may be a timer that defines how long the fryer <NUM> can be inactive before entering the warm idle mode. When the fryer <NUM> enters the warm idle mode, the temperature of the cooking medium is allowed to drop to the idle temperature TIDLE. In an embodiment of the invention, the idle timer may be set so that the fryer <NUM> exits the cooking mode if no orders to cook a food product are received for five minutes.

In block <NUM>, the process <NUM> determines if an order to cook a food product has been received, e.g., due to the operator selecting a cooking operation on the control panel <NUM> or because a cooking operation is waiting in a queue. If an order has been received ("YES" branch of decision block <NUM>), the process <NUM> proceeds to block <NUM>. If an order has not been received ("NO" branch of decision block <NUM>), the process proceeds to block <NUM> and determines if the idle timer has expired. If the idle timer has not expired ("NO" branch of decision block <NUM>), the process <NUM> returns to block <NUM>. If the idle timer has expired ("YES" branch of decision block <NUM>), the process <NUM> causes the fryer <NUM> to enter the warm idle mode by proceeding to block <NUM>, setting the value of the setpoint temperature TSP to the warm idle temperature TIDLE, and proceeding to block <NUM>. The warm idle temperature TIDLE may be a temperature which is below typical cooking temperatures to avoid unnecessary aging of the cooking medium, but high enough to allow a short recovery time if the cooking medium <NUM> needs to be reheated to the target cooking temperature TTCT.

While in the idle mode, the process <NUM> continues monitoring for reception of an order to cook a food product as described above with respect to block <NUM>. If an order is not received ("NO" branch of decision block <NUM>), the process <NUM> keeps the fryer <NUM> in the warm idle mode. If an order is received ("YES" branch of decision block <NUM>), the process <NUM> causes the fryer <NUM> to exit the warm idle mode and enter the cooking mode by proceeding to block <NUM> and setting the setpoint temperature TSP to the target cooking temperature TTCT.

In block <NUM>, the process <NUM> determines if the temperature of the cooking medium <NUM> is at or above the minimum cooking temperature TMIN. The temperature of the cooking medium <NUM> may have dropped below the minimum cooking temperature TMIN, for example, if the fryer <NUM> has been in the idle mode long enough for the cooking medium to cool off significantly. If the sensed temperature TSENSE of the cooking medium <NUM> is not at or above the minimum cooking temperature TMIN ("NO" branch of decision block <NUM>), the process <NUM> continues to monitor the temperature of the cooking medium <NUM> until it has reached the minimum cooking temperature TMIN. In response to the sensed temperature TSENSE of the cooking medium <NUM> reaching the minimum cooking temperature TMIN ("YES" branch of decision block <NUM>), the process <NUM> proceeds to block <NUM>.

In block <NUM>, the process <NUM> resets the idle timer and proceeds to block <NUM> to begin the cook cycle. The idle timer may be reset, for example, in response to detecting that a basket <NUM> has been lowered into the cooking medium <NUM>. The controller <NUM> may detect a basket being lowered into the cooking medium <NUM>, for example, based on a drop in the temperature of the cooking medium <NUM> sensed by one or more of the temperature sensors <NUM>-<NUM>. During the cook cycle, the process <NUM> may proceed to block <NUM> and monitor the cook cycle to determine when the cook cycle is over, e.g., by monitoring a cook cycle timer. When the cook cycle is over ("YES" branch of decision block <NUM>), the process <NUM> returns to block <NUM> and starts the idle timer. Thus, if another order to cook a food product is not received within the timeout period, the process <NUM> re-enters the warm idle mode as described above with respect to block <NUM> and block <NUM>.

<FIG> depicts a flowchart illustrating a heating element control process <NUM> that may be implemented by the controller <NUM> to activate the heating elements <NUM>-<NUM> while the controller <NUM> is operating in the melt mode. Process <NUM> may cause the controller <NUM> to sequentially activate the heating elements <NUM>-<NUM> in a predetermined melt mode activation sequence.

In block <NUM>, the process <NUM> selects a heating element <NUM>-<NUM> to activate that begins the activation sequence, e.g., top-left heating element <NUM>. The process <NUM> then proceeds to block <NUM> and activates the selected heating element for a melt mode activation time tmm_on. In an embodiment of the invention, the melt mode activation time tmm_on may be about <NUM> seconds. The melt mode activation time tmm_on may vary depending on the type of cooking medium <NUM> in use. For example, cooking mediums <NUM> that are solid at room temperature (shortening) may have a shorter melt mode activation time tmm_on than cooking mediums <NUM> that are liquid at room temperature (e.g., vegetable oil).

When the melt mode activation time tmm_on has elapsed, the process <NUM> proceeds to block <NUM>, deactivates the heating element, and waits for a melt mode deactivation time tmm_off before proceeding to block <NUM>. In an embodiment of the invention, the melt mode deactivation time tmm_off may be about five seconds. The deactivation time tmm_off may provide time for heat to dissipate into the cooking medium <NUM> as well as for the temperature sensors <NUM>, <NUM>, <NUM> to detect a change in the temperature of the cooking medium <NUM>.

In block <NUM>, the process <NUM> determines if the melt mode is still active, e.g., has the sensed temperature TSENSE reached the melt temperature TMELT. If the melt mode is no longer active ("NO" branch of decision block <NUM>), the process <NUM> proceeds to block <NUM> and exits melt mode heater control. If the melt mode is active ("YES" branch of decision block <NUM>), the process <NUM> proceeds to block <NUM> and selects the next heating element <NUM>-<NUM> in the activation sequence, e.g., the bottom-right heating element <NUM>. The process <NUM> then returns to block <NUM> and activates the newly selected heating element <NUM>-<NUM> for the activation time tmm_on. The heating element control process <NUM> may continue so long as the fryer <NUM> is in the melt mode so that the heating elements <NUM>-<NUM> are repeatedly powered according to the activation sequence. One suitable activation sequence that may be implemented for the configuration of heating elements <NUM>-<NUM> depicted in <FIG> is (<NUM>) top-left heating element <NUM>, (<NUM>) bottom-right heating element <NUM>, (<NUM>) bottom-left heating element <NUM>, (<NUM>) top-right heating element <NUM>. Whichever sequence used is repeated by the process <NUM> until the process <NUM> is terminated.

<FIG> depicts a flowchart illustrating a heater staging process <NUM> that may be implemented by the controller <NUM> to adjust the target cooking temperature TTCT, and thus the setpoint temperature TSP, when the fryer <NUM> is in the cooking mode. The process <NUM> may provide a heater-staged cooking feature that comprises a series of stages which determine which heating elements <NUM>-<NUM> are activated while the fryer <NUM> is operating in the cooking mode. The process <NUM> may be initiated by the controller <NUM> in response to beginning a cook cycle, or at any other suitable time.

In block <NUM>, the process <NUM> determines a cooking load for the cook cycle. Exemplary cooking loads may include full baskets (e.g., two full baskets), part-full baskets (e.g., one full basket and one half-full basket), and half-full baskets (e.g., two half-full baskets). In response to determining the cooking load, the process <NUM> proceeds to block <NUM> and selects a set of setpoint bias temperatures based on the cooking load. Each setpoint bias temperature defines a threshold temperature level below the target cooking temperature TTCT. When the sensed temperature TSENSE drops below one of the threshold temperatures, a different heater stage may be activated. For example, a stage one bias temperature TS<NUM> in the full baskets group may have one value (e.g., <NUM>°F), the stage one bias temperature TS<NUM> in the part-full baskets group may have another value (e.g., <NUM>°F), and so on. Exemplary setpoint bias temperatures are shown in Table I below.

Once the setpoint bias temperatures have been selected based on the cooking load, the process <NUM> proceeds to block <NUM> and determines if the sensed temperature TSENSE has dropped below the stage one threshold temperature TTH<NUM>, i.e., is TTCT - TSENSE > TS<NUM>? If the sensed temperature TSENSE has not dropped below the stage one threshold temperature TTH<NUM> ("NO" branch of decision block <NUM>), the process <NUM> proceeds to block <NUM>, deactivates any active heating elements, and continues to monitor the temperature of the cooking medium <NUM>. If the sensed temperature TSENSE has dropped below the stage one threshold temperature TTH<NUM> ("YES" branch of decision block <NUM>), the process <NUM> proceeds to block <NUM>.

In block <NUM>, the process <NUM> determines if the sensed temperature TSENSE has dropped below the stage two threshold temperature TTH<NUM>. If the sensed temperature TSENSE has dropped below the stage two threshold temperature TTH<NUM> ("YES" branch of decision block <NUM>), the process <NUM> proceeds to block <NUM>. If the sensed temperature TSENSE has not dropped below the stage two threshold temperature TTH<NUM> ("NO" branch of decision block <NUM>), the process <NUM> proceeds to block <NUM>, activates the stage one heating element and returns to block <NUM>. It should be understood that in process <NUM>, "activating the stage 'X' heating element(s)" means that only the heating element or elements of that stage are active after activation. That is, activation of a particular stage will deactivate any heating elements which were previously active but that are not included in the particular stage.

To determine which heating element to activate in block <NUM>, the process <NUM> may implement the cold-region selection feature. Under a stage one condition, the cold-region selection feature may select a heating element <NUM>-<NUM> on the side of the fry pot <NUM>, <NUM> with the lowest temperature for activation. For example, if the left temperature sensor <NUM> indicates a lower temperature than the right temperature sensor <NUM>, the process <NUM> may select one of the left-side heating elements (e.g., the top-left heating element <NUM>) for activation. In contrast, if the right temperature sensor <NUM> indicates a lower temperature than the left temperature sensor <NUM>, the process <NUM> may select one of the right-side heating elements (e.g., the top-right heating element <NUM>) for activation.

In block <NUM>, the process <NUM> determines if the sensed temperature TSENSE has dropped below the stage three threshold temperature TTH<NUM>. If the sensed temperature TSENSE of the cooking medium <NUM> has dropped below the stage three threshold temperature TTH<NUM> ("YES" branch of decision block <NUM>), the process <NUM> proceeds to block <NUM>. If the sensed temperature TSENSE of the cooking medium <NUM> has not dropped below the stage three threshold temperature TTH<NUM> ("NO" branch of decision block <NUM>), the process <NUM> proceeds to block <NUM>, activates the stage two heating elements, and returns to block <NUM>.

The stage two activation may either keep the heating element activated in stage one active, or if no heating elements are already active, select a heating element on the side of the fry pot <NUM>, <NUM> with the lowest temperature for activation as described above for block <NUM>. The process <NUM> may then activate another heating element by selecting an inactive heating element on the side of the fry pot <NUM>, <NUM> with the lowest temperature for activation. This additional heating element may be on the same side as the heating element activated in stage one (e.g., both the top-left heating element <NUM> and the bottom-left heating element <NUM> are activated), or on the opposite side from the heating element activated in stage one (e.g., both the top-left heating element <NUM> and the top-right heating <NUM> are activated). The latter opposite-side scenario may be more common in cases where the process <NUM> has been in stage one for a period of time prior to entering stage two.

In block <NUM>, the process <NUM> determines if the sensed temperature TSENSE of the cooking medium <NUM> has dropped below the stage four threshold temperature TTH<NUM>. If the sensed temperature TSENSE of the cooking medium <NUM> has dropped below the stage four threshold temperature TTH<NUM> ("YES" branch of decision block <NUM>), the process <NUM> proceeds to block <NUM>, activates the stage four heating elements, and proceeds to block <NUM>. The stage four activation may either activate or keep the heating elements activated in stages one through three active as described above, as well as activate another heating element, e.g., the only remaining inactive heating element of the heating system <NUM> depicted in <FIG>.

If the sensed temperature TSENSE of the cooking medium <NUM> has not dropped below the stage four threshold temperature TTH<NUM> ("NO" branch of decision block <NUM>), the process <NUM> proceeds to block <NUM>, activates the stage three heating elements, and returns to block <NUM>. The stage three activation may either activate or keep the heating elements activated in stages one and two active as described above, as well as activate another heating element. If all the heating elements on one side of the fry pot <NUM>, <NUM> have been activated (e.g., both the top-left heating element <NUM> and bottom-left heating element <NUM> are activated), the process <NUM> selects a heating element from the other side for activation (e.g., the top-right heating element <NUM>). If one heating element on each side of the fry pot <NUM>, <NUM> has been activated (e.g., both the top-left heating element <NUM> and the top-right heating element <NUM> are activated), the process <NUM> may select a remaining heating element from the colder side for activation (e.g., one of the bottom-left heating element <NUM> or bottom-right heating element <NUM>).

In block <NUM>, the process <NUM> determines if the cook cycle has finished. If the cook cycle is has not finished ("NO" branch of decision block <NUM>), the process <NUM> returns to block <NUM> and continues implementing staged heating control of the heating elements <NUM>-<NUM>. If the cook cycle has finished ("YES" branch of decision block <NUM>), the process <NUM> may terminate.

By selecting a heating element on the side of the fry pot <NUM>, <NUM> with the lowest temperature for activation, the cold-region selection feature may provide more even heating of the cooking medium <NUM> as compared to heating systems lacking this feature. The cold-region selection feature may also help compensate for uneven cooking loads. This advantage extends to heating stages in which an additional heating element is being activated. The additional heating element may be on the same side as the heating element activated in stage one (e.g., both the top-left heating element <NUM> and the bottom-left heating element <NUM> are activated), or on the opposite side from the heating element activated in stage one (e.g., both the top-left heating element <NUM> and the top-right heating element <NUM> are activated) depending on the temperature distribution of the cooking medium <NUM>.

As the temperature of the cooking medium <NUM> rises, the process <NUM> may reduce the number of active heating elements on the side of the fry pot <NUM>, <NUM> where the cooking medium <NUM> has a higher temperature by default. That is, the activated heating elements may be deactivated in the reverse order they were activated as the temperature of the cooking medium <NUM> rises above each of the threshold temperatures. By preferentially activating heating elements <NUM>-<NUM> proximate to regions of the cooking medium <NUM> that are relatively colder than other regions or the average temperature of the cooking medium <NUM>, the cold-region selection feature may reduce temperature gradients across the cooking medium <NUM>.

The above process <NUM> may also include a staggered heating element activation scheme that introduces a delay td between sequential activation of heating elements <NUM>-<NUM>, e.g., a delay td ≥ <NUM> milliseconds. This delay may increase the amount of time necessary to activate all the heating elements <NUM>-<NUM> from an initial state in which no heating elements are active. For example, for a <NUM> millisecond delay, it would take a minimum of <NUM> milliseconds to go from no active heating elements to four active heating elements.

Embodiments of the invention may also include a cooking medium filtration feature having different modes of operation. These modes may include a hands-free mode, an operator-initiated mode, and a service mode. The hands-free mode may cause a filtration cycle to run based on the number of cook cycles, e.g., the filtration cycle runs automatically when the number of cook cycles since the last filtration cycle or a change of cooking medium exceeds a threshold. The operator-initiated mode may cause the filtration cycle to run when the operator activates a filtration cycle using the control panel. This mode may only be run one time. The service mode (including oil dispose) may only run when the operator activates this mode using the control panel.

The hands-free filtration process operates without operator intervention. Before the filtration cycle begins, the fry pot <NUM>, <NUM> containing the cooking medium <NUM> that is to be filtered may be prohibited from accepting any new cook cycles or auto-top off operations. A cook cycle that is in process may be allowed to complete, and any cook cycles in the queue for the fry pot <NUM>, <NUM> being filtered may be automatically moved to the other fry pot <NUM>, <NUM>. The hands-free filtration process may then perform a circuit verification that confirms the drain pan switch is closed and that all heating elements are deactivated before starting the filtration cycle. If these two conditions are not met, the hands-free filtration process may delay or abort the filtration cycle.

The filtration cycle may start by opening the fill solenoid. After a delay (e.g., two seconds), the filter pump motor may be activated, thereby causing the cooking medium <NUM> to be agitated in the fry pot <NUM>, <NUM>. This agitation may cause crumbs to be disturbed and lifted into the cooking medium <NUM>. Next, while the pump is still running, the hands-free filtration process opens the drain valve for a period based on a hands-free drain valve open time setting stored in memory. When the drain valve open time has expired, the hands-free filtration process closes the drain valve. The hands-free drain valve open time setting may be set to allow a predetermined amount of oil to drain from the fry pot and into the drain pan. The duration of the hands-free drain valve open time necessary to allow the predetermined amount of cooking medium <NUM> to drain may be determined empirically, and may vary depending on the type and temperature of the cooking medium being drained.

The drained cooking medium <NUM> may then be filtered and returned to the fry pot <NUM>, <NUM>. To this end, the pump may be operated for a period of time based on a hands-free pump activation time that has been determined to be sufficient to return all the drained and filtered cooking medium <NUM> to the fry pot <NUM>, <NUM>. After the pump is stopped, the hands-free filter process may wait for a period of time (e.g., <NUM> seconds) before closing the fill solenoid valve and completing the process. When the filtration cycle is complete, any cook cycles still in the queue may be redistributed across both fry pots <NUM>, <NUM>, and the auto-top off feature reactivated.

Embodiments of the invention may also include a "proof of cooking medium" check feature. This feature may operate when the fryer <NUM> is initially powered up (e.g., during the program start-up sequence), and may also operate during one or more of the melt mode, a preheat mode, the warm idle mode, the cooking mode, as well as after a filtering or fill cycle. The proof of cooking medium feature verifies that the fry-pot being checked has a sufficient amount of cooking medium to operate safely, e.g., enough cooking medium <NUM> to cover the heating elements <NUM>-<NUM>, temperature sensors <NUM>-<NUM>, and thermal cutoff switch <NUM>.

In general, the routines executed to implement the embodiments of the invention, whether implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions, or a subset thereof, may be referred to herein as "computer program code," or simply "program code. " Program code typically comprises computer-readable instructions that are resident at various times in various memory and storage devices in a computer and that, when read and executed by one or more processors in a computer, cause that computer to perform the operations necessary to execute operations or elements embodying the various aspects of the embodiments of the invention. Computer-readable program instructions for carrying out operations of the embodiments of the invention may be, for example, assembly language, source code, or object code written in any combination of one or more programming languages.

Various program code described herein may be identified based upon the application within which it is implemented in specific embodiments of the invention. However, it should be appreciated that any particular program nomenclature which follows is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified or implied by such nomenclature. Furthermore, given the generally endless number of manners in which computer programs may be organized into routines, procedures, methods, modules, objects, and the like, as well as the various manners in which program functionality may be allocated among various software layers that are resident within a typical computer (e.g., operating systems, libraries, API's, applications, applets, etc.), it should be appreciated that the embodiments of the invention are not limited to the specific organization and allocation of program functionality described herein.

The program code embodied in any of the applications/modules described herein is capable of being individually or collectively distributed as a computer program product in a variety of different forms. In particular, the program code may be distributed using a computer-readable storage medium having computer-readable program instructions thereon for causing a processor to carry out aspects of the embodiments of the invention.

Computer-readable storage media, which is inherently non-transitory, may include volatile and non-volatile, and removable and non-removable tangible media implemented in any method or technology for storage of data, such as computer-readable instructions, data structures, program modules, or other data. Computer-readable storage media may further include RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other solid state memory technology, portable compact disc read-only memory (CD-ROM), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store data and which can be read by a computer. A computer-readable storage medium should not be construed as transitory signals per se (e.g., radio waves or other propagating electromagnetic waves, electromagnetic waves propagating through a transmission media such as a waveguide, or electrical signals transmitted through a wire). Computer-readable program instructions may be downloaded to a computer, another type of programmable data processing apparatus, or another device from a computer-readable storage medium or to an external computer or external storage device via a network.

Computer-readable program instructions stored in a computer-readable medium may be used to direct a computer, other types of programmable data processing apparatuses, or other devices to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions that implement the functions, acts, or operations specified in the flowcharts, sequence diagrams, or block diagrams. The computer program instructions may be provided to one or more processors of a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the one or more processors, cause a series of computations to be performed to implement the functions, acts, or operations specified in the flowcharts, sequence diagrams, or block diagrams.

The flowcharts and block diagrams depicted in the figures illustrate the architecture, functionality, or operation of possible implementations of systems, methods, or computer program products. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function or functions.

In certain alternative embodiments, the functions, acts, or operations specified in the flowcharts, sequence diagrams, or block diagrams may be re-ordered, processed serially, or processed concurrently. Moreover, any of the flowcharts, sequence diagrams, or block diagrams may include more or fewer blocks than those illustrated. It should also be understood that each block of the block diagrams or flowcharts, or any combination of blocks in the block diagrams or flowcharts, may be implemented by a special purpose hardware-based system configured to perform the specified functions or acts, or carried out by a combination of special purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the embodiments of the invention. As used herein, the singular forms "a", "an" and "the" are intended to include both the singular and plural forms, and the terms "and" and "or" are each intended to include both alternative and conjunctive combinations, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" or "comprising," when used in this specification, specify the presence of stated features, integers, actions, steps, operations, elements, or components, but do not preclude the presence or addition of one or more other features, integers, actions, steps, operations, elements, components, or groups thereof. Furthermore, to the extent that the terms "includes", "having", "has", "with", "comprised of", or variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term "comprising".

Claim 1:
A fryer (<NUM>) comprising:
a fry pot (<NUM>, <NUM>) configured to receive a cooking medium (<NUM>);
a controller (<NUM>); and
a plurality of heating elements (<NUM>-<NUM>) each configured to provide heat to the cooking medium (<NUM>) in response to being activated by the controller (<NUM>), wherein the controller (<NUM>) is configured to:
control an amount of heat provided to the cooking medium (<NUM>) based on a setpoint temperature (TSP), the setpoint temperature (TSP) being set to a target cooking temperature (TTCT) during a cook cycle;
determine a cooking load;
select a set of setpoint bias temperatures based on the cooking load, each setpoint bias temperature defining a threshold temperature (TTH1-TTH4) below the target cooking temperature (TTCT);
in response to a sensed temperature (TSENSE) of the cooking medium (<NUM>) being below a first threshold temperature of the threshold temperatures (TTH1-TTH4) but above a second threshold temperature of the threshold temperatures (TTH1-TTH4), activate a first heating element (<NUM>-<NUM>) of the plurality of heating elements (<NUM>-<NUM>); and
in response to the sensed temperature (TSENSE) of the cooking medium (<NUM>) being below the second threshold temperature of the threshold temperatures (TTH1-TTH4), activate a second heating element (<NUM>-<NUM>) of the plurality of heating elements (<NUM>-<NUM>).