实时管控APP往往帮助人们处理实时发生的事件,从而体现出智能的特征。这样的软件,平时往往处于休眠状态。相关事件发生后,计算机会启动这个APP、响应特定的事件。在日本企业里,这些事件被称作做启动要因。当然,时间本身可能就是一个启动要因,这样就可以定时启动APP的运行。定时启动的时间周期可以短至秒级、毫秒级,体现了APP的实时性。如下图所示。
启动要因发生,往往意味着生产状态发生了改变。如生产事件发生、工艺参数异常、产品种类变化等。这些事件往往是需要进行管理的。管理的方法就是改变控制逻辑或参数,比如调整工艺参数目标值。启动要因触发APP后,往往要重新读取一些与事件相关的工艺参数、计算参数。例如,产品发生变化时,要读取与这个产品相关的控制标准。而这些数据往往来自管理系统和模型参数库。另外,在APP的运行过程中,往往完成实时控制功能,需要采集实时数据。这些实时数据往往来自设备或自动化系统。由此可见,APP的运行往往要以数据集成为前提。运行APP的平台,既需要读取设备实时数据,又需要读取管理系统的数据。
开发实时控管APP可能会遇到两种典型的麻烦。
首先是有实时性要求的底线。管控APP往往需要实时地给出计算结果,计算量大时就会影响管控的实时性。开发相关算法时,既要降低计算量又要提高精度。为此,对软件开发者的数学和算法素养要求较高。但幸运的是:随着计算机性能的提升,这个麻烦逐渐消失了。其次是数据质量经常出现问题。典型问题包括误差大、通信不畅、时序混乱、人为干预等。在可以预见的未来,这些问题是难以彻底消除的,是APP开发的常见困难。
用于实时管控的工业APP大体有两类应用方式:一种是自动控制的、一种是操作指导的。前者是APP直接输出控制指令。后者输出供操作工参考的数据,最终的控制指令是人下达的。
自动控制APP需要自动识别、处置数据质量问题。无论现场出现任何问题、输入信息出现何种错误,都不允许出现严重的计算错误。这样,软件开发时的防错机制往往非常复杂。开发自动控制APP时,调试的困难大、现场测试的风险也大,对开发者的软件开发水平要求高。开发者往往需要反复地思考:系统运行时,可能出现哪些意外、错误、异常、歧义?如何识别这些问题、识别方法本身有没有问题?如何处置这些问题、处置方法有没有问题?
考虑上述问题时,必须要考虑到处理方法对最终结果的影响。一般来说,开发者首先要满足安全、稳定、可靠性要求,在这个基础上才会考虑优化APP的性能。相比之下,操作指导模型的开发要简单许多,因为操作工为最终的结果负责,软件系统承担的风险往往要小。
来源:微信号 蝈蝈创新随笔
作者:郭朝晖
该作品已获作者授权,未经许可,禁止任何个人及第三方转载。
楼主最近还看过