CN1144560C - 深油炸锅加热调节的设备与方法 - Google Patents

深油炸锅加热调节的设备与方法 Download PDF

Info

Publication number
CN1144560C
CN1144560C CNB971823456A CN97182345A CN1144560C CN 1144560 C CN1144560 C CN 1144560C CN B971823456 A CNB971823456 A CN B971823456A CN 97182345 A CN97182345 A CN 97182345A CN 1144560 C CN1144560 C CN 1144560C
Authority
CN
China
Prior art keywords
cooking
transition region
define
pump
cooking material
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB971823456A
Other languages
English (en)
Other versions
CN1268878A (zh
Inventor
J・D・金
J·D·金
温特
D·B·温特
斯特林
R·W·斯特林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Henny Penny Corp
Original Assignee
Henny Penny Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Henny Penny Corp filed Critical Henny Penny Corp
Priority to CNB971823456A priority Critical patent/CN1144560C/zh
Publication of CN1268878A publication Critical patent/CN1268878A/zh
Application granted granted Critical
Publication of CN1144560C publication Critical patent/CN1144560C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Frying-Pans Or Fryers (AREA)

Abstract

本发明涉及一种烹调器具(104)及其操作方法。烹调器具包括加热烹调材料的容器。把烹调材料分成加热区、过渡区和冷区。第一加热元件(106)加热加热区中的烹调材料,而过渡区加热器加热过渡区烹调材料。过渡区加热器可以是泵(122),它将混合媒质引入过渡区中的烹调材料,使加热区与过渡区中的烹调材料混合。混合媒质可以是空气,由此加热区中的烹调材料与过渡区中的烹调材料紊动地混合。混合媒质也可以是部分烹调材料,它由泵从过渡区取出,然后再送回过渡区,由此在过渡区产生紊流。过渡区加热器也可以是第二加热元件。

Description

深油炸锅加热调节的设备与方法
                           缩微胶片附录
三个缩微胶片附录与本申请一起提交。缩微胶片附录1共包含一卷缩微胶片和7幅画面,缩微胶片附录2共包含一卷缩微胶片和7幅画面,缩微胶片附录3共包含一卷缩微胶片和21幅画面。
技术领域
本发明一般涉及诸如深油炸锅(deep fat frier)等烹调系统加热调节的设备和方法,尤其涉及配用了这种油炸锅的加热调节的设备和方法,以便调节油炸锅过渡区的温度,从而消除锅内烹调材料可能的沸腾。
背景技术
大容量加压深油炸锅炊具(这里是指深油炸锅、烹调器具(cooking device)、炊具(cooker)等)一直被设计成在加热和/或加压的环境下烹调食物。典型地这类器具包括一个可以注有某种烹调材料(例如,油或起酥油)的烹调容器和容器周围或浸入容器内加热烹调油的加热器。要烹调的食物直接投入容器或可以装在铁丝筐内投入容器烹调一段所需的时间。
上述这类烹调器具虽能提供较为有效的烹调环境,但也有一个问题。具体地说,这类烹调器具内使用的烹调材料(如油或起酥油)有时会沸腾溢出(boilover)烹调容器的边沿。这个问题与烹调材料的非烹调区内(即,通常朝向容器底部)的“脆皮”(cracking)中所含的湿气量有关。
通常,“脆片”是已经脱离正在油炸锅中烹调的食物的面包屑的小块、外皮等物。例如,若在容器内正烹调着炸鸡块,那么在烹调鸡块之前加上的一些面包屑会脱离鸡块而漂向容器的底部区域。在烹调容器的下部,脆皮不大会劣化与食物接触的烹调材料。因为在脆皮内有湿气,所以如果脆皮与容器上部区域的热油相混合,这些湿气会使烹调材料沸溢。此外,如果烹调容器底部的温度过高,则脆皮会烧焦而使烹调材料氧化。这种氧化作用缩短了烹调材料的有效使用时间。
有些油炸锅包括烹调材料过滤系统,可从烹调材料中除去脆皮和其它不希望有的固体物。这种油炸锅可以包括装在烹调容器下部的排出口(drain)和排出阀。排出口可以位于滤槽(filter tank)的上方或可以用合适的管道接至滤槽。可以将烹调材料从烹调容器排入滤槽。可以用一台泵将烹调材料抽吸通过滤槽内的过滤器,并将经过滤的烹调材料送回烹调容器。
通过合理的热学设计,通常可维持冷区温度。然而,在有些油炸锅中,这种热学设计的效能高得使冷区温度过低。结果难以实现温度调节和在烹调容器的烹调区内使油分层。容器中烹调材料可以形成三个区域:烹调区、过渡区和冷区。授予Mercer等人的第5,232,151号美国专利(已与本申请共同转让)描述了一种调节深油炸锅冷区温度以避免沸溢的方法。在调节过渡区温度方面的问题仍存在。
如果在开始烹调前没有把过渡区中的温度升到足够的温度(比如约250°F(约121℃)),那么在烹调操作过程中,烹调食物散出的湿气会稳定在该区中。在释放压力结束烹调操作过程时,于是湿气被煮沸或蒸发而在容器中喷发或沸腾。这一沸腾作用搅起了面包屑沉淀物或脆皮,能让沉淀物沉积在下一次食物上。由于这些脆皮与沉淀物,后面烹调的食物就可能出现不希望有的味道。
过渡区问题主要出现在初次启动烹调容器后或经一段时延(在此期间过渡区可以冷却)后首次烹调操作的时候。在当日作首次烹调操作后或过一段长时间后作首次烹调操作后,烹调区的正常紊流与烹调区的沸腾穿过过渡区而使油混合从而达到足够高的温度(例如约250°F(约121℃))。
发明内容
因此,本发明旨在解决现有技术中种种问题。具体地说,本发明的一个目的是提供一种克服这些缺点的深油炸锅,它通过调节过渡区中的烹调材料,在开始首先烹调操作之前确保温度足够高。
本发明的另一个目的是提供一种油炸锅,它在延展期内提供稳定的过渡区温度。
本发明的再一个目的是防止深油炸锅的容器内烹调材料的沸溢。
本发明的还有一个目的是提供一种计算机控制系统,用于控制深油炸锅过渡区的温度。
因此,本发明提供一种配有计算机控制装置以调节油炸锅过渡区内温度的深油炸锅。本发明通过将油或空气泵入过渡区而允许对深油炸锅的过渡区迅速预热和再加热。用于过滤油的泵还用来将油再引入过渡区。另一种做法是,泵可将空气引入过渡区,使过渡区的油与烹调区的油混合。在任何一种场合中,冷区基本上保持不受扰动。泵操作过程最好持续某一固定的时间以将油加热到高于水的沸点。具体地说,泵的操作过程可达约3分钟,将油加热到至少约250°F温度。
本发明还包括控制泵工作的计算机控制器。该控制器以至少两种状态启动泵工作。第一种状态是,根据当日的初始加热,控制器启动一次泵操作过程,使之持续到油炸锅达到预定的烹调温度。第二种状态是,当油炸锅已空闲了足够长的时间使得油温降到低于250°F(约121℃)时,控制器就启动另一次泵操作过程把油加热到至少约250°F(约121℃)温度。
此外,本发明可以包括一个烹调系统,它包括加热烹调材料的容器。烹调材料可以分成加热区、过渡区和冷区。该烹调系统还可包括:至少一个用于加热加热区中烹调材料的第一加热元件;加热过渡区中烹调材料的装置;测量加热区中烹调材料第一温度的第一温度传感器;以及控制系统,控制系统包括至少一个时钟和一个处理器,处理器用于接收和存储加热过渡区中所述烹调材料的指令。当第一温度等于预定的加热区温度时,可以启动加热装置。
本发明还包括一种用于操作包含加热烹调材料用的容器的炊具的方法。如上所述,烹调材料可以分为加热区、过渡区和冷区。该方法可以包括以下步骤:测量容器内烹调材料的温度;把加热区中烹调材料加热到第一预定温度;以及使过渡区中烹调材料与加热区中烹调材料相混合。
本发明提供一种用于加热烹调材料的烹调器具,包括:容器,至少一个第一加热元件;以及加热装置,所述容器分成加热区、过渡区和冷区;
所述烹调材料放入所述容器之内,并且所述烹调材料分成所述加热区、所述过渡区和所述冷区;
所述第一加热元件加热所述加热区中的烹调材料;
所述加热装置加热所述过渡区中的烹调材料。
如上所述的烹调器具,其中所述加热装置包括将混合媒质引入所述过渡区中的所述烹调材料的泵,由此使所述加热区中的所述烹调材料与所述过渡区中所述烹调材料混合,使得所述过渡区中的所述烹调材料的温度上升,而所述冷区中的所述烹调材料不受所述混合的扰动。
如上所述的烹调器具,其中所述混合媒质是空气,由此使所述加热区中的所述烹调材料与所述过渡区中的所述烹调材料紊动地混合。
如上所述的烹调器具,其中,所述混合媒质是由所述泵从所述过渡区抽出然后再引入所述过渡区的一部分所述烹调材料,从而在所述过渡区中形成紊流。
如上所述的烹调器具,其中,所述加热装置还包括至少一个辅助加热元件。
如上所述的烹调器具,其中,所述烹调材料是从包括起酥油与烹调油的组中选出的。
如上所述的烹调器具,其中,所述至少一个辅助加热元件是电加热器。
如上所述的烹调器具,其中,抽吸管将所述过渡区置成与所述泵的进口相沟通,而回流管将所述泵的出口置成与所述过渡区相沟通。
如上所述的烹调器具,其中,所述抽吸管经由三通定向流量阀与所述泵的所述进口相沟通,所述阀引导从所述过渡区中抽取的部分所述烹调材料进入和离开过滤器,由此从所述部分烹调材料中除去脆皮。
如上所述的烹调器具,其中,进一步包括一个含有过滤器的滤槽与排放阀,从而通过所述排放阀将所述烹调材料的至少一部分从所述容器排到所述滤槽),并且通过所述泵和回流管将所述烹调材料的所述至少一部分再引到所述过渡区,由此在所述过渡区中形成紊流。
如上所述的烹调器具,其中,还包括一个包含过滤器的滤槽、回流管、排放阀和泵,从而将所述烹调材料的至少一部分通过排放阀从所述容器排到所述滤槽,并通过泵和回流管再引入过渡区,而所述回流管还包括一个位于所述滤槽与所述泵之间的进气阀,使得可将空气引入所述过渡区,从而在所述过渡区中形成紊流。
如上所述的烹调器具,其中,所述进气阀还包括一个阀排放口,从而将所述进气阀中的烹调材料排到所述滤槽。
如上所述的烹调器具,其中,所述进气阀是一种电磁控制闸阀。
此外,本发明还提供一种用于加热烹调材料的烹调系统,包括:容器,至少一个第一加热元件,加热装置,温度传感器,以及控制系统,其中
所述容器分成加热区、过渡区和冷区;所述烹调材料放入所述容器之内,并且所述烹调材料分成所述加热区、所述过渡区和所述冷区;
所述第一加热元件用于对所述加热区中的所述烹调材料加热;
所述加热装置用于加热所述过渡区中的所述烹调材料;
所述温度传感器用于测量所述加热区中所述烹调材料的温度;
所述控制系统包括至少一个时钟和一个处理器,处理器用于接收和存储加热所述过渡区中的所述烹调材料的指令,使得当所述加热区中的所述烹调材料的温度等于预定的加热区温度时,启动所述加热装置。
如上所述的烹调系统,其中,还包括一个测量所述过渡区中所述烹调材料的温度的温度传感器,所述加热装置在所述过渡区中的所述烹调材料的温度等于预定的过渡区温度时不工作。
如上所述的烹调系统,其中,启动所述加热装置一段预定的时间间隔。
如上所述的烹调系统,其中,所述预定的加热区温度等于烹调温度减去预定的温度差。
如上所述的烹调系统,其中,所述控制系统包括一种空闲模式,在处于该模式期间,在每个预定的时间间隔内,启动所述加热装置一段预定的时间间隔。
本发明还提供一种操作烹调器具的方法,所述烹调器具包括加热烹调材料的容器,所述烹调材料分成加热区、过渡区和冷区;所述方法包括以下步骤:
测量所述容器中的所述烹调材料的温度;
将所述加热区中的所述烹调材料加热到需要的烹调温度;以及
在所述过渡区中的所述烹调材料内形成紊流,使所述过渡区中的所述烹调材料与所述加热区中的所述烹调材料相混合,使得所述过渡区中的所述烹调材料的温度上升,而所述冷区中的所述烹调材料不受所述混合的扰动。
如上所述的方法,其中,所述紊流是通过将空气吸入所述过渡区中的所述烹调材料而形成的。
如上所述的方法,其中,所述紊流是通过将所述烹调材料的一部分从所述过渡区抽出并再次引到所述过渡区而形成的。
如上所述的方法,其中,所述紊流是通过将所述烹调材料的一部分从所述容器排出并再次引到所述过渡区而形成的。
本发明的优点包括:使油炸锅的效率达到最高;使用现成的过滤泵,而不必添设第二个泵;避免对冷区作不必要的加热,防止来自烹调区的已稳定下来的湿气沸腾;防止沸腾搅动剩下的食物;以及防止加热期间烧焦剩下的食物。然而,通过下面参照附图对本发明较佳实施例的详述可以理解其它的目的、特征和优点。
附图说明
图1表示本发明第一实施例的油炸锅。
图2表示本发明第二实施例的油炸锅。
图3表示本发明第三实施例的油炸锅。
图4表示本发明第四实施例的油炸锅。
图5表示本发明第五实施例的油炸锅,它包含一个在烹调材料泵抽吸侧上的气阀。
图6是泵控制初始化程序的流程图。
图7是泵请求确认程序的流程图。
图8是泵运行时间选择程序的流程图。
图9是泵控制程序的流程图。
具体实施方式
图1描述绘了按本发明一较佳实施例可以使用的一类油炸锅的通常结构。本领域内的一般技术人员将理解,下面将要描述的本发明可以容易地运用各种其它油炸锅类型与结构予以实现。而这些图中的特定油炸锅只是作为较佳实施例和为了说明的目的而示出的。
图1的标号101表示本发明一较佳实施例的油炸锅104的正视图。如此设计油炸锅104,从而可把烹调材料(比如起酥油、油类、脂肪等)投入容器,并在加热了烹调材料后,可把食物投入烹调材料中油炸。油炸锅104可以包括多个加热烹调材料的加热元件106。例如,加热元件106可以包括燃气热交换管。本领域内的一般技术人员都熟悉这种油炸锅。根据本领域内的已知方法,通过操纵与加热元件和温度传感器(未专门示出)相连接的计算控制装置,可以控制加热元件106。
鉴于在这类油炸锅中安置了加热装置,从而形成了三个区域:围绕加热元件的加热区108、冷区110和过渡区112。如上所述,在油炸锅每次通电之后或延迟使用油炸锅之后作初次烹调操作之前,如果过渡区未达到规定的温度,问题就来了。在约29p.s.i(磅/英寸2)压力(即2个大气压)时,水在约248°F(约120℃)沸腾。因此,如果过渡区112的温度在作烹调操作之前不到至少250°F(约121℃),则烹调食物发出的湿气在烹调操作期间会稳定在过渡区。待烹调操作完成后,当释放压力时,湿气会蒸发而在容器中沸腾喷发。这一沸腾作用搅起了由烹调操作中产生脆皮或其它残留食物,使那些颗粒沉在过渡区与烹调区中。当下一次把食物投入容器时,该食物就会与脆皮互相混合起来,这是不希望的结果。
根据本发明,油炸锅过渡区温度在初次烹调操作之前已升到超过250°F(约121℃)。相应地,控制系统监视着加热区温度和从最后一次烹调操作以来的持续时间。例如,可使用第5,232,151号美国专利的图3中所示的控制电路等。本领域的一般技术人员将明白,可以使用能根据检测得的温度调节加热器的任何控制系统而不偏离本发明的范围。可以配备温度探头/传感器105来监测加热区温度。如下文详述的那样,可把温度探头/传感器105接到一控制系统,用于监测温度并对加热与混合机构进行启动。
根据本发明的一个实施例,油炸锅可以配备靠近过渡区的辅助加热元件。图2示出本发明的一个具有辅助加热元件的油炸锅实施例。在其他图中,共用的元件号表示相同的元件。根据该实施例,油炸锅104包括多个加热元件114和116,这些加热元件例如可以包括120伏、500瓦的电加热器。本领域的一般技术人员明白,也可使用其它类型的加热器。为在初次烹调操作之前调节过渡区中的油,在油炸锅104初次通电时,可对加热元件106和辅助加热元件114与116都通电,从而同时加热加热区和过渡区。因此,当加热区达到所需的烹调温度时,过渡区也将处于所需的烹调温度。
利用辅助加热器加热要花时间并在使用期间可能要进行监控,以便确保过渡区内的温度保持在所需的值。这样,可能要求加热元件长时间地通电,由此会烧焦落在过渡区斜面上的面包屑。
根据本发明的另一个实施例,油炸锅104可以包括一个混合机构,使加热区的烹调材料与过渡区的烹调材料相混合。混合机构120最好包括一个将过渡区材料与加热区材料相混合而基本上不扰动冷区烹调材料的装置。
图3绘出了本发明的一个混合机构120的实施例。混合机构120包括泵122、滤槽124、过滤器126和回流管128。泵122进行工作以将空气从滤槽124吸出通过回流管128送入油炸锅104的过渡区112。将空气引入过渡区产生混合作用,使得过渡区与加热区的烹调材料相互混合,从而把过渡区烹调材料的温度升高到接近于加热区材料的温度。由于大多数油炸锅104都拥有泵、过滤器和滤槽来过滤油炸锅中的油,所以油炸锅104的结构设计只需略作更改,从而使油炸锅外部结构的再加工量减至最少。
图4示出本发明另一个混合机构120的实施例。混合机构120′包括泵122、滤槽124、过滤器126、回流管128、抽吸管130和阀132。泵122进行工作以抽取油炸锅的油,并把油经回流管128送回容器。阀132可以包括一个三通定向流量阀以调节流入和流出过滤器126的油流。通过从容器一侧抽取油并将油送回容器另一侧,在容器中形成混合作用,使加热区与过渡区的烹调材料相混合。
在图3和4两个实施例中,巧妙地设置了图4的回流管和抽吸管,确保冷区烹调材料相对不受扰动。由于过渡区四周的容器斜壁,将回流管置于顶端或略高于斜壁,可确保容器内油的运动相对限制于加热区和过渡区。还可以应用避免来自冷区的油显著运动的其他安置回流管与抽吸管的方法。
在某些条件下,泵进口的烹调材料会固化。此外,滤槽会含有过量烹调材料。在任一状况中泵就无法迫使空气进入烹调容器。在泵进口管上装一只进气阀可消除这一问题。当泵通电时,该阀可能处于打开位置,而当泵断电时,该闭处于关闭位置,这样在防止了断电时烹调材料的无意排放。进气阀的出口如此定位,从而使可能进入进气阀的任何烹调材料可以排入滤槽。此外,协调进气阀与排入与过滤过程,让油炸锅的加热调节装置正常工作。这样,在空气混合期间和过滤除烹调材料以后,打开进气阀让空气进入烹调容器,使液态烹调材料排回滤槽。
图5绘出本发明再一个混合机构120″的实施例。混合机构120″包括泵122、滤槽124、过渡器126和回流管128。此外,混合机构120″包括一个位于泵122进口侧上的进气阀150。进气阀150可以是一种电磁控制闸阀(solenoidoperated gate valve)。适用的阀包括ASCORed-Hat阀(目录号8262G36),该阀可从美国新泽西州Florham Park的美国开关公司(ASCO)购得。油炸锅104中的烹调材料可通过排放阀107排入滤槽124。当进气阀150关闭时,可用泵122通过过滤器126抽吸烹调材料使之返回油炸锅104。此外,进气阀150包括阀排放口152,由此可让可能进入进气阀150的任何烹调材料排入滤槽124。这样,例如在过滤了烹调材料后,留在回流管128里的任何烹调材料都可排入滤槽124,这可以防止烹调材料在回流管128里固化。
根据本发明的一个实施例,可按下述方法通过操作上述合适的控制系统(例如第5,232,151号美国专利图3中描述的一种控制系统)来操作混合机构120。该控制系统包括一系列操作指令,用于引导烹调过程特别是本发明的加热调节装置。例如,烹调过程中可以至少有六种左右的操作模式。第一种模式是冷起动的模式。当油炸锅加热源已切断一段延伸的时间,从而烹调材料的温度降到预定的最低温度(如约100°F(约37.8℃))以下时,便进入冷起动模式。第二种模式是烹调模式。在烹调模式中,操作油炸锅以烹调食物。第二种模式是烹调空闲模式。当把烹调材料维持在其烹调温度而油炸锅未用来烹调食物时,便进入烹调空闲模式。第四种模式是冷却模式。在冷却模式中,将烹调材料维持在低于烹调温度很多的某一温度。当油炸锅不必立即烹调但可能不久要用来烹调时,可以进入冷却模式。第五种模式是强制过滤模式。强制过滤模式定期过滤油炸锅中的烹调材料。如上所述,烹调材料的定期过滤延长了烹调材料的有效使用期并改善了它的质量。例如,强制过渡模式可根据烹调食物种类和食物完成的烹调操作过程次数来确定过滤周期。第六种模式是非强制过滤模式。非强制过滤模式也让油炸锅中的烹调材料过滤,但是这一模式可以随系统操作者的意思而启动。
根据本发明,混合机构可以启动一段预定的时间或直到实现了某些操作条件而达到前述的温度设定点为止。例如,当冷却模式已持续一段预定的时间(例如超过约30分钟)时,随着从冷却起动模式过渡到冷却模式或烹调空闲模式,或者从冷却模式过渡到烹调空闲模式,就可启动混合机构。另外,当控制系统不中断地工作于烹调空闲模式一段预定的时间(例如超过约30分钟)时,可以启动混合机构。此外,在工作于强制或非强制过滤模式后也可启动混合机构。
在第一次对油炸锅104通电时,可对油炸锅104编程以加热到“冷却”模式,例如它可能是约250°F(约121℃)。油炸锅104可以保持这一温度,直到计算机控制电路指出要进入烹调操作。例如计算机控制电路可根据油炸锅使用者的手动输入作出这一指示。根据使用者的进入烹调操作的指令,计算机控制接通加热元件106,命令它们加热到所需的烹调温度。
与此同时,可以启动混合机构120。根据本发明的较佳实施例,当温度约等于加热区的250°F(约121℃)时,混合机构120可以工作约不到3分钟,以将过渡区温度升到约250°F(约121℃)。这段时间要短于油炸锅将加热区温度从250°F(约121℃)升到烹调温度所需的时间。
根据本发明的另一个较佳实施例,在启动混合机构120前升高加热区的温度可以将混合机构120的启动时间缩得更短。根据这一实施例,当加热区温度达到所需的烹调温度减去预定温度差(例如5°F(约15℃))时,就可启动混合机构120了。在一实施例中,烹调温度可以是约345°F(约174℃),而预定温度差可以是约5°F(约15℃)。在该实施例中,当加热区温度达到340°F(约171℃)并在预定时间内(诸如约35秒钟)有效时,就可用计算机控制电路启动混合机构120。基于温度与持续时间的计算机控制电路的工作原理,在油炸锅领域是众所周知的,诸如第5,232,141号和第4,913,018号美国专利所描述的那样。
在初次烹调操作后,油炸锅104可以空闲不等的时间间隔。在这些空闲时间间隔内,过渡区112的温度可以降到低于规定温度的某一温度(例如低于250°F(约121℃))。因此,根据本发明,可在空闲时间内启动混合机构120以确保过渡区112的温度保持得高于规定的温度。另外,可在进入烹调操作之前再次启动混合机构120。
当油炸锅104一直处于空闲过程(即,当加热区中的油温大大低于烹调温度时)而后使用者接到指令要进到烹调温度时,则在加热区温度达到所需的烹调温度减去预定温度差时可以接上混合机构120。混合机构120可以操作的时间长度可以视油炸锅104处于空闲过程的时间长短而不同,以便尽量减少混合机构120的使用,同时仍将过渡区温度升到高于规定的温度。实质上,混合机构120的工作时间是如此决定的,以致在进行烹调操作之前就达到了规定的温度。
图6-9的流程图给出可以包括混合机构控制过程的各种例行程序。这些例行程序包括:图6是表示泵控制初始化例行程序60的流程图;图7是表示泵请求确认例行程序70的流程图;图8是表示泵运行时间选择例行程序80的流程图;以及图9是表示泵控制例行程序90的流程图。
参照图6,对泵控制实施初始化可开始控制过程。在起始步骤(步骤62)中,将泵输出开关置于断开位置,系统确认没有请求泵操作。控制系统可以包括多个内部时钟、定时器或定时装置,用于测量和监视所选的控制系统事件的持续时间。例如,控制系统可以包括用于测量“烹调空闲”模式与“冷却”模式的持续时间和测量泵操作时间间隔的持续时间与总的泵操作的时钟。在后续步骤(步骤64)中,停止(即暂停)“烹调空闲”、“冷却”和“泵”时钟并清零(即,时间值复位至零)。最后,在步骤66中,控制系统确认“退出冷却”键未曾按下。如上所述,在“冷却”模式中,烹调材料维持在远低于烹调温度的某一温度。当油炸锅不需立刻烹调但可能不久要用来烹调时,可以进入“冷却”模式。当按下“退出冷却”键时,控制系统开始让油炸锅准备烹调。当“冷却”模式已持续了一段预定时间(例如超过约30分钟)时,随着从“冷却”模式过渡到“烹调空闲”模式,可以启动混合机构。于是完成初始化,并且如步骤68所示,控制系统退出例行程序60。
参照图7,通过确认泵操作请求可以继续控制过程。相对于步骤71,当未曾请求泵操作时,例如已成功地运行了包括步骤62中内的初始化例行程序60时,就运行例行程序70。在步骤72中,控制系统判定“泵”时钟时否在运行。若泵时钟正在运行,则已经请求了泵操作。因此,如步骤73所指出的,控制系统退出例行程序70。然而,若“泵”时钟不在运行,则例行程序70进到步骤74,控制系统判定是否选择了“烹调空闲”模式,并且确定是否按下了“退出冷却”键。若这两个条件都符合,就在步骤75清除“退出冷却”键标志或停止条件,而系统进到步骤76,在该步骤中判定“冷却”时钟是否已运行了大于或等于规定极限的时间间隔(例如超过30分钟)。如果“冷却”时钟运行的时间间隔没有大于或等于规定极限,则控制系统在步骤77再考虑“泵接通”时钟是否测量了大于或等于规定的极限的时间间隔。例如,“泵接通”时钟测量并且监视着从启动“冷起动”模式以来泵已经操作的总时间。如果“泵接通”时钟运行的时间间隔也没有大于或等于规定的极限,就未曾请求泵操作,并且如步骤73所示,控制系统退出例行程序70。然而,如果对步骤76和77提出的问题的回答是肯定的,则在步骤79确认泵请求。或者,若“烹调空闲”时钟等于规定的极限,则在步骤79确认泵请求,而控制系统退出例行程序70。
参照图8,通过选择泵运行时间可以继续控制过程。泵运行时间可包含在一系列或一组时间值中,诸如在下面的表1提出的那样。系列指针(array index)是一个计数或标记,用于标识控制过程在该系列中的位置。例如,当按照某一包括n个泵控制时间值的系列开始泵操作时,该系列指针等于零。当完成按该系列的泵操作时,该系列指针就等于n。在步骤81,系列指针开始时被指定为零值。在步骤82,控制系统判定“泵接通”时钟是否测量出大于或等于规定极限的总时间或者判定是否正在开始“冷起动”。如果对步骤82提出的任何一个问题的回答是肯定的,就清除“泵接通”时钟,显示器指出该时钟已暂停。此外,如步骤83所示,将“泵”时钟设置成按“冷起动泵时间”指令操作并清除“冷起动”标志。如步骤64所示,控制系统退出例行程序80。然而,如果对步骤82提出的任何一个问题的回答是否定的,则控制系统在步骤85判定“烹调空闲”时钟测量的时间是否等于规定的“烹调空闲”时间。若等于,便在步骤86清除“烹调空闲”时钟,并将“泵”时钟设置成“烹调空闲泵”时间。如步骤84所示,控制系统再次退出例行程序80。最后,如果对步骤82或85提出的问题的回答都不是肯定的,则从时间值表(如这里的表1所描述的)里选出步骤87的“冷却”时间。将“冷却”时钟上测量的时间置零,使时钟暂停,如步骤88所示。一旦选择了泵运行时间,控制系统就退出例行程序80。
参照图9,通过控制泵操作可以继续控制过程。在步骤91,系统起初询问油炸锅是否正工作于“服务”模式。“服务”模式允许以手动操作油炸锅部件,包括泵。以这种方式,可以测试这些部件并可对油炸锅作维护。若选择了“服务”模式,就不希望采用自动的或计算机控制的泵操作,而控制系统退出例行程序90。然而,若油炸锅不工作于“服务”模式,则控制系统在步骤93确定三位置控制开关(未示出)的位置。当控制开关处于第一位置(通电位置)时,泵可以自动操作或在计算机控制下操作。当控制开关处于第二位置(手动泵操作位置)时,可以随操作者的意思启动泵而越过程序操作。最后,当控制开关处于第三位置(断电位置)时,不对泵供电,因而泵不会工作。“退出装填”键可提供直接越过泵操作。如果泵在运行,按下“退出装填”键可以使泵不工作。因此,如果控制开关处于第三位置,或如果已按下了“退出装填”键,或如果系统中查出了差错,则不请求泵,“泵”时钟暂停并置零。此外,如步骤93所示,释放(deactivate)泵输出开关,并清除“冷起动”标志。
如果对步骤93提出的每个询问的回答是否定的,则在步骤95控制系统询问是否已开始泵请求。如果未提出请求,则在步骤96控制系统确认是否开始新的泵请求。如果已经开始泵请求或者如果开始了新的泵请求,即,如果对步骤95或96提出的任何一个询问的回答都是肯定的,则系统在步骤97的询问确认已经请求了泵,烹调材料温度(“锅温度”)大于或等于规定的下限(例如加热温度减去预定的温度差),并确认系统处于“烹调空闲”模式。如果满足了步骤97的所有条件,则在步骤98中选择泵时间,起动“泵”时钟,且系统指示没有提出泵请求。若非如此,则控制过程就进行步骤99。
在步骤99,控制系统确认“泵”时钟是否在运行,若在运行,就接通泵,如步骤99a所示。若不在运行,则断开泵,如步骤99b所示。一旦确定已经接通了泵(步骤99a)或断开了泵(步骤99b),控制系统就退出例行程序90。
举例
参阅下面的举例可以进一步理解本发明,该例纯粹是为了说明本发明。根据本发明,控制系统可以包括计算机控制的电路,而进行控制的计算机可用诸如缩微胶片附录中包括的软件编程。
下面的表示出一例基于不同的空闲过程时间的混合机构操作持续时间。
                  表1
