郭舸涵
美国新泽西州立罗格斯大学 美国 新泽西州
氧化铝生产属于轻金属冶炼,其产品是冶金级氧化铝,所服务企业是中铝公司某企业,年生产能力200万吨。氧化铝产品的品级直接导致市场售价高低,氧化铝生产流程复杂,一个生产周期时间长达5天左右,过程控制点,上下游关联工序多,各项工艺技术指标要求严格,过程控制指标尤其重要,过程控制分析依靠化学检测,形成技术报表,设计一套智能化的氧化铝数据平台是调度系统的核心,所有技术指标实现线上实时传送,各工序依据数据网络平台,能获得生产调整的参数,并及时做优化调整及液量平衡。并且满足对大数据的分析统计评价。
目前氧化铝厂的数据处理系统使用通用底层应用程序平台进行程序设计和扩展,局限性大、扩展能力差,因为受到底层应用程序平台的限制,程序运行效率低,在日常生产工作中主要体现在以下几方面:
1、氧化铝生产系统调整频率高,经常会依据生产需要,增添、更改流程,随之伴随对数据系统的更新,以往的程序耦合性强,局部修改容易造成其他功能的BUG,会影响程序使用,出现乱码、错位等现象,影响生产调整。
2、数据处理展示速度很慢。录入者在进行数据的增删改查时需要等待很长的时间。例如生产调度指挥人员要经常查询,统计大数据,来检验流程经济运行水平,每次查询数据都需要几分钟以上的时间。在执行复合指标计算时更是会占用大量的系统资源和时间,造成前台操作界面的假死卡顿。
3、界面显示功能不全面。氧化铝生产控制系统是24小时运行,2小时一批次化验结果,每班次有4批数据,无法在输入数据时,实时显示计算结果,并且不能在同一界面显示当班不同批次的数据,不便于录入者的查验比对。
4、数据报表的查询导出灵活性差,不能按照使用者的要求来进行设计,造成查询统计审验处理数据时,人工工作量大,需要一个考核部门,做专项的统计考核评价大数据。
本次设计做了颠覆性改进:在广泛收集原程序不足基础上,从三个层面:语言改变;界面改进;安全性改进入手。
首先采用B/S结构;编程语言升级,尽量使用开源免费资源达到整体设计目标。
C/S框架需要在客户机上安装客户端,大部分运算都在客户机中进行,因为现在所使用的客户机配置普遍很低,有的客户机还在使用10多年前单核心奔腾4CPU 跟512M 以下的内存,所以安装客户端和运行客户端都比较困难。B/S结构客户机使用网络浏览器为客户端,客户机只负责数据的渲染显示,对客户机的配置要求很低。老程序使用的就是C/S结构,造成程序运行缓慢、假死等情况。所以本次使用B/S结构。新程序前台语言使用JavaScript,后台语言使用Java,应用服务器使用Tomcat,数据库使用MySql。这些语言和工具在现在的工作和生活中都在大量使用,具有良好的性能和稳定性,并且都是开源免费的,对减少开发成本起到了一定作用。
其次优化操作界面层次、界面颜色;简化输入、提高输出功能;数据库查询快捷、强大复合指标运算功能。用户使用弊端:每次录入必须执行保存才能显示结果;当班不同批次不能在同一页面下显示;数据录入零碎,回车次数多,不规律
其三提升安全性能,达到运行稳定、持续、权限层级清晰
本次改进的原因是客户服务器崩溃,目前氧化铝厂均使用服务器作为载体,各生产流程工序、车间、专业等生产控制系统公用共享,风险大。使用一台服务器安全性能差,受限因素多,服务器受生产流程不间断的限制,不能任意更换,且存储量不断加载,导致容量缩小,存贮数据源每小时都在增加;生产系统经常出现不可控的停电,断网事件,导致程序无法启动运行,造成氧化铝数据库丢失,原程序受编写语言的限制,导致丢失的数据无法补录,无法人工修复数据库。
经过从程序语言的改进,大数据分析技术的运用,升级,增加系统功能性,达到了初始设计目的。
1、界面优化改进。点开项目时,从后台获取公式,输入时,前台进行计算,监视键盘操作,录入一个数字,就即时进行计算,不与后台交互,实现了输入数据立即计算并显示结果。
使用界面在老程序基础上进行优化,保持原有用户体验习惯,降低用户上手难度。
根据用户需求增加数据对比功能,通过为网页创建布局,分为三个区域,分别是,录入区域、当班查询区域、数据对比区域。在数据对比区域,展示实现不同批次,不同班次同一样品的对比。
在输入指标设定上,通过对以往历史大数据的分析,取消无用输入指标,进行整合,实现数据录入密集并且规则,每次录入伴随一次回车,便于录入者操作。
2、数据查询功能。通过加入分段查询功能,优化查询语句,使程序更能体现大数据大流量下的优势。查询数据量大时,进行分段查询,先展示小部分数据,再逐级加载,在大数据量和复杂数据查询上提速几十倍,大幅度减少用户等待时间,提升工作效率和用户体验。
作为生产控制指挥的核心报表,调度日报查询时间由120秒减到5秒钟。
数据的查询导出根据使用者要求进行设计,从数据库提取,通过POI插件,把数据整理成EXCEL表格进行导出,增加数据处理模块,程序可以根据使用者的需要,在大量数据中计算出样品的个数,轮班平均值,日平均值、月度平均值,合格率等考核指标。
3、安全性能。为解决发生老系统突发服务器崩溃后,系统无法恢复的问题,新系统的应用程序和数据库都会定期自动上传到云端,一台电脑执行服务器运算;一台电脑执行备份功能,一小时一备份,保证服务器出现问题或更换设备后,可以快速及时的恢复系统运行,保证数据的完整性。
设计程序已经稳定运营了530天,安全可靠快捷。期间用户区域停电3次,外网中断5次,均无数据的丢失情况。
4、拓展性能。新系统直接使用编程语言进行模块化设计,可以简便的添加功能、修改UI(用户界面)。老系统相当于用程序来设计程序,一些功能和显示效果受限于平台,无法实现。
案例:
按照客户需求:生产流程出现改动,增加了进口矿石低温溶出工艺,数据系统伴随需要增加低温系统的数据分析,为此可以自由在程序上做项目拓展。
新增加的低温溶出数据处理系统
5、成本对比。本次开发费用成本2万元,主要用于电脑配置,以及购买工具书、资料。
处理问题时间成本大大缩减,原程序框架只有编写人员能够修补,采用开放式语言后,可以使具备基础计算机机知识的人员培训后独立解决问题,客户不用再购买后期维护费用,实现自主维护。这套程序的全面投用,实现了客户氧化铝厂不再通过长城信息专业维护,维护费用零成本的目标,达到了技术、软件开发、运营过程全部自主化。这是氧化铝生产控制的一次创新。
6、数据统计系统。在前后台编写了10万条代码,涉及用户管理页面、角色管理页面、菜单管理页面;编写了报表输出、报表查询等35张页面;编写了曲线拟合、复合数据生成、绩效统计等500多个方法;数据库使用了角色表、权限表、车间技站对应表,菜单表、项目管理表等33张用户表。经过反复验证准确度,不断提升系统运行测试,已经提升到100%。
6.1 计算功能 氧化铝经济指标计算复杂,涉及到复合指标,由不同区域报表中的数据组成,还要追溯到3天前的过程指标,根据滞后班次、项目指标,在数据库查找相对应的数据,代入公式进行复合计算,实现了所有数据的运算功能
例如:跨班报区域计算,数据源是两个生产区域
E管循环效率=合格碱液(Nk)*(1/E 管溶出矿浆(ak)-1/合格碱液(ak))*1.645
例如:跨班次运算,跨越2个班次
E管溶出率=(1-E管溶出矿浆(AS)/E管高位矿浆(AS))*100
例如:跨天运算,跨越72小时
C组分解率=(1-C组精液(ak)/C-11(ak))*100
最终实现了67条复合数据计算功能
9条曲线拟合计算功能
6.2 数据处理功能,形成统计报表 根据用户需求,通过班报定制设计,项目分类,将零散的数据进行统计审核汇总,实现了客户6张区域数据班报体系,氧化铝生产各大区域可以简便快捷在各自区域的班报上查询关联数据。
根据用户需求,定置项目指标,随时更新的KPI技术指标控制范围。在数据库中获取当天三个班次处理后的平均数据,并计算出日均,月均,累计平均,形成综合性关键核心指标氧化铝调度日报,直接评估出当天运行效率,预测月度完成指标值。
6.3 数据统计功能 在数据库基础上,实现技术统计数据报表,直接导成excel统计表,成本核算统计部门简单快捷。
6.4 数据项目管理功能 对项目指标进行增删改查,定制公式,考核区间,标注和识别异常,设置权限,完成50条调度日报管理项目。
6.5 数据分析考核功能 根据数据统计部门业务需求,定制考核项目,以考核时间段,考核方式、考核标准,进行计算,获得相应的数据平均值,点样个数合格率,最终完成对大数据的分析。
通过与氧化铝业内的数据处理统计业务结合的尝试,找到了氧化铝数据处理系统的诸多瓶颈,在语言使用、框架、大数据统计收集评价分析方面做了拓展,更能贴合氧化铝对数据分析,指标优化,绩效考核的需求。完善功能,优化程序,提高运行效率,保证系统稳定高效运行。