平台化的数据采集系统的制作方法

文档序号:15850077发布日期:2018-11-07 09:43阅读:205来源:国知局
平台化的数据采集系统的制作方法

本发明涉及工业数据采集技术领域,特别涉及一种平台化的数据采集系统。

背景技术

目前中国工业自动话处于起步阶段,新老设备并存,设备型号版本繁杂,造成采集难度大,很难兼容各种各样的设备。各种类型的设备对外开放的数据接口不统一,生成的数据格式不一致,没有一个统一的标准协议可以遵循去整合数据。设备运行产生大量的加工数据和工艺数据,数据量巨大给服务器和应用软件带来巨大的压力。同时由于设备种类的繁杂造成了采集程序的功能复杂性,采集软件的稳定性受到影响,异常问题不易于排查解决。数据采集系统是一个独立的应用系统与mes和erp的集成不灵活。

由于上述问题的存在,导致目前市面上大多数数据采集系统存在以下基本问题:

(1)采集兼容设备类型不全面;

(2)不同类型设备采集的数据类型差异性大标准不统一;

(3)对海量的量实时数据处理难度大;

(4)采集数据稳定性差;

(5)与mes和erp等上游软件集成困难;

(6)软件扩展性差。



技术实现要素:

本发明的目的旨在至少解决所述技术缺陷之一。

为此,本发明的目的在于提出一种平台化的数据采集系统。

为了实现上述目的,本发明的实施例提供一种平台化的数据采集系统,包括:设备通信模块、消息队列模块、数据采集器、数据处理服务模块和可视化大数据分析模块,其中,

所述设备通信模块用于与各个设备建立通讯,从每个所述设备中抓取设备状态数据,并发送至所述消息队列模块;

所述消息队列模块内置具有预设格式和优先级的消息链表,用于接收来自所述设备状态数据,并存储至所述消息链表中,进行数据缓存和数据转发;

所述数据采集器与所述消息队列模块连接,用于从所述消息队列模块中的数据,从无状态的数据整理并转义,生成有语义的数据,存储到数据库中,其中,所述数据采集器采用基于java开发语言开发的可执行程序,实现数据转义的功能就是通过java的脚本引擎处理已经配置好的javascript脚本实现输入原始的无状态的数据当做参数,然后返回有语义的数据;所述无状态的数据为直接从设备上采集的原始的设备状态数据,没有经过加工处理的数据;所述有语义的数据为对所述无状态的数据以预设规则运算生成的有语义信息的数据;

所述数据处理模块与所述数据采集器和所述数据库连接,用于根据业务需求将离散的数据进行整理分类汇总并固化,以提高数据展示性能;

所述可视化大数据分析模块与所述数据处理模块连接,用接收所述数据处理模块处理后的数据,并根据用户的需求配置展现数据分析报表。

进一步,所述设备通信模块抓取的设备状态数据,包括:设备当前的操作模式、正在执行的程序名、机床的进给、倍率,当前刀号、主轴负载以及坐标系列。

进一步,对消息队列有写权限的进程向所述消息队列模块中按照预设规则添加新消息;对消息队列有读权限的进程则从所述消息队列模块中读取消息,以实现请求转发。

进一步,所述数据处理模块内置有统计报表模块统计设备运行数据,并存储至所述数据库中。

进一步,所述设备运行数据包括:设备的运行效率、设备利用率、设备开机率和设备综合效率oee。

进一步,所述设备通信模块集成有多个数据采集单元,每个数据采集单元采用插件式设计。

本发明实施例的平台化的数据采集系统,采用平台化产品将数据采集系统,进行模块化分离,降低了软件的耦合性,提升了了软件的稳定性。并且,本发明支持插件式设计,可增量集成新的采集设备,不影响主体架构;通过基于业务的大数据处理模块,有效提升软件性能。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本发明实施例的平台化的数据采集系统的结构图;

图2为根据本发明实施例的平台化的数据采集系统的架构图;

图3为根据本发明实施例的机床状态统计示意图;

图4为根据本发明实施例的报警界面图;

图5为根据本发明实施例的利用率的界面图;

图6为根据本发明实施例的设备运行界面图;

图7为根据本发明实施例的效率分析的界面图;

图8为根据本发明实施例的运行效率走势图;

图9为根据本发明实施例的总利用率走势图;

图10为根据本发明实施例的设备实时信息全局图。

具体实施方式

下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