空闲过程时间长短 混合机构操作持续时间
    0-29分钟     0
    30分钟     10秒钟
    50分钟     17秒钟
    90分钟     25秒钟
    120分钟和以上     35秒钟
在烹调过程期间,可以有不使用的空闲时间,即,烹调过程期间内的空闲时间,在空闲时间内,可以启动混合机构(例如混合机构120),以确保过渡区温度不降到低于规定的温度。每隔预定长短的空闲时间,可对混合机构120以第二预定长短的时间启动。例如,可对混合机构120每隔30分钟启动15秒钟。设计这些时间是为了确保过渡区温度不降到低于250°F(约121℃)。对于其它规定的过渡区温度,可使用其它的时间和持续时间。可以用油炸锅过程控制器对所有的过程参数进行编程和实施。
通过对本说明书或这里揭示的本发明内容的研究,有关技术领域的技术人员将会理解本发明的其它诸实施例。本说明书和举例只是作例示而已。虽然上面详细描述了本发明内容,但是应当理解,本发明的范围并不受此限制。
                        缩微胶片    附录1
/*控制器泵控制例行程序-用C语言编写*/

  #pragma codeseg(Pump_Control)

  /*---STANDARD DEFINITIONS-------*/

  #include″HCStdDef.H″/*标准*#define″及宏定义″/

  #include Only.H″/*只用于新的HC11由油炸锅控制的特别定义*/

  /*零页变量*/

  #pragma memory=zpage

  extern byte io_byte;

  extern byte got_key;

  #pragma memory=default

  #pragma memory=dataseg(Common_ExtRAM)

  extern byte control_state;

  extern byte error_code;

  #pragma memory=dataseg(PSD_RAM)

  byte exit_cool_key;

  byte pump_request;

  hours_clock_type cool_clock;

  minutes_clock_type cook_idle_clock,pump_clock,pump_on_clock;

  extern byte function;

  extern byte pid_flags;

  extern int pot_tmpf;

  extern int reg_setpt_tmpf;

  extern state_vars_type *priority_ptr;

  #pragma memory=default

  #pragma°Function=default

  /*外部例行程序*/

  #define COLD_START_PUMP_MINS 0
        <!-- SIPO <DP n="14"> -->
        <dp n="d14"/>
  #define COLD_START_PUMP_SECS 35

  #define COOK_IDLE_PUMP_MINS 0

  #define COOK_IDLE_PUMP_SECS 15

  #define USER_DEFINED_COOL_WAIT_MINUTES 30

  #define USER_DEFINED_COOL_WAIT_SECOND 0

  #define USER_DEFINED_COOK_IDLE_WAIT_MINUTES 30

  #define USER_DEFINED_COOK_IDLE_WAIT_SECOND 0

  #define USER_DEFINED_PUMP_ON_MINUTES 3

  #define USER_DEFINED_PUMP_ON_SECOND 0

  #define USER_DEFINED_BELOW_SETPOINT 5

  #pragma memory=constseg(Pump_Control_coasts)

  #define MAX_PUMP_INDEX 10

  pump_look_up_type pump_table[Max_Pump_Index]={0,39,59,10,

                     0,49,59,14,

                     O,59,59,17,

                     1,9,59,20,

                     1,19,59,22,

                     1,29,59,24,

                     1,39,59,25,

                     1,49,59,29,

                     1,59,59,32,

                     2,9,59,35};

  #pragma memory=default

  /*****************************************************

  *Init_Pump_Control

  *启动所有必需的泵控制相关变量的子例行程序

  *

  *该程序在通电时调用

  *******************************************************/

  void init_pump_control(void)
        <!-- SIPO <DP n="15"> -->
        <dp n="d15"/>
  {

  BIT_CLEAR(io_byte,IO_PUMP);/*断开输出*/

  pump_request=°FALSE/*表示不请求泵*/

  cook_idle_clock.mm=cook_idle_clock.ss=cook_idle_clock.hun=0;

  BIT_SET(cook_idle_clock.status,TMR_TIMED_OUT);

  BIT_CLEAR(cook_idle_clock.status,TMR_RUNNING);

  cool_clock.hh=cool_clock.mm=cool_clock.ss=cool_clock.hun=0;

  BIT_SET(cool_clock.status,TMR_TIMED_OUT);

  BIT_CLEAR(cool_clock.status,TMR_RUNNING);

  pump_clock.mm=pump_clock.ss=pump_clock.hun=0;

  BIT_SET(pump_clock.status,TMR_TIMED_OUT);

  BIT_CLEAR(pump_clock.status,TMR_running),

  exit_cool_key=FALSE;/*表示不按下“退出冷却”键*/

  }

  /*******************************************************

  *check_for_new_pump_request

  *起到寻找泵状态机下一个状态的作用

  *******************************************************/

  void check_for_new_pump_request(void)

  {

  /*

  有4个独立的条件可以触发泵请求,来搅动起酥油。它们是:

  1).如果油炸锅刚刚完成冷起动且按下了“退出冷却”键。

  2).油炸锅已处于冷却状态超过最大时限且按下了“退出冷却”键。

  3).油炸锅已处于烹调空闲状态(30分钟(这一状态可重复)。

  4).油炸锅刚刚作了过滤(排放阀上的开关将给出一个信号,可以对该阀打开了
多长时间计时,以便确定所有的起酥油是否已漏入排放盘)且按下了“退出冷却”
        <!-- SIPO <DP n="16"> -->
        <dp n="d16"/>
键。

  */

  /*任何时候进入烹调过程,或控制返回熔化(在烹调空闲时用户断开机器并使
机器停止工作足够长的时间而冷却到低于熔化退出温度),所有与泵相关的
定时器都将被清除而停止工作。若开始一次烹调过程,将清除COLD START
位。*/

  /*假设泵未被请求*/

  pump_request=FALSE;

  if(!(pump_clock.status&TMR_RUNNING))/*如果泵不在运行*/

  {

  /*现在检查exit_cool_key标志的条件*/

  if((exit_cool_key)&&(priority_ptr->state=COOK_IDLE_STATE))

  {

  /*首先清除exit_cool_key标志*/

  exit_cool_key=FALSE;

  /*符合冷起动条件?*/

  if(pid_flags&COLD_START)pump_request=TRUE;

  /*或者符合冷却等待极限?*/

  if((cool_clock.hh>0)||(cool_clock.mm>=

  USER_DEFINED_COOL_WAIT_MINUTES)&&(cool_clock.ss>=USER_DEFINED
COOL_WAIT_SECONDS))

  {

  pump_request=TRUE;

  }

  /*或者过滤器开关时钟超这限定的打开时间*/

  else if((pump_on_clock.mm>=USER_DEFINED_PUMP_ON_MINUTES)&&
(pump_on_clock.ss>=USER_DEFINED_PUMP_ON_SECONDS))

  {

  pump_request=TRUE;

  }

  }
        <!-- SIPO <DP n="17"> -->
        <dp n="d17"/>
  /*检查4个条件中的3个...检查烹调空闲超过用户限定的极限*/

  else if((cook_idle_clock.mm==

  USER_DEFINED_COOK_IDLE_WAIT_MINUTES)&&

  (cook_idle_clock.ss==

  USER_DEFINED_COOK_IDLE_WAIT_秒种))

  {

  pump_request=TRUE

  }

    }

  }

  /*******************************************************

  *look_up_pump_time

  *起着从J.King提供的表中查找泵接通时间的作用

  ********************************************************

  void look_up_pump_time(void)

  {

      byte index;

  index=0;

  if(((pump_on_clock.mm>=

  USER_DEFINED_PUMP_ON_MINUTES)&&

  (pump_on_clock.ss>=

  USER_DEFINED_PUMP_ON_SECONDS))||(pid_flags &
COLD_START))

  {

  BIT_SET(pump_on_clock.status,TMR_TIMED_OUT);

  BIT_CLEAR(pump_on_clock.status,TMR_RUNNING);

  pump_on_clock.mm=pump_on_clock.ss=pump_on_clock.hun=0;

  pump_clock.mm=COLD_START_PUMP_MINS;

  pump_clock.ss=COLD_START_PUMP_SECS;

  BIT_CLEAR(pid_flags,COLD_START);

  /*如果未完成冷起动暂停(它将取消冷起动)...装入泵时钟后,其OK令冷起
动失效*/
        <!-- SIPO <DP n="18"> -->
        <dp n="d18"/>
  }

  else if((cook_idle_clock.mm==USER_DEFINED_COOK_IDLE_WAIT_MINUTES)&&
(cook_idle_clock.ss==USER_DEFINED_COOK_IDLE_WAIT_SECONDS))

  {

  cook_idle_clock.mm=cook_idle_clock.ss=cook_idle_clock.hun=0;

  pump_clock.mm=COOK_IDLE_PUMP_MINS;

  pump_clock.ss=COOK_IDLE_PUMP_SECS;

  }

  else

  {

  for(index=0;index<(MAX_PUMP_INDEX-l);index++)

  {

  if(((cool_clock.hh<=pump_table[index].check_hours)&&(cool_clock.mm
<=pump_table[index].check_mins)&&(cool_clock.ss<=pump_table
[index].check_secs))

  ||((cool_clock.hh<pump_table[index].check_hours)&&(cool_clock.mm<
60)))break;

  }

  BIT_SET(cool_clock.status,TMR_TIMED_OUT);

  BIT_CLEAR(cool_clock.status,TMR_RUNNING);

  cool_clock.hh=cool_clock.mm=cool_clock.ss=cool_clock.hun=0;

  pump_clock.mm=0;

  pump_clock.ss=pump_table[index].pump_secs;

  }

  }

  /*******************************************************

  *do_pump_control

  *起着控制泵电动机输出的作用

  *******************************************************/

  void do_pump_control(void) 

  {

  if(!(function & SERVICE_MODE))

  {

  if(((KEY_EXIT_FILL==got_key)&&(pump_clock.status & TMR_RUNNING))||
(control_state & OFF_STATE)||(error_code!=0))

  {

  pump_request=FALSE;
        <!-- SIPO <DP n="19"> -->
        <dp n="d19"/>
  pump_clock.mm=0;

  pump_clock.ss=0;

  pump_clock.hun=0;

  BIT_CLEAR(pump_clock.status,TMR_RUNNING);

  BIT_SET(pump_clock.status,TMR_TIMED_OUT);

  BIT_CLEAR(io_byte,IO_PUMP);

  BIT_CLEAR(pid_flags,COLD_START);/*如果我们中止泵,假设冷起动并取消
它*/

  }

  else

  {

  /*有新的请求???*/

  if(!(pump_request))check_for_new_pump_request();

  /*如果泵刚刚请求起动泵定时器(带默认时间),清除请求并接通泵输出*/

  if((pump_request)&&(pot_tmpf>=(reg_setpt_tmpf-

  USER_DEFINED_BELOW_SETPOINT)&&(priority_ptr->state==
COOK_IDLE_STATE))

  {

  look_up_pump_time();

  BIT_SET(pump_clock.status,TMR_RUNNING);

  BIT_CLEAR(pump_clock.status,TMR_TIMED_OUT);/*load and start pump timer
pump_request=°FALSE;/*清除请求标志*/

  }

  /*如果泵定时器在运行(由上述代码部分起动),接通泵(让它接通)*/

  if(pump_clock.status & TMR_RUNNING)BIT_SET(io_byte,IO_PUMP);
else BIT_CLEAR(io_byte,IO_PUMP);/*else turn off pump and leave off
till next request*/

  }

  }

  }
        <!-- SIPO <DP n="20"> -->
        <dp n="d20"/>
  /*油炸锅控制(68HC1l)-实用功能和特性代码*/

  /*================================================
                     缩微胶片  附录2
HRStdDef.INC(″标准定义″包括文件)
这个定义只是包含准备包括在每个源文件里的关于常数与常用宏指令的说明。这里不说明诸变量(即存储位置),且除了在宏指令定义内不包含可执行的代码。除非包含这些文件的源代码文件特地援引一个或多个宏指令定义,否则该文件内的所有条款将根本不占有代码空间。
这个文件包括在每个要求访问任何实用宏指令的或其他定义(即,字符码等)的源文件中。
注意!    注意!    注意!
------    ------    ------
若对这个文件内的常数作任何变动,则将要求重新编制使用这个文件的所有的源文件。
具体地说,这里规定的值都是“装配-时间“值而不是链接-时间值。对这个文件所作的变动只能影响作过变动后装配的文件。要“更新”整个方案,则要求重新编制所有的文件(即“建立”而不是“制定“)
================================================*/

  #include″string.h″

  typedefunsigned char byte;

  typedefunsigned int word;

  typedefunsigned char string;/*即,″串MsgStr[31]″将允许*/

  /*30-字符msg+1字串NUL*/

  #definePRIVATE static

  #defineNOP 01

  #defineFALSE 0

  #defineTRUE 1

  #define NUL((char)0) /*串的空结束符...*/

  #define XON((char)17)/*流量控制″X-On″字符*/
        <!-- SIPO <DP n="21"> -->
        <dp n="d21"/>
  #define XOFF((char)19) /*流量控制″X-Off″字符*/

  /*HH_MM,MM_SS,SS_HUN(双字节存取)

  *

  *这些宏指令允许“字”访问至定时器或时钟值的对。这些宏指令要求定时器元
件按MostSig至LeastSig的次序定义,用连续的字节,为″HH,MM,SS,Hun″次
序。它们可与包含.HH等字段的任何结构连用。

  *由于这些宏指令是已知用来产生″LDD″与“STD″陈述的,故我们可以对它们计
数以节省或提取出同步的定时器值。具体地说,″TempWord=MMSS(TmrX)″将
编成″LDD TmrX.MM/ST*TempWord″。由于LDD指令是不可中断的,所以我们知
道MM与SS字节是同步的——在获取MM字节与获取SS字节的时间当中,我们不
能拥有一个定时器中断递减,从01:11到00:59。若MM与SS字节是通过非同
步的各次字节访问取得的,我们可以用错误的MM:SS值1:59来结束-如果我
们刚取得了MM字节后而在获取SS字节前正好发生定时器递减。-*/

  #define HH_MM(AnyStrucWithHH)(*(word*)&((AnyStrucWithHH).hh))

  #define MM_SS(AnyStrucWithMM)(*(word*)&((AnyStrucWithMM).mm))

  #define SS_HUN(AnyStrucWithSS)(*(word*)&((AnyStrucWithSS).ss))

  /*WORD_AT and BYTE_AT

  * 这些宏指令允许的任何变量作方便的字节和字访问

  *

  *举例:

  *

  *将值分派给两个具有等值LDD/STD的连续的字节:

  *WordAt(Buf[0])=0x1234;其中Buf[0]是字节阵列

  *
  *将两个连续的字节取入字变量:

  *

  *EEpromWord=WordAt(EpromData[10]);

  *=>得到数据字节[10]和[11]作为单个“字”变量

  *

  -*/

  #define WORD_AT(AnyVar)(*(wrd*)&(AnyVar))

  #define BYTE_AT(AnyVar)(*(byte*)&(AnyVar))
        <!-- SIPO <DP n="22"> -->
        <dp n="d22"/>
  /*HiByte,LoByte(高字节,低字节)

  *这些宏指令允许对任何双字节变量的高、低字节访问。HiByte是位于
变量+0字节处的字节,而LoByte是位于变量+1字节处的字节

  -*/

  #define HIGH_BYTE(Any16BitVar)(*(byte*)&(Any16BitVar))

  #define LOW_BYTE(Any16BitVar)(*(((byte*)&(Any16BitVar))+1))

  /*Two Bytes(两字节)

  *这个宏指令允许两个单独的字节组合成双字节(整数)赋值

  *

  *例如,″wordvar=TwoBytes(11,22);”将值″11″赋给wordvar的高字节,
而把″22″赋给低字节。

  *这特别便于与上述的HHMM(tmr)宏指令连用:

  *″HHMM(SomeTmr)=TwoBytes(1,30)″将SomeTmr设置为1小时30分钟。

  -*/

  #define TWO_BYTES(a,b)(((word)a<<8)+b)

  /*位值赋值

  *不是使用位定段——这似乎效率太低——我们将用简单的宏指令进行位字段值

  *赋值。为了设置或清除个别的位或多位字段,我们有BIT_SET与BIT_CLEAR*
宏指令。为把某个“值”赋给某个位或多位字段,我们有BIT_ASSIGN。此时,*
该值必须已与合适的位屏蔽对准。

  *注意:在所有场合中,“屏蔽”值包含一些1,在那里,诸位要被包括在操
作*中。屏蔽中的0位将保持不受这些宏指令的影响。

  *例子:BIT_SET(hcll_PORT1,b5);

  *      BIT_CLEAR(hcll_PORT1,b7+b6+b4);

  *      BIT_ASSIGN(hcll_PORT1,b7+b6+b5+b4,0x20);

  *

  -*/

  #define BIT_SET(var,mask)((var)|=(mask))
        <!-- SIPO <DP n="23"> -->
        <dp n="d23"/>
  #define BIT_CLEAR(var,mask)((var)&=~(mask))

  #define BIT_TOGGLE(var,mask)((var)^=(mask))

  #define BIT_ASSIGN(var,mask,value)((var)=((var)&~

     (mask))|(value))

  /*用于位操作的记忆法*/

  /*位操作的标记与说明*/

  #define b0 0x01    /bit 0*/

  #define b1 0x02    /*bit 1*/

  #define b2 0x04    /*bit 2*/

  #define b3 0x08    /*bit 3*/

  #define b4 0x10    /*bit 4*/

  #define b5 0x20    /*bit 5*/

  #define b6 0x40    /*bit 6*/

  #define b7 0x80    /*bit 7*/

  #define b8 0x0100

  #define b9 0x0200

  #define b10    0x0400

  #define b11    0x0800

  #define b12    0x1000

  #define b13    0x2000

  #define b14    0x4000

  #define b15    0x8000

  /*语言*/

  #define ENGLISH 0

  /*-------线性公式---------*/

  #defineX1     0     /*(.word)*/

  #define Y1       2      /*(.word)*/

  #defineX2     4     /*(.word)*/

  #define Y2       6      /*(.word)*/

  #defineSLOPE  8     /*(.word)*/

  #defineSLOPE_SIGN_FP  10    /*(.byte)最高位是符号,低7位

     =FP移位*/

  #defineY_INTERCEPT  11     /*(.word)*/
        <!-- SIPO <DP n="24"> -->
        <dp n="d24"/>
  /*---------------时钟与定时器--------------*/

  /*这些常数识别定时器Status字节内的位*/

  #defineTMR_RUNNING 0x80  /*b7=1表示定时器在递减计数
