CN114817641B - 一种工业数据采集方法、装置及电子设备 - Google Patents
一种工业数据采集方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114817641B CN114817641B CN202210153873.0A CN202210153873A CN114817641B CN 114817641 B CN114817641 B CN 114817641B CN 202210153873 A CN202210153873 A CN 202210153873A CN 114817641 B CN114817641 B CN 114817641B
- Authority
- CN
- China
- Prior art keywords
- data
- read operation
- protocol
- production
- production process
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Communication Control (AREA)
Abstract
本申请涉及一种工业数据采集方法、装置及电子设备,该方法包括:获取交换机上传的数据包;根据预设的处理规则处理所述数据包得到第一生产过程数据,并记录到预设的生产数据历史表中;根据预设的判断规则,判断所述第一生产过程数据是否完整;若否,设置主动数据采集配置,获取第二生产过程数据,并记录到预设的生产过程数据历史表中;查询生产数据历史表,得到完整的生产过程数据。本申请具有减少不必要的重复读取工业生产设备内业务数据的操作,降低数据获取过程中对工业生产设备的计算能力消耗,提高工业生产系统稳定性的效果。
Description
技术领域
本申请涉及数据采集的领域,尤其是涉及一种工业数据监控方法、装置及电子设备。
背景技术
新一代信息技术与制造业深度融合的智能制造正在蓬勃发展,IT(信息技术)和OT(操作技术)的融合,迫切需要实现从生产自动化到生产实时监控和生产过程优化的转变。
IT和OT两化融合过程中,生产过程数据的获得是生产实时监控和生产过程优化的前提,目前,生产过程数据的获得一般通过主动数据采集的方式实现,对于已有生产环境进行主动数据采集的软件开发和网络通讯部署都可能是十分巨大的工作量;且部分生产自动化设备的计算能力有限,不能承载过多的数据访问请求,否则可能影响正常的生产过程。
发明内容
为了减少不必要的重复读取工业生产设备内业务数据的操作,降低数据获取过程中对工业生产设备的计算能力消耗,提高工业生产系统稳定性,本申请提供了一种工业数据采集方法、装置及电子设备。
第一方面,本申请提供一种工业数据采集方法,采用如下的技术方案:
一种工业数据采集方法,包括:
获取交换机上传的数据包;
根据预设的处理规则处理所述数据包得到第一生产过程数据,并记录到预设的生产数据历史表中;
根据预设的判断规则,判断所述第一生产过程数据是否完整;
若否,根据预设的设置规则,设置主动数据采集配置,获取第二生产过程数据,并记录到预设的生产过程数据历史表中;
查询生产数据历史表,得到完整的生产过程数据。
通过采用上述技术方案,通过交换机进行数据流量,实时接收交换机上传的数据包,根据预设的第一处理规则处理数据包得到第一生产过程数据,得到第一生产过程数据后,根据预设的判断规则判断第一生产过程数据是否完整,若否,则说明第一生产过程数据不是工作人员所要获取的全部生产过程数据,此时设置主动数据采集配置,通过主动数据采集的方式获取第二生产过程数据,将第一生产过程数据和第二生产过程数据添加到开始生产数据表中,从而得到工作人员所要获取的完整的生产过程数据,采用上述方式,充分利用实际生产环境中现有的通讯流量提取生产过程数据,减少不必要的重复读取工业生产设备内业务数据的操作,降低数据获取过程中对工业生产设备的计算能力消耗,提高工业生产系统稳定性。
可选的,所述获取交换机上传的数据包的方法,具体包括:
接收交换机上传的流量数据;
根据预设的工业协议信息提取数据流量中包含的数据包;
按提取的时间顺序存储所述数据包。
可选的,所述根据预设的处理规则处理所述数据包得到第一生产过程数据,并记录到预设的生产数据历史表中的方法,具体包括:
按照时间顺序依次读取所述数据包提取工业协议数据;
判断所述工业协议数据是否完整;
若是,判断所述工业协议数据是否为读操作请求数据;
若否,判断所述工业协议数据是否为读操作响应数据;
若是,提取所述读操作响应数据的操作序号,根据所述操作序号判断是否存在与所述读操作响应数据对应的读操作请求数据;
若是,根据预设的工业协议分析所述读操作请求数据确定起始地址和结束地址,并将所述起始地址作为第一待查询协议地址;
判断预存的生产数据定义表中是否存在所述第一待查询协议地址;
若是,根据所述生产数据定义表提取所述读操作响应数据中的第一生产过程数据,并记录到预设的生产数据历史表中。
可选的,所述判断所述工业协议数据是否为读操作请求数据,若是,该方法还包括:
提取所述读操作请求数据的操作序号;
根据所述读操作请求数据的操作序号存储所述读操作请求数据,并设置超时时间;
周期检测存储的读操作请求数据,超时时间后仍未获取与所述读操作请求数据对应的读操作响应数据,删除所述读操作请求数据。
可选的,所述判断预存的生产数据定义表中是否存在所述第一待查询协议地址,若否,该方法还包括:
将所述起始地址加1作为第一待查询协议地址。
可选的,所述根据所述生产数据定义表提取所述读操作响应数据中的第一生产过程数据,并记录到预设的生产数据历史表中的方法,具体包括:
根据第一待查询地址和预设的工业协议的类型,在生产数据定义表中确定第一目标数据;
根据生产数据定义表确定第一目标数据对应的数据类型、占用字节以及协议地址,并在生产数据定义表中添加第一目标数据的获取方式;
根据第一目标数据对应的数据类型、占用字节以及协议地址提取所述读操作响应数据中的第一目标数据对应的数值;
基于预设的确定规则,根据所述第一待查询协议地址和所述第一目标数据对应的占用字节确定第二待查询协议地址;
判断第二待查询协议地址是否超过结束地址;
若否,根据第二待查询地址和预设的工业协议的类型,在生产数据定义表中确定第二目标数据;
根据生产数据定义表确定第二目标数据对应的数据类型、占用字节以及协议地址,并在生产数据定义表中添加第二目标数据的获取方式;
根据第二目标数据对应的数据类型、占用字节以及协议地址提取所述读操作响应数据中的第二目标数据对应的数值;
……;
基于预设的确定规则,根据所述第(N-1)待查询协议地址和所述第(N-1)目标数据对应的占用字节确定第N待查询协议地址;
判断第N待查询协议地址是否超过结束地址;
若是,结束第一生产过程数据的获取,所述第一生产过程数据包括第一目标数据、第二目标数据、……、第(N-1)目标数据;
将所述第一生产过程数据记录到预设的生产数据历史表中。
可选的,所述根据预设的判断规则,判断所述第一生产过程数据是否完整的方法具体包括:
检查生产数据定义表,判断是否存在没有对应获取方式的数据;
若是,则判断第一生产过程数据不完整;
若否,则判断第一生产过程数据完整。
第二方面,本申请提供一种工业数据采集装置,采用如下的技术方案:
一种工业数据采集装置,包括:
获取模块,用于获取交换机上传的数据包;
处理模块,用于根据预设的处理规则处理数据包得到第一生产过程数据,并记录到预设的生产数据历史表中;
判断模块,用于根据预设的判断规则,判断所述第一生产过程数据是否完整;
设置模块,用于若否,根据预设的设置规则,设置主动数据采集配置,获取第二生产过程数据,并记录到预设的生产过程数据历史表中;
记录模块,用于查询生产数据历史表,得到完整的生产过程数据。
第三方面,本申请提供一种电子设备,采用如下的技术方案:
一种电子设备,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行的工业数据采集方法的计算机程序。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,存储有能够被处理器加载并执行的工业数据采集方法的计算机程序。
综上所述,本申请包括以下有益技术效果:
通过交换机进行数据流量,实时接收交换机上传的数据包,根据预设的第一处理规则处理数据包得到第一生产过程数据,得到第一生产过程数据后,根据预设的判断规则判断第一生产过程数据是否完整,若否,则说明第一生产过程数据不是工作人员所要获取的全部生产过程数据,此时设置主动数据采集配置,通过主动数据采集的方式获取第二生产过程数据,将第一生产过程数据和第二生产过程数据添加到开始生产数据表中,从而得到工作人员所要获取的完整的生产过程数据,采用上述方式,充分利用实际生产环境中现有的通讯流量提取生产过程数据,减少不必要的重复读取工业生产设备内业务数据的操作,降低数据获取过程中对工业生产设备的计算能力消耗,提高工业生产系统稳定性。
附图说明
图1是本申请提供的生产网络环境示意图。
图2是本申请提供的工业数据采集方法的流程图。
图3是工业协议数据组成逻辑图。
图4是第一生产数据采集完成后的生产数据定义表。
图5是第一生产数据记录完成后的生产数据历史表。
图6是完整的生产数据记录完成后的生产数据历史表。
图7是申请提供的工业数据采集装置的结构示意图。
图8是申请提供的电子设备的结构示意图。
附图标记说明:200、工业数据采集装置;201、获取模块;202、处理模块;203、判断模块;204、设置模块;205、记录模块;301、CPU;302、ROM;303、RAM;304、I/O接口;305、输入部分;306、输出部分;307、存储部分;308、通信部分;309、驱动器;310、可拆卸介质。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本申请保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请使用的所有术语(包括技术术语或者科学术语)与本申请所属领域的普通技术人员理解的含义相同,除非另外特别定义。还应当理解,在诸如通用字典中定义的术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
IT和OT两化融合过程中,生产过程数据的获得是生产实时监控和生产过程优化的前提;在获得生产数据时有两种情况我们必须考虑:第一,生产过程数据的获得一般通过主动数据采集的方式实现,对于既有生产环境,进行主动数据采集的软件开发和网络通讯部署工作量是十分巨大的;第二,部分生产自动化设备的计算能力有限,不能承载过多的数据访问请求,否则可能影响正常的生产过程,因此,针对现有生产环境进行生产过程数据提取,本申请提出了一种基于镜像流量提取和主动数据采集相结合的方法。
在现有的网络通讯中,如果包含与生产过程数据相关的数据流量,可以在流量交换网络设备,如交换机上设置流量镜像,将相关的数据流量镜像输出,按照预设的工业协议提取镜像流量内的生产过程数据。
图1示出了生产现场的生产网络环境示意图。参照图1,现有的生产网络环境包括人机界面、控制器PLC1、交换机、安全网关和控制器PLC2,人机界面通过预设的工业协议周期读取控制器PLC1的生产过程数据,交换机接收人机界面输出的读操作请求数据和控制器PLC1输出的读操响应数据,并设置镜像数据,将包含镜像数据的数据包传输至安全网关,安全网关根据预设的处理规则处理数据包从而获得第一生产过程数据,当获得的第一生产过程数据不完整时,安全网关可通过主动数据采集的方式从控制器PLC1内部读取少量的第二生产过程数据,同时对于原来没有周期读取数据操作的控制器PLC2则完全通过主动数据采集的方式获取第二生产过程数据,第一生产过程数据和第二生产过程数据形成完整的生产过程数据。
本申请实施例公开一种工业数据采集方法。参照图2,工业数据采集方法包括:
S101:获取交换机上传的数据包。
具体的,安全网关接收交换机上传的镜像数据并根据预设的工业协议信息,即TCP端口提取镜像数据中包含的数据包,数据包中包括工业协议数据,工业协议数据为读操作请求数据或读操作响应数据,提取镜像数据中的数据包后,按提取数据包的时间先后依次存储数据包,即存储的每一数据包都对应有获取到该数据包的时间。
S102:根据预设的处理规则处理数据包得到第一生产过程数据,并记录到预设的生产数据历史表中。
参照图3,具体的,安全网关获取到数据包后,根据获取到数据包的时间先后顺序,依次读取每一数据包提取工业协议数据,并判断工业协议数据是否完整,若否,则直接删除该数据包,若是,则判断工业协议数据是否为读操作请求数据,读操作请求数据包括起始字节、字节长度、操作序号、读请求功能码、起始地址以及读取数量。
若是,提取该读操作请求数据对应的操作序号,操作序号对应的是读操作请求数据中第三个字节对应的数据,即读取读操作请求数据中第三个字节对应的数据,以操作序号作为该读操作请求数据的标识,存储该读操作请求数据,并对该读操作请求数据设置超时时间,当超过超时时间仍未获得与该读操作请求数据对应的读操作响应数据时,则删除该读操作请求数据,通过采用上述方法,减少过多的存储数据占用系统资源,导致安全网关不可用的情况出现。
可以了解的是,判断工业协议是否完整一般包括验证起始字节、长度、检验和等信息,根据不同的工业协议的特征进行提取,具体的验证方式可根据选择的工业协议类型具体确定,验证方法为本领域技术人员公知的技术手段在此不做过多赘述。
进一步,判断工业协议数据是否为读操作请求数据的方法,具体为:
参照图3,读操作请求数据均对应一个读请求功能码,本实施例中,将读请求功能码定义为3,且读请求功能码对应读操作请求数据中第四个字节对应的数据,即当获取的到工业协议数据后,读取工业数据中第四个字节对应的数据,当读取到的数据为3时,则判断工业协议数据为读操作请求数据。
判断工业协议数据是否为读操作请求数据,若否,则继续判断工业协议数据是否为读操作响应数据,读操作响应数据包括起始字节、字节长度、操作序号、读响应功能码、协议地址0-4。
参照图3,判断是否为读操作响应数据的方法具体为:读操作响应数据均对应一个读响应功能码,本实施例中,将读响应功能码定义为4,且读响应功能码为读操作响应数据的第四个字节对应的数据,即当获取的到工业协议数据后,读取工业数据中第四个字节对应的数据,当读取到的数据为4时,则判断工业协议数据为读操作响应数据。
因此,在本实施例中,当获取到工业协议数据,且判断工业协议数据完整后,读取工业协议数据第四个字节对应的数据,当读取到的数据为3时,则判断工业协议数据为读操作请求数据,当读取到的数据为4时,则判断工业协议数据为读操作响应数据。
对于读请求功能码和读响应功能码一致的工业协议,通过验证一个代表请求或响应的字段来判断工业协议数据为读操作请求数据还是读操作响应数据,对于没有类似字段的工业协议,仅通过TCP端口来判断工业协议数据为读操作请求数据还是读操作响应数据,以上两中情况在此不做过多赘述。
当判断工业协议数据既不为读操作请求数据也不为读操作响应数据时,则删除工业协议数据。
当判断工业协议数据为读操作响应数据时,提取读操作响应数据对应的操作序号,在读操作响应数据中操作序号对应第三个字节的数据,提取读操作响应数据的操作序号即读取读操作响应数据中第三个字节对应的数据,提取到读操作响应数据对应的操作序号后,将读操作响应数据对应的操作序号与存储的读操作请求数据的操作序号一一进行对比,当没有查询到与读操作响应数据操作序号相同的读操作请求数据时,则判断不存在与当前获取到的读操作响应数据对应的读操作请求数据,此时删除该读操作响应数据。
当查询到与读操作响应数据操作序号相同的读操作请求数据时,确定存在与该读操作响应数据对应的读操作请求数据,此时按照预设的工业协议分析该读操作请求数据,确定起始地址和结束地址,并将起始地址作为第一待查询协议地址,本实施例中,结束地址=起始地址+读取数量-1。
参照图3,本实施例,读操作请求数据中,起始地址对应第五个字节的数据,读取数量对应第六个字节的数据,因此可通过读取读操作请求数据的第五个字节的数据确定读操作请求数据的起始地址,读取读操作请求数据的第六个字节的数据确定读操作请求数据的读取数量。
判断预存的生产数据定义表中是否存在第一待查询协议地址,参照图4,生产数据定义表包括序号、数据名称、获取方式、客户端IP、服务器IP、协议类型、协议地址、数据类型、占用字节以及时间戳,且每一序号对应特定的获取方式、客户端IP、服务器IP、协议类型、协议地址、数据类型、占用字节以及时间戳,本实施例中,生产数据定义表为预存的,生产数据定义表中的序号、数据名称、服务器IP、协议类型、协议地址、数据类型、占用字节以及时间戳均为人工手动输入的,数据名称代表用户所要获取的生产过程数据的名称,确定第一待查询协议地址后,将第一待查询协议地是否存在与第一待查询协议地址相同的协议地址。
若否,第一待查询协议地址自加一,再判断生产数据定义表中的协议地址是否存在与第一待查询协议地址相同的,若否,第一待查询协议地址再自加一,直至生产数据定义表中存在与第一待查询协议地址相同的协议地址。例如:当前第一待查询协议地址为0,生产数据定义表中不存在协议地址0,此时第一待查询协议地址自加一变为1,查看生产数据定义表中是否存在协议地址1,若否,第一待查询协议地址在此基础上在次自加1,直至在生产数据定义表中查询到与第一待查询协议地址相同的协议地址。
若是,则根据生产数据定义表提取读操作响应数据中的第一生产过程数据,并记录到生产数据历史表中。
具体的,确定第一待查询协议地址后,获取预设的工业协议的类型,协议类型可根据TCP协议端口确定,确定第一待查询协议地址以及预设的工业协议的类型后,在生产数据定义表中查询与第一待查询协议地址相同的协议地址和与预设的工业协议类型相同的协议类型对应的序号、数据名称、数据类型以及占用字节,之后根据第一待查询协议地址、数据类型以及占用字节提取读操作响应数据中对应该数据名称的第一目标数据;之后根据第一待查询协议地址以及第一待查询地址对应的占用字节确定第二待查询协议地址,本实施例中,一个协议地址占用两个字节,因此:第N待查询协议地址=第(N-1)待查询协议地址+第(N-1)待查询协议地址对应的占用字节/2;第二待查询协议地址=0+2/2=1,确定第二待查询协议地址后,判断第二待查询协议地址是否超过结束地址,若是,结束第一生产过程数据的获取。
确定第二待查询协议地址是否超过结束地址,若否,在生产数据定义表中查询是否存在与第二待查询协议地址相同的协议地址,若是,采用与获取第一待查询协议地址对应的第一生产过程数据相同的方式,确定第二待查询协议地址对应的第二目标数据……。
若当第二待查询协议地址未超过结束地址,且生产数据定义表中不存在与第二待查询协议地址相同的协议地址,此时第二待查询协议地址自加1,判断此时第二待查询协议地址是否超过结束地址,若是,结束第一生产过程数据的获取,若否,查询生产数据定义表中是否存在与第二待查询协议地址相同协议地址,若否第二待查询协议地址再自加1,判断此时第二待查询协议地址是否超过结束地址,若是,结束第一生产过程数据的获取,若否,第二待查询协议地址再次自加1,判断生产数据定义表中是否存在与第二待查询协议地址相同协议地址……。
第二待查询协议地址依次自增1,直至在生产数据定义表中查询到与第二待查询协议地址相同的协议地址,提取第二待查询协议地址对应的第一生产过程数据,采用上述方式,依次确定第三待查询协议地址、第四代查询协议地址、第五待查询协议地址、……、第N待查询协议地址,直至第N待查询协议地址超出结束地址,完成第一生产过程数据的获取。本实施例中,第一生产过程数据包括第一目标数据、第二目标数据、……、第(N-1)目标数据。
或,直至第二待查询协议地址超过结束地址结束第一生产过程数据的提取。
参照图3和图4,例如:起始地址为0,结束地址=0+5-1=4,因此第一待查询协议地址为0,当第一待查询协议地址为0、协议类型为协议类型一时,在生产数据定义表中查询可命中序号为1,数据名称为data0的数据,同时根据生产数据定义表可确定数据data0占用2个字节,是一个16位无符号整形数据,分析读操作响应数据,对应第一待查询协议地址的第一生产过程数据为0x1100,十进制为4352,确定数据data0后,在生产数据定义表中的获取方式栏添加获取方式为镜像数据提取,在客户端IP一栏添加客户端IP地址为进行数据流量中的客户端IP地址,同时在时间戳一栏添加时间戳为当前时间戳。
确定数据data0的数值后,将数据data0对应的十进制数据添加到生产数据历史表中,参照图5,生产数据历史表包括历史值序号、数据点序号、数据值以及时间戳,数据data0对应的数据点序号与数据data0对应的序号相同,数据值为数据data0对应的十进制数,时间戳为数据data0记录到生产数据历史表中的时间。
由于第一待查询协议地址为0,第一待查询协议地址的占用字节为2,因此,第二待查询协议地址=0+2/2=1,如图3,一个协议地址占用两个字节,所以让占用字节除以2可以算出协议地址增量,当第二待查询协议地址为1、协议类型为协议类型一时,此时在生产数据定义表中查询可命中序号为2,数据名称为data1的数据,同时根据生产数据定义表可确定数据data1占用4个字节,是一个32位无符号整形数据,分析读操作响应数据,即从第一待查询协议地址对应的2个字节后,连续提取4个字节的数据即0x00、0x22、0x00、0x33,对应第二待查询协议地址的第一生产过程数据为0x33002200,十进制数为855,646,720,确定数据data1后,在生产数据定义表中的获取方式栏添加获取方式为镜像数据提取,在客户端IP一栏添加客户端IP地址为进行数据流量中的客户端IP地址,同时在时间戳一栏添加时间戳为当前时间戳。
确定数据data1的数值后,将数据data1对应的十进制数据添加到生产数据历史表中,参照图5,生产数据历史表包括历史值序号、数据点序号、数据值以及时间戳,数据data1对应的数据点序号与数据data1对应的序号相同,数据值为数据data1对应的十进制数,时间戳为数据data1记录到生产数据历史表中的时间。
由于第二待查询协议地址为1,第二待查询协议地址的占用字节为4,因此,第三待查询协议地址=1+4/2=3,当第三待查询协议地址为3、协议类型为协议类型一时,此时在生产数据定义表中查询可命中序号为3,数据名称为data2的数据,同时根据生产数据定义表可确定数据data2占用4个字节,是一个32位浮点形数据,分析读操作响应数据,即从第二待查询协议地址对应的4个字节后,连续提取4个字节的数据即0x00、0x44、0x00、0x55,对应第三待查询协议地址的第一生产过程数据为513.328,确定数据data2的数值后,在生产数据定义表中的获取方式栏添加获取方式为镜像数据提取,在客户端IP一栏添加客户端IP地址为进行数据流量中的客户端IP地址,同时在时间戳一栏添加时间戳为当前时间戳。
确定数据data2的数值后,将数据data2对应的十进制数据添加到生产数据历史表中,参照图5,生产数据历史表包括历史值序号、数据点序号、数据值以及时间戳,数据data2对应的数据点序号与数据data2对应的序号相同,数据值为数据data2对应的十进制数,时间戳为数据data2记录到生产数据历史表中的时间。
由于第三待查询协议地址为3,第三待查询协议地址的占用字节为4,因此,第四待查询协议地址=3+4/2=5,而结束地址为4,此时第四待查询协议地址超出结束地址,此时结束第一生产过程数据的获取。
第一生产过程数据获取完成后,判断第一生产过程数据是否完整。
具体的,查询生产数据定义表,判断是否存在没有对应获取方式的数据,若是,则判断第一生产过程数据不完整,如否,则判断第一生产过程数据完整,此处,所说的第一生产过程数据是否完整,是指第一生产过程数据是否为工作人员所要获取的全部生产过程数据,若是,则说明第一生产过程数据完整,结束生产过程数据提取;若否,则说明第一生产过程数据不完整,执行步骤S103。
例如:参照图4,第一生产过程数据获取结束后,查询生产数据定义表,数据data3、data4 、data5 和data6的获取方式为空,此时判断第一生产过程数据不完整。
S103:根据预设的设置规则,设置主动数据采集配置,获取第二生产过程数据。
具体的,根据生产数据定义表中数据data3、data4 、data5 和data6对应的服务器IP、协议地址、字节数量,主动采集服务器内的第二生产过程数据,采用和第一生产过程数据相同的记录方式记录到生产数据历史表中,如图6所示。主动数据采集配置设置为本领域技术人员公知的技术手段,在此不做过多赘述。
S104:查询生产数据历史表,得到完整的生产过程数据。
具体的,查询生产数据历史表,从生产数据历史表中根据数据点序号与生产数据定义表中的序号对应,确定每一数据值对应的数据意义,从而确定完整的生产过程数据。
特别的,如果用户修改了生产数据定义表中的数据定义:协议地址、数据类型、占用字节,三者任一修改后,均应删除生产数据历史表中对应的历史数据,以免错误的历史数据影响生产过程的分析,这是保证用户数据有效性的关键。
必须要说明的,在本申请中图3为描述一般工业协议的读操作格式而设置的图例,图中起始字节、字节长度、操作序号、功能码及数据均为举例,不代表任一确定的工业协议,实际的工业协议可根据具体协议定义,抽象出一套验证协议完整性、操作序号、功能码、协议地址的数据提取方法,本申请主要描述的是利用该数据提取方法,获得用户关心的生产过程数据的过程,提取过程根据不同的工业协议可进行适当调整,在此不做限制。
本申请有效的利用了现场中已有的工业协议报文数据,通过镜像流量识别提取的方式可以获得第一生产过程数据,有效的降低了对原有工业设备的计算资源的消耗,降低了网络带宽占用,提高了工业设备的稳定性及网络健康状态;通过检测数据完整性,同主动数据采集相结合的方法,获取了全部生成过程数据,有效的支撑了生产过程分析。
本申请实施例还公开一种工业数据采集装置。参照图7,工业数据采集装置200包括:
获取模块201,用于获取交换机上传的数据包;
处理模块202,用于根据预设的处理规则处理数据包得到第一生产过程数据,并记录到预设的生产数据历史表中;
判断模块203,用于根据预设的判断规则,判断所述第一生产过程数据是否完整;
设置模块204,用于若否,根据预设的设置规则,设置主动数据采集配置,获取第二生产过程数据,并记录到预设的生产过程数据历史表中;
记录模块205,用于查询生产数据历史表,得到完整的生产过程数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例公开一种电子设备。参照图8,电子设备包括,包括中央处理单元(CPU)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储部分307加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有系统操作所需的各种程序和数据。CPU 301、ROM 302以及RAM 303通过总线彼此相连。输入/输出(I/O)接口304也连接至总线。
以下部件连接至I/O接口304:包括键盘、鼠标等的输入部分305;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分306;包括硬盘等的存储部分307;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分308。通信部分308经由诸如因特网的网络执行通信处理。驱动器309也根据需要连接至I/O接口304。可拆卸介质310,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器309上,以便于从其上读出的计算机程序根据需要被安装入存储部分307。
特别地,根据本申请的实施例,上文参考流程图图1描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在机器可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分308从网络上被下载和安装,和/或从可拆卸介质310被安装。在该计算机程序被中央处理单元(CPU)301执行时,执行本申请的装置中限定的上述功能。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中申请的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (8)
1.一种工业数据采集方法,其特征在于:该方法包括:
获取交换机上传的数据包;
按照时间顺序依次读取所述数据包提取工业协议数据;
判断所述工业协议数据是否完整;
当判断所述工业协议数据完整时,判断所述工业协议数据是否为读操作请求数据,读操作请求数据均对应一个读请求功能码,当所述读请求功能码为第一预设值时,判断所述工业协议数据为读操作请求数据;
当所述工业协议数据不为读操作请求数据时,判断所述工业协议数据是否为读操作响应数据,读操作响应数据包括起始字节、字节长度、操作序号、读响应功能码、协议地址0-4;读操作响应数据均对应一个读响应功能码,当所述读响应功能码为第二预设值时,判断所述工业协议数据为读操作响应数据;
当所述工业协议数据为读操作响应数据时,提取读操作响应数据对应的操作序号,提取到读操作响应数据对应的操作序号后,将读操作响应数据对应的操作序号与存储的读操作请求数据的操作序号一一进行对比,当查询到与读操作响应数据操作序号相同的读操作请求数据时,确定存在与该读操作响应数据对应的读操作请求数据,此时按照预设的工业协议分析该读操作请求数据,确定起始地址和结束地址,并将起始地址作为第一待查询协议地址,结束地址=起始地址+读取数量-1;
判断预存的生产数据定义表中是否存在所述第一待查询协议地址,生产数据定义表包括序号、数据名称、获取方式、客户端IP、服务器IP、协议类型、协议地址、数据类型、占用字节以及时间戳,且每一序号对应特定的获取方式、客户端IP、服务器IP、协议类型、协议地址、数据类型、占用字节以及时间戳;
当预存的生产数据定义表中存在所述第一待查询协议地址时,根据所述生产数据定义表提取所述读操作响应数据中的第一生产过程数据,并记录到预设的生产数据历史表中;
查询生产数据定义表,判断是否存在没有对应获取方式的数据,若是,则判断第一生产过程数据不完整,若否,则判断第一生产过程数据完整,此处,所说的第一生产过程数据是否完整,是指第一生产过程数据是否为工作人员所要获取的全部生产过程数据;
当所述第一生产过程数据不完整时,根据预设的设置规则,设置主动数据采集配置,获取第二生产过程数据,并记录到预设的生产过程数据历史表中;
查询生产数据历史表,得到完整的生产过程数据。
2.根据权利要求1所述的工业数据采集方法,其特征在于:所述获取交换机上传的数据的方法,具体包括:
接收交换机上传的流量数据;
根据预设的工业协议信息提取数据流量中包含的数据包;
按提取的时间顺序存储所述数据包。
3.根据权利要求1所述的工业数据采集方法,其特征在于:所述判断所述工业协议数据是否为读操作请求数据,若是,该方法还包括:
提取所述读操作请求数据的操作序号;
根据所述读操作请求数据的操作序号存储所述读操作请求数据,并设置超时时间;
周期检测存储的读操作请求数据,超时时间后仍未获取与所述读操作请求数据对应的读操作响应数据,删除所述读操作请求数据。
4.根据权利要求1所述的工业数据采集方法,其特征在于:所述判断预存的生产数据定义表中是否存在所述第一待查询协议地址,若否,该方法还包括:
将所述起始地址加1作为第一待查询协议地址。
5.根据权利要求4所述的工业数据采集方法,其特征在于:所述根据所述生产数据定义表提取所述读操作响应数据中的第一生产过程数据,并记录到预设的生产数据历史表中的方法,具体包括:
根据第一待查询地址和预设的工业协议的类型,在生产数据定义表中确定第一目标数据;根据生产数据定义表确定第一目标数据对应的数据类型、占用字节以及协议地址,并在生产数据定义表中添加第一目标数据的获取方式;
根据第一目标数据对应的数据类型、占用字节以及协议地址提取所述读操作响应数据中的第一目标数据对应的数值;
基于预设的确定规则,根据所述第一待查询协议地址和所述第一目标数据对应的占用字节确定第二待查询协议地址;
判断第二待查询协议地址是否超过结束地址;
若否,根据第二待查询地址和预设的工业协议的类型,在生产数据定义表中确定第二目标数据;
根据生产数据定义表确定第二目标数据对应的数据类型、占用字节以及协议地址,并在生产数据定义表中添加第二目标数据的获取方式;
根据第二目标数据对应的数据类型、占用字节以及协议地址提取所述读操作响应数据中的第二目标数据对应的数值;
……;
基于预设的确定规则,根据第N-1待查询协议地址和第N-1目标数据对应的占用字节确定第N待查询协议地址,N为大于等于2的正整数;
判断第N待查询协议地址是否超过结束地址;
若是,结束第一生产过程数据的获取,所述第一生产过程数据包括第一目标数据、第二目标数据、……、第N-1目标数据;
将所述第一生产过程数据记录到预设的生产数据历史表中。
6.一种工业数据采集装置,其特征在于:包括,
获取模块(201),用于获取交换机上传的数据包;
处理模块(202),用于:
按照时间顺序依次读取所述数据包提取工业协议数据;
判断所述工业协议数据是否完整;
当判断所述工业协议数据完整时,判断所述工业协议数据是否为读操作请求数据,读操作请求数据均对应一个读请求功能码,当所述读请求功能码为第一预设值时,判断所述工业协议数据为读操作请求数据;
当所述工业协议数据不为读操作请求数据时,判断所述工业协议数据是否为读操作响应数据,读操作响应数据包括起始字节、字节长度、操作序号、读响应功能码、协议地址0-4;读操作响应数据均对应一个读响应功能码,当所述读响应功能码为第二预设值时,判断所述工业协议数据为读操作响应数据;
当所述工业协议数据为读操作响应数据时,提取读操作响应数据对应的操作序号,提取到读操作响应数据对应的操作序号后,将读操作响应数据对应的操作序号与存储的读操作请求数据的操作序号一一进行对比,当查询到与读操作响应数据操作序号相同的读操作请求数据时,确定存在与该读操作响应数据对应的读操作请求数据,此时按照预设的工业协议分析该读操作请求数据,确定起始地址和结束地址,并将起始地址作为第一待查询协议地址,结束地址=起始地址+读取数量-1;
判断预存的生产数据定义表中是否存在所述第一待查询协议地址,生产数据定义表包括序号、数据名称、获取方式、客户端IP、服务器IP、协议类型、协议地址、数据类型、占用字节以及时间戳,且每一序号对应特定的获取方式、客户端IP、服务器IP、协议类型、协议地址、数据类型、占用字节以及时间戳;
当预存的生产数据定义表中存在所述第一待查询协议地址时,根据所述生产数据定义表提取所述读操作响应数据中的第一生产过程数据,并记录到预设的生产数据历史表中;
判断模块(203),用于查询生产数据定义表,判断是否存在没有对应获取方式的数据,若是,则判断第一生产过程数据不完整,若否,则判断第一生产过程数据完整,此处,所说的第一生产过程数据是否完整,是指第一生产过程数据是否为工作人员所要获取的全部生产过程数据;
设置模块(204),用于当所述第一生产过程数据不完整时,根据预设的设置规则,设置主动数据采集配置,获取第二生产过程数据,并记录到预设的生产过程数据历史表中;
记录模块(205),用于查询生产数据历史表,得到完整的生产过程数据。
7.一种电子设备,其特征在于:包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如权利要求1至5中任一种方法的计算机程序。
8.一种计算机可读存储介质,其特征在于,存储有能够被处理器加载并执行如权利要求1至5中任一种方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210153873.0A CN114817641B (zh) | 2022-02-19 | 2022-02-19 | 一种工业数据采集方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210153873.0A CN114817641B (zh) | 2022-02-19 | 2022-02-19 | 一种工业数据采集方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114817641A CN114817641A (zh) | 2022-07-29 |
CN114817641B true CN114817641B (zh) | 2023-06-20 |
Family
ID=82527546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210153873.0A Active CN114817641B (zh) | 2022-02-19 | 2022-02-19 | 一种工业数据采集方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114817641B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105551220A (zh) * | 2015-12-29 | 2016-05-04 | 中冶南方工程技术有限公司 | 一种转炉煤气干法除尘的远程数据采集方法 |
WO2020037478A1 (zh) * | 2018-08-21 | 2020-02-27 | 上海云剑信息技术有限公司 | 一种基于状态关系图的工控防火墙实现方法 |
CN113569117A (zh) * | 2021-09-27 | 2021-10-29 | 深圳市玄羽科技有限公司 | 一种基于工业互联网大数据服务的云平台系统及方法 |
CN113641874A (zh) * | 2021-07-21 | 2021-11-12 | 中国第一汽车股份有限公司 | 一种数据采集处理系统及数据采集处理方法 |
CN113905107A (zh) * | 2021-10-20 | 2022-01-07 | 云镝智慧科技有限公司 | 工业设备点表数据的获取方法、装置及网关 |
CN114036746A (zh) * | 2021-11-08 | 2022-02-11 | 佛山技研智联科技有限公司 | 基于云平台的能源数据采集系统、方法和计算机设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104333533B (zh) * | 2014-09-12 | 2017-09-08 | 北京华电天益信息科技有限公司 | 一种用于工业控制系统网络的数据包零拷贝获取方法 |
CN107124385B (zh) * | 2016-02-24 | 2020-02-04 | 中国科学院声学研究所 | 一种基于镜像流的ssl/tls协议明文数据采集方法 |
CN109922026A (zh) * | 2017-12-13 | 2019-06-21 | 西门子公司 | 一个ot系统的监测方法、装置、系统和存储介质 |
CN111897295A (zh) * | 2020-07-03 | 2020-11-06 | 物耀安全科技(杭州)有限公司 | 一种工业控制系统数据采集方法和系统 |
US11750715B2 (en) * | 2020-07-17 | 2023-09-05 | Rockwell Automation Technologies, Inc. | Industrial automation broker device |
CN112822151A (zh) * | 2020-11-06 | 2021-05-18 | 浙江中烟工业有限责任公司 | 面向控制网络工业计算机的多层精准主动网络攻击检测方法及系统 |
CN113315771B (zh) * | 2021-05-28 | 2023-06-27 | 苗叶 | 一种基于工业控制系统的安全事件告警装置和方法 |
CN113872810A (zh) * | 2021-09-29 | 2021-12-31 | 中国建设银行股份有限公司 | 一种业务仿真方法、装置、电子设备及存储介质 |
-
2022
- 2022-02-19 CN CN202210153873.0A patent/CN114817641B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105551220A (zh) * | 2015-12-29 | 2016-05-04 | 中冶南方工程技术有限公司 | 一种转炉煤气干法除尘的远程数据采集方法 |
WO2020037478A1 (zh) * | 2018-08-21 | 2020-02-27 | 上海云剑信息技术有限公司 | 一种基于状态关系图的工控防火墙实现方法 |
CN113641874A (zh) * | 2021-07-21 | 2021-11-12 | 中国第一汽车股份有限公司 | 一种数据采集处理系统及数据采集处理方法 |
CN113569117A (zh) * | 2021-09-27 | 2021-10-29 | 深圳市玄羽科技有限公司 | 一种基于工业互联网大数据服务的云平台系统及方法 |
CN113905107A (zh) * | 2021-10-20 | 2022-01-07 | 云镝智慧科技有限公司 | 工业设备点表数据的获取方法、装置及网关 |
CN114036746A (zh) * | 2021-11-08 | 2022-02-11 | 佛山技研智联科技有限公司 | 基于云平台的能源数据采集系统、方法和计算机设备 |
Non-Patent Citations (1)
Title |
---|
A novel design of an industrial data acquisition system;Z. Salem等;2006 2nd International Conference on Information & Communication Technologies;2589-2594 * |
Also Published As
Publication number | Publication date |
---|---|
CN114817641A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110868336B (zh) | 数据管理方法、装置和计算机可读存储介质 | |
CN111970353A (zh) | 云计算平台物联网中异构设备的数据处理方法及装置 | |
CN109698798B (zh) | 一种应用的识别方法、装置、服务器和存储介质 | |
CN111083008A (zh) | 一种基于nginx的流量采集分析方法 | |
CN113449339A (zh) | 日志收集方法、系统、计算机设备及计算机可读存储介质 | |
CN116015842A (zh) | 一种基于用户访问行为的网络攻击检测方法 | |
CN114817641B (zh) | 一种工业数据采集方法、装置及电子设备 | |
CN110990235A (zh) | 异构存储设备的性能数据管理方法、装置、设备及介质 | |
JP2004173284A (ja) | 遠隔通信網を介したマルチメディアメッセージの追跡方法と追跡装置 | |
CN104967667A (zh) | 一种基于云服务的软件稳定性测试远程监控系统 | |
CN114726893B (zh) | 可支持多种底层承载协议的物联网应用层接入方法和系统 | |
CN115878914A (zh) | 一种域名匹配方法、装置、设备及存储介质 | |
CN116821970A (zh) | 基于区块链与物联网的抽样检测方法 | |
CN113297148B (zh) | 业务日志数据的采集方法、装置、设备及可读存储介质 | |
CN114528297A (zh) | 一种数据收集方法、装置、电子设备及存储介质 | |
CN114070863B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN115834738B (zh) | 一种工控业务行为识别方法、装置、电子设备及可读介质 | |
US20060069766A1 (en) | Method and system for treating events and data uniformly | |
CN111131351A (zh) | 一种物联网设备型号的确认方法及装置 | |
CN116094908B (zh) | 日志文件存储方法、装置、设备和存储介质 | |
CN116362462B (zh) | 一种基于物联网和大数据分析的全闭环生产管理系统 | |
CN115883381A (zh) | 一种基于网络协议指纹的工业互联网资产识别方法 | |
CN115988558A (zh) | 智能车辆数据出境检测装置、方法、设备和存储介质 | |
CN118260168A (zh) | 一种数据采集方法、计算机程序产品、设备及计算机介质 | |
CN113572854A (zh) | 基于Kafka组件的数据传输方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |