氢燃料电池作为未来新能源的发展方向,具有良好的发展前景。在相关政策和技术的支持下,氢燃料电池的商业化进程加快,相关产业迅速崛起。为积极应对氢燃料电池复杂多变的生产环境,企业急需采用MES系统变革现有的生产组织和管理模式,实现生产过程管控的数字化、透明化、精益化,做到生产过程精确、高效、科学的管理。位于MES系统和氢燃料电池自动化产线之间的数据采集系统,实现了二者之间的数据交互,并且有安全、实时、高效等优点。
1 智能制造对数据采集的需求
工业4.0的核心技术是信息物理系统(Cyber-Physical Systems,CPS),它通过集成先进的感知、计算、通信、控制等信息技术和自动控制技术,构建了物理空间与信息空间中人、机、物、环境、信息等要素相互映射、适时交互、高效协同的复杂系统,实现系统内资源配置和运行的按需响应、快速迭代、动态优化。
信息物理系统能够将感知、计算、通信、控制等信息技术与设计、工艺、生产、装备等工业技术融合,能够将物理实体、生产环境和制造过程精准映射到虚拟空间并进行实时反馈,能够作用于生产制造全过程、全产业链、产品全生命周期,能够从单元级、系统级到系统之系统(SOS)级不断深化,实现制造业生产范式的重构。
数据采集系统是一个高度集成、开放和共享的数据服务平台,能够实现工厂内各类装备、控制系统和信息系统的互联互通,以及物料、产品、设备与人的无缝集成,是实现从单个机器、产线、车间到工厂的工业全系统互联互通的重要基础平台,支撑数据流动,为打造万物互联的世界提供了基础和前提,是构建智能制造的基石。
2 系统架构
数据采集系统实现了MES系统与氢燃料电池自动化产线各种设备之间的实时交互,系统架构设计如图1所示。
图1 系统架构
3 氢燃料电池MES系统
3.1 相关概念
MES能通过信息传递,对从订单下达到产品完成的整个生产过程进行优化管理。MES是处于计划层和车间层操作系统之间的执行层,主要负责生产管理和调度执行。
3.2 模块功能
MES系统分为以下8个模块:
(1)基础数据:提供物料、产线、产品、员工、部门等基础资料的维护,是整个制造执行系统运行的基础。
(2)资源管理:对设备和工装进行基础数据维护、保养管理、故障报修等操作,这些资源是以后进行调度、派工等工作的基础,并直接影响生产计划安排。
(3)生产计划:新建生产计划并将计划下达到车间。
(4)车间调度:对生产计划进行调度,对订单进行修改、拆分,并将订单下发到产线。
(5)作业执行:在产线上对订单进行开始、停止、工序监控等操作,并进行异常的反馈和解除,设备状态、任务进度的查询等操作。
(6)过程质量:实现双向追溯,即物料到产品的追溯,产品到物料、生产批次的追溯。
(7)电子看板:支持各类LED、大屏等显示终端,对产线的生产任务、直通率、异常等信息进行动态显示。
(8)查询分析:提供各类统计分析功能,提供各类报表、饼图、柱状图等分析报告。
4 数据采集系统的设计与实现
4.1 数据库表设计
数据采集系统关键的数据库表设计如图2所示。
图2 关键数据库表设计
4.2模块功能
4.2.1网络通信连接模块
网络通信连接模块的主要功能是根据产线设备的通信方式,创建并配置该软件和产线设备进行信息传递的通道,例如:如果软件与设备之间采用基于TCP/IP协议网线接口,则该模块会根据用户设置创建相应的连接套接字(Socket)用于双方通信;如果软件与设备之间采用串行通信接口,则会创建并配置COM口通信。本模块的任务包括:对本地的网络接口进行初始化,并创建监听线程,对接入的设备进行监听,建立通信通道。
4.2.2 数据接收模块
数据接收模块是在通信已经建立的基础上,异步接收产线设备传输的数据,并根据不同的协议进行处理、拆分,将拆分后的数据分发给其他功能模块。本模块的任务包括:建立合适大小的接收数据缓存区,并根据不同的协议包头,对数据进行截取;将截取的数据分发给相应的模块进行处理操作。
4.2.3 数据发送模块
数据发送模块是在通信已经建立的基础上,实现不同通信的发送数据接口,供其他模块调用。本模块的任务包括:实现网口Socket、串行接口的发送接口Send();实现发送消息的功能接口;实现发送命令的功能接口。
4.2.4 数据解析模块
数据解析模块将从产线接收到的数据通过以下四个模块解析成四类信息:工序信息、设备状态信息、报警信息、产品清单信息。
(1)工序信息解析模块
工序信息解析模块的主要功能是接收设备上传的工序数据并做解析,生成产品清单号,提取工序开始时间与结束时间,并将工序数据记录存在Operation Data表中。
工序信息解析模块的处理流程如下:
①获取工序数据信息,对工序数据进行解析;
②解析获取工序号、工序开始标识、结束标识、工序检测结果;
③第一个工序根据订单号和流水号,生成产品清单号码;
④其他工序获取当前的产品清单号,并将订单号、工序的开始信息、结束信息、检测信息写入Operation Data表中。
(2)设备状态信息解析模块
设备状态信息解析模块的主要功能是对解析到的设备状态进行处理,并记录到数据库中。解析获取设备状态信息,与记录该设备状态的全局变量进行比较来判断该设备的状态是否有变化,若有变化,将变化填写至相应的数据库表(Facility Status)中,并更新全局变量的数值。
设备状态信息解析模块的处理流程如下:
①接收到设备状态信息,解析出设备站号、启停状态、运行状态、开关机状态;
②首次获取到信息后,将各个设备状态记录到全局对象中;
③将接收到的状态与全局对象中记录的状态相比较;
④如果一致,返回处理下一条状态数据;
⑤若不一致,则在Facility Status表中新增加一条状态信息,并更新全局对象中的内容。
(3)报警信息解析模块
报警信息解析模块的主要功能是接收报警数据,并对报警数据根据报警信息协议字段进行解析,同时将解析的报警数据进行处理,按照数据库表要求,记录至数据表中。
报警信息解析模块的处理流程如下:
①接收报警数据,解析提取报警ID、报警内容、设备站号、解决状态;
②根据报警ID和设备站号,查询Warning Type Info表获取设备ID;
③根据报警ID,查询Warning Info表中是否已经存在该报警;
④否,则将此报警信息插入到Warning Info中,包含报警类型ID、设备ID、报警内容、报警时间、Read Tag为未读;
⑤是,则判断解决状态是否为已经解决;
⑥若是,将此报警信息插入到Warning Info中,包含报警类型ID、设备ID、报警内容、报警解决时间、Read Tag为未读;
⑦若否,不做处理,表明该信息已经存在,返回处理下一条报警数据。
(4)产品清单信息解析模块
产品清单信息解析模块的主要功能是获取产品清单数据,解析订单号、物料二维码信息、物料类型信息,并生成产品清单号,将信息写入Install List数据库表中。物料二维码信息的采集可以分为两种方式,一种是由设备直接提供给服务器,由本采集软件进行解析;另外一种方式是由设备提供扫码信号,触发软件进行扫码,由本软件直接采集二维码信息,然后再处理,记录至数据库中。
4.2.5 数据处理模块
数据处理模块的功能是定时查询Mes Info表,获取最新的订单信息,并将订单生产信息下发给产线设备,信息包括订单号、生产数量、产品类型和开始生产命令。
本模块具体处理流程如下:
(1)定时查询是否有新的生产订单信息;
(2)若有,将订单信息发送给设备开始生产;
(3)若无,继续查询,重复步骤(1)。
4.2.6 数据库操作模块
数据库操作模块实现了软件对数据库的读写操作功能接口,包括数据库访问连接的建立,数据库表的增加、删除、修改、查询接口函数,方便对数据库的操作。本模块的任务包括:实现数据库连接建立的函数接口;实现针对不同数据表的增加、删除、修改、查询操作的通用接口和部分特定接口;根据数据库表,建立并初始化数据库表对应的字典类型的对象。
4.2.7 日志模块
日志模块能够记录数据采集软件中发生的事件信息,根据这些信息可以进行排错,并优化软件的性能。
5 结论
为了解决MES系统与氢燃料电池自动化产线的数据交互问题,本文提出了数据采集系统的实现方法,并对实现的系统进行了测试。测试结果表明,该设计实现有效地满足了数据交互的实时性、正确性,具有广泛的应用前景。