(*)*/

  #defineTMR_TIMED_OUT 0x40  /*b6=1表示定时器已计满*/

  /*(*)注意:″TmrRunning″位总是最高位(b7),故例行程序能作BPL/BMI以
测试″Running″位...*/

  /*″TONE″值-编入上述Tone Tbl的索引*/

  #define°F ULL_ON_PATTERN 0xFFFF

  #define STD_TONE 0

  #define STD_VOL 5

  #define ERR_VOL 10

  /*音符:*/

  #define TONE_C1    11

  #define TONE_D1    12

  #define TONE_E1    13

  #define TONE_F1    14

  #define TONE_G1    15

  #define TONE_A2    16

  #define TONE_B2    17

  #define TONE_C2    18

  #define TONE_D2    19

  #define TONE_E2    20

  #define TONE_F2    21

  #define TONE_G2    22

  #define TONE_A3    23

  #define TONE_B3    24

  #define TONE_C3    25

  #define TONE_D3    26

  #define TONE_E3    27

  #define TONE_F3    28

  #define TONE_G3    29

  #define TONE_A4    30

  #define TONE_B4    31

  #define TONE_C4    32
        <!-- SIPO <DP n="25"> -->
        <dp n="d25"/>
  #define TONE D4    33

  #define TONE E4    34

  #define TONE F4    35

  #define TONE G4    36

  #define TONE A5    37

  #define TONE B5    38

  #define TONE C5    39

  /*注:这里的任何变更要求所有的源文件重新编制!*/

  /*模拟输入

  *这里所述的″analog_input_type″可应用于广泛的模拟输入,包括RTD温度

  *输入、CPU温度测量的热敏电阻输入、电流(安培)输入、等等。数据结构

  *包括一“状态”标志,表明该输入现在是否失败,是否处于可显示范围,是

  *否高于或低于失效范围而有效,等等。这个状态标志可供显示例行程序、应

  *用级例行程序,等等使用,以便确定该输入是否可靠、可显示,等等。

  *例如,单个温度显示例行程序可服务于RTD与热敏电阻两种输入。该显示例

  *行程序只要检查一下amp-status标志来确定是显示“高”、“低”还是温度值

  *而无需了解有关输入的特定情况。即,RTD输入在表示“高”之前可显示到700

  *°F,而热敏电阻可能在180°F时已到顶了。这些局限性只要求让模拟输入例

  行*程序知道就行了,从而能合理地设置该状态标志。该显示例行程序只是检

  查一*下状态标志,不必担心实际的高、低限值。

  -*/

  enum ainp_status_enums{AINP_NOPRMAL,AINP_LO,AINP_HI,

  AINP_FAIL,AINP_OPEN,AINP_SHORT};

  /*模拟输入状态值:

  *ainp_normal:输入有效且在可显示范围内

  *ainp_lo:输入有效,但显示起来嫌太低

  *ainp_hi:输入有效,但显示起来嫌太高

  *ainp_fail:非特定故障代码

  *ainp_open:故障,断开

  *ainp_short:故障,短路

  *

  *注:所有的特定故障代码将是ainp_fail,故通过对任何状态代码
code>=ainp_fail

  *测试,例行程序可对失效的输入测试:

  *

  *if(xyz_inp.Status>=ainp-fail)

  *signal_analog_input_failure;
        <!-- SIPO <DP n="26"> -->
        <dp n="d26"/>
  *

  -*/

  typedef struct

  {

  /*“值”与“状态”都是一般由其他应用级例行程序访问的变量。*/

  int value;/*以实字为单位的当前可用的值,即,以°F或毫安等为单位。*/

  byte status;/*输入状态--hi,lo,故障等*/

  /*一般,下述变量是“低级”变量--*/

  word a_to_d_bits;/*当前平均的模-数位值[12i:4f]*/

  /*用于计算下面的原始值*/

  int raw_value;/*模-数值转换成实际单位,*/

  /*(可能带额外的小数位...)但在作任何校正调节之前*/

  int adj_value;/*用我们所有的任何电路校正信息所调节或校正的原始值。*/

  /*此变量应示出传感器直接检测的其实值,*/

  /*但不包括固定的偏差等。*/

  }analog_input_type;

  /*油炸锅控制(68HC11)-专用定义*/

  /*===============================================
                   缩微胶片附录3
Only.H(“标准定义“包括文件)
这个定义,只是包含准备包括在每个源文件里的关于常数与常用宏指令的说明。
这里不说明诸变量(即存储位置),且除了在宏指令定义内不包含可执行的代码。
除非包含这些文件的源代码文件特地援引一个或多个宏指令定义,否则该文件内的所有条款将根本不占有代码空间。
这个文件包括在每个要求访问任何实用宏指令的或其他定义(即,字符码等)的源文件中。
注意!    注意!    注意!
……      ……      ……
若对这个文件内的常数作任何变动,则将要求重新编制使用这个文件的所有的源文件。
具体地说,这里规定的值都是“装配-时间”值而不是链接-时间值。对这个文件所作的变动只能影响作变动后装配的文件。要“更新”整个方案,则要求重新编制所有的文件(即“建立”而不是“制定”)
==================================================

  #defineMAX_PRODUCTS 11/*最大过程数(10+1)
          第零次不用(1的拷贝)*/

  #defineNUM_PRODUCTS 10 /*食物数*/

  #defineMAX_INT 9 /*间隔/过程数最大值*/

  #defineNUM_INT 10 /*每个过程的间隔数*/

  #defineMAX_ALM 3 /*报警/过程的最大值*/

  typedef struct

  {

  signed char lsd;

  signed char lsd_2;

  signed char lsd_3;

  signed char msd;

  }bintobcd_type;

  typedef struct

  {

  byte status;/*烹调定时器状态(“空闲”、“运行”、“暂停”)*/

  byte hh;/*小时info*/

  byte mm;/*分钟info*/

  byte ss;/*秒钟info*/

  byte hun;/*百分之几秒钟info*/

  }hours_clock_type;

  typedef struct

  {

  byte status;/*烹调定时器状态(″空闲″、″运行″、″暂停″)*/

  byte min;/*分钟info*/

  byte ss;/*秒钟info*/

  byte hun;/*百分之几秒钟info info*/

  }minutes_clock_type;

  typedef struct

  {

  byte status;/*烹调定时器状态(″空闲″、″运行″、″暂停″)*/

  byte ss;/*秒种info*/

  byte hun;/*百分之几秒钟info info*/

  }秒种_clock_type;
        <!-- SIPO <DP n="28"> -->
        <dp n="d28"/>
  typedef struct

  {

  byte mm;

  byte ss;

  byte hun;

  }minutes_timer_type;

  typedef struct

  {

  byte ss;

  byte hun;

  }秒种_timer_type;

  typedef struct

  {

  byte status;/*在HCSTDDEF中描述的状态位*/

  byte ticks;/*间隔定时器值(根据INT处理机频率)*/

  }up_counter_type;/*由下而上计数定时器*/

  typedef struct

  {

  byte ticks;

  }down_counter_type;

  typedef struct

  {

  word cook_mmss;/*烹调间隔的分钟与秒种info(int 0是总烹调时间)*/

  int cook_tmpf;/*间隔烹调温度(°F)*/

  byte cook_press;/*间隔烹调压力(0-断,FF-通)*/

  byte cook_load_comp;/*间隔烹调负载补偿因子(0->10,0=Off,10=max)*/

  }interval_info_type;

  *define INTERVAL_INFO_SIZE sizeof(interval_info_type)

  typedef struct

  {

  interval_info_type cook_interval[NUM_INT];/*“时间”、“温度”、“压力”
和“负载补偿”info的10个间隔*/

  byte pc_factor;/*烹调过程比例控制因数(0->10,0=Off,10=max)*/

  word alm_times[MAX_ALM];/*3间隔报警时间阵列*/

  byte alm_duration[MAX_ALM];/*3间隔报警时间持续时间定义阵列*/

  byte°Filter_cycle;/*过滤器过程信息(0->99,0=Off,

  99=max)*/
        <!-- SIPO <DP n="29"> -->
        <dp n="d29"/>
  byte eoc_exit;/*EOC退出(0->2,0=回至S.P.,1=冷却,

  2=过滤器)*/

  byte head_count;/*高度计算计数范围(0->99)*/

  word checkvalue;/*上述变量的检验和值*/

  }product_type;

  #define PROGRAM_PRODUCT_SIZE sizeof(product_type)

  #define PROD_EE_SPACING 128

  typedef struct/*建立现行状态记录的结构*/

  {

  product_type product;

  byte prod_nbr;/*当前选择食物数*/

  byte interval_num;/*当前选择食物间隔数*/

  byte need_prod_Upd;/*!=0->ProdArray中的食物信息,用于编辑的选择
食物,这里信息需更新*/

  byte mutiple status;/*表示上述过程当前是否多重有效,是否开始等待多重
有效操作起动。Bit 0是“有效”位,而Bit 1是“备用”位。*/

  byte state;/*当前操作状态。熔化、烹调空用、烹调、冷却或过滤,
1=熔化,2=烹调空闲,3=烹调,4=冷却,5=过滤*/

  byte sub_state;/*当前状态的当前步骤0=init,

  08=CkEocStep*/

  byte exit_flag;/*由应用通知状态例行程序设置*/

  int setpt_tmpf;/*当前请求的温度(°F)*/

  byte press;/*当前Prod(间隔)的当前压力info*/

  byte load_comp;/*当前Prod(间隔)的当前负载补偿info*/

  minutes_clock_type cook_tmr;/*从预装入的烹调时间递减计数;MM:SS:Hun
*/

  byte lc_adj_100s;/*烹调定时器最后一秒钟负载补偿调节值1/100(若超
过温度且时钟运行快速,可能是70,或如果温度不足,时钟走得慢,
可能是125)(注:此值在烹调定时正在运行的任何时候有效,与Ld Comp
无关)*/

  word rem_mmss;/*MM:SS保持烹调过程(由DocookState计算)*/

  byte alm-eoc_code;/*当前报警/eoc状态

  0=无有效报警或eoc

  1..3=报警1..3现在发声

  255=过程结束*/

  word alm_eoc_100s;/*双字节百分之几秒递减计数定时器。用于对报警/eoc
显示持续时间计时。在报警/eoc开始时装载。击0时,自动消除报警/eoc
将自动消除。任何不用TmriSR递减的负值(即位15=1)不会自动消除*/

  byte ststp pending;/*标志表示是否在注视Start Stop“按下和保持”操作。
*/

  byte ststp clk;/*16赫向上定时器(由tmrisr inc)和StStp Pending标
        <!-- SIPO <DP n="30"> -->
        <dp n="d30"/>
  志置真时复位到0,然后监视按下和保持操作。*/

  };

  typedef struct

  {

  int temp;

  byte on[2];

  }on_time_type;

  /*

  *检验值保护的系统设置

  *

  *该块内的诸变量代表可编程的“系统”设置,它们由检验值保护,并受管理

  和*定期更新,以确保其完整性。

  *实际变量已在″database.c″文件中说明。

  *

  -*/

  /*口令*/

  #define PASSWD_SIZE 13

  /*ROM/EEPROM ID尺寸*/

  #define ID_SIZE 10

  /*int_mx_b_type:

  *该数据结构用来构成″y=m*x+b″型函数,其中x与y值是类型整数(可以是*
定点整数)。

  *可调用″Misc.H″文件的例行程序支持例行程序来计算新的″m″(斜率)和*″b″
(截距)值。

  *

  **/

  typedef struct

  {

  int x1;/*校正点x1(函数输入值)*/

  int y1;/*校正点y1(函数输出值)*/

  int x2;/*校正点x2(函数输入值)*/

  int y2;/*校正点y2(函数输出值)*/

  long m;/*斜率-根据x和y值算出*/
        <!-- SIPO <DP n="31"> -->
        <dp n="d31"/>
  int b;/*截距-根据x和y值算出*/

  }int_mx_b_type;

  /*

  *定点格式:

  *所用的记法是[Ai:Bf]格式,其中A=整数位数,B=小数位数(A+B=总位
数)。

  *这些变量定义为带符号的整数和长整数。调用者必须确保所建立的[i:f]格
式将*适应对输入输出值所要求的范围,不要搞乱符号位。算出的斜率与截距
可以是*负的。

  *m与b值计算如下:

  *m=(Y2-Y1)/(X2-X1);b=Y1-m*X1;

  *

  *X(函数输入)值与Y(函数输出)值不要求是同一[i:f]格式。只根据计算
的特征*″b″值将象Y值那样结束同一[i:f]格式。“m″值将为[(Y1+Xf)i:
(32-i)f]格*式。即,“m″值中的整数位数将等于Y值格式中的整数位数加
上X值格式中*的小数位数,而“m”中的小数位数将是剩余的位数。

  **/

  /*-------------检验和保护的数据区的起始---------------*/

  typedef struct

  {

  /*------数据块类型和控制器类型-----*/

  char controller_id[ID_SIZE];/*识别控制系统*/

  byte sys_version;/*识别此″sys″块*/

  /*(软件升级可能要求初始化现有单元等的sys块内的新字段)*/

  /*----------用户选择权----------*/

      byte degc_mode;/*已对CENTIGRADE操作设置TRUE=>用户*/

  byte user_defined_spkr_vol;/*用户规定的扬声器音量设置*/

  word user_defined_spkr_freq;/*用户规定的频率设置*/

  byte machine_type;/*燃气或电气机械*/

  /*---------------口令---------------*/
        <!-- SIPO <DP n="32"> -->
        <dp n="d32"/>
  byte prg_mode_passwd[PASSWD_SIZE];

  byte review_mode_passwd[PASSWD_SIZE];

  byte reset_mode_passwd[PASSWD_SIZE];

  byte factory_presets_mode_passwd[PASSWD_SIZE];

  byte tech_io_mode_passwd[PASSWD_SIZE];

  byte appliance_test_mode_passwd[PASSWD_SIZE];

  byte heat_ctrl_mode_passwd[PASSWD_SIZE];

  byte global_filter_mode_passwd[PASSWD_SIZE];

  /*---------------工厂校正信息--------------*/

  /*这些两点校正用于纠正电路中的增益和偏差误差。将校正的基准电

  *阻器加到rtd输入端,用公式″y=mx+b″表征RTD分压器与放大器电路的*
增益和偏差误差,这类校正可以只置于Mfg Test模式。

  *否则可能处于“默认”值…*/

  int_mx_b_type°Fryer_pot_tmp_calib_mx_b;

  byte tube_probe_tmp_calib_flag;/*=YES_FLAG=>has*/

  /*已作校正*/

  /*否则可能处于“默认”值...*/

  int_mx_b_type tube_probe_tmp_calib_mx_b;

  /*--------------用户可调的校正信息-----------*/

  /*这些简单的偏差校正可用来纠正RTD传感器的偏差误差,或调节温度输入

  *从而估算设备其他地方的温度。例如,如果炉中间的温度一般高于rtd位

  *置的温度10°F,则这些偏差可用来作这些调节。*/

  byte°Fryer_pot_tmp_offset_flag;/*=YES_FLAG=>已作调节*/

  /*否则可能处于″默认″值...*/

  signed int°Fryer_pot_tmp_user_offset;/* +/-user-adjustable offset*/

  byte tube_probe_tmp_offset_flag;/*=YES_FLAG=>已作调节*/

  /*否则可能处于″默认″值...*/

  signed int tube_probe_tmp_user_offset;/* +/-用户可调偏差*/

  byte cpu_tmp_offset_flag;/*=YES_FLAG=>已作调节*/

  /*否则可能处于″默认″值...*/

  signed int cpu_tmp_user_offset;/* +/-用户可调偏差*/

  /*---------------温度相关的变量---------------*/
        <!-- SIPO <DP n="33"> -->
        <dp n="d33"/>
  int tube_hilimit_tmpf;/*管子温度过高的跳闸点*/

  int max_rtd_differential_tmpf;/*rtd与pot_temp rtd之间的最大允许
值*/

  /*---------------加热控制变量---------------*/

  int melt_exit_trapf;/*熔化退出温度(°F)*/

  word melt_cycle_100s;/*以1/100秒种为单位的准时熔化过程*/

  word melt_on_100s;/*以1/100秒种为单位的准时熔化过程*/

  int cool_setpt_tmpf;/*“冷却”模式设定点温度(°F)*/

  byte auto_idle_option;/*“自动空闲”开/关*/

  byte auto_idle_mmss;/*“自动空闲”mm:ss(直到进入自动空闲的时间)*/

  byte cool_proportional_band;/*″冷却″模式比例控制因数*/

  byte cook_idle_proportional_band;/*烹调空闲比例控制因数*/

  byte cold_proportional_band;/*冷起动比例控制因数*/

  word Ki;/*PID积分误差项0-9999*/

  word Kd;/*PID微分误差项0-9999*/

  word period_100s;/*以1/100秒为单位的PID周期*/

  word max_positive_integral;/*正积分限*/

  signal int max_negative_integral;/*负积分限*/

  word min_electric_pid_ontime;/*负积分限*/

  word min_gas_pid_ontime;/*最小燃气pid准时*/

  word min_pid_offtime;/*最小pid不准时(燃气与电气)*/

  word brief_off_100s;/*冷起动PC时以1/100秒为单位的不准时*/

  #define IEE_FUTURE_USE_CNT 20
        <!-- SIPO <DP n="34"> -->
        <dp n="d34"/>
  /*---------------将来使用-发展方案---------------*/

  byte°Future_use[IEE_FUTURE_USE_CNT];/*留等将来使用*/

  /*-----------检验值----------*/

  word checkvalue;/*此数据块的检验值*/

  }iee_settings_type;

  #define CURRENT_SYS_VERSION 0

  /*系统设置的副本已存入HC-11内部EEPROM:*/

  #define IEE_SETTINGS_HC11_EE_ADDR 0xB600

  #define STATS_FUTURE_USE_CNT 20

  typedef struct

  {

  /*----------用途统计----------*/

  word day_usage[NUM_PRODUCTS];

  word accum_usage;

  /*----------过滤器相关的变量----------*/

  word filt_cyc_accum;/*保持跟踪烹调过程数

  (对于每个完成的过程1/head_count)*/

  byte filter_mode_flags;/*保存重要的过滤模式info(哪个过滤状态模式;
过滤,装填)*/

  /*---------控制统计----------*/

  word pwr-up-cnt;/*控制器接通多少次*/

  word user_init_cnt;/*执行了多少个用户初始化*/
        <!-- SIPO <DP n="35"> -->
        <dp n="d35"/>
  word sys_init_cnt;/*执行了多少个系统强迫初始化*/

  int max_ctrl_amb_tmpf;/*记录到的控制环境温度最大值*/

  /*设备测试数据*/

  byte last_appl_test[3];

  /*对用户请求的初始化*/

  byte need_total_initialization;/*当用户处于工厂预置模式并且初始化控
制时,设置此标志,当系统实际上已初始化(处于intro模式),则清除它*/

  /*----------将来使用-发展方案----------*/

  byte°Future_use[STATS_FUTURE_USE_CNT];

  /*留待以后使用*/

  word checkvalue:/*此数据块的检验值*/

  }stats_type;

  typedef struct

  {

  signed int desired:

  signed int actual;

  word period_100s;

  word proportional_band;

  float Kp;

  float Ki;

  float Kd;

  signed int max_positive_integral;

  signed int max_negative_integral;
        <!-- SIPO <DP n="36"> -->
        <dp n="d36"/>
  signed int error;

  signed int integral;

  signed int derivative;

  signed int previous_actual;

  signed int output;

  word min_electric_pid_ontime;

  word min_gas_pid_ontime;

  word min_pid_offtime;

  }PID_type;

  /*这定义了SPI任务表*/

  enum SPI_task_enums

  {SPI_idle,/*SPI空闲-过程中没有数据xfer*/

  SPI_display_driver,/*显示驱动器#1(分组的)*/

  SPI_output_driver,/*过程输出:继电器等*/

  SPI_atod,/*外部模-数芯片*/

  SPI_eeprom_read,

  SPI_eeprom_write,

  SPI_spkr_driver};/*扬声器音量控制芯片*/

  /*有关的泵*/

  typedef struct

  {

  byte check_hours;

  byte check_mins;

  byte check_secs;

  byte pump_secs;

  }pump_look_up_type;

  /*扬声器资料*/

  #define MAX_CHORDS 25

  typedef struct
        <!-- SIPO <DP n="37"> -->
        <dp n="d37"/>
  {

  byte time;

  byte volume;

  word tone;

  }chord_type;

  typedef struct

  {

  char repeat;

  chord_type chord[MAX_CHORDS];

  }song_type;

  /*用于校正偏差*/

  typedef struct

  {

  byte sign;

  byte value;

  }calibration_type;

  /*标志值

  *通常,标志作为″if(x_模式_flag)then do_x″测试。这意味着任何非零标
志值*都会导致执行″do_x″。

  *为实现少量较佳的有效性,有些标志可使用特殊的“YES_FLAG″或*
″NO_FLAG″值。这可能减少偶然启动某-模式或设置的噪声尖峰信号或其他*数
据破坏的概率。(注:可通过测试″if(x_mode_flag=TRUE)″作出同样的*改
进,但是一般的TRUE与FALSE标志(1与0)仅差一位。使用″Y″与*″N″代
码可略有改进。*/

  #define YES_FLAG’y’/*ASCII 0x79,=0111 1001*/

  #define NO_FLAG’n’/*ASCII 0x6E,=0110 1110*/

  #define TONE_KEYBEEP 0/*用于键嘟嘟的索引0。*/

  #define TONE_GOOD 1/*用于“良好”嘟嘟声*/

  #define TONE_BAD 2/*用于“坏键”或“坏输入”*/

  #define TONE_ALERT 3/*用于系统出错,坏口令等的音调

  (E-5 ctrl hot,E-6探头信差等)*/

  #define TONE_1000 4/*1KHz音调*/

  #define TONE_MAX 5/*2.5KHz音调最大频率*/

  #define MOD_BIT_RESET 32768/*字中设置的最高位*/

  /*用户编程的音量与频率
        <!-- SIPO <DP n="38"> -->
        <dp n="d38"/>
  *

  *用户可对音量与频率用“默认”值编程。大多数标准声音将使用这些值-特
别*是音量设定。默认频率将用于过程操作嘟嘟声等,从而类似的几台设备可
拥有*自己的特征音调。过些用户可编程设定存入检验和保护的“sys″系统设
定记*录。

  *

  *sys.user_defined_spkr_vol & sys.user_defined_spkr_freq
  *
  *这里的USER_DEF_VOL与USER_DEF_FREQ″定义″是些特殊值,可用于*迫
使低电平扬声器控制例行程序代替当前有效的用户编程的音量与频率值。这*
类定义可用于以歌曲定义,直接控制频率等设备音量或频率的任何地方。这种*
替代在运行时采用″perform_lowlevel_spkr_control″例行程序以最低电平执*
行。*/

  #define USER_DEF_VOL 0xFF

  #define USER_DEF_FREQ 0xFFFF

  #define MIN_VOLUME 0

  #define MAX_VOLUME 10

  #define MIN_FREQ 100

  #define MAX_FREQ 2000

  #define KEY_BEEP_FREQ 2000/*btn嘟嘟声使用sysdef音量*/

  /*********************************

  *串行EEProm寻址

  **********************************/

  #define PROD_LENGTH sizeof(product_type)/*EE prom最近页附近State

  VarsArea的规模*/

  #define PAGE_LENGTH 32

  #define PROD1_ADDR 0/*现在开始EE program的addro是“编程的食物

  阵列(食物1)的开始*/

  #define ID_IZE 6/*ROM和RAM id串的规模*/

  #define XEE_MGR_IDLE 0/*内部EEPROM空闲*/

  #define XEE_MGR_STORING_PROD 1/*当前存储食物记录*/

  #define XEE_MGR_FETCHING_PROD 2/*当前取出食物记录*/

  #define XEE_MGR_STORING_STATS 3/*当前存储stats*/
        <!-- SIPO <DP n="39"> -->
        <dp n="d39"/>
  #define XEE_MGR_FETCHING_STATS 4/*当前取出stats*/

  #define SER_EE_10MS_DELAY 4/*10ms延迟=3/300ths,+1(安全起见)*/

  /*内部EEProm*/

  #define IEE_MGR_IDLE 0/*内部EEPROM空闲*/

  #define IEE_MGR_STORING_SYS 1/*当前存储系统设置*/

  #define INT_EE_IDLE 0

  #define INT_EE_WR_BEGIN 1

  #define INT_EE_ERASING 2

  #define INT_EE_WRITING 3

  #define INT_EE_WR_COMPLETE 4

  #define INT_EE_10MS_DELAY 4/*10ms延迟=3/300ths,+1(安全起见)*/

  */A/D通道数*/

  #define MAX_AD_CHANNELS 10

  /*loByte(低字节):

  *

  *该字节用于控制输出的状态。不管实际接通或断开某个装置所需的硬件如
何,*此字节用“正真逻辑”定义。即“1”位值总表示输出为逻辑“通”,“0”

  *值表示逻辑“断”。

  *

  *下面的″lo byteNTL.″(负真逻辑)常数用于表示哪些输出实际上要用“0”
接*通而用“1”断开。(″lo byteNTL EQU 00″表示无NTL输出,)只是将
lo字*节送给输出驱动器时才应用的lo byteNTL校正,目不影响lo字
节本身的值。

  *通过用这种方式处理输出,应用程序可测试″bit=1”,看看输出是否“通”,

  *并测试“bit=0”,看看输出是否“断”。而且,通过只修正lo byteNTL值*
而不改变代码本身,很容易更改硬件或接线,它把输出从“常开”触点变成*
“常闭”触点。

  #define OUTSCON_1  0x00    /*  (引脚1朝散热体)*/

  #define OUTSCON_2  0x20    /*  o6(b5)*/

  #define OUTSCON_3  0x10    /*  o5(b4)*/

  #define OUTSCON_4  0x80    /*  o8(b7)*/

  #define OUTSCON_5  0x40    /*  o7(b6)*/

  #define OUTSCON_6  0x04    /*  o3(b2)*/

  #define OUTSCON_7  0x08    /*  o4(b3)*/
        <!-- SIPO <DP n="40"> -->
        <dp n="d40"/>
  #define OUTSCON_8  0x02    /*  o2(b1)*/

  #define OUTSCON_9  0x01    /*  o1(b0)*/  

  #define IO_PUMP OUTSCON_6/*连接器引脚#6是泵电动机输出*/

  #define IO_HTR OUTSCON_9/*连接器引脚#9是加热输出*/

  #define IO_PRESS OUTSCON_8/*连接器引脚#3是压力输出*/

  #define IO_DRAIN_VALVE_DIRECTION OUTSCON_1

  /*连接器引脚#1是排放阀电动机定向输出*/

  #define IO_DRAIN_VALVE_ON_OFF OUTSCON_2

  /*连接器引脚#2是排放阀电动机开/关输出*/

  #define IO_WASTE_VALVE_DIRECTION OUTSCON_3

  /*连接器引脚#3是废物阀定向输出0-闭,1-开*/

  #define IO_FRESH_VALVE_DIRECTION OUTSCON_4

  /*连接器引脚#4是新鲜物品阀定向输出,0-闭,1-开*/

  #define CLOSE_VALVE 0

  #define OPEN_VALVE 1

  #define IO_BYTE_NTL 0/*识别上述lo字节输出哪些是负真逻辑(NTL)

  (其中″0″与″1″=OFF)*/

  /*显示驱动器例行程序常数*/

  #define NUM_CHARS 128

  /**-------------标志---------**/

  /**这些标志多少是独立的一同一时间可多于一个真值*/

  /*MiscFlag(专用模式标志)*/

  #define INTRO_MODE 0x80 /*″Intro″模式(通电msgs显示)*/

  #define BURNIN_MODE 0x40 /*制造老炼模式*/

  #define ERR_MODE 0x20 /*检出的ERRor*/

  #define SPPRG_MODE 0x10 /*专用编程模式*/

  #define USAGE_MODE 0x08 /*用途评论模式*/

  #define RESET_USAGE_MODE 0x04 /*用途复位模式*/

  #define IOTEST_MODE 0x02 /*lo测试模式*/

  #define NEED_INIT_MSG 0x01 /* *1=>在起动seq中显示″Init″″Sys″

  *(只用于通电-带uninit.NOVRAM)*/

  /*
        <!-- SIPO <DP n="41"> -->
        <dp n="d41"/>
  *FunctonFlags RMB 1*用于将选择的功能传输入功能字节,见

  下文诸模式

  *Function RMB 1*功能模式*/

  #define PRG_MODE 0x80 /*″正规程序″模式*/

  #define REVIEW_MODE 0x40 /*″评论用途″模式*/

  #define RESET_MODE 0x20 /*″复位用途″模式*/

  #define°FACPRE_MODE 0x10 /*“工厂预置”模式*/

  #define SERVICE_MODE 0x08 /*“服务”模式*/

  #define APPL_TEST_MODE 0x04 /*“设备测试显示时间”模式*/

  #define HEAT_CTRL_MODE 0x02 /*“加热控制编程”模式*/

  #define GLOBAL_FILTER_MODE 0x01 /*“球形过滤器过程编程”模式*/

  /*状态*/

  #define MELT_STATE 1

  #define COOK_IDLE_STATE 2

  #define COOK_STATE 3
  
  #define COOL_STATE 4

  #define°F ILTER_STATE 5

  /*子状态*/

  #define CK_EOC_STEP 0x08

  /*Op模式(模式0不定义)*/

  #define MELT_MODE 1

  #define COOK_MODE 2

  /*加热模式*/

  /**不定义的EQU 0保持.OFF*/

  #define MELT_PULSE_MODE 1/*“熔化”模式期间发脉冲*/

  #define THSTAT_MODE 2/*恒温控制*/

  #define COLD_START_MODE 3/*用于燃气8头的“冷起动加热控制”*/

  #define PID_CONTROL_MODE 4/*″真实PID加热控制*/

  /*“恒温加热”模式常数*/

  #define THSTAT_ON_MIN 5*16 /*防止On和Off发出噪声*/

  #define THSTAT_OFF_MIN 5*16 /*当处于过渡温度时*/
        <!-- SIPO <DP n="42"> -->
        <dp n="d42"/>
  /*燃气装置额外的点火长度*/

  #define HEAT_IGNITE_100S 8

  /*熔化标志*/

  #define JUST_CAME_OUT 0x80

  #define CAME_FROM_COOL 0x40

  #define CAME_FROM_COOK_IDLE 0x20

  /*口令输入*/

  #define PASSWD INPUT 1/*用户输入口令*/

  #define PASSWD_CANCEL 2/*用户要让输入失效*/

  #define PASSWD_TIMEOUT 3/*用户用过长时输入口令*/

  #define PASSWD_INVALID 4/*用户输入无效口令*/

  #define PASSWD_VALID 5/*用户输入有效口令*/

  #define PASSWD_GO 6

  #define PASSWD_NO_GO 7

  /*口令编程*/

  #defineITEM_EXIST_STEP 1

  #define ITEM_ENTRY_STEP 2

  #define ITEM_REPEAT_STEP 3

  #define ITEM_GOOD_STEP 4

  #define ITEM_BAD_STEP 5

  /*KEY CODES*/

  #define NO_KEYO/*不按下开关*/

  #define KEY_NBR1  1

  #define KEY_NBR2  2

  #define KEY_NBR3  3

  #define KEY_NBR4  4

  #define KEY_NBR5  5

  #define KEY_NBR6  6

  #define KEY_NBR7  7

  #define KEY_NBR8  8

  #define KEY_NBR9  9
        <!-- SIPO <DP n="43"> -->
        <dp n="d43"/>
  #define KEY_NBR10 10

  #define KEY_FUNCTION 11

  #define KEY_EXIT_COOL 12

  #define KEY_EXIT_FILL 13

  #define KEY_SCAN 14

  #define KEY_TEMP 15

  #define MULT_KEYS 255/*(=-1)一个以上开关通过

  (要直接检索SwiSta)*/

  /*控制状态-用于控制处于AC断开状态时通知*/

  #define IN_OFF_BEFORE 0x40

  #define OFF_STATE 0x80

  /**编程限制**/

  /*正常食物:*/

  #define HI_TMPF 411 /*对任何F tmp>=HiTmpF,显示″Hi″

  */

  #define LO_TMPF 99  /*对于任何F tmp<=LoTmpF,显示″Lo″

  #define HI_TMPC 211 /*对任何C tmp>=HiTmpC,(211C=412F)显示″Hi″
 
  #define LO_TMPC 39  /*对任何C tmp>=Lo TmpC,(39C=102F)显示“Lo”

  */

  #define RDY_PLUS_LMTF 4 /*准备范围加、减极限*/

  #define RDY_MINUS_LMTF 2

  #define TOO_HIGH_ABOVE_TMPF 40 /*超出设定点40度示于“hi”并发出蜂鸣

  声*/

  #define MIN_MELT_EXIT_TMPF 175 /*熔化退出极限(170-195???)*/

  #define MAX_MELT_EXIT_TMPF 195

  #define MIN_CK_TMPF 200 /*烹调温度极限*/

  #define MAX_CK_TMPF 400
        <!-- SIPO <DP n="44"> -->
        <dp n="d44"/>
  #define MIN_CK_TMPC 93 /*摄氏极限*/

  #define MAX_CKT_MPC 204 /*???*/

  #define MIN_CK_MMSS 00*256+00 /*定时器最小值为0分0秒

  #define MAX_CK_MMSS 99*256+59 /*定时器最大值为99分59秒

  #define MIN_COOL_TMPF 90

  #define MAX_COOL_TMPF 275

  #define MIN_LC 0 /*负载压缩:0=″断开″设定*/

  #define MAX_LC 10

  #define MIN_PC 0 /*比例控制:0=″断开″设定*/

  #define MAX_PC 30

  #define MIN_FILT_CYC 0 /*过滤器过程0->99*/

  #define MAX_FILT_CYC 99

  #define°FILT_TRIG 9900

  #define MIN_HEAD_CNT 0

  #define MAX_HEAD_CNT 99

  #define MIN_MELT_CYCLE 0

  #define MAX_MELT_CYCLE 99*256+99 /*99.99*/

  #define MIN_MELT_ON 0

  #define MAX_MELT_ON 99*256+99

  /**其它:**/

  /*RTD AINP参数*/

  /*这些值用来对rtd输入建立模拟输入状态。对应于12位模-数读出,以12
位格*式给出模-数位电平。如果与“经过过滤的”模-数值比较,这些
常数要作

  *适当修正*/

  #define RTD_SHORT_AD 0x100

  #define RTD_OPEN_AD 0xF00

  #define RTD_LO_TMP_F-50
        <!-- SIPO <DP n="45"> -->
        <dp n="d45"/>
  #define RTp_HI_TMP_F 700

  /*校正值与极限*/

  /*两点校正的基准值*/

  #define RTD_CALIB_REFI_TMP_F 100

  #define RTD_CALIB_REF2_TMP_F

  /*对于两点校正的认可极限*/

  #define MIN_RTD_CALIB_RDGl_TMP_F(RTD_CALIB_REF1_
