一种用于餐厅精确上餐时间的多机网络系统的制作方法
【专利摘要】本发明公开了一种用于餐厅精确上餐时间的多机网络系统,所述系统包括若干个餐桌模块、一个服务模块和一个厨房模块;采用本发明可以让顾客实时查看自己所有菜品的预计上餐时间,并且本发明可以修正大部分原因造成的估算误差,在兼顾操作简便性及成本的前提下,大大提高估算精度,上餐时间误差可以控制在两分钟之内;本发明通过设计人工服务请求并且精确了上餐时间,使餐厅服务人员的工作量大大减少,提高了工作效率和餐厅的服务质量。
【专利说明】一种用于餐厅精确上餐时间的多机网络系统
【技术领域】
[0001]本发明基于一套模块化的嵌入式系统,研究出了一种用于餐厅精确上餐时间的多机网络系统,属于计算机【技术领域】。
【背景技术】
[0002]随着城市化的进行,人们的生活节奏越来越快,对餐厅尤其是快餐厅的上餐时间也相应的关注度增高。在餐厅、饭店中,不时的见到顾客询问服务员“这个菜还要等多久才上? ”之类的话语,而服务员往往也只是应付说“马上”。顾客心中没底,服务员心中也没底,由此甚至会造成摩擦,继而可见顾客对上餐时间可见性的潜在需求。
[0003]目前这种可以估算上餐时间的算法或系统非常少。已有的上餐时间估算功能,也无非是人工输入每道菜统计时间,在用餐顾客较少或过多时,已有的算法或系统基本估算无效,就算正常用餐时误差也相当大,反而会给顾客和餐厅造成更大的困扰,并且由此对餐厅服务人员产生了很多不必要的工作,降低了工作效率和服务质量。
【发明内容】
[0004]本发明要解决的问题是提供一种用于餐厅精确上餐时间的多机网络系统,该系统适用于大部分中低档餐厅,能够为每一位就餐的顾客实时反馈精确的菜品上餐时间,并且减少了餐厅服务人员的工作量,提高了餐厅的服务质量。
[0005]为解决以上技术问题,本发明采用以下技术方案:
一种用于餐厅精确上餐时间的多机网络系统,所述系统包括若干个餐桌模块、一个服务模块和一个厨房模块。
[0006]以下是对上述技术方案的进一步优化:
所述餐桌模块包括一个感应模块,所述感应模块用来感应客户,并将客户准备就餐的信息发送到处理器;
处理器,所述处理器接收到信息并进行处理后,处理器向输出模块或无线通信模块发出信息;
输出模块,所述输出模块接收到处理器的信息后,向客户发出信息;
输入模块,所述输入模块用来输入点餐或其他服务信息,并将信息发送到处理器;
无线通信模块,所述无线通信模块接收到处理器的信息后,将信息发送到服务模块和厨房模块,另外可以接收服务模块和厨房模块的信息,并将信息发送到处理器。
[0007]所述服务模块包括一个无线通信模块,所述无线通信模块用来接收餐桌模块和厨房模块的信息,将信息发送到单片机,另外可以接收单片机的信息,将信息发送到餐桌模块和厨房模块;
单片机,所述单片机接收到信息并进行处理后,向输出模块或无线通信模块发出信息;
输出模块,所述输出模块接收到单片机的信息后,向服务人员发出信息; 输入模块,所述输入模块用来输入信息,并将信息发动到单片机。
[0008]所述厨房模块包括若干个单片机模块,所述单片机模块与厨师一一对应,用于向厨师发送信息和厨师输入信息;
总线,所述总线用于单片机模块和处理器的信息传输;
处理器,所述处理器接收到信息后对上餐时间进行处理,并向总线或无线通信模块输出信息;
无线通信模块,所述无线通信模块接收到处理器的信息后,将信息发送到服务模块和餐桌模块,另外可以接收服务模块和餐桌模块的信息,并将信息发送到处理器。
[0009]所述处理器对上餐时间进行处理,所涉及的参数及变量为:
M:参数,厨房能同时进行制作的最大菜品数量;
m:变量,初值为1,已经计算出上菜时间且未完成的菜品数量;
N:变量,当前正在计算上菜时间的订单中所需制作的菜品数量;η:变量,初值为1,在该订单的菜品数量N中正在计算上菜时间的第η道菜品,顺序由点餐顺序决定;
1:变量,初值为0,开机后已经计算出上菜时间的菜品总数量;
C1:变量,开机后每道菜品的编号,该编号是唯一的;
tc1:变量,完成编号为Ci的菜品所需要的预计时间,可为负,负值表示实际用时大于预计用时;
td:变量,总上餐时间的误差统计值,即每道菜品制作完成时tci数值;
POffEROFF:关机申请标志位,若该标志位为1,则系统关机,否则不执行任何功能。
[0010]所述处理器对上餐时间进行处理的步骤为:
步骤S101,所述多机网络系统开启;
步骤S102,对系统参数和变量进行初始化,确定参数M,将变量m初始化为I,将变量1、td初始化为O ;
步骤S103,判断订单队列是否为空,“是”则重复执行步骤S103,“否”则进入步骤S104 ; 步骤S104,提取出队首订单,读取该菜单中菜品数量N,并将η初始化为I ;
步骤S105,提取订单中第η道菜品,并编号为Ci;
步骤S106,变量m自增1,同时变量i自增I ;
步骤S107,判断m是否大于M,“是”则进入步骤Slll进行上菜时间的计算;“否”则进入步骤S108进行上菜时间的计算;
步骤S108,从数据库调取该菜品的统计时间赋值给tci,并将tci发回给餐桌模块; 步骤S109,判断η是否大于N,“否”则进入步骤SI 10,“是”则进入步骤SI 12 ;
步骤SI 10,变量η自增一,并进入步骤105 ;
步骤S111,采用变量tci的计算方法,将计算出的用时tci发回餐桌模块,并进入步骤S112 ;
步骤SI 12,刷新所有菜品的上餐倒计时tcO?tci ;
步骤SI 13,判断订单对列是否为空,“是”则进入步骤SI 14,“否”则进入步骤S104 ; 步骤S114,判断P0WER0FF是否为1,“是”则进入步骤S116,“否”则进入步骤S103 ; 步骤S115,关闭系统。
[0011]所述订单变化时,N值重新确定的步骤为:
步骤S201,厨房模块的无线通信模块接收到数据;
步骤S202,厨房模块的处理器解码,判断该数据包是否为订单,“是”则进入步骤S203,“否”则进入步骤S204 ;
步骤S203,将此订单加入到订单列表,生成新的订单菜品数量N ;
步骤S204,结束。
[0012]所述厨房模块中某菜品完成时,对tci进行误差纠正的步骤为:
步骤S301,菜品制作完成并触发中断;
步骤S302,获取该菜品的倒计时剩余时间tci,tci为负值表示菜品的实际完成时间晚于预计时间;
步骤S303,变量td的值增加tci ;
步骤S304,将tci清零且冻结该变量,使得该变量的值恒为O ;
步骤S305,判断总误差td是否在正负30s之内,“是”则进入步骤S308,“否”则进入步骤 S306 ;
步骤S306,误差时间大于30秒,等待队列中所有菜品的倒计时剩余时间加td ;
步骤S307,td清零;
步骤S308,变量m自减I ;
步骤S309,结束。
[0013]所述Slll步骤中对变量tci的确定步骤为:
设某时刻正在烹饪的M个菜的剩余出锅时间分别为tl,t2……tM,待计算时间的菜品在等待队列的第Q位,因此从点菜顺序上来说,该菜品前面有Μ+Q-l个菜,M个菜在烹饪中,Q-1个菜在等待队列里,变量tpq表示等待队列中第q个菜品的统计时间,I ^ Q;
步骤1,定义一个正在制作各个菜品的完成时间数列A={ti },即A={tl, t2…tx…tM},从中取最小值tx,并将tx值存储为txO,从数列A中剔除此最小值元素tx,将数列A= {ti}中的所有元素的值均减去txO,同时在A中添加新元素tpl,即q=l时的tpq ;
步骤2,在数列A中选取最小元素值tx,将tx存储为txl,从数列中剔除此最小值元素tx,将数列中所有元素的值减去txl,同时在A中添加新元素tp2,即q=2时的tpq ;
依次类推
步骤q,在数列A中选取最小元素值tx,将tx存储为tx(q-l),从数列中剔除此最小值元素tx,将数列中所有元素的值减去tx(q-l),同时在A中添加新元素tpq ;
依次类推
步骤Q,在数列A中选取最小元素值tx,将tx存储为tx (Q-1),从数列中剔除此最小值元素tx,将数列中所有元素的值减去tx(Q-l);
步骤Q+1,待计算时间的菜品的预计等待时间tci=txO+txl+......+tx (Q-1)+tpQo
[0014]本发明采用以上技术方案,具有以下有益效果:
采用本发明可以让顾客实时查看自己所有菜品的预计上餐时间,并且本发明可以修正大部分原因造成的估算误差,在兼顾操作简便性及成本的前提下,大大提高估算精度,上餐时间误差可以控制在两分钟之内。
[0015]本发明通过设计人工服务请求并且精确了上餐时间,使餐厅服务人员的工作量大大减少,提高了工作效率和餐厅的服务质量。
[0016]下面结合附图和【具体实施方式】对本发明作进一步说明。
【专利附图】
【附图说明】
[0017]附图1为本发明实施例中餐厅系统中各模块信息的交互图;
附图2是附图1中餐桌模块的构成图;
附图3是附图1中服务模块的构成图;
附图4是附图1中厨房模块的构成图;
附图5是计算上菜剩余时间的流程图;
附图6是订单入队的流程图;
附图7是上餐完成中断的流程图;
附图8是本发明实施例中的一个交互界面效果图。
【具体实施方式】
[0018]实施例1
如附图1所示,一种用于餐厅精确上餐时间的多机网络系统,由若干个餐桌模块、服务模块和厨房模块组成。系统内各个模块之间通过无线信道“连接”,无线通信协议可以采用W1-F1、Zigbee 等。
[0019]如附图2所示,餐桌模块包括餐桌处理器、无线通信模块、客户输入模块、感应模块和LCD及音频输出模块;
当客户在餐桌就位后,餐桌模块的感应模块感应到客户后,将信息发送到餐桌处理器,餐桌处理器发出指令,驱动LCD及音频输出模块输出信息提醒客户点餐,客户通过客户输入模块点餐完毕提交订单后,餐桌处理器通过餐桌模块的无线通信模块将订单信息发送到服务模块和厨房模块。
[0020]每个餐桌模块均为嵌入式系统,处理器一般为32位的嵌入式处理器,保证该模块有简便易懂的客户交互界面,使得顾客可以自主完成或者在服务员指导下完成点餐。
[0021]该模块主要完成了客户点餐功能,该模块位于每个餐桌上,客户入座后,该模块上的人体红外感应模块感应到客户后,将“客户已入座”的信息发送到处理器,处理器发出指令,驱动LCD和音频模块输出“欢迎”类信息,提醒客户点餐。客户通过触摸屏点餐。点餐完毕,客户选择提交订单后处理器通过无线通信模块将订单信息发送到服务模块及厨房模块。
[0022]如附图3所示,服务模块包括输入模块、单片机、IXD及蜂鸣器输出模块和无线通信模块;
服务模块的单片机通过服务模块的无线通信模块接收到来自餐桌模块或厨房模块的请求后,通过LCD及蜂鸣器输出模块输出信息通知服务人员,服务人员通过输入模块确认收到信息,信息输入到单片机,通过服务模块的无线通信模块反馈到餐桌模块或/和厨房模块。
[0023]服务模块为一个简单的单片机系统,单片机可以选用AVR等单片机。该模块收到来自餐桌模块的客户订单或来自厨房模块的菜品完成请求,或来自某模块的人工服务请求,服务员只需要简单点击一下按键,表示已收到此请求。
[0024]该模块完成了送餐及结算功能。该模块设置在餐厅的服务员聚集区,餐厅服务员在聚集区待命。
[0025]1、该模块收到客户提交的订单后,正在待命的服务员便前去收款。
[0026]2、该模块收到厨房模块已完成菜品的信号后,正在待命的服务员便前去厨房取餐,送至相应的顾客餐桌。
[0027]3、该模块也可以响应各个模块的“请求人工服务”的请求信号。
[0028]如附图4所示,厨房模块包括无线通信模块、处理器、总线和单片机模块;
厨房模块的处理器收到客户订单后,计算出订单中每一菜品的预计上菜时间,并将该时间发回餐桌模块,在菜品完成后,厨师通过单片机模块将完成信息通过总线发送到处理器,处理器通过厨房模块的无线通信模块通知服务模块,令服务人员前来取菜送至相应顾客的餐桌。
[0029]厨房模块为本系统的核心模块,其中的无线通信模块通过串口与处理器通信,餐桌模块与服务模块也是如此,因此可以及时发生处理器串口中断来保存客户订单。
[0030]该模块主要完成了计算菜品上菜时间的功能。该模块设置在厨房,由一个较高性能上位机及若干低成本下位机通过总线构成,其中各个下位机被安置在每个厨师面前,以备该厨师“领取任务”及“报告完成任务”。该模块收到客户订单后,处理器计算出订单中每一菜品的预计上菜时间,并将该时间发回餐桌模块。在菜品完成后,除了会修正上餐时间夕卜,该模块还会通知服务模块,令正在待命的服务员前来取菜送至顾客的餐桌。另外每个厨师对应一个下位机,因此该模块可以通过统计下位机的数量来确定核心算法中的M常量,M等于下位机数量。
[0031]如附图5、6、7所示,处理器对上餐时间进行处理,所涉及的参数及变量为:
某菜品的统计时间:使用的前提是统计出此餐厅中所有厨师计算每道菜的平均用时。比如该餐厅共有A、B、C三个厨师,他们对于做拔丝地瓜这道菜的用时分别为tA,tB,tC。则定义拔丝地瓜这道菜的统计时间为(tA+tB+tC)/3,并将此菜与其对应的统计时间加入数据库。
[0032]初始化:该系统开机后,默认所有厨师到位且空闲。根据厨房模块的总线系统中下位机的数量M,而确定厨师数量也为M。建立一个足够大的队列,命名为订单队列。包括开启串口中断及定时器中断。
[0033]订单队列:该队列是一个全局队列,存储顾客从餐桌模块发来的订单信息,且存储单位为订单。即从该队列队首提取信息时,每次取出一个完整的订单,该订单包含的菜品数量用变量N表示。
[0034]等待队列:当厨房中厨师均无空闲时,即此时顾客点的菜不能直接进入厨房烹饪,该菜被加入“等待队列”中。先进入队列中的成员先被取出。
[0035]M:参数,与餐馆硬件设备相关,该厨房能同时进行制作的最大菜品数量。
[0036]m:变量,初值为1,已经计算出上菜时间且未完成的菜品数量。
[0037]N:变量,与每份菜单中菜品数量有关,当前正在计算上菜时间的订单中所需制作的菜品数量。
[0038]η:变量,初值为I在该订单的菜品数量N中正在计算上菜时间的第η道菜品,顺序由点餐顺序决定。
[0039]1:变量,初值为0,开机后已经计算出上菜时间的菜品总数量。
[0040]C1:变量,开机后每道菜品的编号,该编号是唯一的。
[0041]tc1:变量,可为负,负值表示实际用时大于预计用时,完成编号为Ci的菜品所需要的预计时间,即上餐倒计时。
[0042]td:变量,总上餐时间的误差统计值,即每道菜品制作完成时tci数值。
[0043]P0WER0FF:关机申请标志位。当厨房模块的电源按钮被按下时,该标志位被置1,待程序运行到该标志位的判断语句时,若该标志位为1,则系统关机,否则不执行任何功能。
[0044]如附图5所示,为处理器对上餐时间进行处理,计算上菜剩余时间的流程图,该流程开始于步骤S101,实现多机网络系统开启功能。
[0045]在步骤S102,根据系统的需求和餐厅的硬件条件,对系统参数和变量进行初始化,根据餐厅厨房的硬件条件,确定用来描述能够同时制作的最大菜品数量的参量M ;将变量m初始化为I ;将变量1、td初始化为O。同时,开启串口中断、定时器中断。
[0046]在步骤S103,判断订单队列是否为空,“是”则重复执行步骤S103,“否”则进入步骤 S104。
[0047]在步骤S104,提取出队首订单,读取该菜单中菜品数量为N,并将η初始化为I。其中,η表示正在计算上菜时间的第η道菜品。
[0048]在步骤S105,提取订单中第η道菜品,并编号为Ci。变量i对应的所有元素依次组成一个单链表,表示今日厨房所做的菜品总数,方便进行数据统计。
[0049]在步骤S106,变量m自增1,表示即将进行新的一道菜品的上菜时间计算;同时变量i自增I。
[0050]在步骤S107,判断m是否大于M,“是”则表示正在制作的菜品数已经达到同时制作的最大菜品数,进入步骤Slll进行上菜时间的计算;“否”则表示正在制作的菜品数还未达到同时制作的最大菜品数,进入步骤S108,进行上菜时间的常规计算。
[0051]在步骤S108,从数据库调取该菜品的统计时间赋值给tci,并将tci发回给餐桌模块。
[0052]在步骤S109,判断η是否大于N,“否”则表示该菜单的菜品未全部制作完成,进入步骤SllO ;“是”则表示该菜单中的所有菜品均已制作完成,进入步骤S112。
[0053]在步骤S110,变量η自增一,并进入步骤105,表示即将进行计算菜单中下一道菜品的完成时间。
[0054]在步骤S111,此时,正在制作的菜品数已经达到同时制作的最大菜品数,所以采用变量tci的计算方法,将计算出的用时tci发回餐桌模块,并进入步骤S112。
[0055]在步骤S112,刷新所有菜品的上餐倒计时tcO?tci,表示该菜单的上餐时间已经计算完成,即将进行新订单的上餐时间计算。
[0056]在步骤S113,判断订单对列是否为空,“是”则进入步骤S114,“否”则进入步骤S104,开始新菜单的上餐倒计时计算。
[0057]在步骤S114,已经完成了所有菜单的上餐倒计时计算,判断P0WER0FF是否为一,“是”则进入步骤SI 16,“否”则进入步骤S103。
[0058]在步骤S115,所有指定完成,关机。
[0059]如图6所示,为订单入队的流程图,该流程为当餐厅中有新的订单产生时,N值重新确定的方法;
该流程开始于步骤S201,厨房模块的无线通信模块收到数据,引发厨房模块的处理器的串口中断。
[0060]在步骤S202,处理器解码,判断该数据包是否为订单,“是”则进入步骤S203,“否”则进入步骤S204。
[0061]在步骤S203,处理器已判断数据包为订单,将此订单加入到订单列表。
[0062]在步骤S204,结束订单入队算法。
[0063]当一道菜品完成时,对时间误差纠正的算法:
如图7所示,为上餐完成中断的流程图,该流程开始于步骤S301,餐品制作完成并触发中断。
[0064]在步骤S302,获取该菜品的倒计时剩余时间tci (i=±l、±2、±3......),tci为负值表示菜品的实际完成时间晚于预计时间。
[0065]在步骤S303,变量td的值增加tci,即将菜品的制作的实际用时与预计用时的误差tci加入到总误差时间td中。
[0066]在步骤S304,将tci清零且冻结该变量,使得该变量的值恒为O。
[0067]在步骤S305,判断总误差td是否在正负30s之内,即判断总上餐误差时间误差是否在30秒之内。“是”则进入步骤S308,“否”则进入步骤S306。
[0068]在步骤S306,误差时间大于30秒,等待队列中所有菜品的倒计时剩余时间加td,即将该误差时间加到其他菜单中各菜品的上餐倒计时中。
[0069]在步骤S307,td清零。
[0070]在步骤S308,变量m自减1,表示已经计算完一道餐品完成的误差时间纠正,即将进行计算下一道菜品的完成误差时间计算。
[0071]在步骤S309,结束误差纠正算法。
[0072]附:其中Slll步骤中变量tci的计算方法如下:
设某时刻正在烹饪的M个菜的剩余出锅时间分别为tl,t2……tM。待计算时间的菜品在等待队列的第Q位,因此从点菜顺序上来说,该菜品前面有Μ+Q-l个菜,M个菜在烹饪中,Q-1个菜在等待队列里,变量tpq表示等待队列中第q个菜品的统计时间,I彡q彡Q。
[0073]步骤I,定义一个正在制作各个菜品的完成时间数列A= {ti},即A= {tl,t2…tx…tM}。从中取最小值tx,并将tx值存储为txO,从数列A中剔除此最小值元素tx。将数列A= {ti}中的所有元素的值均减去txO,同时在A中添加新元素tpl (即q=l时的tpq)。
[0074]步骤2,在数列A中选取最小元素值tx,将tx存储为txl,从数列中剔除此最小值元素tx。将数列中所有元素的值减去txl,同时在A中添加新元素tp2 (即q=2时的tpq)。
[0075]依次类推
步骤q,在数列A中选取最小元素值tx,将tx存储为tx(q-l),从数列中剔除此最小值元素tx。将数列中所有元素的值减去tx(q-l),同时在A中添加新元素tpq。
[0076]依次类推
步骤Q,在数列A中选取最小元素值tx,将tx存储为tx(Q-l),从数列中剔除此最小值元素tx。将数列中所有元素的值减去tx(Q-l)。
[0077]步骤Q+1,待计算时间的菜品的预计等待时间tci=txO+txl+......+tx (Q-1) +tpQ。
[0078]如附图8所示,为采用本发明时某个客户点餐时显示的交互界面图。
[0079]采用本发明可以让顾客实时查看自己所有菜品的预计上餐时间,并且本发明可以修正大部分原因造成的估算误差,在兼顾操作简便性及成本的前提下,大大提高估算精度,上餐时间误差可以控制在两分钟之内。
[0080]本发明通过设计人工服务请求并且精确了上餐时间,使餐厅服务人员的工作量大大减少,提高了工作效率和餐厅的服务质量。
[0081]以上所述为本发明最佳实施方式的举例,其中未详细述及的部分均为本领域普通技术人员的公知常识。本发明的保护范围以权利要求的内容为准,任何基于本发明的技术启示而进行的等效变换,也在本发明的保护范围之内。
【权利要求】
1.一种用于餐厅精确上餐时间的多机网络系统,其特征在于:所述系统包括若干个餐桌模块、一个服务模块和一个厨房模块。
2.如权利要求1所述的一种用于餐厅精确上餐时间的多机网络系统,其特征在于:所述餐桌模块包括一个感应模块,所述感应模块用来感应客户,并将客户准备就餐的信息发送到处理器; 处理器,所述处理器接收到信息并进行处理后,向输出模块或无线通信模块发出信息; 输出模块,所述输出模块接收到处理器的信息后,向客户发出信息; 输入模块,所述输入模块用来输入点餐或其他信息,并将信息发送到处理器; 无线通信模块,所述无线通信模块接收到处理器的信息后,将信息发送到服务模块和厨房模块,另外可以接收服务模块和厨房模块的信息,并将信息发送到处理器。
3.如权利要求1所述的一种用于餐厅精确上餐时间的多机网络系统,其特征在于:所述服务模块包括一个无线通信模块,所述无线通信模块用来接收餐桌模块和厨房模块的信息,将信息发送到单片机,另外可以接收单片机的信息,将信息发送到餐桌模块和厨房模块; 单片机,所述单片机接收到信息并进行处理后,向输出模块或无线通信模块发出信息; 输出模块,所述输出模块接收到单片机的信息后,向服务人员发出信息; 输入模块,所述输入模块用来输入信息,并将信息发动到单片机。
4.如权利要求1所述的一种用于餐厅精确上餐时间的多机网络系统,其特征在于:所述厨房模块包括若干个单片机模块,所述单片机模块与厨师一一对应,用于向厨师发送信息和厨师输入信息; 总线,所述总线用于单片机模块和处理器的信息传输; 处理器,所述处理器接收到信息后对上餐时间进行处理,并向总线或无线通信模块输出信息; 无线通信模块,所述无线通信模块接收到处理器的信息后,将信息发送到服务模块和餐桌模块,另外可以接收服务模块和餐桌模块的信息,并将信息发送到处理器。
5.如权利要求4所述的一种用于餐厅精确上餐时间的多机网络系统,其特征在于:所述处理器对上餐时间进行处理,所涉及的参数及变量为: M:参数,厨房能同时进行制作的最大菜品数量; m:变量,初值为1,已经计算出上菜时间且未完成的菜品数量; N:变量,当前正在计算上菜时间的订单中所需制作的菜品数量;η:变量,初值为1,在该订单的菜品数量N中正在计算上菜时间的第η道菜品,顺序由点餐顺序决定; 1:变量,初值为O,开机后已经计算出上菜时间的菜品总数量; C1:变量,开机后每道菜品的编号,该编号是唯一的; tc1:变量,完成编号为Ci的菜品所需要的预计时间,可为负,负值表示实际用时大于预计用时; td:变量,总上餐时间的误差统计值,即每道菜品制作完成时tci数值; POffEROFF:关机申请标志位,若该标志位为1,则系统关机,否则不执行任何功能。
6.如权利要求5所述的一种用于餐厅精确上餐时间的多机网络系统,其特征在于:所述处理器对上餐时间进行处理的步骤为: 步骤S101,所述多机网络系统开启; 步骤S102,对系统参数和变量进行初始化,确定参数M,将变量m初始化为I,将变量1、td初始化为O ; 步骤S103,判断订单队列是否为空,“是”则重复执行步骤S103,“否”则进入步骤S104 ; 步骤S104,提取出队首订单,读取该菜单中菜品数量N,并将η初始化为I ; 步骤S105,提取订单中第η道菜品,并编号为Ci; 步骤S106,变量m自增1,同时变量i自增I ; 步骤S107,判断m是否大于M,“是”则进入步骤Slll进行上菜时间的计算;“否”则进入步骤S108进行上菜时间的计算; 步骤S108,从数据库调取该菜品的统计时间赋值给tci,并将tci发回给餐桌模块; 步骤S109,判断η是否大于N,“否”则进入步骤SI 10,“是”则进入步骤SI 12 ; 步骤SI 10,变量η自增一,并进入步骤105 ; 步骤S111,采用变量tci的计算方法,将计算出的用时tci发回餐桌模块,并进入步骤S112 ; 步骤SI 12,刷新所有菜品的上餐倒计时tcO?tci ; 步骤SI 13,判断订单对列是否为空,“是”则进入步骤SI 14,“否”则进入步骤S104 ; 步骤S114,判断P0WER0FF是否为1,“是”则进入步骤S116,“否”则进入步骤S103 ; 步骤S115,关闭系统。
7.如权利要求5所述的一种用于餐厅精确上餐时间的多机网络系统,其特征在于:所述订单变化时,N值重新确定的步骤为: 步骤S201,厨房模块的无线通信模块接收到数据; 步骤S202,厨房模块的处理器解码,判断该数据包是否为订单,“是”则进入步骤S203,“否”则进入步骤S204 ; 步骤S203,将此订单加入到订单列表,生成新的订单菜品数量N ; 步骤S204,结束。
8.如权利要求5所述的一种用于餐厅精确上餐时间的多机网络系统,其特征在于:所述厨房模块中某菜品完成时,对tci进行误差纠正的步骤为: 步骤S301,菜品制作完成并触发中断; 步骤S302,获取该菜品的倒计时剩余时间tci,tci为负值表示菜品的实际完成时间晚于预计时间; 步骤S303,变量td的值增加tci ; 步骤S304,将tci清零且冻结该变量,使得该变量的值恒为O ; 步骤S305,判断总误差td是否在正负30s之内,“是”则进入步骤S308,“否”则进入步骤 S306 ; 步骤S306,误差时间大于30秒,等待队列中所有菜品的倒计时剩余时间加td ; 步骤S307,td清零; 步骤S308,变量m自减I ; 步骤S309,结束。
9.如权利要求6所述的一种用于餐厅精确上餐时间的多机网络系统,其特征在于:所述Slll步骤中对变量tci的确定步骤为: 设某时刻正在烹饪的M个菜的剩余出锅时间分别为tl,t2……tM,待计算时间的菜品在等待队列的第Q位,因此从点菜顺序上来说,该菜品前面有Μ+Q-l个菜,M个菜在烹饪中,Q-1个菜在等待队列里,变量tpq表示等待队列中第q个菜品的统计时间,I ^ Q; 步骤1,定义一个正在制作各个菜品的完成时间数列A={ti },即A={tl, t2…tx…tM},从中取最小值tx,并将tx值存储为txO,从数列A中剔除此最小值元素tx,将数列A={ti}中的所有元素的值均减去txO,同时在A中添加新元素tpl,即q=l时的tpq; 步骤2,在数列A中选取最小元素值tx,将tx存储为txl,从数列中剔除此最小值元素tx,将数列中所有元素的值减去txl,同时在A中添加新元素tp2,即q=2时的tpq ; 依次类推 步骤q,在数列A中选取最小元素值tx,将tx存储为tx(q-l),从数列中剔除此最小值元素tx,将数列中所有元素的值减去tx(q-l),同时在A中添加新元素tpq ; 依次类推 步骤Q,在数列A中选取最小元素值tx,将tx存储为tx (Q-1),从数列中剔除此最小值元素tx,将数列中所有元素的值减去tx(Q-l); 步骤Q+1,待计算时间的菜品的预计等待时间tci=txO+txl+......+tx (Q-1)+tpQo
【文档编号】G06Q50/12GK104376516SQ201410748249
【公开日】2015年2月25日 申请日期:2014年12月10日 优先权日:2014年12月10日
【发明者】张一鸣, 邢智皓, 李政, 彭国豪, 王晶, 宋阳, 孙建清 申请人:张一鸣, 彭国豪