如图1和图2所示,本发明实施例的平台化的数据采集系统,包括:设备通信模块1、消息队列模块2、数据采集器3、数据处理服务模块和可视化大数据分析模块5。

具体的,设备通信模块1用于与各个设备建立通讯,从每个设备中抓取设备状态数据,并发送至消息队列模块2。

在本发明的一个实施例中,设备通信模块1抓取的设备状态数据,包括:设备当前的操作模式、正在执行的程序名、机床的进给、倍率,当前刀号、主轴负载以及坐标系列。

例如,从发那科(fanuc)系统的设备实时的抓取到设备当前的操作模式、正在执行的程序名、机床的进给、倍率,当前刀号、主轴负载以及坐标系列等相关信息。

在本发明的一个实施例中,设备通信模块1集成有多个数据采集单元,每个数据采集单元采用插件式设计。

具体的,这里描述的插件式的采集单元指的是独立的软件,例如工厂里有30台设备其中发那科的设备10台,西门子的设备10台,海德汉的设备10台,针对不同的设备类型通信方式是不同的,所以会有不同的通信模块采集不同的设备,不同的通信模块相互独立会不影响,但是最终数据都可以接入的采集系统中,增加,删除任何其中的一种类型,都不会的系统造成任何影响。

消息队列模块2内置具有预设格式和优先级的消息链表,用于接收来自设备状态数据,并存储至消息链表中,进行数据缓存和数据转发。图3为根据本发明实施例的机床状态统计示意图。图4为根据本发明实施例的报警界面图。

在本发明的一个实施例中,优先级主要表现进程按照一定的规则,例如先进先出,先进后出等,在消息链表中添加新的消息,而需要消息的进程可以从消息队列中获得所需的信息。消息队列和管道类似,消息被读走就没有了。

具体的,对消息队列有写权限的进程向消息队列模块2中按照预设规则添加新消息;对消息队列有读权限的进程则从消息队列模块2中读取消息,以实现请求转发。

在本发明的一个实施例中,消息队列就是一个消息的链表。可以把消息看作一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向消息队列中按照一定的规则添加新消息;对消息队列有读权限的进程则可以从消息队列中读走消息。消息队列就是靠这种机制实现请求转发。

具体的,设备通信模块1对消息队列具有写的权限,设备通信模块对于消息队列来说是消息的生产者,设备通信模块采集到的数据就会放在消息队列中。数据采集器是消息的消费者,数据采集器只从消息队列中取走数据,不会往消息队列中写数据,所以只有读的权限。

数据采集器3与消息队列模块2连接,用于从消息队列模块2中的数据,从无状态的数据整理并转义,生成有语义的数据,存储到数据库中。其中,无状态的数据为直接从设备上采集的原始的设备状态数据,没有经过加工处理的数据;有语义的数据为对无状态的数据以预设规则运算生成的有语义信息的数据。

例1:采集器可以采集到设备运行过程中实时加工参数如机床的操作模式,功率,进给等,这些参数随时可能发生变化,对与用户和使用者来说没有太大的指导意义,但是我们可以通过设定规则将这是数据组合生成新的数据,比如设备的运行状态就是通过逻辑判断生成的数据当操作模式为手动或者自动的情况下并且功率大于0,进给大于0表示设备在运行。具体公式

例2:采集器实时采集到的设备的功率,压力,f值等数据,并不是用户所关心的数据,当把这些数据按照规则统一汇总处理成按照产品加工连续的时间点,用来支持生成功率曲线和压力曲线等,对产品加工过程追溯,改善提升产品质量具有较大的帮助意义。

以下是本发明的具体实现思路:

数据采集器会实时(以一秒为例,可根据具体情况进行设置)的请求采集服务器,将得到的数据(当前功率、压力、负载等)按照每秒一条数据的方式存入数据库中,并按照每小时进行压缩成一条数据(包含本小时3600秒的数据),最小限度的占用数据库空间。压缩格式为:时间(年-月-日时:分:秒):”数据”;由于基于这种压缩模式,可灵活的适应多种控件进行快速解析、展示、利用等,由于数据压缩后存储到数据库中用户可随时查看各个时间段的无状态数据信息,生成相应的报表曲线(包括功率曲线、圧力曲线、负载曲线等其他相关信息)。

数据采集器3从消息队列中将无状态的数据整理转义生成有语义的数据存储到数据库中,无状态数据指的是直接从设备上采集的原始数据,没有经过加工处理的数据,对于用户来说可能没有实用价值。有语义的数据指的是根据特定的运算规则通过计算的方式得到的一个数据,其中计算的过程中需要通过一个或者多个无状态数据,将这些无状态数据带入到公式里面,最终返回一个有状态数据。例如:设备的运行状态是由开机+主轴负载大于0两种数据参数组合生成的一种状态。