TMP_F-30)

  #define MAX_RTD_CALIB_RDG1_TMP_F(RTD_CALIB_REF1_
TMP_F+30)

  #define MIN_RTD_CALIB_RDG2_TMP_F(RTD_CALIB_REF2_
TMP_F-30)

  #define MAX_RTD_CALIB_RDG2_TMP_F(RTD_CALIB_REF2_
TMP_F+30

  /*校正y=m*x+b″公式的合理的极限*/

  /*m值是[12i:20f]/[12i:4f]=[16i:16f]格式*/

  /*b值与’y’值相同:[12i:4f]格式*/

  #define MIN_RTD_CALIB_M_VALUE((long)(0.8*0x010000))

  /*带16个额外f位的pad*/

  #define MAX_RTD_CALIB_M_VALUE((long)(1.2*0x010000))

  /*带16个额外f位的pad*/

  #define MIN_RTD_CALIB_B_VALUE(-50*0x0010)

  /*rtd b值是[12i:4f]*/

  #define MAX_RTD_CALIB_B_VALUE(50*0x0010)

  /*rtd b值是[12i:4f]*/

  /*用户偏差*/

  /*应用中,所有的“偏差”默认为0。工作温度与(校正的)传感器温度
相同。*/

  #define°FRYER_POT_TMP_USER_OFFSET_INIT 0

  #define TUBE_PROBE_TMP_USER_OFFSET_INIT 0

  #define CPU_TMP_USER_OFFSET_INIT 0
        <!-- SIPO <DP n="46"> -->
        <dp n="d46"/>
  #define MAX_POS_RTD_USER_OFFSET_F 15

  #define MAX_NEG_RTD_USER_OFFSET_F-15

  #define MAX_POS_CPU_USER_OFFSET_F 15

  #define MAX_NEG_CPU_USER_OFFSET_F-15

  #define SOFT_HI_LIMIT_TMPF 420

  /*现从常规探头输入通道读出“软件高限”并设置于420*/

  #define MIN_TUBE_HI_LIMIT_TMPF 400

  #define MAX_TUBE_HI_LIMIT_TMPF 700

  #define MIN_RTD_DIFFERENTIAL_TMPF 100

  #define MAX_RTD_DIFFERENTIAL_TMPF 400

  #define RTD_DIFFERENTIAL_TMPF 400

  #define TUBE_SOFT_HI_LIMIT_TMPF 550

  #define CTRL_AMB_OK_LMTF 160 /*高至160度F Ok--*/

  #define MAX_CALIBF 30 /*最大+/-RTD校正偏差(度F)*/

  #define MIN_RDY-LMTF 0 /*准备范围极限(过和欠设定点)*/

  #define MAX_RDY_LMTF 25 /*能够从设定点从O设置到25度F*/

  #define BRIEF_DROP_TMPF 10

  #define COLD_START_TMPF 200

  /*只有在装上老炼跳接线时才执行特别测试步骤。此步骤原为“电子组件”老*
炼和检查过程而设。希望在探头连接器上已安装了标准值探头模拟器(特殊温*
度的精密电阻器),且环境控制温度在室温范围内。*/

  #define PRB_CALIB_STDF 325 /*电子组件老炼与测试过程的标准探头模拟器
