立体仓库在生产制造业的应用已经有相当长的时间,随着社会的发展,信息技术的不断进步,立体仓库在实现自动化的基础之上,正逐步朝着智能化方向前进,在满足工作最低需求的基础上,用户对技术更新带来使用体验的重视程度也不断提高,而信息技术的更新加速了立体仓库智能化的进度。语音播报是指用自然语音将信息朗读输出来,是一种非常接近人类自然交互信息模式,极大地方便了人员获取信息,近些年已经广泛应用于工业、医疗、服务等行业。
以往的立体仓库设备发生异常报警,通常是由设备附近的报警器发出特定警声提醒维护人员进行故障处理。由于立体仓库的设备数量大,设备结构复杂,发生异常的种类众多,电气设备驱动的报警器难以使维修人员快速地定位异常发生点以及异常原因,所以在立体库运营期间经常会发生设备的异常导致立体库运行效率降低。本文依托于某医药企业的立体库改造项目,采用微软的TTS(Text To Speech)语音引擎,在Visual Studio平台下开发了适用于该企业立体仓库的设备报警语音播报系统。
近期某医药生产企业对其立体库的信息化系统进行了改造,本文主要针对立体库控制系统(Warehouse Control System,以下简称WCS)的改造工作,在新WCS系统试用期间,用户提出需求能否减少因设备报警而产生的中控室操作员和设备维护人员之间的交流。
原有的工作模式是立体库系统的设备产生异常后,有蜂鸣器在立体库空间内发出报警声音通知设备维护人员,由于整个立体库的占地面积较大,如图1,故障位置不易快速定位,听到报警声音后,维护人员需要通过对讲系统询问中控室的WCS操作员故障点的位置以及具体故障信息。得到WCS操作员反馈后,再对故障设备进行处理。交互过程参见图2。
在此交互流程模式下,如果中控室值班人员反馈信息不够及时,就会出现维修人员等待,设备故障不能及时处理的情况。如果在反馈故障信息时,个别文字发音相近或人员口音的原因,也可能导致维护人员对于反馈信息的错误理解。特别是该企业的立体库自2004年投入使用到2019年底已经运行了15年,现场机械设备的老化引起异常发生的频率较高,导致维修人员与中控室人员每天会因设备故障而产生多次的交互。如果传递信息的过程中多次发生信息的延迟或是信息的失真,对于整个立体库的运行效率都会产生不利的影响。
语音播报功能在工业中已有应用案例。文献[1]描述了一种基于科大讯飞嵌入式中文语音合成器开发的用于西门子S7-200系列PLC的功能扩展,是一种利用商业硬件模块实现的语音播报功能,但这种方式需要单独的采购硬件模块,同时还要对单片机、PLC的编程设计能力有一定的要求。文献[2]描述的分布式语音报警系统,适用于多现场或是大空间的环境,但基于串口通讯的硬件模块需要开发人员掌握串口编程的能力。考虑立体仓库的空间大,为保障生产原有的WCS系统不宜做改动,考虑在立体库空间增加一个广播系统,现有WCS负责底层PLC通讯[3],采集PLC信号,在设备产生报警时,通过信息系统发出语音提示并循环播放,通知设备维护人员进行后续的操作。当设备产生异常,PLC会向WCS发出代表设备异常的指令,指令中含有不同的编码,表示不同类型的异常。WCS接收到指令后,将编码转换成对应的文字显示在屏幕上,同时增加一个独立的将文字转换成语音输出的程序,该程序循环播放故障信息,直到故障设备恢复正常。新WCS系统是基于西门子WinCC平台的,主控制程序使用该平台的VBS脚本进行开发,这种脚本程序对于主程序的线程不易控制,所以语音播报功能使用微软的VisualStudio C#进行开发,作为一个单独的程序运行。具体的方案是WCS采集到设备的故障指令,将指令转换成汉字,写入到数据库的设备故障表中,语音程序周期性的查询设备故障表,将查询到的结果以字符串的格式显示在程序主界的TextBox中,然后利用微软的TTS语音引擎将TextBox的文字循环播放出来。
TTS包含在Windows Speech SDK开发包中,编程人员可以使用此开发包开发满足自己需求的程序。The Microsoft Speech API(以下简称SAPI)是微软的语音API,由Windows Speech SDK提供。Windows Speech SDK包含语音识别引擎(SR)和语音合成引擎(SS)两种语音引擎。SR引擎用来识别自然语音的输入,实现语音控制;SS引擎用于将文字转换成语音进行输出。
具体的程序中建立两个定时器,定时器1用来周期性的从数据库的设备故障表查询是否有故障信息,周期是固定的500 ms,如果查询有结果,将信息显示到程序窗口的TextBox中;定时器2用来周期性的播放TextBox中的故障信息,周期可以根据用户的选择来进行调节,为了方便用户操作,给用户提供了三个周期选项。另外提供播报时的语速调节功能,语速是利用SpVoice的Rate属性赋值,程序中设定为快、中、慢三挡,分别对应Rate的1,0,-2三个值,用户可以根据具体工作需要在程序的设置菜单中进行调整。程序运行后,初始化的语音播报周期(即定时器2)是1 min,播报语速(即spVoice.Rate值)是0。播放语音的代码
程序窗口中设置两个按钮,其中一个用来暂停、开始故障信息查询,此按钮被按下时,定时器1失效停止运行,窗口中的故障信息将会一直维持不变,此时操作员可以在textBox中手动输入将要播放的信息;另一个按钮通过控制定时器2的功能以实现暂停、开始语音播报。程序窗口界面如图3所示。
在用户使用语音播报程序之后,每日因为设备故障发生的工作交互次数大幅下降。设备产生故障后,维修人员在工作区内根据语音朗读的故障信息可以快速地到达故障点进行维修,循环播放的信息使人员不会错过任何一个故障,标准的发音也可以避免信息传递过程中的失真。
根据数据库中的设备历史故障记录表进行了一个故障统计,以每星期的5个工作日作为一个统计周期,连续的10个周期的记录,见表1。
表1 10个周期故障发生次数统计 下载原表
在过去的10个周期生产过程中,该立体库平均每天的故障次数是107次,10个周期平均的故障率为0.091,即平均每100个作业,设备就会产生约9次故障异常。可见这座运行了15年的立体库故障率较高,故每日因故障交互信息的次数较多。在没有语音播报系统的原有交互模式下,若多次出现反馈信息延迟或是信息失真,不仅会降低立体库系统的工作效率,可能还会产生不同部门人员之间的工作矛盾。假设未来该企业立体库继续保持现有的工作量运行,同时假设每次人员交互所需要的时间是0.5 min,平均107次/d的异常,语音播报系统的使用会减少53.5 min的人员交互时间。
设备故障的语音播报程序给企业现场人员带来良好的“用户体验”,且能有效提高维护人员的工作效率。在立体库系统中,信息的输出不仅仅局限在设备的异常范围,例如现有的入库口、出库口的托盘信息显示,也是一种需要现场人员关注的信息输出。现有的方式是在出入库口上方安置LED屏幕将托盘信息显示,这需要人员主动的看显示屏,如果这里设置语音播报功能,当托盘在出入库口时,由程序来播放托盘信息的语音,也可以给未在出入库口附近的工作人员提醒,尽快处理出入口上的托盘。所以语音播报的功能可以应用在企业生产运营的多种场景中。
标签:
上一篇: 金属制品立体仓库的设计
下一篇: 铝型材立体仓库货位分配优化