在本发明的一个实施例中,本发明中的数据采集器3是基于java开发语言开发的可执行程序,实现数据转义的功能。其中,数据转义的功能就是通过java的脚本引擎进行处理已经配置好的javascript脚本实现输入原始数据作为参数,然后返回想要的结果数据。此部分过程调用的方法,代码如下:

需要说明的是,上述代码中涉及的参数意义如下:

stringmatoid表示对应的设备id;

map<string,string>map表示从此设备上采集上来的所有的数据集合;

stringformula,表示要执行的脚本;

stringdataitem,表示要进项转义的数据项;

datecrrentdate表示数据处理的时间。

此方法内部将传进来的javascript脚本formula进行格式化,然后关联对应的参数,最后执行此脚本并将返回的数据存储到数据库。

在该方法中的javascript脚本是在基础数据模块进行维护。例如:计算报警的脚本如下:

计算运行状态的脚本

计算开机状态的脚本

通过上述方式进行处理的优点是比较灵活,可以根据传入不同的参数就可以得到不同的结果,针对用户定制的需求,不需要调整现有的程序,只需要增加或者调整脚本即可满足需求。

需要说明的是,有语义的数据为通过运算规则生成的对用户有使用价值的数据。

数据处理模块4与数据采集器3和数据库连接,用于根据业务需求将离散的数据进行整理分类汇总并固化,以提高数据展示性能。

在本发明的一个实施例中,数据处理模块4内置有统计报表模块统计设备运行数据,并存储至数据库中。

在本发明的一个实施例中,设备运行数据包括:设备的运行效率(如图8所示)、设备利用率(如图5所示)、设备开机率和设备综合效率oee(如图7所示)。

具体的,数据处理模块4可以根据业务需求将离散的数据进行整理分类汇总并固化,从而提高数据展示的性能。

其中,分类汇总的依据,主要基于用户的需求,比如用户要查看最近一天的设备运行效率,设备的稼动率等需求,本发明会按照此类需求,将采集的数据按照运行效率的公式运行效率=运行时间/开机时间,将数据计算好存储到数据库,当用户在查看报表的时候将会加载提前算好的数据,效率非常快。

例如,统计报表模块需要统计设备的运行效率、设备利用率、设备开机率和设备综合效率oee等。从而为了提高报表展示的速度,可预先按照统计要求,将数据处理好,存储到数据库中,从而可以提供更好的用户体验。

可视化大数据分析模块5与数据处理模块4连接,用接收数据处理模块4处理后的数据,并根据用户的需求灵活配置展现数据分析报表。

具体的,数据可视化模块可以根据用户的需求灵活配置,展现数据分析报表。图6为根据本发明实施例的设备运行界面图。图9为根据本发明实施例的总利用率走势图。图10为根据本发明实施例的设备实时信息全局图。

本发明实施例的平台化的数据采集系统,采用平台化产品将数据采集系统,进行模块化分离,降低了软件的耦合性,提升了了软件的稳定性。并且,本发明支持插件式设计,可增量集成新的采集设备,不影响主体架构;通过基于业务的大数据处理模块,有效提升软件性能。

根据本发明实施例的平台化的数据采集系统,具有以下有益效果:

a)实时获知机床运行状态

通过设备电子看板和电子地图可以实时监控设备当前运行状态,以及加工信息;

b)准确定位、量化影响生产的各种问题

通过分析设备利用率和机设备状态反馈的数据等综合分析出设备产量低的制约因素;

c)科学分析生产瓶颈制约因素

通过大数据分析,找出设备利用率低,运行效率的制约因素,以及影响合格率的因素突破生产瓶颈;

d)有效提高机床利用率

e)为动态、准确地制定生产计划提供科学依据

f)为mes、erp等系统提供实时、可靠数据

g)各功能模块耦合性低,易于扩展,易于维护,稳定性好

平台框架支持接入各种采集设备,完全的兼容性,可兼容包括fanuc、siemens、heidenhain等在内的上百种控制系统;

h)统一的数据接口,不同的类型设备生成的数据格式一致

所有设备采集的数据按照统一的数据格式往外发送;

k)对海量数据进行压缩存储,业务数据经过处理转换,软件性能得到提升。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1