值*/

  #define IO_MIN_CALIBF 324 /*电子组件老炼与测试过程(w/探头模拟器)合
格/不合格步骤的最小rtd温度值*/

  #define IO_MAX_CALIBF 326 /*电子组件老炼与测试过程(w/探头模拟器)合
格/不合格步骤的最大rtd温度值*/

  #define IO_MIN_UNCALIBF 310 /*电子组件老炼与测试过程(w/探头模拟器)
合格/不合格步骤的最小rtd温度值*/
        <!-- SIPO <DP n="47"> -->
        <dp n="d47"/>
  #define IO_Max_UNCALIBF 340 /*电子组件老炼与测试过程(w/探头模拟器)
合格/不合格步骤的最大rtd温度值*/

  /**>>>*/

  #define IO_MIN_PRB_ERRAD 500.sh1.6 /*电子组件老炼与测试(w/探头模拟
器)合格/不合格步骤的最小原始rtd除法器值(模-数位)*/

  #define IO_MAX_PRB_ERRAD 600.sh1.6 /*电子组件老炼与测试(w/探头模拟
器)合格/不合格步骤的最大原始rtd除法器值(模-数位)*/

  /**>>>*/

  #define IO_MIN_CPU_TMPF 65 /*电子组件老炼与测试步骤合格/不合格步骤
