referring now to the accompanying drawings and initially to fig1 – 4 , a conveyorized cooking apparatus according to the present invention is shown generally at 10 in an embodiment thereof particularly designed and intended for use in a “ fast - food ” style restaurant serving a variety of differing broiled meat sandwiches , e . g ., hamburger sandwiches , chicken fillet sandwiches , steak sandwiches , etc . however , those persons skilled in the art will readily recognize and understand that the present cooking apparatus and the novel features utilized therein are susceptible of various other specific embodiments , all of which are intended to be within the scope and substance of the present invention . as depicted in fig1 – 4 , the cooking apparatus 10 includes a housing 12 defining an interior meat broiling chamber 16 generally in the form of a tunnel extending horizontally the predominate lengthwise extent of the housing 12 from an entry opening 16 ′ at the forward end of the housing 12 to respective discharging location 16 ″ at the rearward end of the housing 12 ( see fig3 ). the meat - broiling chamber 16 occupies the predominant portion of the width of the housing 12 . an endless wire mesh conveyor 20 extends though the entire length of the meat broiling chamber 16 . the conveyor 20 is supported by front and rear axle shafts 28 , 30 . the axle shaft 28 is rotatably supported horizontally at the forward side of housing 12 outwardly adjacent the chamber entrance opening 16 ′ by forwardly extending housing flanges 32 . the axle shaft 30 similarly is rotatably supported horizontally within the housing 12 by the outermost housing sidewalls 12 ′ to extend laterally through the chamber 16 immediately adjacent the rearward end 16 ″ of the housing 16 and in essentially the same horizontal plane and in axially parallel relation to the axle shaft 28 . in this manner , the conveyor 20 is arranged such that its upper conveyor run may travel along a horizontal food transport path in a horizontal plane lengthwise through the chamber 16 within the housing 12 . the conveyor 20 within the chamber 16 is mounted in an idling manner about the axle shaft 28 , but in contrast is trained about sprockets 26 fixed directly to the axle shaft 30 to rotate integrally therewith . the outermost end of the axle shaft 30 at the right side of the housing 12 also carries a sprocket 24 fixed directly to the shaft 30 by which the shaft 30 is driven by a motor ( not shown ) via an endless chain 38 trained about the sprocket 24 and the motor drive shaft 36 , whereby the conveyor 20 is positively driven at a speed determined by the drive speed of the motor . the meat broiling chamber 16 is equipped with a cooking arrangement for applying cooking energy therewithin to food articles being transported on the conveyor 20 from each opposite upper and lower side of the conveyor . within the chamber 16 , the cooking arrangement comprises a first plurality of electric heating elements 48 supported by the housing 12 in generally side - by - side horizontal alignment with one another at a spacing above the food transport path of the conveyor 20 and a second like plurality of electric heating elements 50 similarly arranged generally in side - by - side horizontal alignment at a spacing beneath the food transport path of the conveyor 20 . the basic construction of each of the electric heating elements 48 , 50 , may be of a generally conventional type , such as electrical resistance heating elements . however , it is to be understood that any other form of heating or cooking elements may also be utilized , e . g ., gas - fired burner assemblies fueled by natural gas or propane . at the rearward end of the housing 12 , a slide 40 is positioned in the housing 12 such that food items carried by the conveyor 20 are delivered onto the slide 40 at the terminal end of the upper conveyor run as the conveyor rounds the axle shaft 30 . the slide 40 may be made in a suitable configuration and formed of a suitable material such as sheet metal to insure that food items delivered onto the slide 40 travel along the surface of the slide by gravity with sufficient force to transport the food items to a collection location 42 at the forward end of the slide for retrieval through an opening in the housing 12 at the forward end thereof below the housing flanges 32 . to facilitate sliding of the food items , the surface of the slide 40 may be covered with an anti - friction material such as polytetraflouroethylene ( teflon brand ) or other suitable material to reduce the frictional forces between the surface of the slide 40 and the food items traveling thereover . alternatively , the apparatus could provide a collection pan for the cooked food items at the rearward end of the housing 12 . a significant feature of the present apparatus 10 is the provision of a microprocessor based controller unit 106 which provides for selective programmable variation and control of substantially all of the significant functions of the apparatus 10 , including the broiling temperatures within the chamber 16 , the traveling speed of the food conveyor 20 , and controlled system shut - down of the apparatus 10 , all as more fully described hereinafter . the controller unit 106 may comprise various conventional electronic microprocessor and memory components and associated programmable input means so long as capable of performing the control functions and logic of the present invention as described below . in the preferred embodiment , the various control functions and logic of the apparatus are input , actuated and controlled via a touch - type keypad 108 which may preferably be in a form and layout depicted in fig5 . the following describes the preferred operation and functional capabilities provided by the controller unit 106 . to better grasp the functions and the rationale behind the various controller features required , the following describes the 2 major parts of the broiler : the conveyor subsystem , and the heating subsystem . the controller unit 106 controls the motor output for the conveyor 20 in a closed - loop fashion , using tachometer feedback . also controlled are 2 heater zones , specifically the upper and lower electric heating elements . the controller is programmable , thus allowing it to be used on variants of the above broiler ( i . e . single - zone , single - conveyor , gas model , different conveyor lengths , etc .). the motor outputs ( there can be up to 2 installed ) are pwm signals ( 1 khz , variable duty cycle ). these drive external opto - isolators , which in turn drive the scr dc motor drive . the motor is a 1 / 50 hp dc motor , which runs from about 9vdc to 110vdc . this motor is connected to a gearbox , which reduces the speed at a 192 : 1 ratio . in turn , this gearbox drives a chain with sprockets , and ultimately , the conveyor 20 . the motor has a range of about 1 to 10 rpm for the output shaft speed of the gearbox . the motor feedback is a hall effect tachometer on the motor shaft 36 ( as opposed to the gearbox output shaft , which is 192 times slower ). the tachometer outputs 10 pulses per rpm . thus , at maximum speed , the unit will send 19200 pulses per minute . at the slowest speed , this translates to 1920 pulses per minute . from the user &# 39 ; s perspective ( in recipes ), motor speed is simply expressed as a cooking time . the longer the time , the slower the motor will turn . there is a low - level internal conversion factor that will take various mechanical variations of the broiler into consideration ( sprocket diameter ratios , conveyor belt length , motor speed , etc .) currently , the slowest speeds are about 8 : 00 and the fastest , about 0 : 45 . the current motor allows about 10 : 1 speed ratio between the fastest and slowest speeds . there are 2 heaters : a top heater comprised of the upper heater elements 48 ( above the upper conveyor run ) and a bottom heater comprised of the lower heater elements 50 ( below the upper conveyor run ). each heater is independent of each other and has its own thermocouple . there are 6 individual heater elements 48 or 50 in each group , for a total of 12 . both temperatures are measured directly on their respective group of heating elements . temperatures are usually in the 1200 ° f .– 1350 ° f . range . the heaters are driven by external “ hockey puck ” ssr &# 39 ; s . however , since the failure mode of a power ssr is usually a short circuit , there is a “ heater kill ” contactor to be controlled when the unit goes in and out of operation . this contactor is a pre - caution against involuntary heater turn on . it is also contemplated that one or both of the heater outputs could be replaced by a gas valve output for a gas fired broiler . the heater output can be controlled with either an on / off algorithm ( with a hysteresis ) or a fuzzy logic algorithm ( selectable in low - level programming ). fuzzy logic gives results similar to pid controls , but is easier to tune within a given system . the fuzzy logic output is useful in helping stabilize a system to a specific temperature , while minimizing ripple and over -/ undershoots . the broiler is installed on a 3 - phase current ( 208vac , 60 hz ) branch circuit . however , the controller is powered via an external 24vac transformer . the following table summarizes the required and optional i / o &# 39 ; s : the following is the user interface layout . the same layout applies to a vertical model . there is no software change involved since the same key layout ( with a 90 ° counter - clockwise rotation ) is used . a normal press of this key turns on the controller . this causes the unit to start heating the elements and running the motors at the slowest recipe speed found ( overcooked food is safer than undercooked food ). this recipe is selected ( its corresponding led lights up ) and the temperature set point is the one defined by this same recipe . at any time in on mode , the user can change the selected recipe . when just turned on , the unit will scroll on the 1 st display line of the controller keypad until the soak time has elapsed . after this time , unit will display either or depending on the current temperature readings . when on , the unit activates the heater kill contactor , which in turn allows the heating elements to get power ( through the ssr &# 39 ; s ). a 3 - second long press of the on / off key turns off the unit . when the unit is turned off , the heater kill output is deactivated to disable power to heating elements . the 1 st display line will then blink for the cool down period ( heaters off , but the motor ( s ) is ( are ) still running at the fastest speed supported by the unit ( see minimum time in low - level programming )). at that point , the unit will then simply display and all outputs will be disabled . six different cooking recipes are defined by a time and a temperature . the time basically sets the conveyor speed . if the broiler is a single conveyor model , then all 6 recipes control the conveyor speed . if the broiler is a dual conveyor model , then recipes 1 to 3 are for the left belt ( motor # 1 ), and recipes 4 to 6 are for the right belt ( motor # 2 ). when the unit is a simple press of the recipe key will activate the selected recipe speed and temperature and conditions may or may not be triggered ). when a specific recipe must be changed , keep its button pressed for 3 seconds , until the 1st parameter name scrolls on the 1st display line the recipe as well as the up / down led &# 39 ; s will also blink , indicating that they can be used . pressing either up or down the 1st time simply makes the display switch to the parameter &# 39 ; s value ( preceded by an arrow , as in to indicate a changeable value ). subsequent presses will then modify the parameter . if up or down are not pressed for 5 seconds , the display resumes scrolling the parameter name . each recipe has 3 programmable parameters . to switch from one to the next , press the recipe key . after the last parameter is programmed , the unit resumes normal operation . the view key allows a user to view actual or programmed system parameters . changes cannot be made just by using this key . in normal operation ( on mode ), pressing the view key followed by a recipe key will start scrolling the message also , the view and up keys blink , indicating they can be used . the 2nd display line shows the current conveyor speed . pressing the up key causes the 1st display line to toggle between the message and the actual temperature value . pressing the view key a 2nd time will display again , the up key toggles between this message and the actual temperature measured . a 3rd and final press of the view key resumes normal operation . a 3 - second long press of the view key allows users to see the current recipe programs without actually being able to change them . after this delay all 6 recipe led &# 39 ; s blink , allowing the user to select the wanted recipe . once a recipe is selected , the procedure is the same for all recipes . the 1st parameter shown is by pressing the up key , the user can view the parameter value that is currently programmed value ( but cannot change it ). the user simply waits for 5 seconds before the unit returns to the parameter name . pressing the recipe key a 2nd and 3rd time will bring up and again , using the up key , the parameter value can be seen . pressing the recipe key one last time returns the unit to normal operation . if the unit is operating ( i . e . on ) when this feature is used , the 2nd display line always shows the current conveyor speed . if the unit is off ( or hot ), the conveyor speed is not shown . the conveyor only key is only accessible from the off state . this key allows the conveyor to be used without any heating . pressing the key starts the conveyor at its slowest speed ( as defined by the low - level programming ). the word is displayed on the 1st display line . the current speed is displayed on the 2nd display line ( expressed as a time ), the flashing triangle indicating the speed can be changed using the up and down keys . exit this mode by pressing conveyor only a 2nd time . note that at all times during the conveyor only mode , the motor tachometer feedback loop is disabled . in other words , the controller simply outputs the theoretical rpm derived from the selected speed and the k programmed into the low - level programming . this key is available anytime . when pressed , the controller will list a log of the last 3 recovery times . a recovery time is the time required for the temperature to go from 200 ° f . to 800 ° f . ( temperature limits selectable in low - level programming ). a log exists for each heater ( top and bottom ). this is useful for service and haccp purposes . when the recovery key is pressed , the controller will successively display , , , , , and ramp times , “ 1 ” being the most recent ramp logged . to actually see the logged time , press the up key . after the last set is seen ( ), the unit resumes normal operation . this key is useable only when the unit is on ( and the food probe is enabled in the low - level programming ). it is accessible in 2 modes : automatic or manual . in manual mode , it is up to the user to press the food probe key to initiate a log , whereas the automatic mode will remind the user ( up to 6 times a day ) to take a sample . even in automatic mode , the user still has the capability to log extra samples manually as he / she wishes . to do a manual log , the user must first make sure the temperature probe is correctly connected , and then press the food probe key . step # 1 this step prepares the controller for logging . it determines the equalization time that will be used later on in the process . display : is scrolled and recipe led &# 39 ; s blink . sound : no particular sound . user action : select the recipe corresponding to the sample that will be probed . step # 2 this step starts the logging as such , and gives the user time to setup for the sampling . display : shows actual temperature can be seen when up key is pressed . the up key and record led &# 39 ; s blink . sound : no particular sound . user action : insert the food probe into the sample according to local sanitary codes and normal restaurant procedures . step # 3 in this step ( basically a continuation of step # 2 ), the temperature continues being shown to the user . nothing is being logged yet . the user must wait until a certain temperature is reached ( that depends on what is being sampled ( chicken , beef , etc . ), as well as specific restaurant procedures ). display : the 1st display line displays the temperature currently measured by the food probe . the record key led also blinks . sound : no particular sound . user action : keep food probe inserted . when temperature reaches a specific point ( known to the user ), the user presses the record button . step # 4 when the record button is pressed , 2 things happen : the “ start temperature ” is stored , and the equalization timer is started . this timer is low - level programmable on a per recipe basis . the controller now waits for the timer countdown to finish . display : the 1st display line keeps displaying the temperature currently measured by the food probe . however , there are no keys that function at this point . sound : a beep every 1 second until 5 seconds before end of timer . during last 5 seconds , beeps accelerate to 2 beeps per second . user action : keep food probe inserted . step # 5 in this last step , the actual log is written to memory . the temperature now displayed is logged as the “ end temperature ”. display : last temperature read when timer reached zero is displayed until food probe key is pressed again . this exits food probe . sound : no particular sound . user action : remove probe , and press any key to resume normal operation . the following is logged each time a sample is taken ( in step # 5 ): date / time stamp ( mm / dd / yy if english ( degree f . ), dd / mm / yy if metric ( degree c .) as well as hh : mm ) recipe number ( that was selected by user ) top element temperature bottom element temperature food “ start temperature ” ( when user pressed record ) food “ end temperature ” ( at the end of the equalization time ) note : at the end of step # 5 , the user can record another sample of same recipe by pressing record again instead of food probe , which clears display of previous samples . display then shows probe &# 39 ; s current temperature and steps 3 , 4 , and 5 are repeated . these keys are used to adjust the various system parameters when required . time is incremented / decremented at 5 - second intervals , and temperature at 5 ° f . ( 2 ° c .) intervals . these keys have a typematic feature associated with them . keeping them pressed for more than 2 seconds causes the rate of change to accelerate to 25 ° f ./ 10 ° c . ( temperature ), or 20 seconds ( time ) every 500 msec . this key is not identified as such on the overlay . it is located where the lower diamond shape of the marshall air logo is . this key is meant to be “ discrete ”, so as to not be normally used . when the unit is on , a normal press of this key allows the user to bypass the step and go immediately into mode . this is used mostly when users are receiving a short course on how the unit operates , and the instructor does not wish to wait soak time minutes for appear . in off mode , a 20 - second long press of the logo and food probe keys will bring up the low - level programming mode . this mode allows setting up the various system parameters to fine - tune a particular broiler model . see section 0 for more details on the low - level programming mode . in general , all messages are scrolled on the 1 st display line ( about 2 characters per second ), and times are displayed on the 2 nd . some keys have a led , which is used to indicate various situations . on / off led : full on when broiler is on , otherwise off . up / down led &# 39 ; s : blink when up / down keys are expected . recipe led &# 39 ; s : on when a recipe is active , blinking when programming or viewing recipes . conveyor only : blinking when feature is in use . recovery : full on when feature is in use . food probe : normally off , blinking when waiting for user to insert probe , and full on when acquiring temperature . view : full on when feature is in use . conveyor : this is a group of 3 led &# 39 ; s that simulate a rotating motion ( about 2 changes per second ). this is active whenever the controller is receiving pulses from all installed tachometers . top and bottom heater led &# 39 ; s : full on when the corresponding heaters are on , otherwise off . also , whenever the arrow symbol ( ω ) is displayed with the data , this means that this is a parameter being changed / adjusted . all conveyor speeds are displayed on the 2nd display line , and are limited to all other times are displayed as or ( in low - level programming , this information is on the top display line , which has more characters available ). when a power - up occurs , there is a lamp test , where all led &# 39 ; s come on for 5 seconds ( this includes all led &# 39 ; s in the two displays ). following the lamp test , the software number and revision are displayed . these are useful for troubleshooting purposes when several versions exist in the field . the first display line shows the software number and the second display line shows the revision in the format normally , officially “ released ” versions will be whole numbers ( etc .) and if a fraction occurs , these are beta versions . in this state , the heaters are disabled ( heater kill relay is de - energized ). nothing is displayed , except for on the 1 st display line . the motor ( s ) may be used ( and the speed displayed on the 2 nd display line ) if the conveyor only function is used . also the view and recovery keys may be used . the controller must be off to enter low - level programming . this is the normal cooking state . however , before displaying the unit must go through the mode . this can be bypassed by using the hidden logo key . in the on mode , 2 extra conditions may exist : and both depend on the current set point , and the current temperature . if the difference between the set point and the current temperature exceeds the programmable thresholds , then either the or messages are displayed . this warns the user to wait until the condition comes back before putting product onto the conveyor . these conditions are likely to occur when a recipe calls for different temperatures . this state is active after the unit is turned off ( or if an error occurs that causes the unit to shut - down ). this state is basically a cool down step between the on and off states . the conveyor continues to roll at the fastest speed it was set at , but the heaters are off ( and the heater kill relay is deenergized ). the display continuously shows until the cool down time has elapsed . this can be bypassed by using the hidden logo key . the internal buzzer emits a very short beep whenever a key is pressed . when an alarm occurs , the buzzer will sound a tone ( 3 short beeps , 1 long pause , 3 short beeps , 1 long pause , etc .) in some cases ( such as when using the food probe ) the buzzer helps the user in accomplishing the task . to give as much flexibility as possible in the construction of broilers , a speed constant k is defined in the low - level programming . this speed constant requires us to define the pulses ( 10 per motor rpm ) required for 1 minute ( 60 seconds ) of cook time . for example , if 2460 ppm ( the value of k in pulses / minute is required for the unit to cook food during 1 minute , then this is the programmed constant . the controller software will convert this linearly to any other ppm as required by the recipe times . using the parameters of the particular broiler and its k factor , a cook time of 2 . 45 will generate a tachometer output of about 6765 ppm . the equation used is the following : ppm for a particular cook time = k × 60 / cook time where k the pulses per minute for a particular broiler model when it is operating at a speed corresponding to 1 minute cook time . automatic logging is exactly the same procedure as manual logging , except the controller actually reminds the user to do the job . the logging interval is programmable in the low - level programming . up to 6 times ( within a 24 - hour period ) can be programmed . each time “ slot ” can be enabled ( by programming a time from 12 : 00 am to 11 : 59 pm ) as well as disabled . at the appointed time , if the controller is on , a message is scrolled ( i . e . ) and the buzzer beeps once per second until food probe is pressed . at this point the process is the same as the manual one described above . there are basically 3 ways to “ see ” the logs : palm ™ ir link , rs - 485 , and manual . manual log is the simplest , but requires more “ paperwork ”. the user simply notes ( on paper ) the time and the temperatures displayed during logging . this is effectively simply using the controller as a precision thermometer . when the palm ™ method is used , its software will automatically detect whether the logging option is installed and retrieve it if it is available . this data can then be downloaded to a pc via the normal hotsync ® procedure . this data will then be available as a . csv ( comma - separated value ) file that can be imported into many windows ® programs ( ms excel ® being the most likely ). rs - 485 log retrieval is similar to the palm ™ retrieval , except the software is running on a windows ® platform and communications is via the rs - 485 link . the end result is the same : a . csv file is created on the pc . the serial eeprom used for storing the log information is 256 kb in size . a single log corresponds to approximately 16 bytes of information . allowing for some overhead in managing this log , the total log capacity of this memory is about 16 000 logs . at 6 logs per day on a 24 / 7 basis , this is about 7 years worth of logging . this memory has a 10 - year retention capacity when it is not powered . downloading the complete log ( all of the 256 kb ) to the palm ™ or pc takes about 5 minutes . obviously , the smaller the log , the less time it will take to get the information out of the controller . the log can only be cleared 2 ways : using the palm ™ handheld , or using the rs - 485 ( with a pc ). in the palm ™ or pc software , there will be a command allowing the pda or pc to tell the controller to clear its log . the operator will be notified by scrolling when the log is 75 % full . these words will toggle with and at 100 % the words are and then the record key will not work , but will flash for 2 seconds any time record key is pressed . the controller always calculates the time it takes the temperatures to go from 200 ° f . to 800 ° f . ( these limits are low - level adjustable ). this time is stored as only the last 3 recoveries are stored , and when the user requests them , the most recent is displayed 1st . this feature allows restaurant operators to gauge heating efficiency and whether employees follow normal startup procedures . when low - level programming dictates that there are 2 motors installed , some features will act slightly differently to accommodate this . first , all recipes share the same top and bottom temperature settings ( thus temperature becomes partly global ). so , programming one recipe top temperature will change all other top temperatures too ( the same applies to bottom ). motor speeds remain independent from each other . the conveyor key will activate both motors at the same speed . this speed remains adjustable using the up and down arrows . also note that in a dual conveyor machine , the time compensation feature is disabled . gas units can be gas - only , or combination units . in the case of a gas - only broiler , a single temperature ( top ) is used for all recipes ( top and bottom ). in this case , programming any one temperature sets all temperatures of all recipes ( top and bottom ). this is a true global temperature . in the case of a combination unit , the top elements 48 are electric , and the bottom elements 50 are gas . if there is only one motor , then the top electric elements are all operable independently of each other , and the bottom gas elements are all operated at a uniform gas pressure which is common to all recipes . this is another case of partly global temperatures . if 2 motors are installed , then the combination unit is different : all top temperatures are the same , and the common bottom temperature still applies . the following table summarizes how the temperatures are managed in the recipes , depending on the broiler configuration . there is a time compensation feature in the controller , which is entirely low - level programmable . this feature allows the unit to compensate for medium / long term temperature variations due to quantity and / or type of food being fed into the unit . basically , if the top or bottom temperature ( selectable in low - level too ) of the unit remains for above ( or below ) the set point plus ( or minus ) the then the unit will automatically subtract ( or add ) cooking time ( defined as a percentage of the current recipe time , ) to the current recipe . this will not change the programmed time , but will shorten ( or lengthen ) the recipe until the temperatures return to normal . this is transparent to the user , as the user sees no change ( unless he / she times the food through the unit ). an example is as follows : assume the is set to 5 minutes , to 50 ° f ., and to 10 %. also assume the current recipe is calling for 1275 ° f ., and a speed of 2 minutes . if the current temperature falls below 1225 ° f . ( set point minus 50 ° f . ), the controller will start an internal countdown timer at 5 minutes . when this timer reaches zero ( and the temperature has remained below 1225 ° f . all of this time ), the unit will automatically lengthen the cooking time by adding 12 seconds ( 10 % of 2 minutes ) to the recipe time ( but without changing the recipe program ). once the temperature goes back to set point ( 1275 ° f . ), or a new recipe is selected , the process is cancelled and the compensation feature starts over . time compensation is bilateral , meaning it works both ways . in the above example , if the temperature rises to 1325 ° f . ( set point plus the compensation threshold ), then the 5 - minute timer starts . after this delay , if the temperature has not gone below 1325 ° f ., then the cook time is shortened by the compensation factor . again , once temperature goes back to the set point ( 1275 ° f . ), then the compensation feature is turned off . each recipe can have its own compensation parameters , independent of all other recipes ; however , the time compensation feature is disabled in the case of a dual - conveyor broiler . when the controller is in off mode , the system time and date can adjusted by pressing the off key for 3 seconds . the time is displayed on the 1 st display line , and the hh are blinking . using the up and down arrows , the hours are changed . pressing view key moves the “ focus ” to the mm . again , up / down adjusts this too . by pressing view key again , hh : mm are replaced by dd / mm ( or mm / dd , depending on setting of temperature units ) ( 1st display line ) and yy ( 2nd display line ). again , use the view key to travel from one setting to another , and use the up / down keys to modify . the view key will return to hh : mm . pressing the off key again stores the new time and date , and returns to off mode . all probes are ungrounded type - k probes . all temperature readings normally associated with a type - k probe are considered valid by the controller . however , if the probes become disconnected or otherwise open , the controller will sound the buzzer and scroll t on the 1st display line of the display . the defective probe number is displayed on the 2nd display line : pressing any key shuts the buzzer off , but will not remove the error message . the only way to remove the error message is to resolve the probe and / or connection problem . when these heater probe errors occur , there are 2 possible ways to react , depending on the probe error parameter in the low - level programming : if probe error action is set to 0 ( default ), the unit goes into shutdown via the state . after the cool down delay , the error message becomes t instead of if probe error action is set to 1 , then the unit continues operation , at 100 % heater . the operator will most likely then have to adjust the recipe times , but at least the unit can still operate . due to broiler construction , 100 % heater for any amount of time is not a problem as the unit will not “ burn ” or otherwise ignite . in normal operation , if the food probe is not connected , it does not trigger any errors ( unlike the 2 other probes ). however , as soon as the food probe key is used , if the controller detects the absence of the probe , it will signal the probe error ( beep for a few seconds , display shows ). it is important that the user connects the probe before pressing the food probe . the controller unit always remains functional , even though a food probe error occurs . the dc i / q connector has a + 5vdc supply . this supply is internally protected against over - currents . should this occur , the unit will internally disconnect the supply and report the unit goes into shutdown ( through mode ) and the only way to reset this is to resolve the problem ( most likely a short ). since the buzzer is powered through the same + 5vdc supply as the dc i / o connectors , the buzzer does not sound when this error occurs . this mode of operation allows the installer ( or factory ) to program the various working parameters of the controller . first , the controller must already be in the off state . then , by keeping the hidden logo and food probe keys pressed for 20 seconds , the first parameter will be displayed . the up and down led &# 39 ; s will be lit , indicating that the unit is ready for programming . the parameter name always scrolls on the 1st display line . then when the user presses either the up or down key the first time , the current value of the parameter is displayed . subsequent presses of the up and down keys can then be used to modify the value to the required one . if the up and down keys are no longer pressed , the unit returns to scrolling the parameter name after 5 seconds . to proceed to the next parameter , press the hidden key again . to backtrack to a previous parameter , press the food probe key . in all cases , if no keys have been pressed for 1 minute , or if the hidden key is pressed for 3 seconds , the unit will return to the off mode . factory default reset : if the food probe key is pressed while the unit is in low level program , the low - level programming is reset to the factory default values ( as listed here ). this is a safeguard in case somebody has changed various ( or too many ) parameters and cannot recall what the previous configuration was . at least , the unit can be reset to “ standardized ” parameters . this setting allows a different temperature unit to be used for display . ( 0 ) electric only ( 2 probes , 2 electric heaters ) ( 1 ) gas ( 1 probe , 1 gas valve output ) ( 2 ) combi ( 2 probes , 1 electric heater , and 1 gas valve output ) parameter name : allowed values : , or factory default : this setting programs how many motors are installed on this particular broiler . this setting allows various broiler and motor configurations to use the same controller . this is the “ motor rpm required for 1 minute of cook time ”. this setting allows various broiler and motor configurations to use the same controller . this is the “ motor rpm required for 1 minute of cook time ”. defines the time required for the unit to reach proper internal temperatures at power - up . during this time , the unit displays . defines the time required for the unit to reach safe handling temperatures when the unit is shut down . during this time , the unit displays this allows the unit to automatic bypass the mode . this is useful in the case of a power “ glitch ” or brownout . the operator will not have to wait for the soak time to elapse , since the broiler is already hot . the unit simply checks for the temperature at power up , and if the temperature is within the last set point minus the set limit , the unit goes directly to mode . this parameter will enable / disable the food probe subsystem . if set to 0 , food probe is disabled . this setting determines what will be done if a heater temperature probe error occurs : if probe error action is set to 0 , the unit goes into shutdown via the state . after the cool down delay , the error message contains instead of . if probe error action is set to 1 , then the unit continues operation , at 100 % heater . the operator will most likely then have to adjust the recipe times , but at least the unit can still operate . due to broiler construction , 100 % heater for any amount of time is not a problem as the unit will not “ burn ” or otherwise ignite . parameter name : allowed values : or factory default : this parameter fine - tunes the allowed “ band ” between the set point temperature and the temperature drop at which the heater output turns back on ( when in on / off heater control ). parameter name : allowed values : to to ( or ) factory default : ( ) this parameter sets the lower limit at which the recovery timer starts counting . this parameter sets the upper limit at which the recovery timer stops counting . this parameter sets whether the controller controls the heaters using an on / off algorithm or the fuzzy logic algorithm . a 1 enables the fuzzy logic control . this parameter sets which temperature input is used to do the time compensation algorithm . this particular parameter is multiple , meaning that several values are programmed , for each recipe . each recipe has a threshold temperature ( negative or positive ) at which the controller starts counting time ( this threshold is relative to the current set point ). if the timeout is reached , then the controller will automatically add ( or subtract ) a percentage time to the recipe to compensate for the temperature difference . the programmed recipe time is not changed . only the current batches of food are affected , until the temperature gets back to the set point . refer to section 7 . 7 for more details on this feature . each recipe also has a 4th parameter , equalization time , used in food probe data logging . see section 0 for more details on this feature . when the unit reaches this parameter , it displays . the 6 recipe led &# 39 ; s will blink , thus asking the user to choose one . if the user simply ignores the recipe keys , the parameters are not changed . use the recipe keys to travel through each parameter for each recipe . when done ( at any time ), simply press the hidden key twice to exit low - level programming . if this parameter is set to 0 for any given recipe , all other parameters ( time and factor ) of the same recipe are set to 0 too . this accelerates clearing of the time compensation . this saves time for the person programming . this parameter defines how long the controller waits after the user presses the record key before logging the “ end temperature ”. this time is mandated by various local sanitation codes and specific restaurant procedures . since what is cooked ( i . e . chicken , beef , etc .) influences this time , this parameter is programmable for each recipe . when this menu is reached , all recipe led &# 39 ; s blink to let the programmer know all recipes have a value . note that if any recipe equalization time is set to 0 , only the end temperature will be logged ( 0 is logged into the start temperature ). this parameter configures the controller for automatic logging or not . for convenience , a recipe key represents each of the 6 time “ slots ”. so , selecting recipe 1 will program the 1st time slot , recipe 2 will program the 2nd slot , etc . for each slot , there is an off value , or a time ranging from 12 : 00 am to 11 : 59 pm . parameter name : allowed values : ( disabled ) or to ( enabled ) factory default : this is used to limit the maximum temperature , which the display will display . voltage : 24vac (- sl1 is the low voltage option ) frequency : 50 / 60 hz out1 - ac : solid state relay , 250vac , 200 ma max . out2 - ac : spst relay , 250vac , 8 a max . out3 - ac : same ratings as for out 1 - ac . out4 - ac : same ratings as for out2 - ac . out5 - dc : non - isolated , open collector transistor 5vdc , 25 ma max . out6 - dc : non - isolated , open collector transistor 5vdc , 100 ma max . io1 - dc : non - isolated , open collector transistor 5vdc , 25 ma max . in1 - dc : non - isolated , + 5vdc max . in2 - dc : non - isolated , + 5vdc max . in3 - dc : non - isolated , + 5vdc max . input # 1 ( top ): ungrounded thermocouple , type k , 32 – 1650 ° f . ( 0 – 900 ° c .) input # 2 ( bottom ): ungrounded thermocouple , type k , 32 – 1650 ° f . ( 0 – 900 ° c .) input # 3 ( food probe ): ungrounded thermocouple , type k , 32 – 1650 ° f . ( 0 – 900 ° c .) there are 2 serial links on the controller . they can be used for a connection to a pc ( via an rs - 485 to rs - 232 converter , bought separately ). if required , the pc could be used to download programming information ( and latest software ) to the controller . as will thus be understood , the present invention therefore provides a number of distinct advantages over known conventional broiler control sytems . 1 . the operator is assured that temperature - measuring equipment is always present at the location of the cooking appliance ( in this case it is part of the cooking appliance ). 2 . in automatic mode , the operator is reminded as many as six times per day to check the food temperature . restaurants that do track food temperature rely upon store personnel , watching the clock and taking the time from other activities in order to check food temperatures . many times the operator fails to check food temperatures . 3 . pushing the record button will log the food temperature assuring the operator that the information has been captured and captured accurately . 4 . the computerized broiler controller is very powerful and one possibility is that the device can be programmed with acceptable temperature values for each recipe . furthermore , the operator may be given so many minutes in which to get acceptable temperature measurements and should the operator fail to achieve acceptable values in a given amount of time , appropriate action may be initiated , for instance the machine can be shut down and restarting it would not be possible unless a special code was entered into the controller . 5 . it is also possible the machine may modify its recipe cooking time by an amount necessary to move unacceptable temperatures into acceptable ranges . for instance , six successive cooked samples could be measured and then the controller instructed to average the results and using that value adjust the cooking time in accordance with a previously established time stored in the computer algorithm . for instance in ¼ lb . frozen hamburgers it is known that within the range of about 140 °– 180 °, each five seconds added to the cook time causes an increase in cooked food temperature of 2 . 5 ° f . conversely decreasing cook time by five seconds would decrease food temperature by 2 . 5 ° f . current industry standards call for 165 ° f . intervals on a hamburger +/− 10 ° f . the time compensation feature in effect provides the ability to speed up or slow down the cooking time should the broiler experience either a gradual falling off of temperature under extreme loads , or conversely an increase of temperature . for instance , after cooking larger portions of chicken breasts for seven or eight minutes , the broiler may take increasingly longer to return to the set temperature . part of the reason for this is that the apparatus stores a lot of heat in the sheet metal structure of the broiler . while the burners or electric heating elements themselves have to be powerful enough to recover , it tends to take longer under extended loads . adding time to the programmed cook time is done in a transparent way to the operator . an opposite situation can occur with small frozen hamburgers , e . g ., 2 oz . hamburgers . as small hamburgers begin to shed large amounts of grease , the burning grease can actually contribute btu &# 39 ; s to the cooking process . with the time compensation routine , it is possible to establish a value of temperature above set point and a duration of which would trigger speeding up the conveyor while once again remaining transparent to the user . in the current broiler configuration , electric heating elements are provided above and below the cooking conveyor . the top heaters and bottom heaters operate independently with each having a thermocouple attached directly to the surface of the heater . it is contemplated that adding another thermocouple will track the loss of heat in the sheet metal . the controller will then monitor the actual heater temperature ( which can recover easily due to adequate energy input ) and also monitor the sheet metal temperature and once again adjust the speed up or down to achieve consistently cooked product . a significant feature of the invention is the ability to set the variables of temperature time and percentage speed change for each recipe since each type food may act completely different due to its weight , fat content , color and browning characteristics . it will therefore be readily understood by those persons skilled in the art that the present invention is susceptible of broad utility and application . many embodiments and adaptations of the present invention other than those herein described , as well as many variations , modifications and equivalent arrangements , will be apparent from or reasonably suggested by the present invention and the foregoing description thereof , without departing from the substance or scope of the present invention . accordingly , while the present invention has been described herein in detail in relation to its preferred embodiment , it is to be understood that this disclosure is only illustrative and exemplary of the present invention and is made merely for purposes of providing a full and enabling disclosure of the invention . the foregoing disclosure is not intended or to be construed to limit the present invention or otherwise to exclude any such other embodiments , adaptations , variations , modifications and equivalent arrangements , the present invention being limited only by the claims appended hereto and the equivalents thereof .
a programmable control system for a cooking apparatus having a housing defining a cooking chamber with one or more food transport conveyors traveling there - through between opposing cooking elements . a food probe is provided for insertion into cooked food items to ascertain the internal cooked temperature and a control program to automatically call for the probing of temperature readings of food items on a predefined schedule , and to record the temperature readings . the control program also compensates for temperature degradation when the apparatus is under significant cooking loads . the control program also compensates for the malfunction in the cooking elements , wherein if one cooking element on one side of the conveyor path malfunctions , a corresponding heating element on the opposite side of the conveyor is deactivated and simultaneously the conveyor speed is slowed to compensate for the reduction in heating to maintain balanced cooking of the food .