一种兼容多协议的MES数据采集系统及其方法
技术领域
本发明涉及自动化设备及数字化车间的智能制造技术领域,具体为一种兼容多协议的MES数据采集系统及方法。
背景技术
在目前的数字化车间内,制造执行系统(Manufacturing Execution System,以下简称“MES”)需要与各种各样的硬件设备进行通信采集生产数据。生产数据实时采集是MES中的重要环节,目前MES采集生产数据的通常做法是:MES开发前期确定MES软件与车间内硬件设备的通信方式、通信协议以及需要采集数据的种类、类型、采样周期等。MES软件开发完成后,部署到车间网络环境内使用,采集到的生产数据供MES使用。现有技术的不足之处在于:当车间内某台新设备不再支持系统中已有的通信协议时,需要重新开发MES软件,使其适应新的通信协议,然后将重新开发后的MES软件部署在车间网络内使用。每当有新协议MES无法解析时,都需要重新开发MES,不但增加了开发量,而且不利于MES进行统一的数据采集。
发明内容
针对上述缺陷,本发明提供了一种兼容多协议的MES数据采集系统及方法。
本发明采用的技术方案是:一种兼容多协议的MES数据采集系统,包括车间内执行生产活动的设备,设置在数字化车间内的MES系统;
还包括兼容多种通信协议的数据采集程序,所述的数据采集程序采集设备的生产数据,并预置常用通信协议的数据接口;
MES系统为下游的数据采集程序设有标准化数据采集接口,数据采集程序将各设备的生产数据采集后,按照MES定义的标准化数据采集接口规则解析为供MES使用的标准数据;设备的生产数据能且只能通过所述标准化数据采集接口传入MES系统;
所述的标准数据存储在数据库中,供MES系统实现其业务功能。
若数据采集程序支持现有设备的通信协议,设备的原始数据可以直接发送给数据采集程序;
若数据采集程序不支持现有设备的通信协议,数据采集程序允许开发者根据通信协议的报文规范及格式扩展现有的数据采集程序,使其支持新的通信协议。
进一步的,对于生产车间中的多种生产设备,数据采集程序按照既定的通信协议同时采集生产设备的生产数据,各个生产设备之间的数据采集独立进行;所述的数据采集程序将采集的生产数据按照MES定义的标准化数据采集接口规则,解析为供MES使用的标准数据,标准数据通过标准化数据采集接口传入MES系统并存储到数据库中。
一种兼容多协议的MES数据采集方法,包括车间内执行生产活动的设备,设置在数字化车间内的MES系统。
设置兼容多种通信协议的数据采集程序,所述的数据采集程序采集设备的生产数据,并预置常用通信协议的数据接口。
若数据采集程序支持现有设备的通信协议,设备的原始数据可以直接发送给数据采集程序。
MES系统为下游的数据采集程序设有标准化数据采集接口,数据采集程序将各设备的生产数据采集后按照MES定义的标准化数据采集接口规则解析为供MES使用的标准数据;设备的生产数据能且只能通过所述标准化数据采集接口传入MES系统。
若数据采集程序不支持现有设备的通信协议,数据采集程序允许开发者根据通信协议的报文规范及格式扩展现有的数据采集程序,使其支持新的通信协议;如此往复,使数据采集程序会兼容越来越多的通信协议。
MES系统的标准化数据采集接口收到数据采集程序发送来的数据后,将标准数据存储到数据库中,供MES系统实现其业务功能。
所述的标准化数据采集接口是MES预先定义的函数,属于MES的一部分,提供开发人员基于MES软件得以访问一组例程的能力。
在编写MES软件同时,需要编写标准化数据采集接口,编写步骤如下:
步骤1:标准化数据包通过标准化数据采集接口发送到MES系统;标准化数据包中有且仅有名称、类型、发送时间、实际数据四项内容。
步骤2:数据采集程序将解析后具有实际意义的数据,按照MES数据采集格式要求,转化为包含名称、类型、发送时间、实际数据的可以与MES标准化数据采集接口对接的数据格式,为下一步发送数据做准备。
步骤3:数据采集程序将符合标准化数据格式的数据通过标准化数据采集接口发送至MES。
扩展数据采集程序的步骤如下:
第一步,当数据采集程序不支持现有设备的通信协议时,设备发送的数据包无法被正确解析;
第二步,开发者需要明确新协议的报文规范及格式;协议数据包中包含但不限于协议类别、协议代码、数据长度及实际数据;同时,协议还会规定报文具体格式;
第三步,开发过程中,根据协议规范解析使用新协议发送的数据包,通过编写代码,使数据采集程序能够解释数据包中各个部分的数据所代表的含义;
第四步,扩展之后的数据采集程序支持新的通信协议,可以正确解析数据包内容,然后通过MES系统提供的标准化数据接口,将生产数据发送到MES系统。
进一步的,对于生产车间中的多种生产设备,数据采集程序按照既定的通信协议同时采集生产设备的生产数据,各个生产设备之间的数据采集独立进行;所述的数据采集程序将各设备的生产数据采集后按照MES定义的标准化数据采集接口规则解析为供MES使用的标准数据,标准数据通过标准化数据采集接口传入MES系统并存储到数据库中。
由于采用上述的技术方案,与现有技术相比,本发明的有益效果是:通过在MES中设置标准化数据接口和扩展数据采集程序,无论使用何种通信协议的硬件设备产生的生产数据,均可以通过数据采集程序,通过标准化数据接口传输到MES;并且,通过本发明的数据采集方法收集到的生产数据已经是标准化的数据,无论车间内使用何种类型的硬件设备、使用何种通信协议与MES通信,MES在收集到生产数据后可以直接提供给业务场景使用,无需重新开发、部署MES软件。
附图说明
图1是本发明的一种兼容多协议的MES数据采集方法的构成示意图。
图2是本发明的一种兼容多协议的MES数据采集方法的数据采集程序的示意图。
图3是本发明的一种兼容多协议的MES数据采集方法的扩展数据采集程序的示意图。
具体实施方式
下面结合附图,以应用于化工行业数字化车间的灌装机为例,对本发明的一种兼容多协议的MES数据采集系统和方法作进一步的说明:
在数字化车间设置MES系统;车间内有一台使用标准通信协议(OPC协议)通信的灌装机执行生产活动,同时产生相应的生产数据;
还包括兼容多种通信协议的数据采集程序,数据采集程序采集灌装机的生产数据,并预置常用通信协议(例如OPC协议等)的数据接口;
本发明中,首先,MES提供标准化的数据采集接口。标准化数据采集接口对数据的格式有严格的要求,目的是为了将各个不同类型设备的生产数据转化为可以供MES使用的标准数据,无论何种数据源产生的生产数据能且只能通过该准化的数据采集接口传入MES。
其次,数据采集程序兼容多种通信协议。数据采集程序中会预置使用OPC、ModBus、LonTalk、ODBC、BACnet等常用的通信协议采集各个硬件设备生产数据的接口。若数据采集程序支持现有设备的通信协议,设备的原始数据可以直接发送给数据采集程序;若数据采集程序不支持现有设备的通信协议,数据采集程序允许开发者根据通信协议的报文规范及格式扩展现有的数据采集程序,使其支持新的通信协议;如此往复,使数据采集程序会兼容越来越多的通信协议。
通过数据采集程序收集到的生产数据已经是标准化的数据,无论车间内使用何种类型的硬件设备、使用何种通信协议与MES通信,MES在收集到生产数据后可以直接提供给业务场景使用,而无需重新开发、部署MES软件。
MES系统为下游的数据采集程序设有标准化数据采集接口,按照MES定义的标准化数据采集接口规则,将各设备的生产数据格式化为供MES使用的标准数据。设备的生产数据能且只能通过所述标准化数据采集接口传入MES系统。
该灌装机将产生的生产数据发送至数据采集程序;
配置数据采集程序对该灌装机采集到的生产数据使用OPC通信协议进行解析;
当数据采集程序接收到数据时,数据采集程序根据OPC协议通信格式的定义,识别数据包前四位表示类别,其次四位表示数据代码标识,再次四位表示实际数据长度,最后是实际的数据内容(参见图2中设备1的“过程1”),将标准化数据包中的原始数据解析为具有实际意义的标准化数据。
本具体实施方式中,数据包即图1所示的过程2中将原始数据解析后具有实际意义的数据。
标准化数据采集接口如同其他应用程序接口一样,是MES预先定义的函数,属于MES的一部分,提供开发人员基于MES软件得以访问一组例程的能力。在编写MES软件同时,需要编写标准化数据采集接口,编写步骤如下:
步骤1:标准化数据包通过标准化数据采集接口发送到MES系统;标准化数据包中有且仅有名称、类型、发送时间、实际数据四项内容。
步骤2:数据采集程序将按照上述步骤解析后具有实际意义的数据按照MES数据采集格式要求,转化为包含名称、类型、发送时间、实际数据的可以与MES标准化数据采集接口对接的数据格式,为下一步发送数据做准备。
步骤3:数据采集程序将符合标准化数据格式的数据通过标准化数据采集接口发送至MES。
MES系统的标准化数据采集接口收到数据采集程序发送来的数据后,将数据存储到数据库中,实现MES中的业务功能。
在本具体实施方式中,车间内同时还有一台使用ModBus协议与MES通信的第二灌装机执行生产活动,并产生生产数据;
数据采集程序通过不同的进程,分别采集不同灌装机的生产数据。
首先配置数据采集程序对该第二灌装机使用ModBus通信协议对接收到的数据进行解析。该第二灌装机将产生的生产数据发送至第二数据采集程序,第二数据采集程序根据ModBus协议通信格式的定义,识别数据包前六位表示类别,其次八位表示数据代码标识,再次六位表示实际数据长度,最后是实际的数据内容,将标准化数据包中的原始数据解析为具有实际意义的数据。参见图2中设备2的“过程2”。
重复执行上述的步骤1、步骤2和步骤3,数据采集程序会将这台使用ModBus协议通信的灌装机的生产数据标准化后发送给MES软件的标准化数据采集接口,将数据存储到数据库中,实现MES中的业务功能。
在本具体实施方式中,车间内同时还有一台使用非标准的第三方设备自定义的协议“CustomProtocol”通信的灌装机执行生产活动,并产生生产数据。
同理,与之对应,配置数据采集程序通过不同的进程负责采集该第三灌装机的生产数据。该第三灌装机将产生的生产数据发送至数据采集程序,数据采集程序不知道协议“CustomProtocol”的定义,无法解析“CustomProtocol”发送来的数据,此时就需要扩展数据采集程序。参见图2中设备3的“过程3”。
用户根据MES提供的标准化数据采集接口,协议“CustomProtocol”的数据格式定义,通过编写扩展程序使数据采集程序能够支持“CustomProtocol”协议。
参见图3所示,扩展数据采集程序的步骤如下:
第一步,当数据采集程序不支持现有设备的通信协议时,设备发送的数据包无法被正确解析(参见图2所示),因此需要扩展现有的数据采集程序,使其支持新的通信协议;
第二步,开发者需要明确新协议的报文规范及格式;协议数据包中包含但不限于协议类别、协议代码、数据长度及实际数据;同时,协议还会规定报文具体格式;
第三步,开发过程中,根据协议规范解析使用新协议发送的数据包,通过编写代码,使数据采集程序能够解释数据包中各个部分的数据所代表的含义。
第四步,扩展之后的数据采集程序支持新的通信协议,可以正确解析数据包内容,然后通过MES系统提供的标准化数据接口,将生产数据发送到MES系统。
在图2和图3所示的本具体实施方式中,当数据采集程序收到灌装机发来的数据包时,假设数据包的原始内容为“CustomProtocol00cp0020I am a newprotocol.”。根据协议“CustomProtocol”的约定,将原始数据包中的数据划分为四部分。第一部分是长度为14的数据,表示该协议的类型即“CustomProtocol”。第二部分是长度为4的数据,表示该协议的协议代码即“00cp”。第三部分是长度为4的数据,表示该协议的数据长度即“0020”。第四部分是长度为20的数据,表示该协议的实际数据即“I am a new protocol.”。
通过编写代码截取数据包的前十四位解析为协议类别,即“CustomProtocol”,接下来截取四位解析为协议代码标识,即“00cp”,接下来截取四位解析为数据包中实际数据长度,即“0020”,最后剩余二十位数据代表实际要发送的生产数据,即“I am a newprotocol.”。参见图3中“过程1”。
通过扩展数据采集程序,使程序能够支持通过“CustomProtocol”协议发送来的数据。通过以上步骤扩展数据采集程序,原本不支持“CustomProtocol”协议的数据采集程序可以解析使用“CustomProtocol”协议发送数据的设备,数据采集程序会根据“CustomProtocol”协议解析采集到的原始数据,将原始数据转化为有意义的数据。
重复执行上述的步骤1、步骤2和步骤3,数据采集程序会将这台使用“CustomProtocol”协议通信的灌装机的生产数据标准化后发送给MES的标准化数据采集接口,将数据存储到数据库中,实现MES中的业务功能。
同理,只要数据采集程序无法采集使用非标准的或第三方设备自定义的协议进行通讯的设备时,通过重复执行扩展数据采集程序步骤,数据采集程序会支持越来越多的通信协议。
长此以往,数据采集程序会不断扩展,支持越来越多的通信协议,做到兼容多种通信协议。同时,只需要扩展数据采集程序而不需要改变MES软件的任何代码,MES软件即可收集生产车间内所有设备产生的数据。
通过以上描述可知,无论生产车间内的硬件设备使用何种通信协议与MES进行通信,最终产生的生产数据均会以相同的数据格式与MES进行数据交互。MES利用标准化数据接口统一了不同设备的数据采集方式。同时,数据采集程序会不断的学习并兼容多种通信协议。每当有设备使用新协议需要与MES进行通信时,不再需要重新开发、部署MES软件。只需要通过扩展数据采集程序来适配新协议,越来越多的通信协议会被数据采集程序支持。该种方法相比于需要重新开发MES软件来适配新通信协议的方式,可以减少大量的开发、调试工作。
以上依据附图所示的具体实施方式详细说明了本发明的技术方案及作用效果,以上所述仅为本发明的较佳具体实施方式,但本发明不以附图所示限定其保护范围,凡是依照本发明的构想所作的变换或修改为等同变化的等效实施方式,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。