的最小控制环境温度*/

  #define IO_MAX_CPU_TMPF 95 /*电子组件老炼与测试步骤合格/不合格步骤
的最小控制环境温*/

  /*PiD标志*/

  #define INITIAL_RATEO_ENTRY 0x80

  #define COLD_START 0x40

  #define COMING_FROM_MELT 0x20

  #define GAS_PAUSE_DONE 0x10

  /*机器类型*/

  #define GAS 0

  #define ELECTRIC 1

  /*“数学标志”*/

  #define POSITIVE TRUE

  #define NEGATIVE°FALSE

  #define NEGATIVE 0x80

  /*ERROR标志 *每类系统误差的位标志--b7=最高优先级,b0=最低优先
级*/

  #define ERR_TUBE_RTD 0x40 /*“燃气”油炸锅管子rtd误差*/

  #define ERR_TUBE_SOFT_HI_LMT 0x20 /*管子过温误差*/
        <!-- SIPO <DP n="48"> -->
        <dp n="d48"/>
  #define ERR_PRB_RTD 0x10 /*探头RTD误差(开路或短路)*/

  #define ERR_DATA_0x08 /*编程数据量化-检验和误差*/

  #define ERR_SOFT_HI_LMT 0x04 /*软件高限(过温)*/

  #define ERR_CTRL_AMB 0x02 /*“控制环境误差”(过温)

  (over-temperature)*/

  #define ERR_POT_LEVEL_SENSOR 0x01 /*在电源开关处于接通位置误差时,

  “排出口打开”*/

  #define TUBE_RTD_ERROR 1

  #define TUBE_SW_HILIM 2

  #define PRB_RTD_ERROR 3

  #define PRB_SW_HILIM 5

  #define POT_LEVEL_SENSOR_ERROR 7

  /*过滤器模式标志*/

  #define°F ILTER_MODE 0x01

  #define°F ILL_MODE 0x02

  /**----------------任务表--------------**/

  #define ATOD_TASK 0x80 /*b7表示读出和过滤模拟输入的时间,相同的

  Probe RTD和ERRor通道*/

  #define TMP_TASK 0x40 /*b6表示更新温度值的时间*/
 
  #define ERR_TASK 0x20 /*b5表示检查系统误差的时间*/

  /*SpkrReq*/

  #define USER_REQ 0x80/*用户IO运行设置成$80以请求spkr接通*/

  #define IN_USE 0x01

  #define STD_VOL_TONE 0x0505

  /*Burn in jumper*/

  #define BURNIN_OUT 0x01

  /*SFFFF最大读数之半*/

  #define HALF_MAX 0x8000

  #define INFINITE 0xFFFF

  /*多重状态*/
        <!-- SIPO <DP n="49"> -->
        <dp n="d49"/>
  #define ACTIVE 1

  #define STANDING_BY 2

  #define PR_SEL_DELAY 8 /*烹调过程,作为防止对食物选择键的偶然的

      双跳而起动不要求的烹调过程的一种手段。*/

  /*Scan标志*/

  #define BEGIN_SCAN_SEQUENCE 1

  #define SCAN_IN_PROGRESS 0x80

  /*BinTmr*/

  #define TMR_8HZ_BIT 0x01 /*此屏蔽可用于测试BlaTmr中或任何16赫兹

      定时器变量中的识别出的位*/

  #define TMR_4HZ_BIT 0x02 /*此屏蔽可用于测试BlaTmr中或任何16赫兹

      定时器变量中的识别出的位*/

  #define TMR_2HZ_BIT 0x04 /*此屏蔽可用于测试BlaTmr中或任何16赫兹

      定时器变量中的识别出的位*/

  #define TMR_1HZ_BIT 0x08/*16Hz decr-->b0上8Hz周期0-1-0-1等*/

  /*食物Leds*/

  #define PROD1_LED 0x80 /*用ProdLeds$[0]定义Prod1Led..Prod8Led*/

  #define PROD2_LED 0x40 /*用ProdLeds$[0]定义Prod1Led..Prod8Led*/

  #define PROD3_LED 0x20 /*用ProdLeds$[0]定义Prod1Led..Prod8Led*/

  #define PROD4 LED 0x10 /*用ProdLeds$[0]定义Prod1Led..Prod8Led*/

  #define PROD5_LED 0x08 /*用ProdLeds$[0]定义Prod1Led..Prod8Led*/

  #define PROD6_LED 0x04 /*用ProdLeds$[0]定义Prod1Led..Prod8Led*/

  #define PROD7_LED 0x02 /*用ProdLeds$[0]定义Prod1Led..Prod8Led*/

  #define PROD8_LED 0x01 /*用ProdLeds$[0]定义Prod1Led..Prod8Led*/

  #define PROD9_LED 0x80 /*用ProdLeds$[1]定义Prod9Led和Prod10Led*/

  #define PROD10_LED 0x40 /*用ProdLeds$[1]定义Prod9Led和Prod10Led*/

  /*其他Leds*/

  #define OTHERX1_LED 0x80 /*LED8-位数之左,右*/

  #define OTHERX2_LED 0x40 /*LED9-位位之左,右*/
  #define OTHERX3_LED 0x20 /*LED20-位数显示之间*/

  #define OTHERX4_LED 0x10 /*LED21-位数显示之右*/

  #define OTHERX5_LED 0x08 /*LED22-右边,项部*/

  #define OTHERX6_LED 0x04 /*LED23-右部,中间*/

  #define OTHERX7_LED 0x02 /*LED24-右边,底部*/

  #define OTHERX8_LED 0x01 /*(无定义)*/
        <!-- SIPO <DP n="50"> -->
        <dp n="d50"/>
  #define HEAT_LED_OTHERX8_LED/*″加热接通″*/

  #define°F UNCTION_LED_OTHERX7_LED/*功能Led*/

  /*RTD温度显示极限*/

  #define RTD_HI_TMPF 700/*对任何F tmp>HiTmpF显示“Hi”*/

  #define RTD_LO_TMPF 50/*对任何F tmp<LoTmpF显示“Lo”*/

  #define RTD_HI_TMPC 370/* /*对任何C tmp>HiTmpC显示“Hi”(370C=
