CN112698622B - 自动控制方法、装置及机器可读存储介质 - Google Patents
自动控制方法、装置及机器可读存储介质 Download PDFInfo
- Publication number
- CN112698622B CN112698622B CN202110304821.4A CN202110304821A CN112698622B CN 112698622 B CN112698622 B CN 112698622B CN 202110304821 A CN202110304821 A CN 202110304821A CN 112698622 B CN112698622 B CN 112698622B
- Authority
- CN
- China
- Prior art keywords
- plc
- instruction
- metadata
- instruction set
- target
- 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
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13108—Flow diagram, sequential function chart with transitions and states SFC Grafcet
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Programmable Controllers (AREA)
Abstract
本申请实施例提供一种自动控制方法、装置及机器可读存储介质,涉及工业互联网技术领域。该方法包括:针对录入制造执行系统MES的目标产品的生产数据,查找目标产品的元数据模板,基于元数据模板,将生产数据转换为目标元数据;获取与目标产品的元数据模板相对应的PLC指令集;根据目标元数据对PLC指令集中至少一个指令的指令参数进行调整,得到目标元数据对应的控制指令集,并将控制指令集发送给PLC执行,以对PLC进行控制。如此,可以基于MES系统实现对PLC的自动控制。
Description
技术领域
本申请涉及工业互联网技术领域,具体而言,涉及一种自动控制方法、装置及机器可读存储介质。
背景技术
制造执行系统(Manufacturing Execution System,MES)是位于计划层和控制层的中间位置的执行层,其用于将物资需求计划(Material Requirement Planning,MRP)同车间作业现场联系起来。可编程逻辑控制器(Programmable Logic Controller,PLC)是专门为在工业环境下应用而设计的数字运算操作电子系统,它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。
实际应用中,MES主要由生产人员操作录入,而PLC则需要由技术人员根据MES中的数据进行编程操作,控制起来非常不便。
发明内容
本申请实施例提供了一种自动控制方法、装置及机器可读存储介质,可以基于录入MES的生产数据实现对PLC系统的自动控制。
根据本申请实施例的第一个方面,提供了一种自动控制方法,包括:
针对录入MES的目标产品的生产数据,查找所述目标产品的元数据模板,基于所述元数据模板,将所述生产数据转换为目标元数据,其中,所述目标元数据的数据格式符合所述元数据模板;
获取与所述目标产品的元数据模板相对应的PLC指令集;
根据所述目标元数据对所述PLC指令集中至少一个指令的指令参数进行调整,得到输出指令集,并将所述输出指令集发送至PLC系统,以对所述PLC系统进行控制。
根据本申请实施例的第二个方面,提供了一种自动控制装置,包括:
转换模块,用于针对录入MES的目标产品的生产数据,查找所述目标产品的元数据模板,基于所述元数据模板,将上述生产数据转换为目标元数据,其中,所述目标元数据的数据格式符合所述元数据模板;
获取模块,用于获取与所述目标产品的元数据模板相对应的PLC指令集;
控制模块,用于根据所述目标元数据对所述PLC指令集中至少一个指令的指令参数进行调整,得到输出指令集,并将所述输出指令集发送至PLC系统,以对所述PLC系统进行控制。
根据本申请实施例的第三个方面,提供了一种机器可读存储介质,其上存储有机器可执行指令,该机器可执行指令被执行时实现本申请上述实施例提供的自动控制方法。
根据本申请实施例的第四个方面,提供了一种服务器,包括处理器和机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令被所述处理器调用执行时,促使所述处理器实现:本申请上述实施例提供的自动控制方法。
本申请实施例提供的方案,通过统一设置的元数据模板,将录入MES的生产数据转换为可被解析的数据格式的目标元数据,再利用元数据模板和PLC指令集的对应关系,获得目标元数据对应的待执行指令集,并将待执行指令集发送给PLC系统执行,以对PLC系统进行控制。如此,即便是不懂PLC技术的生产人员也可以通过在MES录入生产数据,来实现对PLC系统的自动控制,提升了PLC系统的操作灵活度。并且,相较于现有技术中人工编程控制的方式,可以提升操作效率和正确率,改善由于操作失误所导致的产品制造出错或产品质量差的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种应用环境示意图;
图2为本申请实施例提供的一种自动控制方法的流程示意图;
图3为本申请另一实施例提供的一种自动控制方法的流程示意图;
图4为本申请实施例提供的元数据公共服务平台的一种数据存储示意图;
图5为图3所示实施例中自动控制方法的另一流程示意图;
图6为图5所示步骤S180的一种子步骤示意图;
图7为图6所示步骤S181的一种子步骤示意图;
图8为本申请实施例提供的一种自动控制装置的框图;
图9为本申请实施例提供的一种服务器的方框示意图。
具体实施方式
在实现本申请的过程中,发明人发现,MES和PLC系统两者的使用过程是割裂的,在由生产人员向MES录入生产数据后,仍需技术人员通过PLC指令去控制PLC系统中的设备。这导致PLC系统的操作具有较高的专业度,对于一些不懂PLC编程技术的人员不够友好,使用起来非常不便。且通过人工编程方式进行控制,效率低下且容易出错。
针对上述问题,本申请实施例提供了一种自动控制方法、装置及机器可读存储介质,可以通过统一设置的元数据模板,将录入MES的生产数据转换成统一格式的目标元数据,以便于解析。再基于元数据模板和PLC指令集的对应关系,获得目标元数据对应的待执行指令集,从而可以直接将待执行指令集发送给PLC系统执行,而不必由专门的PLC技术人员进行人工编程控制,提升了控制效率和正确率,进而提升了产品生产效率,改善了因人工操作不当而导致的产品质量问题。
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
请参照图1,图1是本申请实施例的一种应用环境示意图,其中示出了客户端100与元数据公共服务平台200、制造执行系统(MES)300以及可编程逻辑控制器(PLC)400的交互示意图。
客户端100可以位于终端设备上,其可以是安装在终端设备上的应用程序。这里的终端设备例如可以是个人计算机(Personal Computer,PC)、智能手机、笔记本电脑、嵌入式系统等。元数据公共服务平台200可以部署在服务器上,所述服务器可以是独立的物理服务器,也可以是多个物理服务器组成的集群或分布式系统,还可以是提供大数据、云计算或者是人工智能平台等基础云计算服务的云服务器,本实施例对此没有限制。用户可以通过客户端100登录至元数据公共服务平台200,并使用元数据公共服务平台200提供的服务,例如元数据解析服务、元数据模板查询服务、PLC指令自动生成服务等。
MES 300可以和元数据公共服务平台200 相互独立,也可以集成于元数据公共服务平台200中,作为元数据公共服务平台200的功能的一部分,通过特定的服务接口开放给用户。
MES 300与PLC 400通信连接,客户端100则可以调用MES 300的接口向PLC 400发送信息。比如,客户端100可以通过调用该接口,将后文中描述的控制指令集发送给PLC400。PLC 400可以执行技术人员输入的PLC指令或是MES 300发送的PLC指令,以实现对生产设备的控制。
可以理解,图1示出的是元数据公共服务平台200和MES 300均通过客户端100访问的情况,在其他实施例中,也可以通过不同的客户端来分别访问元数据公共服务平台200和MES 300,本实施例对此没有限制。
本申请实施例中,元数据公共服务平台200可以包括多个节点,其中部分节点可以是国家顶级节点,部分节点可以是二级节点。元数据公共服务平台200中的每个节点均可以响应于客户端100发送的请求而提供相应的服务。比如,可以响应客户端100发送的解析请求,提供生产数据解析服务;又比如,可以响应客户端100发送的查询请求,提供元数据模板查询服务;再比如,可以响应客户端100发送的下载请求,提供数字字典下载服务等。本申请实施例对此没有限制。
请参照图2,图2示出了本申请实施例提供的一种自动控制方法的流程示意图,本实施例以该方法应用于元数据公共服务平台200为例,对该方法进行介绍。该方法可以包括以下步骤:
S110,针对录入MES的目标产品的生产数据,查找所述目标产品的元数据模板,基于所述元数据模板,将所述生产数据转换为目标元数据,其中,所述目标元数据的数据格式符合所述元数据模板。
其中,所述生产数据是指在工业互联网生产和供应链中产生的数据,其可以包括静态数据和动态数据。静态数据例如可以是描述对象固有的、区别于其他实体的属性特征的数据,比如生产人员的姓名、通讯地址、所属企业名称等。动态数据例如可以是描述工业产品在生产、流通、使用过程中记录的由位置、状态、所有权、管理权等变化所产生的数据。
元数据模板中可以按照生产数据可能涉及的维度划分为多个对象,如,产品对象、方法对象、机器对象、物料对象、人员对象、环境对象等。其中,产品对象例如可以用于保存产品的属性信息,方法对象例如可以用于保存制造产品的工艺流程,机器对象例如可以用于保存制造产品的设备(如,执行所述工艺流程的设备)的相关信息,物料对象例如可以用于保存制造产品所使用的物料信息,人员对象例如可以用于保存产品的生产人员、使用人员、流通人员等的相关信息,环境对象例如可以用于保存产品的制造环境信息。当然,元数据模板也可以按照其他方式进行设置,本实施例对此没有限制。
随着具体产品的不同,元数据模板可能有所不同。因此,本实施例中,可以保存不同产品与元数据模板的对应关系,该对应关系可以是包括产品标识和元数据模板的模板标识的数据记录。元数据模板可以以键值(key-value)对的形式存储于元数据公共服务平台200中,示例性地,可以以模板标识为键,以该模板标识对应的元数据模板为值。
针对元数据模板中的每个对象,其中可以包括多个字段,每个字段关联有对应的解析规则。实施过程中,首先可以复制一份目标产品的元数据模板,针对复制的元数据模板中每个对象包含的每个字段,可以按照该字段对应的解析规则,从生产数据中解析出符合该解析规则的数据,并填充至该字段中。如此,可以将生产数据转换成符合元数据模板的元数据。
进一步地,在将生产数据中的具体数据填充至复制的元数据模板之前,可以对所述具体数据进行转换。例如,生产厂家、生产厂商、制造厂商等均表示产出产品的商家,通过语义识别可以将这些表述统一转换成制造厂商,以便后续统一管理和解析。
本实施例中,通过元数据模板规范了生产数据的数据格式,为建立MES中数据与PLC指令的关联提供了支持。
S130,获取与所述目标产品的元数据模板相对应的PLC指令集。
本实施例中,元数据公共服务平台200中可以存储有元数据模板与PLC指令集的对应关系,所述对应关系例如可以是包括元数据模板的模板标识和PLC指令集的集合标识的数据记录。
实施过程中,企业用户可以首先通过客户端100向MES 300录入任一产品的生产数据,该产品即为本申请实施例中的目标产品。每一产品可以具有对应的标识编码,标识编码可以包括前缀和后缀两部分,其中,对于相同类别的产品,其标识编码中的前缀可以是相同的。换言之,标识编码中的前缀表示的是产品类别,例如,船舶、车辆等。
客户端100可以将目标产品的标识编码发送给元数据公共服务平台200,元数据公共服务平台200可以根据标识编码的前缀查找对应的模板标识,查找到的模板标识所表征的元数据模板即为目标产品的元数据模板。进一步地,元数据公共服务平台200可以根据目标产品的元数据模板的模板标识,从存储的各PLC指令集中查找该模板标识对应的集合标识,从而基于该集合标识获取具有该集合标识的PLC指令集。
本实施例中,产品类别与元数据模板之间具有一一对应关系,产品类别与工艺流程之间也存在一一对应关系,而PLC指令集实际是由工艺流程中的各个工序确定的,因此,可以将一个产品类别的元数据模板和这个产品类别的工艺流程所对应的PLC指令集对应存储。如此,当基于标识编码中表示产品类别的前缀找到元数据模板之后,根据元数据模板找到的PLC指令集是与这个标识编码所表示的产品的工艺流程相符的。
S150,根据所述目标元数据对所述PLC指令集中至少一个指令的指令参数进行调整,得到所述目标元数据对应的控制指令集,并将所述控制指令集发送给PLC执行。
本实施例中,PLC指令集中的指令所包含的指令参数是默认参数,或者指令参数值为空。实施过程中,可以按照目标产品的目标元数据中的详细信息,来对所确定的PLC指令集中的具体指令的指令参数进行调整。例如,某一个工序是控制机器人运输物料,运输的物料数量不同时,运输机器人在装载物料时的动作持续时长(如,保持承接物料状态的时长)可能是不同的,因此,需要依据目标元数据中的具体信息来调整相应PLC指令的指令参数。调整后的各个指令所组成的集合,即为所述控制指令集。所述控制指令集是与目标元数据对应的PLC指令集。
在获得所述控制指令集之后,可以调用MES 300的接口将所述控制指令集下发给PLC 400,以使PLC 400基于该控制指令集控制相应机械设备作业。
本实施例提供的自动控制方法,一方面可以基于录入MES的生产数据自动获得PLC指令集,以实现对PLC的自动控制,提升了工作效率,降低了错误率;另一方面,通过元数据模板规范了生产数据的数据格式,使得不同企业生产产品的工艺流程,可以通过元数据模板与PLC指令集建立关联,避免了针对不同企业、不同产品类别分别设置PLC指令集所带来的巨大工作量。
下面结合图3,对图2所示实施例中的自动控制方法,做进一步的详细阐述。在执行步骤S150之前,本实施例提供的自动控制方法还可以包括图3所示的S141至S146:
S141,将所述PLC指令集绑定的执行设备信息确定为所述PLC指令集的标准执行设备信息。
本实施例中,元数据模板所对应的PLC指令集可以是标准指令集,其中包含的PLC指令可以均为PLC标准指令。详细地,针对每个产品类别,通常在行业标准中规定了该产品类别对应的标准工艺流程,则采用符合行业标准的生产设备执行该标准工艺流程所需的所有PLC指令的集合,即可视为前述的标准指令集,对应地,标准指令集中的PLC指令即可视为PLC标准指令。这里的标准指令集,可以由相关技术人员根据行业标准及所采用的生产设备预先编写获得。
实际应用中,对于特定产品类别,可能有多种类别的生产设备可以按照行业标准对该特定产品类别的产品进行生产,此时,可以将这些生产设备的设备信息绑定至该特定产品类别对应的元数据模板所关联的PLC指令集,这里的设备信息可以视为上述的标准执行设备信息。
S142,根据所述目标元数据确定所述PLC指令集的真实执行设备信息。
详细地,如上所述,目标元数据可以包括相互关联的方法对象、机器对象、产品对象等。其中,方法对象除了包括上文描述的工艺流程之外,还可以包括工艺流程的运行环境信息。机器对象则包括的是用于生产设备的描述信息,这里的生产设备是指该机器对象所关联方法对象中工艺流程的执行设备。产品对象包括的则是采用所关联方法对象中工艺流程获得的产品的描述信息。
本实施例中,目标元数据是由用户录入MES 300的生产数据经转换而来,其表示的是实际生产时的相关数据。具体地,目标元数据中的机器对象的对象数据描述的则是实际生产时所采用的生产设备。因而,上述的S142可以通过如下方式实现:根据目标元数据中的机器对象的对象数据,确定所述PLC指令集的真实执行设备信息。示例性地,可以获取目标元数据中的机器对象的对象数据作为真实执行设备信息。
S143,确定所述真实执行设备信息与所述标准执行设备信息是否匹配。若是,执行S150;若否,可以执行S144-S146。
本实施例中,当真实执行设备信息和标准执行设备信息相同,或者,当真实执行设备信息和标准执行设备信息中的指定参数项相同时,可以确定真实执行设备信息与标准执行设备信息是相互匹配的。在此情况下,可以按照S150进行处理,即,直接将PLC指令集作为基础指令数据,以用于生成目标产品的生产数据所对应控制指令集。
如果真实执行设备信息和标准执行设备信息的所述指定参数项不相同,则可以确定真实执行设备信息与标准执行设备信息是不匹配的。这表示实际生产所采用的生产设备是与行业标准所规定的生产设备不同的设备,而PLC指令是与其执行设备内部结构紧密关联的,因而,针对这种不同于行业标准所规定的生产设备的其他设备,可以专门设置与所述其他设备对应的PLC变形指令集。
可选地,本申请实施例中,上述工艺流程可以包括至少一个工序,而上述PLC指令集可以包括与每个工序相对应的PLC标准指令组。这里的PLC标准指令组是所述PLC指令集内的一个或多个PLC标准指令的组合。
经研究发现,在整个工艺流程中,随着生产设备的不同,可能只有部分工序对应的PLC标准指令组需要进行调整。因而,本申请实施例中,在元数据模板中针对工艺流程的每个工序设置了标识字段,用于填充该工序的标识。如此,可以基于工序的标识和真实执行设备信息设置合适的PLC指令组。这里的PLC指令组是指通过调整或变更PLC标准指令组后得到的指令组,为便于描述,在此将其称为PLC变形指令组。
详细地,针对与标准执行设备信息不匹配的每个真实执行设备信息,可以建立每个工序的标识、该真实执行设备信息以及PLC变形指令组之间的对应关系,该对应关系还可以包括PLC变形指令组的版本信息。为了与前文提及的对应关系区分开,在此将PLC变形指令组、PLC变形指令组的版本信息、工序的标识以及真实执行设备信息之间的对应关系描述为第一对应关系,将前文提及的元数据模板与PLC指令集之间的对应关系描述为第二对应关系。所述PLC变形指令组的版本信息例如可以是所述PLC变形指令组的产生时间戳或保存时间戳,当然还可以是利用单调函数生成的能够唯一表示PLC变形指令组版本的信息,本实施例对此没有限制。
本实施例中,考虑到对于不同产品类别,其工艺流程中会因生产设备的不同而需要采用不同PLC指令组实现的工序,可能会产生变化,因此,可以为每个产品类别所对应的元数据模板,设置一对应的变形指令库,并将这个产品类别的第一对应关系都保存到该变形指令库中。
请参照图4,图4示例性地示出了元数据公共服务平台200中保存的部分第一对应关系和第二对应关系的示意图。其中,对于元数据模板a,示出了元数据模板a与PLC指令集t1之间的第一对应关系,元数据模板a所对应的产品类别的标准工艺流程包括n个工序,PLC指令集包括与这n个工序分布对应的PLC标准指令组,例如PLC标准指令组t11、t12、t1n。假如n个工序中存在部分工序,这部分工序对应的PLC标准指令组,在生产设备为非标准设备时,需要进行调整。假设上述n个工序中的第2个工序属于这部分工序,则以第2个工序为例示出了包含第2个工序的标识a2的第二对应关系。
详细地,标识a2在真实执行设备信息为设备d1的信息时,其对应的PLC变形指令组是t12-1,表示设备d1通过执行PLC变形指令组t12-1可以实现标识a2所表征的工序。标识a2在真实执行设备信息为设备d2的信息时,其对应的PLC变形指令组是t12-2,表示设备d2通过执行PLC变形指令组t12-2可以实现标识a2所表征的工序。类似地,标识a2在真实执行设备信息为设备dx的信息时,其对应的PLC变形指令组是t12-x,这表示设备dx通过执行PLC变形指令组t12-x可以实现标识a2所表征的工序。可以理解,上述的每个PLC变形指令组,均可以由相关技术人员根据真实执行设备信息以及标识所表征的具体工序预先编写获得。
可以理解,图4示出的第二对应关系中示出的是没有包括版本信息的情况,当包括版本信息时,标识a2和具体的真实执行设备信息(如,d1)可能与多个PLC变形指令组对应,这里的多个PLC变形指令组均可供真实执行设备d1实现标识a2所表征的工序,但是该多个PLC变形指令组具有不同的版本信息。
S144,针对所述工艺流程中的每个工序,基于所述工序的标识和所述真实执行设备信息,从所述元数据模板关联的变形指令库中,查找对应的PLC变形指令组。
S145,从查找到的PLC变形指令组中将最新版本的PLC变形指令组确定为目标PLC变形指令组。
基于上述设置的变形指令库,元数据公共服务平台200可以以工序的标识和真实执行设备信息为查询条件,从变形指令库中查找符合该查询条件的数据记录,即查找包含所述工序的标识以及所述真实执行设备信息的数据记录。依据实际情况,查找到的数据记录可能为有一条或多条,可以从中确定版本信息最新的一条数据记录,该条数据记录中的PLC变形指令组,即为所述目标PLC变形指令组。
S146,在所述PLC指令集中,将所述工序对应的PLC标准指令组替换成所述目标PLC变形指令组。
以图4所示的PLC变形指令组t12-2是目标PLC变形指令组为例,在获得目标PLC变形指令组之后,可以依据目标PLC变形指令组t12-2所对应的标识a1,确定需要对PLC指令集t1中的第2个PLC标准指令组(即,t12)进行替换,从而将PLC指令集t1中的PLC标准指令组t12替换成PLC变形指令组t12-2。
通过图3所示流程,可以实现多种生产设备的PLC指令的自动生成,从而基于MES300中的生产数据实现对多种生产设备的自动控制。
本实施例中,标准指令集均可以通过测试后再保存到元数据公共服务平台,并可以由相应技术人员定期在标准生产设备上进行测试,并依据测试结果更新。而考虑到非标准生产设备多种多样,预先设置的PLC变形指令组可能有不恰当的地方,相应地,在执行过程中也可能出现异常,需要调整的可能性较大,并且由于设备种类繁多,导致需要调整的数据量非常多。基于此,本实施例通过图5所示的流程来实现对PLC变形指令组的更新。对应地,在执行图2所示的S150之后,本实施例提供的自动控制方法还可以包括图5所示的S160-S180。
S160,获取所述PLC指令集中的PLC变形指令组的执行结果。
值得说明的是,如果PLC指令集和标准指令集是一样的,即未经指令组替换操作,则可以不必对其进行图5所示流程。而对于经过指令组替换操作的PLC指令集,其中势必包括至少一个PLC变形指令组,例如上述的PLC变形指令组t12-2。实施过程中,元数据公共服务平台200可以从PLC 400获取与PLC变形指令组t12-2相关的执行结果,并判断该执行结果是否存在异常,例如可以通过检测该执行结果中是否包含报错信息、警告信息等,是否与预期的执行结果相同等,来确定该执行结果是否存在异常。
S170,在所述执行结果异常时,将所述PLC变形指令组、所述执行结果、所述真实执行设备信息、当前时间信息推送给预设终端,并接收所述预设终端返回的更正后PLC变形指令组。
S180,建立所述更正后PLC变形指令组、所述更正后PLC变形指令组的版本信息、所述工序的标识以及所述真实执行设备信息之间的第一对应关系,并保存所述第一对应关系。
在确定PLC变形指令组的执行结果异常时,可以向相应技术人员的通信终端推送异常告警信息,这里的通信终端即为S170中的预设终端。这里的异常告警信息可以包括执行结果异常的PLC变形指令组、执行结果、产生该执行结果的真实执行设备的设备信息(即S170中的真实执行设备信息)以及从推送该异常告警信息时的当前时间信息。如此,可以由技术人员根据异常告警信息判定PLC变形指令组是否合适,并在PLC变形指令组不合适时,对其进行调整,调整后的PLC变形指令组即为上述的更正后PLC变形指令组。
预设终端在获得更正后PLC变形指令组之后,可以响应于上传操作,将所述更正后PLC变形指令组返回给元数据公共服务平台200,则元数据公共服务平台200可以按照S180获得新的第一对应关系。
可选地,本实施例中,元数据公共服务平台200可以采用区块链来进行数据存储。比如上述的第一对应关系和第二对应关系均可以被保存在基于区块链的数字字典中。在此情况下,元数据公共服务平台200中的各个节点(如上述的国家顶级节点、二级节点等)均可以作为区块链节点。在此情况下,上述的S180中的保存所述第一对应关系,可以通过图6所示的流程实现,详细描述如下。
S181,将所述第一对应关系发送至区块链中的任一共识节点,使所述共识节点针对所述第一对应关系发起投票请求。
这里的第一对应关系是指基于预设终端返回的更正后PLC变形指令组建立的第一对应关系。本实施例的一种实施方式中,元数据公共服务平台200中的所有区块链节点都可以是S181中的共识节点。本实施例的另一种实施方式中,可以从元数据公共服务平台200包括的区块链节点中选择一部分作为共识节点,比如,从国家顶级节点和二级节点中分别选择一部分作为共识节点。本实施例对此没有限制。
在执行S181时,一种实施方式中,可以从区块链中随机确定一共识节点,并将所述第一对应关系发送给所确定的共识节点。另一种实施方式中,可以选择将所述第一对应关系发送给距离预设终端最近的共识节点。
这里的发起投票请求是指,接收到第一对应关系的共识节点将包含该第一对应关系的投票请求发送给区块链中的其他所有共识节点,由其他每个共识节点对第一对应关系进行验证。可选地,本实施例中投票请求可以包括第一对应关系以及基于第一对应关系获得的第一哈希值。对应地,每个共识节点可以通过图7所示流程验证第一对应关系:
S181-1,获取所述投票请求中携带的第一对应关系,根据所述第一对应关系中的标识和真实执行设备信息从本地查找对应的PLC变形指令组。
S181-2,对所述第一对应关系中的标识和真实执行设备信息,以及从本地查找到的PLC变形指令组做哈希,得到第二哈希值。
S181-3,若所述第二哈希值与所述第一哈希值相同,则确定所述第一对应关系通过验证。
详细地,假设发起投票请求的是共识节点A,则投票请求中的第一哈希值是共识节点A通过对其保存的最新版本的第一对应关系做哈希得到的,如果其他每个共识节点(如,B)按照相同哈希算法对本地存储的PLC变形指令做哈希,并且得到的第二哈希值与第一哈希值相同,则表示共识节点B本地也保存了与投票请求中PLC变形指令组相同的指令组,共识节点B从而可以确定投票请求中的第一对应关系验证通过。
可选地,共识节点B基于投票请求中第一对应关系所包括的标识和真实执行设备信息,可能可以从本地查找到不同版本的多个PLC变形指令组,则共识节点B可以按照版本从新到旧的顺序,依次对所述不同版本的多个PLC变形指令组执行S181-2,如果获得与第一哈希值相同的第二哈希值,则不再重复执行S181-2。
S182,在所述投票请求通过时,根据所述第一对应关系生成新区块,并将所述新区块添加至所述区块链。
本实施例中,投票请求通过的情况包括第一对应关系通过区块链中半数以上共识节点投票通过。详细地,各共识节点可以将投票结果(即对投票请求中第一对应关系的验证结果)汇总到一个主节点,这里的主节点可以是一个预设的区块链节点。主节点可以基于获得的投票结果,确定是否有半数以上共识节点的验证结果为通过,如果是,则确定投票请求通过。在此情况下,主节点可以通知发起投票请求的共识节点,如上述的共识节点A。则共识节点A可以生成包括第一对应关系的新区块,并将新区块上链。这样,后续可以基于该第一对应关系中的PLC变形指令组来调整所获得的PLC指令集。
本实施例采用区块链来存储元数据公共服务平台200中的数据,可以利用区块链的共识机制来确定是否保存新版本的PLC变形指令组,并可以通过区块链来确保数据安全,避免数据篡改所导致的数据混乱。
请参照图8,图8示出了本申请实施例提供的一种自动控制装置800的功能模块框图,其可以集成于上述的元数据公共服务平台200中。装置800可以包括转换模块810、获取模块820以及控制模块830。
其中,转换模块810用于针对录入MES的目标产品的生产数据,查找所述目标产品的元数据模板,基于所述元数据模板,将所述生产数据转换为目标元数据,其中,所述目标元数据的数据格式符合所述元数据模板。
获取模块820用于获取与所述目标产品的元数据模板相对应的PLC指令集。
控制模块830用于根据所述目标元数据对所述PLC指令集中至少一个指令的指令参数进行调整,得到所述目标元数据对应的控制指令集,并将所述控制指令集发送给PLC系统执行。
可选地,装置800还可以包括调整模块。
调整模块可以用于在控制模块830根据所述目标元数据对所述PLC指令集中至少一个指令的指令参数进行调整,得到输出指令集之前,将所述PLC指令集绑定的执行设备信息确定为所述PLC指令集的标准执行设备信息;根据所述目标元数据确定所述PLC指令集的真实执行设备信息;若所述真实执行设备信息与所述标准执行设备信息相匹配,则触发所述控制模块830根据所述目标元数据对所述PLC指令集中至少一个指令的指令参数进行调整,得到输出指令集。
可选地,所述目标元数据包括相互关联的方法对象、机器对象和产品对象,其中,所述方法对象包括工艺流程及所述工艺流程的运行环境信息,所述机器对象包括用于执行所述工艺流程的设备的描述信息,所述产品对象包括采用所述工艺流程获得的产品的描述信息。
在此情况下,所述调整模块可以根据所述目标元数据中的所述机器对象的对象数据,确定所述PLC指令集的真实执行设备信息,并根据所述目标元数据中的所述产品对象的对象数据以及所述运行环境信息,对所述PLC指令集中至少一个指令的指令参数进行调整。
可选地,所述工艺流程具有至少一个工序,所述PLC指令集包括与每个工序相对应的PLC标准指令组。在此情况下,所述调整模块还可以用于在所述控制模块830根据所述目标元数据对所述PLC指令集中至少一个指令的指令参数进行调整,得到所述目标元数据对应的控制指令集之前,在所述真实执行设备信息与所述标准执行设备信息不匹配的情况下,针对所述工艺流程中的每个工序,基于所述工序的标识和所述真实执行设备信息,从所述元数据模板关联的变形指令库中,查找对应的PLC变形指令组;从查找到的PLC变形指令组中将最新版本的PLC变形指令组确定为目标PLC变形指令组;在所述PLC指令集中,将所述工序对应的PLC标准指令组替换成所述目标PLC变形指令组。
可选地,装置800还可以包括更新模块。
更新模块可以用于在控制模块830将控制指令集发送至PLC之后,获取所述PLC指令集中的PLC变形指令组的执行结果;在所述执行结果异常时,将所述PLC变形指令组、所述执行结果、所述真实执行设备信息、当前时间信息推送给预设终端,并接收所述预设终端返回的更正后PLC变形指令组;建立所述更正后PLC变形指令组、所述更正后PLC变形指令组的版本信息、所述工序的标识以及所述真实执行设备信息之间的第一对应关系,并保存所述第一对应关系。
可选地,所述第一对应关系,以及所述元数据模板与所述PLC指令集的第二对应关系,可以被保存在基于区块链的数字字典中。
可选地,更新模块可以通过如下方式保存所述第一对应关系:
将所述第一对应关系发送至区块链中的任一共识节点,使所述共识节点针对所述第一对应关系发起投票请求,并在所述投票请求通过时根据所述第一对应关系生成新区块,并将所述新区块添加至所述区块链。
可选地,所述投票请求通过的情况包括:所述第一对应关系通过所述区块链中半数以上的共识节点的验证。
可选地,所述投票请求包括所述第一对应关系以及基于所述第一对应关系获得的第一哈希值,每个共识节点通过以下方式验证所述第一对应关系:
获取所述投票请求中携带的第一对应关系,根据所述第一对应关系中的标识和真实执行设备信息从本地查找对应的PLC变形指令组;对所述第一对应关系中的标识和真实执行设备信息,以及从本地查找到的PLC变形指令组做哈希,得到第二哈希值;若所述第二哈希值与所述第一哈希值相同,则确定所述第一对应关系通过验证。
通过本申请实施例提供的自动控制装置,可以基于MES中的生产数据,实现对多种PLC的自动控制,提升操作效率和操作正确率,进而改善由于操作不当所导致的产品制造出错、产品质量不佳等问题。
所属技术领域的技术人员应当理解,为了描述的方便和间接,上述对于装置和模块的具体工作过程的描述,可以参照前述方法实施例中的对应过程,在此不再赘述。
另外,本申请实施例中提及的各个功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,或者也可以将两个及其以上的模块集成在一个模块中。上述模块既可以通过硬件形式实现,也可以通过软件功能形式实现。
请参照图9,图9示出了用于部署上述元数据公共服务平台200的一种服务器900的方框示意图。服务器900可以包括上述自动控制装置800、处理器910以及机器可读存储介质920。
处理器910和机器可读存储介质920可以通过系统总线930进行通信。自动控制装置800包括的软件功能模块可以以机器可执行指令的形式存储于机器可读存储介质920中。处理器910通过调用并读取机器可读存储介质920中的机器可执行指令,可以对外提供自动控制服务,从而基于MES 300中的生产数据实现对PLC 400的自动控制。
值得说明的是,图9所示的架构仅为示意。服务器900还可以包括比图9所示更多或更少的组件,比如,还可以包括通信单元940,或者具有与图9所示完全不同的配置,本实施例对此没有限制。此外,图9所示组件可以以硬件、软件或者其组合来实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有机器可执行指令的机器可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由机器可执行指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些机器可执行指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些机器可执行指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的机器可读存储介质中,使得存储在该机器可读存储介质中的指令产生包括指令装置(如,上述的自动控制装置800)的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些机器可执行指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种自动控制方法,其特征在于,包括:
针对录入制造执行系统MES的目标产品的生产数据,查找所述目标产品的元数据模板,基于所述元数据模板,将所述生产数据转换为目标元数据,其中,所述目标元数据的数据格式符合所述元数据模板,所述目标元数据包括相互关联的方法对象、机器对象和产品对象,其中,所述方法对象包括工艺流程及所述工艺流程的运行环境信息,所述机器对象包括用于执行所述工艺流程的设备的描述信息,所述产品对象包括采用所述工艺流程获得的产品的描述信息;
获取与所述目标产品的元数据模板相对应的可编程逻辑控制器PLC指令集;
根据所述目标元数据对所述PLC指令集中至少一个指令的指令参数进行调整,得到所述目标元数据对应的控制指令集,并将所述控制指令集发送给PLC执行。
2.根据权利要求1所述的方法,其特征在于,在所述根据所述目标元数据对所述PLC指令集中至少一个指令的指令参数进行调整,得到所述目标元数据对应的控制指令集之前,所述方法还包括:
将所述PLC指令集绑定的执行设备信息确定为所述PLC指令集的标准执行设备信息;
根据所述目标元数据确定所述PLC指令集的真实执行设备信息;
若所述真实执行设备信息与所述标准执行设备信息相匹配,则执行所述根据所述目标元数据对所述PLC指令集中至少一个指令的指令参数进行调整,得到输出指令集。
3.根据权利要求2所述的方法,其特征在于,
所述根据所述目标元数据确定所述PLC指令集的真实执行设备信息,包括:根据所述目标元数据中的所述机器对象的对象数据,确定所述PLC指令集的真实执行设备信息;
所述根据所述目标元数据对所述PLC指令集的指令参数进行调整,得到输出指令集,包括:根据所述目标元数据中的所述产品对象的对象数据以及所述运行环境信息,对所述PLC指令集中至少一个指令的指令参数进行调整。
4.根据权利要求3所述的方法,其特征在于,所述工艺流程具有至少一个工序,所述PLC指令集包括与每个工序相对应的PLC标准指令组;在所述根据所述目标元数据对所述PLC指令集中至少一个指令的指令参数进行调整,得到所述目标元数据对应的控制指令集之前,所述方法还包括:
若所述真实执行设备信息与所述标准执行设备信息不匹配,则针对所述工艺流程中的每个工序,基于所述工序的标识和所述真实执行设备信息,从所述元数据模板关联的变形指令库中,查找对应的PLC变形指令组;
从查找到的PLC变形指令组中将最新版本的PLC变形指令组确定为目标PLC变形指令组;
在所述PLC指令集中,将所述工序对应的PLC标准指令组替换成所述目标PLC变形指令组。
5.根据权利要求4所述的方法,其特征在于,在将所述控制指令集发送至PLC之后,所述方法还包括:
获取所述PLC指令集中的PLC变形指令组的执行结果;
在所述执行结果异常时,将所述PLC变形指令组、所述执行结果、所述真实执行设备信息、当前时间信息推送给预设终端,并接收所述预设终端返回的更正后PLC变形指令组;
建立所述更正后PLC变形指令组、所述更正后PLC变形指令组的版本信息、所述工序的标识以及所述真实执行设备信息之间的第一对应关系,并保存所述第一对应关系。
6.根据权利要求5所述的方法,其特征在于,所述第一对应关系,以及所述元数据模板与所述PLC指令集的第二对应关系,被保存在基于区块链的数字字典中。
7.根据权利要求5所述的方法,其特征在于,所述保存所述第一对应关系,包括:
将所述第一对应关系发送至区块链中的任一共识节点,使所述共识节点针对所述第一对应关系发起投票请求,并在所述投票请求通过时根据所述第一对应关系生成新区块,并将所述新区块添加至所述区块链。
8.根据权利要求7所述的方法,其特征在于,所述投票请求通过的情况包括:所述第一对应关系通过所述区块链中半数以上的共识节点的验证;
所述投票请求包括所述第一对应关系以及基于所述第一对应关系获得的第一哈希值,每个共识节点通过以下方式验证所述第一对应关系:
获取所述投票请求中携带的第一对应关系,根据所述第一对应关系中的标识和真实执行设备信息从本地查找对应的PLC变形指令组;
对所述第一对应关系中的标识和真实执行设备信息,以及从本地查找到的PLC变形指令组做哈希,得到第二哈希值;
若所述第二哈希值与所述第一哈希值相同,则确定所述第一对应关系通过验证。
9.一种自动控制装置,其特征在于,包括:
转换模块,用于针对录入MES的目标产品的生产数据,查找所述目标产品的元数据模板,基于所述元数据模板,将所述生产数据转换为目标元数据,其中,所述目标元数据的数据格式符合所述元数据模板,所述目标元数据包括相互关联的方法对象、机器对象和产品对象,其中,所述方法对象包括工艺流程及所述工艺流程的运行环境信息,所述机器对象包括用于执行所述工艺流程的设备的描述信息,所述产品对象包括采用所述工艺流程获得的产品的描述信息;
获取模块,用于获取与所述目标产品的元数据模板相对应的PLC指令集;
控制模块,用于根据所述目标元数据对所述PLC指令集中至少一个指令的指令参数进行调整,得到所述目标元数据对应的控制指令集,并将所述控制指令集发送给PLC执行。
10.一种机器可读存储介质,其特征在于,其上存储有机器可执行指令,该机器可执行指令被执行时实现权利要求1-8中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110304821.4A CN112698622B (zh) | 2021-03-23 | 2021-03-23 | 自动控制方法、装置及机器可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110304821.4A CN112698622B (zh) | 2021-03-23 | 2021-03-23 | 自动控制方法、装置及机器可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112698622A CN112698622A (zh) | 2021-04-23 |
CN112698622B true CN112698622B (zh) | 2021-06-18 |
Family
ID=75515403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110304821.4A Active CN112698622B (zh) | 2021-03-23 | 2021-03-23 | 自动控制方法、装置及机器可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112698622B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114528319A (zh) * | 2022-02-22 | 2022-05-24 | 厦门四信通信科技有限公司 | 对多个plc数据的采集方法、装置、设备及可读存储介质 |
CN114723743A (zh) * | 2022-05-16 | 2022-07-08 | 中国信息通信研究院 | 基于区块链的配电设备安全检测方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101638656B1 (ko) * | 2012-08-23 | 2016-07-11 | 엘에스산전 주식회사 | 산업용 자동화를 위한 클라우드 컴퓨팅 기반의 데이터 공유 시스템 및 산업용 기기 관리 장치 |
US20140337277A1 (en) * | 2013-05-09 | 2014-11-13 | Rockwell Automation Technologies, Inc. | Industrial device and system attestation in a cloud platform |
US9442941B1 (en) * | 2014-03-28 | 2016-09-13 | Emc Corporation | Data structure for hash digest metadata component |
US10496067B2 (en) * | 2015-08-07 | 2019-12-03 | Siemens Aktiengesellschaft | Automation and control distributed data management systems |
JP6461435B1 (ja) * | 2015-12-10 | 2019-01-30 | シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft | ヒストリアンと統合された分散組み込みデータおよび知識管理システム |
CN109064820A (zh) * | 2018-08-31 | 2018-12-21 | 广州超远机电科技有限公司 | 一种智能制造综合实训系统 |
CN110134727B (zh) * | 2019-04-03 | 2023-11-14 | 清华大学天津高端装备研究院 | 一种服务于制造执行层的数据采集与分析系统 |
CN111262722B (zh) * | 2019-12-31 | 2023-04-18 | 中国广核电力股份有限公司 | 一种用于工业控制系统网络的安全监测方法 |
-
2021
- 2021-03-23 CN CN202110304821.4A patent/CN112698622B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112698622A (zh) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825420B (zh) | 分布式集群的配置参数更新方法、装置、设备及存储介质 | |
US10318412B1 (en) | Systems, methods, and apparatus for dynamic software generation and testing | |
CN112698622B (zh) | 自动控制方法、装置及机器可读存储介质 | |
CN106575227B (zh) | 自动软件更新框架 | |
CN105763369A (zh) | 一种终端设备远程软件版本分发方法及系统 | |
CN106610853A (zh) | 一种应用部署方法和装置 | |
CN107391635A (zh) | 数据同步系统及方法 | |
JP2007507037A (ja) | 自動ソフトウェア更新を提供するための方法および装置 | |
CN110704098B (zh) | 一种根据应用包特征自动生成容器镜像的智能打包方法 | |
CN115712623B (zh) | 一种基于捕获元数据变更的批量数据容错采集方法 | |
CN111338869B (zh) | 配置参数管理方法、装置、设备及存储介质 | |
US20130086133A1 (en) | Method and apparatus for file revision tracking | |
Hedberg Jr | Enabling connections in the product lifecycle using the digital thread | |
US10599112B2 (en) | Method for programming and configuring a device in a traceable manner | |
US9852385B2 (en) | Processing of business object identifiers in master data integration scenarios involving non-local identifiers | |
CN106855804B (zh) | 代码变更管控方法及装置 | |
CN111400243B (zh) | 基于流水线服务的研发管理系统以及文件存储方法、装置 | |
US20140156714A1 (en) | Distributed file system processing apparatus and method, and storage media storing the same | |
EP3780551A1 (en) | Method and system for managing assets in a cloud computing environment | |
CN114816452B (zh) | 一种基于数据元的医院软件自动化部署方法 | |
CN111209332A (zh) | 一种基于自制序列化算法的数据库同步方法 | |
CN117081976B (zh) | 网关路由的配置方法及其装置 | |
CN109814911A (zh) | 用于管理脚本程序的方法、装置、计算机设备及存储介质 | |
JP2019168881A (ja) | ソフトウェア開発装置 | |
CN114742600B (zh) | 基于工业互联网的内容解析方法及计算机存储介质 |
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 |