698F)*/

  #define RTD_LO_TMPC 10/*对任何C tmp<HoTmpC显示“Lo”(10C=50F)

  */

  #define YES_ZERO 1

  #define NO_ZERO 0

  #define°FOUND OxFF

  #define MAX_PASSWD_LENGTH 13

  /*这些常数只用于Intro.C*/

  #define INIT_STEP 0

  #define VER_NBR_STEP 1

  #define PWRUP_ID_STEP 2

  #define REG_INTRO_TIME 32 /*32/16=每步2秒种*/

  #define SHORT_INTRO_TIME 12 /*12/16=每步3/4秒种*/

  /*特殊编程步骤(由Prg Step表示)*/

  #define ITEM_INTRO_STEP 1 /*引入(输入消息)*/

  #define ITEM_PRG_STEP 2 /*顶(参数)编程*/

  #define SAVE_TO_INTERNAL_EEPROM_step 3/*根据最后的程序改变节省项“列

  表”参数输入步骤(ItemStep)*/

  #define INITIALIZE 0

  #define DISPLAY_ORIGINAL 1

  #define PENDING 2

  #define BAD_VALUE 3

  #define GOOD_VALUE 4
        <!-- SIPO <DP n="51"> -->
        <dp n="d51"/>
  #define DONE 99

  #define ALL_DONE 100

  #define INITIAL_SAVE 1

  #define SECONDARY_SAVE 2

  /*工厂预置编程*/

  #define DEGREES_ITEM 0

  #define°F RYER_TYPE_ITEM 1

  #define PRODUCT_SIZE_ITEM 2

  #define SPEAKER_VOLUME_ITEM 2

  #define SPEAKER_FREQUENCY_ITEM 3

  #define PROGRAM_MODE_PASSWORD_PROGRAM_ITEM 4

  #define REVIEW_MODE_PASSWORD_PROGRAM_ITEM 5

  #define RESET_MODE_PASSWORD_PROGRAM_ITEM 6

  #define°FACTORY_PRESETS_PASSWORD_PROGRAM_ITEM 7

  #define APPLIANCE_TEST_PASSWORD_PROGRAM_ITEM 8

  #define HEAT_CONTROL_PASSWORD_PROGRAM_ITEM 9

  #define GLOBAL_FILTER_PASSWORD_PROGRAM_ITEM 11*/

  #define INIT_SYS_ITEM 10

  #define INTERNAL_EEPROM_SAVE_ITEM 11

  #define EXTERNAL_EEPROM_SAVE_ITEM 12

  /*“加热控制模式”*/

  #define MELT_EXIT_TEMP_ITEM 0

  #define MELT_CYCLE_PERIOD_ITEM 1

  #define MELT_CYCLE_ON_ITEM 2

  #define COOL_SETPOINT_ITEM 3

  #define AUTO_IDLE_ITEM 4

  #define AUTO_IDLE_TIME_ITEM 5
  
  #define COOL_PC_ITEM 6

  #define COOK_IDLE_PC_ITEM 7

  #define COLD_PC_ITEM 8

  #define INTEGRAL_GAIN_ITEM 9

  #define DERIVATIVE_GAIN_ITEM 10

  #define PID_PERIOD_ITEM 11

  #define MAX_INTEGRAL_LIMITS_ITEM 12

  #define MIN_ELECTRIC_PID_ONTIME_ITEM 13

  #define MIN_GAS_PID_ONTIME_ITEM 14

  #define MIN_PID_OFFTIME_ITEM_15 */

  #define BRIEF_OFF_100s_ITEM 9

  #define TUBE_HI_LIMIT_ITEM 10
        <!-- SIPO <DP n="52"> -->
        <dp n="d52"/>
  #define RTD_DIFFERENTIAL_ITEM 11

  #define HEAT_CONTROL_EEPROM_SAVE_ITEM 12

  /*用途“C”*/

  #define DAILY_STEP 1

  #define ACCUM_STEP 2

  #define°FIRST_STEP 1

  #define LAST_STEP 2

  /* “EOC退出状态”*/

  #define SETPOINT 0

  #define COOL 1

  #define°F ILTER 2

  #define OFF 0

  #define ON 1

  #define NO 1

  #define YES 0

  #define TWO_POINT_FIVE 0

  #define TWO_POINT_SEVEN_FIVE 1

  #define TECH_PASSWD_ITEM 1

  /*WR=写序列步骤,RD=读序列步骤*/

  #define SER_EE_IDLE 0 /*<-也在EEPROMs.H文件中定义*/

  #define SER_EE_WR_BEGIN 1

  #define SER_EE_WR_WRITING 2

  #define SER_EE_WR_DISABLE 3

  #define SER_EE_WR_COMPLETE 4 /*<-也在EEPROMs.H文件中定义*/

  #define SER_EE_RD_READING 5

  #define SER_EE_RD_COMPLETE 6/*<-也在EEPROMs.H文件中定义*/

  #define MAX_DEGREE_OPTIONS 2

  #define MAX_FRYER_OPTIONS 2

  #define MAX_SIZE_OPTIONS 2

  #define MAX_PRESS_OPTIONS 2
        <!-- SIPO <DP n="53"> -->
        <dp n="d53"/>
  #define MAX_DUR_OPTIONS 2

  #define MAX_EXIT_OPTIONS 3

  /*系统设定默认值*/

  #define DEFAULT_SPKR_VOL 10

  #define DEFAULT_SPKR_FREQ 1000

  #define DEFAULT_DEGC_MODE FALSE

  #define DEFAULT_MACHINE_TYPE GAS

  #define DEFAULT_PRODUCT_SIZE TWO_POINT_FIVE

  #define DEFAULT_MELT_EXIT_TMPF 185

  #define DEFAULT_MELT_CYCLE_100s 4000

  #define DEFAULT_MELT_ON_100s 1700

  #define GAS_MELT_CYCLE_100s 4000

  #define GAS_MELT_ON_100s 1700

  #define ELECTRIC_MELT_CYCLE_100s 4000

  #define ELECTRIC_MELT_ON_100s 1000

  #define ELECTRIC_COOL_SETPT_TMPF 250

  #define DEFAULT_COOL_PC 0

  #define DEFAULT_COOK_IDLE_PC 15

  #define DEFAULT_COLD_PC 30

  /*特殊编程步骤(由TestStep表示)*/

  #define INTRO_STEP 1 /*引入(输入消息)*/

  #define ITEM_TEST_STEP 2 /*测试步骤*/

  #define MAX_TEST_ITEM 11 /*测试序列中的最后一项*/

  /*Tech IO测试项*/

  #define°F RYER_POT_CAL_2PT 1

  #define TUBE_PROBE_CAL_2PT 2

  #define OUTPUTS 3

  #define CALIB_REAL 4

  #define RTD_TEST 5

  #define AMBIENT_TEST 6

  #define LED_TEST 7

  #define KEYS_TEST 8

  #define COUNTS_LOG 9

  #define TECH_IO_PW 10

  #define TUB_PROBE_CALIB_REAL 11

  /*PID时限最小值*/
        <!-- SIPO <DP n="54"> -->
        <dp n="d54"/>
  #define MIN_PID_ONTIME 20

  #define MIN_PID_OFFTIME 20

  #define MIN_INTEGRAL_LIMIT 0

  #define MAX_INTEGRAL_LIMIT 9999

  #define MIN_PID_PERIOD 200

  #define MAX_PID_PERIOD 9999

  #define MIN_GAIN 0

  #define MAX_GAIN 9999

  #define MAX_GAS_BAND 8

  #define MAX_TREND_INDEX 2

  #define°F ALLING_TOO_FAST 2

  #define RISING_TOO_FAT-2

  #define STEADY 0

  #define°FALLING_SLOWLY 1

  #define°FALLING_RAPIDLY 2

  #define RISING_SLOWLY 3

  #define RISING_RAPIDLY 4

  /*通信*/

  #define COM_INIT 0

  #define COM_OFF 1

  #define COM_READY 2

  #define COM_SENDING 3

  #define BAUD_9600 0x04 /*当应用10MHz振荡器时,为9600波特*/

  #define BAUD_4800 0x05 /*当应用10MHz振荡器时,为4800波特*/

  #define BAUD_2400 0x06 /*当应用10MHz振荡器时,为2400波特*/

  #define BAUD_1200 0x07 /*当应用10MHz振荡器时,为1200波特*/

  #define BAUD_RATE_INIT  BAUD_9600

  #define COM_SEND_BUF_SZ 90

  #define COM_DATA_TEXT_SZ 85 /*至少80字符+CR/LF的空间*/

Claims (22)

1.一种用于加热烹调材料的烹调器具(101),包括:容器(104),至少一个第一加热元件(106);以及加热装置(114,116,120),其特征在于
所述容器分成加热区(108)、过渡区(112)和冷区(110);
所述烹调材料放入所述容器之内,并且所述烹调材料分成所述加热区(108)、所述过渡区(112)和所述冷区(110);
所述第一加热元件(106)加热所述加热区(108)中的烹调材料;
所述加热装置(114,116,120)加热所述过渡区(112)中的烹调材料。
2.如权利要求1所述的烹调器具,其特征在于,所述加热装置(114,116,120)包括将混合媒质引入所述过渡区(112)中的所述烹调材料的泵(122),由此使所述加热区(108)中的所述烹调材料与所述过渡区(112)中所述烹调材料混合,使得所述过渡区(112)中的所述烹调材料的温度上升,而所述冷区(110)中的所述烹调材料不受所述混合的扰动。
3.如权利要求2所述的烹调器具,其特征在于,所述混合媒质是空气,由此使所述加热区(108)中的所述烹调材料与所述过渡区(112)中的所述烹调材料紊动地混合。
4.如权利要求2所述的烹调器具,其特征在于,所述混合媒质是由所述泵(122)从所述过渡区(112)抽出然后再引入所述过渡区(112)的一部分所述烹调材料,从而在所述过渡区(112)中形成紊流。
5.如权利要求4所述的烹调器具,其特征在于,抽吸管(130)将所述过渡区(112)置成与所述泵(122)的进口相沟通,而回流管(128)将所述泵(122)的出口置成与所述过渡区(112)相沟通。
6.如权利要求5所述的烹调器具,其特征在于,所述抽吸管(130)经由三通定向流量阀(132)与所述泵(122)的所述进口相沟通,所述阀(132)引导从所述过渡区(112)中抽取的部分所述烹调材料进入和离开过滤器(126),由此从所述部分烹调材料中除去脆皮。
7.如权利要求1所述的烹调器具,其特征在于,所述加热装置包括至少一个辅助加热元件(114,116)。
8.如权利要求7所述的烹调器具,其特征在于,所述至少一个辅助加热元件(114,116)是电加热器。
9.如权利要求1所述的烹调器具,其特征在于,所述烹调材料是从包括起酥油与烹调油的组中选出的。
10.如权利要求1所述的烹调器具,其特征在于,进一步包括一个含有过滤器(126)的滤槽(124)与排放阀(107),从而通过所述排放阀(107)将所述烹调材料的至少一部分从所述容器(104)排到所述滤槽(124),并且通过泵(122)和回流管(128)将所述烹调材料的所述至少一部分再引到所述过渡区(112),由此在所述过渡区(112)中形成紊流。
11.如权利要求1所述的烹调器具,其特征在于,还包括回流管(128)、排放阀(107)、泵(122)和一个包含过滤器(126)的滤槽(124),从而将所述烹调材料的至少一部分通过排放阀(107)从容器(104)排到所述滤槽(124),并通过泵(122)和回流管(128)再引入过渡区(112),而所述回流管(128)还包括一个位于所述滤槽(124)与所述泵(122)之间的进气阀(150),使得可将空气引入所述过渡区(112),从而在所述过渡区(112)中形成紊流。
12.如权利要求11所述的烹调器具,其特征在于,所述进气阀(150)还包括一个阀排放(152),从而将所述进气阀(150)中的烹调材料排到所述滤槽(124)。
13.如权利要求11所述的烹调器具,其特征在于,所述进气阀(150)是一种电磁控制闸阀。
14.一种用于加热烹调材料的烹调系统(101),包括:容器(104),至少一个第一加热元件(106),加热装置(114,116,120),温度传感器(105),以及控制系统,其特征在于
所述容器(104)分成加热区(108)、过渡区(112)和冷区(110);所述烹调材料放入所述容器之内,并且所述烹调材料分成所述加热区(108)、所述过渡区(112)和所述冷区(110);
所述第一加热元件(106)用于对所述加热区(108)中的所述烹调材料加热;
所述加热装置(114,116,120)用于加热所述过渡区(112)中的所述烹调材料;
所述温度传感器(105)用于测量所述加热区(108)中所述烹调材料的温度;
所述控制系统包括至少一个时钟和一个处理器,处理器用于接收和存储加热所述过渡区(112)中的所述烹调材料的指令,使得当所述加热区(108)中的所述烹调材料的温度等于预定的加热区温度时,启动所述加热装置(114,116,120)。
15.如权利要求14所述的烹调系统,其特征在于,还包括一个测量所述过渡区(112)中所述烹调材料的温度的温度传感器,所述加热装置(114,116,120)在所述过渡区(112)中的所述烹调材料的温度等于预定的过渡区温度时不工作。
16.如权利要求14所述的烹调系统,其特征在于,启动所述加热装置(114,116,120)一段预定的时间间隔。
17.如权利要求14所述的烹调系统,其特征在于,所述预定的加热区温度等于烹调温度减去预定的温度差。
18.如权利要求14所述的烹调系统,其特征在于,所述控制系统包括一种空闲模式,在处于该模式期间,在每个预定的时间间隔内,启动所述加热装置(114,116,120)一段预定的时间间隔。
19.一种操作烹调器具的方法,所述烹调器具包括加热烹调材料的容器(104),所述烹调材料分成加热区(108)、过渡区(112)和冷区(110);其特征在于所述方法包括以下步骤:
测量所述容器中的所述烹调材料的温度;
把所述加热区(108)中的所述烹调材料加热到需要的烹调温度;以及
在所述过渡区(112)中的所述烹调材料内形成紊流,使所述过渡区(112)中的所述烹调材料与所述加热区(108)中的所述烹调材料相混合,使得所述过渡区(112)中的所述烹调材料的温度上升,而所述冷区(110)中的所述烹调材料不受所述混合的扰动。
20.如权利要求19所述的方法,其特征在于,所述紊流是通过将空气吸入所述过渡区(112)中的所述烹调材料而形成的。
21.如权利要求19所述的方法,其特征在于,所述紊流是通过将所述烹调材料的一部分从所述过渡区(112)抽出并再次引到所述过渡区(112)而形成的。
22.如权利要求19所述的方法,其特征在于,所述紊流是通过将所述烹调材料的一部分从所述容器(104)排出并再次引到所述过渡区(112)而形成的。
CNB971823456A 1997-08-18 1997-08-18 深油炸锅加热调节的设备与方法 Expired - Lifetime CN1144560C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB971823456A CN1144560C (zh) 1997-08-18 1997-08-18 深油炸锅加热调节的设备与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB971823456A CN1144560C (zh) 1997-08-18 1997-08-18 深油炸锅加热调节的设备与方法

Publications (2)

Publication Number Publication Date
CN1268878A CN1268878A (zh) 2000-10-04
CN1144560C true CN1144560C (zh) 2004-04-07

Family

ID=5178410

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB971823456A Expired - Lifetime CN1144560C (zh) 1997-08-18 1997-08-18 深油炸锅加热调节的设备与方法

Country Status (1)

Country Link
CN (1) CN1144560C (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9814355B2 (en) * 2013-11-12 2017-11-14 Henny Penny Corporation Pressure assist feature for pressure fryer
CN111110006B (zh) * 2018-10-31 2021-06-01 佛山市顺德区美的电热电器制造有限公司 食物加热设备的控制方法、设备、烹饪器具和存储介质
CN114811683B (zh) * 2022-04-08 2023-06-20 宁波方太厨具有限公司 一种烹饪装置的控制方法

Also Published As

Publication number Publication date
CN1268878A (zh) 2000-10-04

Similar Documents

Publication Publication Date Title
CN102960055B (zh) 精密多级可编程电磁炉装置、系统、方法及计算机编程性产品
AU2011279548A1 (en) Multi cooker
KR102428734B1 (ko) 튀김 음식을 제조하기 위한 전기 요리 기기
CN1255071C (zh) 电加热器
AU1216899A (en) Automatic cooker having a card-type controller for controlling cooking conditions according to cooking data stored in a removable control card
KR20030014268A (ko) 정보를 수신하여 수신 정보에 의거하여 동작하는 전자렌지 시스템과 전자 렌지
CN107251646A (zh) 灶具
CN1144560C (zh) 深油炸锅加热调节的设备与方法
JP4976937B2 (ja) 加熱調理器
CN110537826B (zh) 烹饪设备控制方法、装置、存储介质及烹饪设备
CN100484447C (zh) 电饭煲
CA2887277A1 (en) Programmable heating circulator
CN210697157U (zh) 烹饪设备
CN108236342A (zh) 烹饪设备及其掉电之后的控制方法和装置
US6489596B2 (en) Quantitative cooking device
EP0783861A1 (en) Electrically-heated appliance
CN113729509B (zh) 一种烹饪器具及其烹饪控制方法、装置、存储介质
EP0588107A1 (en) Method for function definition and control unit device for an oven
CN206080207U (zh) 炒菜智能灶
ES2941516T3 (es) Sistema de preparación de alimentos
CN114568951A (zh) 烹饪器具的控制方法、控制装置、控制器及烹饪器具
JP2006085958A (ja) 加熱調理器
WO1999008582A1 (en) Apparatus and method for heat regulation of deep fat fryer
CN205679984U (zh) 多用智能灶
CN205669827U (zh) 多用群团智能灶

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20040407

CX01 Expiry of patent term