CN117136348A - Ai推理设备和自动化控制器的数据交互方法、装置和系统 - Google Patents
Ai推理设备和自动化控制器的数据交互方法、装置和系统 Download PDFInfo
- Publication number
- CN117136348A CN117136348A CN202180096724.9A CN202180096724A CN117136348A CN 117136348 A CN117136348 A CN 117136348A CN 202180096724 A CN202180096724 A CN 202180096724A CN 117136348 A CN117136348 A CN 117136348A
- Authority
- CN
- China
- Prior art keywords
- reasoning
- result
- format
- data interaction
- model
- 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.)
- Pending
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 72
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000005516 engineering process Methods 0.000 title description 2
- 238000004891 communication Methods 0.000 claims abstract description 65
- 238000013507 mapping Methods 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 12
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 238000007667 floating Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000012086 standard solution Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Programmable Controllers (AREA)
Abstract
本发明提供了AI推理设备和自动化控制器的数据交互方法、装置和系统,其中,包括如下步骤:S1,分析AI模型的拓扑结构,并获取所述AI模型的多个节点和所述多个节点之间的相互连接;S2,基于用户的输入匹配所述AI模型的输出节点,基于AI模型确定推理结果的格式,并将所述推理结果的格式映射到自动化控制器;S3,基于用户的输入匹配所述AI推理设备和自动化控制器执行数据交互的通信协议。本发明提供了更加简单的自动数据交互方法,不需要依赖于工程师的经验,减少了工作量。
Description
技术领域
本发明涉及自动化领域,尤其涉及AI推理设备和自动化控制器的数据交互方法、装置和系统。
背景技术
人工智能在制造领域的增长是产业革命的自然分支,例如,人工智能对工业来说实现了更大灵活性、更高质量、更高效率和成本更低。然而,传统自动控制器(例如可编程逻辑控制器)在人工智能推理上并不合适,其需要许多浮点数计算,因此专用人工智能推理设备(dedicated AI inference devices)进入了自动领域级别来支持自动控制器执行人工智能推理,其中,所述专用人工智能推理设备通常基于硬件加速器,例如GPU、FPGA、ASIC等。具有PLC的大量安装基础的车间连接(shop floor connectivity)和人工智能推理设备的整合成为一个非常重要的技术话题。
为了让人工智能变应用变得更加自动化,人工智能工程师需要和自动化工程师一起工作。具体地,工作内容包括定义推理设备和控制设备的应用层通信协议。工作内容还包括调查控制设备应用的潜在工业通信协议,基于此,人工智能工程师需要学习如何通过工业通信协议界面进行开发。例如,如果控制设备需要通过PROFINET RT接收推理结果,人工智能工程师需要安装soft-PROFINET协议栈(protocol stack)和程序来召唤相应的应用程序接口。此外,人工智能工程师和自动化工程师也会为推理设备和控制设备利用不同的编程语言来开发程序,例如AI工程师用Python或C++来变成,自动化工程师用IEC61131-3的SCL来编程。
这样的工作流程带来了不同开发组之间的频繁交互工作以及对于引入人工智能技术到自动化系统的更多工作。
一般在AI训练过程中,负责AI训练的工程师用开源的AI框架(比如TensorFlow),针对这种框架需要Python语言编程,经过这样的过程会得到训练好的模型,训练好的模型只是在AI工程师电脑上经过了离线数据进行了验证便认为好了。但是,实际上训练出来的模型并不能直接放到工业设备上运行,或者在PLC或者边缘设备上运行。这是因为,边缘设备和PLC使用的设备类型和环境不一样,模型就需要从一个格式转换成另一个格式。并且,自动化工程师并不清楚模型本身输出什么数据,输出的数据的类型和格式只有AI工程师知道。比如,PLC本身是运行自动化程序的,并不能直接运行AI模型,因为AI模型要使用的话推理环境不能安装在PLC上,这样就导致了PLC想加入AI功能,又没有能力加。现有技术为了解决上述问题提供了如下方案,选一个边缘设备为PLC运行AI模型,这样边缘设备执行推理,边缘设备就可以把推理结果给PLC,PLC就可以用推理结果。这就相当于为PLC加了一个外部执行推理的扩展。
如今,IT公司更多地选择利用GPU来直接和PC交互,同时自动化公司的数据交互是基于人工智能应用并通常采用硬编码(hard-coded)的方式。现有技术并没有针对推理设备和PLC的设计良好的数据交互标准解决方案。
发明内容
本发明第一方面提供了AI推理设备和自动化控制器的数据交互方法,其中,包括如下步骤:S1,分析AI模型的拓扑结构,并获取所述AI模型的多个节点和所述多个节点之间的相互连接;S2,基于用户的输入匹配所述AI模型的输出节点,基于AI模型确定推理结果的格式,并将所述推理结果的格式映射到自动化控制器;S3,基于用户的输入匹配所述AI推理设备和自动化控制器执行数据交互的通信协议。
进一步地,所述AI推理设备为边缘设备,所述自动化控制器为PLC。
进一步地,所述步骤S2还包括如下步骤:基于用户的输入匹配所述AI模型的输出节点,基于AI模型确定推理结果的格式,并将所述推理结果的格式映射到PLC的输入映像。
进一步地,所述数据交互方法还包括在所述AI推理设备端执行的如下步骤:S4,基于所述推理结果的格式、所述通信协议的格式以及推理设备的运行环境为所述边缘设备产生第一源代码;S5,将所述第一源代码下载至所述AI推理设备;S6,基于所述推理结果的格式利用所述第一源代码将该推理结果打包并通过匹配的通信协议发送给自动化控制器。
进一步地,所述数据交互方法还包括在所述自动化控制器端执行的如下步骤:S7,基于所述推理结果的格式、所述通信协议的格式以及自动化控制器的运行环境为所述自动化控制器产生第二源代码;S8,将所述第二源代码下载至所述自动化控制器;S9,控制所述自动化控制器接收和解析所述推理结果以将反馈结果发送给AI推理设备。
进一步地,所述数据交互方法还包括如下步骤:AI推理设备根据输入数据对AI模型执行推理,其推理结果包括多个输出数据及其对应的多个参数;自动化控制器读取所述推理结果并从所述推理结果中选取部分输出数据及其对应的参数,并根据选取的输出数据及其对应的参数执行关联和映射。
进一步地,所述数据交互方法还包括如下步骤:对所述AI推理设备和自动化控制器基于不同的通信协议对应的不同编程语言执行翻译,以统一不同编程语言的类型。
进一步地,所述数据交互方法还包括如下步骤:对所述第一源代码和所述第二源代码执行程序构建,以将所述第一源代码和所述第二源代码转换为二进制代码。
本发明第二方面提供了AI推理设备和自动化控制器的数据交互系统,其中,包括:处理器;以及与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述电子设备执行动作,所述动作包括:S1,分析AI模型的拓扑结构,并获取所述AI模型的多个节点和所述多个节点之间的相互连接;S2,基于用户的输入匹配所述AI模型的输出节点,基于AI模型确定推理结果的格式,并将所述推理结果的格式映射到自动化控制器;S3,基于用户的输入匹配所述AI推理设备和自动化控制器执行数据交互的通信协议。
进一步地,所述AI推理设备为边缘设备,所述自动化控制器为PLC。
进一步地,所述动作S2还包括:基于用户的输入匹配所述AI模型的输出节点,基于AI模型确定推理结果的格式,并将所述推理结果的格式映射到PLC的输入映像。
进一步地,所述动作还包括:S4,基于所述推理结果的格式、所述通信协议的格式以及推理设备的运行环境为所述边缘设备产生第一源代码;S5,将所述第一源代码下载至所述AI推理设备;S6,基于所述推理结果的格式利用所述第一源代码将该推理结果打包并通过匹配的通信协议发送给自动化控制器。
进一步地,所述动作还包括:基于所述推理结果的格式、所述通信协议的格式以及自动化控制器的运行环境为所述自动化控制器产生第二源代码;将所述第二源代码下载至所述自动化控制器;控制所述自动化控制器接收和解析所述推理结果以将反馈结果发送给AI推理设备。
进一步地,所述动作还包括:AI推理设备根据输入数据对AI模型执行推理,其推理结果包括多个输出数据及其对应的多个参数;自动化控制器读取所述推理结果并从所述推理结果中选取部分输出数据及其对应的参数,并根据选取的输出数据及其对应的参数执行关联和映射。
进一步地,所述动作还包括:对所述AI推理设备和自动化控制器基于不同的通信协议对应的不同编程语言执行翻译,以统一不同编程语言的类型。
进一步地,所述动作还包括:对所述第一源代码和所述第二源代码执行程序构建,以将所述第一源代码和所述第二源代码转换为二进制代码。
本发明第三方面还提供了AI推理设备和自动化控制器的数据交互装置,其中,包括如下:分析装置,其分析AI模型的拓扑结构,并获取所述AI模型的多个节点和所述多个节点之间的相互连接;匹配映射装置,其基于用户的输入匹配所述AI模型的输出节点,基于AI模型确定推理结果的格式,并将所述推理结果的格式映射到自动化控制器;匹配装置,其基于用户的输入匹配所述AI推理设备和自动化控制器执行数据交互的通信协议。
本发明第四方面还提供了计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行本发明第一方面所述的方法。
本发明第五方面还提供了计算机可读介质,其上存储有计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据本发明第一方面所述的方法
因此,本发明能够将输入AI模型的节点以及输出输出节点都分析出来,一旦确定了输出节点就能够分析出这个节点的数据格式。例如,本发明能够知道节点是多少个整型变量。基于此,本发明能够直接分析模型文件本身的输出格式,就能够按照输出格式对推理结果打包并通过相应通信协议发送给PLC。本发明也会帮助PLC端生成程序,用来接收打包的数据并且分析出来的分析格式进行解析。
本发明提供的AI推理设备和自动化控制器的数据交互机制并不需要工程师具有丰富的编程经验和能力,也不需要特别擅长于某种编程语言和AI知识等。本发明是自动执行的,减少了程序开发、系统集成和调试的工作。
本发明提供了AI模型分析和可视化,工程师能够更好的了解AI模型的拓扑结构和用户需求,并确定建立数据交互的数据格式的分析和数据结构。本发明还提供了统一的操作环境和数据格式来消除AI模型、PLC设备和通信协议之间的不同,还能够建立通过不需要编程的拖拽操作来建立数据格式执行数据交互。
附图说明
图1是现有技术的AI推理设备和自动化控制器的数据交互方法的流程图;
图2是根据本发明一个具体实施例的AI推理设备和自动化控制器的数据交互方法的流程图;
图3是根据本发明一个具体实施例的AI模型的拓扑结构示意图。
具体实施方式
以下结合附图,对本发明的具体实施方式进行说明。
本发明提供了AI推理设备和自动化控制器的数据交互机制,其能够让所有程序都按照要求的协议/语言自动生成,不需要额外开发,AI工程师和自动化工程师也不需要相互熟悉各自的语言。
特别地,本发明还可以提供用于AI推理设备和自动化控制器之间通信的功能模块和支持组件。其中,推理结果的结构会被执行分析和可视化,容易被AI工程师、自动化工程师或者其他具有AI知识的其他工程师理解,然后利用图形化工具通过简单拖拽操作来映射预期的推理结果给PLC端。特别地,推理设备和PLC的功能模块的通信协议和源代码会被产生和建立。因此具有足够技术背景的AI工程师或者自动化工程师也能够执行上述过程。
图1是现有技术的AI推理设备和自动化控制器的数据交互方法的流程图。图1的左边是AI推理端,图1的右边是自动化控制器端。特别地,AI推理设备是边缘设备,自动化控制器是PLC。
首先需要AI工程师确认AI模型的输出、通信协议和数据类型,以便AI工程师和自动化工程师协商和定义商业逻辑的通信协议S11/S21。然后,AI工程师和自动化工程师再用协议对应的语言编程S12/S22,例如边缘设备用的是python/CPP语言,在PLC端用的是SCL/LAD语言。接着,AI工程师和自动化工程师执行构建下载程序S13/S23。然后,AI工程师和自动化工程师相互沟通以执行系统集成和调试S14/S24,以调试出稳定的程序。最后,边缘设备端和PLC端执行数据交换和运行交互,即边缘设备把推理结果发送给自动化控制器S15,自动化控制器反馈结果给边缘设备S25,并迭代执行上述步骤。
然而,在边缘设备上要加载模型执行推理所需要的编程需要和PLC不同,负责开发边缘设备上加载模型执行推理的代码的假如是自动化工程师,则需要学习新的编程语言。其次,边缘设备上执行推理结果格式随着模型不同而不同,不能把数据以标准方式由边缘设备发给PLC。最后,既然模型不同而推理结果格式不同,PLC解析收到的推理结果,只有正确解析才能正确使用。AI工程师和自动化工程师还要约定一个格式。因此,AI工程师和自动化工程师都各自干各自的工作,还需要频繁交互,两者各自有熟悉的领域,因此工作量巨大,并且容易出错。
此外,还有一些额外因素让上述问题变得更加复杂。例如,边缘设备编程语言不同,可能不是python,可能是C、C++和JAVA,并不能加以限制,因此就要求边缘设备的AI工程师熟悉不同的语言。也不能保证边缘设备和PLC之间的通信一定是标准通信(例如以太网、PROFINET等),边缘设备和PLC通信协议随着应用场景不同而不同,这就导致推理结果的发送要经过不同的协议,需要调取不同协议的接口进行打包,这就意味着AI工程师按照协议的不同发送数据,例如一个edge配合两个不同PLC,一个协议是PROFIBUS,另一个协议是PROFINET,AI工程师就要调不同协议,这进一步增加了复杂读,工作量变得更大。
图2是根据本发明一个具体实施例的AI推理设备和自动化控制器的数据交互方法的流程图,如图2所示,本发明第一方面提供了一种AI推理设备和自动化控制器的数据交互方法,其中,所述步骤S1、步骤S2和步骤S3可以在AI推理设备和/或自动化控制器执行,步骤S4、步骤S5和步骤S6在AI推理设备端执行,步骤S7、步骤S8和步骤S9在自动化控制器端执行。其中,优选地,AI推理设备是边缘设备,自动化控制器是PLC。
本发明提供了一种AI推理设备和自动化控制器的数据交互方法,其中,包括如下步骤。
首先执行步骤S1,分析AI模型的拓扑结构,并获取所述AI模型的多个节点和所述多个节点之间的相互连接。
具体地,如图3所示,AI模型M,其拓扑结构包括多个节点。AI模型M的节点包括第一层L1、第二层L2和第三层L3和第四层L4。具体地,所述第一层L1包括第一节点N11、第二节点N12、第三节点N13……第n节点N1n,所述第二层L2包括第一节点N21、第二节点N22、第三节点N23……第n节点N2n,所述第三层L3包括第一节点N31、第二节点N32、第三节点N33……第n节点N3n,第四层L4包括第一节点N41、第二节点N42、第三节点N43。因此,经过步骤S31分析得知上述节点的相互连接关系,节点的第一层L1的第一节点N11、第二节点N12、第三节点N13是输入节点,第四层L4的第一节点N41、第二节点N42、第三节点N43是输出节点。
其中,上述步骤给用户提供了AI模型拓扑的分析和可视化,包括输入和输出张量。基于可视化结果,用户可以更好地理解推理过程,并进一步易于指定期待的和PLC端交换的推理结果,以增加自动化控制器的智能功能。
然后执行步骤S2,基于用户的输入匹配所述AI模型的输出节点,基于AI模型确定推理结果的格式,并将所述推理结果的格式映射到自动化控制器。所述步骤S2还包括如下步骤:基于用户的输入匹配所述AI模型的输出节点,基于AI模型确定推理结果的格式,并将所述推理结果的格式映射到PLC的输入映像。上述步骤提供给用户定义PLC输入映像的格式,并将推理结果连接于输入映像的推理结果里。
如图3所示,例如匹配的所述AI模型的输出节点是第一层L1的第一节点N11,基于AI模型的格式能够确定推理结果的格式,因此可以将所述推理结果的格式映射到PLC充当输入数据存储空间的输入映像(input image)。
最后执行步骤S3,基于用户的输入匹配所述AI推理设备和自动化控制器执行数据交互的通信协议。
本发明关键点是让所有程序都按照要求的协议/语言自动生成,不需要开发,AI和自动化工程师也不需要相互熟悉语言。PLC的通信协议为其底层通信协议,例如包括PROFIBUS/PROFINET,只需要在步骤S3中确定使用哪种通信协议执行数据交互,就能够生成通信协议对应的代码程序。并且,当数据交互的通信协议确定以后,只需要基于用户的输入确定边缘设备用什么编程语言,例如使用语言C/C++/java生成程序。此外,本发明能够分析边缘设备和PLC之间的数据交互的格式,然后按照格式来生成边缘设备和PLC的代码程序。本发明直接分析模型文件本身的输出格式,就能够按照输出格式对推理结果打包并通过相应通信协议发送给PLC。本发明也会帮助PLC端生成程序,用来接收打包的数据并且分析出来的分析格式进行解析。
因此,本发明能够减少执行AI推理设备和自动化控制器的数据交互的工作量,减少AI工程师和自动化工程师的沟通,彼此不需要熟悉不同编程语言,也不需要熟悉底层通信协议。
进一步地,根据本发明一个优选实施例,所述数据交互方法还包括在边缘设备执行的如下步骤S4、S5和S6。
在步骤S4中,基于所述推理结果的格式、所述通信协议的格式以及推理设备的运行环境为所述边缘设备产生第一源代码。其中,边缘设备的运行系统为Windows10,处理器为X86_64,编程语言为Python,IP地址为192.168.1.10,通信协议为PROFINET。
具体地,推理设备配置的项目用于配置关于推理设备运行环境的参数,以产生推理设备的第一源代码。其中,上述处理器为推理设备使用的处理器,编程语言为推理设备产生的编程语言源代码,上述IP地址为PLC通信的IP地址。
在步骤S5中,将所述第一源代码下载至所述AI推理设备;在步骤S6中,基于所述推理结果的格式利用所述第一源代码将该推理结果打包并通过匹配的通信协议发送给自动化控制器。
进一步地,根据本发明一个优选实施例,所述数据交互方法还包括在所述PLC端执行的步骤S7、步骤S8和步骤S9。
首先执行步骤S7,基于所述推理结果的格式、所述通信协议的格式以及自动化控制器的运行环境为所述自动化控制器产生第二源代码。其中,PLC供应商为Siemens,PLC设备为S7-1500,IP地址为192.168.1.20,通信协议为PROFINET。
具体地,PLC设备用于连接于推理设备,IP地址是PLC设备用于和推理设备通信的设备。
其中,推理的输出输出区域用于可视化数据结构的细节。本发明能够确定在上述数据结构中执行数据处理,例如和PLC执行数据交互以及存储推理结果等。推理输出是从AI模型中分析得到的,其确定AI模型是何时建立的。例如,执行分类,推理输出是AI模型分类的目标。对于每个输出项目,其能够包括一个或者多个数据项目,其关于AI模型自身。以执行分类为例,一个项目包括只有一个浮动数据,其是一个目标的可能。另一个例子是目标检测,通常一个项目包括7个浮动数据,例如目标可能性、位置等。
针对,PLC的输入和输出,其能确定多少个项目能被传输给PLC端执行自动化系统,其他需要通过从相关统一数据类型区域拖拽统一数据类型来建立映像结构。
在步骤S8中,将所述第二源代码下载至所述自动化控制器;在步骤S9中,控制所述自动化控制器接收和解析所述推理结果以将反馈结果发送给AI推理设备。
优选地,所述数据交互方法还包括如下步骤:AI推理设备根据输入数据对AI模型执行推理,其推理结果包括多个输出数据及其对应的多个参数;自动化控制器读取所述推理结果并从所述推理结果中选取部分输出数据及其对应的参数,并根据选取的输出数据及其对应的参数执行关联和映射。
推理就是对AI模型输入数据得出推理结果,其中,推理结果包括多个输出数据,每个输出数据包括多个参数。例如,例如匹配的所述AI模型的输出节点是第一层L1的第一节点N11,其包括100个输出数据,每个输出数据包括参数:INT32、FP16、FP16、FP16、FP16、FP16、FP16、FP16。然而,通过第一节点N11发送给PLC的数据及其参数并不是全部为PLC所需,PLC通常只需要该节点输出数据及其参数的其中一部分或者几个数据及其参数。在该实施例中,PLC只需要其中5个参数INT32、FP16、FP16、FP16、FP16,其中,INT32关联和映射于PLC的INT32:Index,FP16关联和映射于PLC的FP32:Left_Top_X,FP16关联和映射于PLC的FP32:Left_Top_Y,FP16关联和映射于PLC的FP32:Right_Bottom_X,FP16关联和映射于PLC的FP32:Right_Bottom_Y。
因此,指定边缘设备和PLC交互数据的格式,推理的结果的格式定了,模型的推理的结果并不是PLC都要的,PLC只要一部分,需要上述指定的过程,PLC有些数据是需要交互的有些是需要执行数据处理的,这也是PLC提取想要内容的过程。
优选地,所述数据交互方法还包括如下步骤:对所述AI推理设备和自动化控制器基于不同的通信协议对应的不同编程语言执行翻译,以统一不同编程语言的类型。具体地,不同类型的设备对应不同的协议不同的编程语言,对数据类型的定义不一样,例如,有的设备上定义整型4个字节有个2个字节,有的叫int,int32,INT32。本步骤把数据类型统一起来,按照不同的语言进行翻译以统一数据类型。为了支持不同的推理设备、通信协议和PLC,本步骤定义统一的数据类型,其能够映射于通信协议和PLC定义的数据类型,能够避免工程师在不同自动话系统中的开发过程。
进一步地,所述数据交互方法还包括如下步骤:对所述第一源代码和所述第二源代码执行程序构建,以将所述第一源代码和所述第二源代码转换为二进制代码。本步骤执行程序构建,从源代码转化二进制,从而构建出可运行的二进制,以便边缘设备和PLC读取数据以执行数据交互。
其中,基于用户的输入匹配相应的通信协议,不同的通信协议调用不同的库。其中,所述通信协议包括PROFINET、EtherCAT和Modbus等。因此,推理设备端的编程需要基于PLC端的编程,然后需要基于和通信协议相关的编程语言的语言和接口执行编程。反观现有技术,任何工程师都需要先学习这种编程语言。
本发明第二方面提供了AI推理设备和自动化控制器的数据交互系统,其中,包括:处理器;以及与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述电子设备执行动作,所述动作包括:S1,分析AI模型的拓扑结构,并获取所述AI模型的多个节点和所述多个节点之间的相互连接;S2,基于用户的输入匹配所述AI模型的输出节点,基于AI模型确定推理结果的格式,并将所述推理结果的格式映射到自动化控制器;S3,基于用户的输入匹配所述AI推理设备和自动化控制器执行数据交互的通信协议。
进一步地,所述AI推理设备为边缘设备,所述自动化控制器为PLC。
进一步地,所述动作S2还包括:基于用户的输入匹配所述AI模型的输出节点,基于AI模型确定推理结果的格式,并将所述推理结果的格式映射到PLC的输入映像。
进一步地,所述动作还包括:S4,基于所述推理结果的格式、所述通信协议的格式以及推理设备的运行环境为所述边缘设备产生第一源代码;S5,将所述第一源代码下载至所述AI推理设备;S6,基于所述推理结果的格式利用所述第一源代码将该推理结果打包并通过匹配的通信协议发送给自动化控制器。
进一步地,所述动作还包括:基于所述推理结果的格式、所述通信协议的格式以及自动化控制器的运行环境为所述自动化控制器产生第二源代码;将所述第二源代码下载至所述自动化控制器;控制所述自动化控制器接收和解析所述推理结果以将反馈结果发送给AI推理设备。
进一步地,所述动作还包括:AI推理设备根据输入数据对AI模型执行推理,其推理结果包括多个输出数据及其对应的多个参数;自动化控制器读取所述推理结果并从所述推理结果中选取部分输出数据及其对应的参数,并根据选取的输出数据及其对应的参数执行关联和映射。
进一步地,所述动作还包括:对所述AI推理设备和自动化控制器基于不同的通信协议对应的不同编程语言执行翻译,以统一不同编程语言的类型。
进一步地,所述动作还包括:对所述第一源代码和所述第二源代码执行程序构建,以将所述第一源代码和所述第二源代码转换为二进制代码。
本发明第三方面还提供了AI推理设备和自动化控制器的数据交互装置,其中,包括如下:分析装置,其分析AI模型的拓扑结构,并获取所述AI模型的多个节点和所述多个节点之间的相互连接;匹配映射装置,其基于用户的输入匹配所述AI模型的输出节点,基于AI模型确定推理结果的格式,并将所述推理结果的格式映射到自动化控制器;匹配装置,其基于用户的输入匹配所述AI推理设备和自动化控制器执行数据交互的通信协议。
本发明第四方面还提供了计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行本发明第一方面所述的方法。
本发明第五方面还提供了计算机可读介质,其上存储有计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据本发明第一方面所述的方法
因此,本发明能够将输入AI模型的节点以及输出输出节点都分析出来,一旦确定了输出节点就能够分析出这个节点的数据格式。例如,本发明能够知道节点是多少个整型变量。基于此,本发明能够直接分析模型文件本身的输出格式,就能够按照输出格式对推理结果打包并通过相应通信协议发送给PLC。本发明也会帮助PLC端生成程序,用来接收打包的数据并且分析出来的分析格式进行解析。
本发明提供的AI推理设备和自动化控制器的数据交互机制并不需要工程师具有丰富的编程经验和能力,也不需要特别擅长于某种编程语言和AI知识等。本发明是自动执行的,减少了系统集成和调试的工作。
本发明提供了AI模型分析和可视化,工程师能够更好的了解AI模型的拓扑结构和用户需求,并确定建立数据交互的数据格式的分析和数据结构。本发明还提供了统一的操作环境和数据格式来消除AI模型、PLC设备和通信协议之间的不同,还能够建立通过不需要编程的拖拽操作来建立数据格式执行数据交互。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。此外,不应将权利要求中的任何附图标记视为限制所涉及的权利要求;“包括”一词不排除其它权利要求或说明书中未列出的装置或步骤;“第一”、“第二”等词语仅用来表示名称,而并不表示任何特定的顺序。
Claims (19)
1.AI推理设备和自动化控制器的数据交互方法,其中,包括如下步骤:
S1,分析AI模型的拓扑结构,并获取所述AI模型的多个节点和所述多个节点之间的相互连接;
S2,基于用户的输入匹配所述AI模型的输出节点,基于AI模型确定推理结果的格式,并将所述推理结果的格式映射到自动化控制器;
S3,基于用户的输入匹配所述AI推理设备和自动化控制器执行数据交互的通信协议。
2.根据权利要求1所述的AI推理设备和自动化控制器的数据交互方法,其特征在于,所述AI推理设备为边缘设备,所述自动化控制器为PLC。
3.根据权利要求2所述的AI推理设备和自动化控制器的数据交互方法,其特征在于,所述步骤S2还包括如下步骤:基于用户的输入匹配所述AI模型的输出节点,基于AI模型确定推理结果的格式,并将所述推理结果的格式映射到PLC的输入映像。
4.根据权利要求1所述的AI推理设备和自动化控制器的数据交互方法,其特征在于,所述数据交互方法还包括在所述AI推理设备端执行的如下步骤:
S4,基于所述推理结果的格式、所述通信协议的格式以及推理设备的运行环境为所述边缘设备产生第一源代码;
S5,将所述第一源代码下载至所述AI推理设备;
S6,基于所述推理结果的格式利用所述第一源代码将该推理结果打包并通过匹配的通信协议发送给自动化控制器。
5.根据权利要求1所述的AI推理设备和自动化控制器的数据交互方法,其特征在于,所述数据交互方法还包括在所述自动化控制器端执行的如下步骤:
S7,基于所述推理结果的格式、所述通信协议的格式以及自动化控制器的运行环境为所述自动化控制器产生第二源代码;
S8,将所述第二源代码下载至所述自动化控制器;
S9,控制所述自动化控制器接收和解析所述推理结果以将反馈结果发送给AI推理设备。
6.根据权利要求4或5所述的AI推理设备和自动化控制器的数据交互方法,其特征在于,所述数据交互方法还包括如下步骤:
AI推理设备根据输入数据对AI模型执行推理,其推理结果包括多个输出数据及其对应的多个参数;
自动化控制器读取所述推理结果并从所述推理结果中选取部分输出数据及其对应的参数,并根据选取的输出数据及其对应的参数执行关联和映射。
7.根据权利要求4或5所述的AI推理设备和自动化控制器的数据交互方法,其特征在于,所述数据交互方法还包括如下步骤:
对所述AI推理设备和自动化控制器基于不同的通信协议对应的不同编程语言执行翻译,以统一不同编程语言的类型。
8.根据权利要求4或5所述的AI推理设备和自动化控制器的数据交互方法,其特征在于,所述数据交互方法还包括如下步骤:对所述第一源代码和所述第二源代码执行程序构建,以将所述第一源代码和所述第二源代码转换为二进制代码。
9.AI推理设备和自动化控制器的数据交互系统,其中,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述电子设备执行动作,所述动作包括:
S1,分析AI模型的拓扑结构,并获取所述AI模型的多个节点和所述多个节点之间的相互连接;
S2,基于用户的输入匹配所述AI模型的输出节点,基于AI模型确定推理结果的格式,并将所述推理结果的格式映射到自动化控制器;
S3,基于用户的输入匹配所述AI推理设备和自动化控制器执行数据交互的通信协议。
10.根据权利要求9所述的AI推理设备和自动化控制器的数据交互系统,其特征在于,所述AI推理设备为边缘设备,所述自动化控制器为PLC。
11.根据权利要求10所述的AI推理设备和自动化控制器的数据交互系统,其特征在于,所述动作S2还包括:基于用户的输入匹配所述AI模型的输出节点,基于AI模型确定推理结果的格式,并将所述推理结果的格式映射到PLC的输入映像。
12.根据权利要求9所述的AI推理设备和自动化控制器的数据交互系统,其特征在于,所述动作还包括:
S4,基于所述推理结果的格式、所述通信协议的格式以及推理设备的运行环境为所述边缘设备产生第一源代码;
S5,将所述第一源代码下载至所述AI推理设备;
S6,基于所述推理结果的格式利用所述第一源代码将该推理结果打包并通过匹配的通信协议发送给自动化控制器。
13.根据权利要求9所述的AI推理设备和自动化控制器的数据交互系统,其特征在于,所述动作还包括:
S7,基于所述推理结果的格式、所述通信协议的格式以及自动化控制器的运行环境为所述自动化控制器产生第二源代码;
S8,将所述第二源代码下载至所述自动化控制器;
S9,控制所述自动化控制器接收和解析所述推理结果以将反馈结果发送给AI推理设备。
14.根据权利要求12或13所述的AI推理设备和自动化控制器的数据交互系统,其特征在于,所述动作还包括:
AI推理设备根据输入数据对AI模型执行推理,其推理结果包括多个输出数据及其对应的多个参数;
自动化控制器读取所述推理结果并从所述推理结果中选取部分输出数据及其对应的参数,并根据选取的输出数据及其对应的参数执行关联和映射。
15.根据权利要求12或13所述的AI推理设备和自动化控制器的数据交互系统,其特征在于,所述动作还包括:
对所述AI推理设备和自动化控制器基于不同的通信协议对应的不同编程语言执行翻译,以统一不同编程语言的类型。
16.根据权利要求12或13所述的AI推理设备和自动化控制器的数据交互系统,其特征在于,所述动作还包括:对所述第一源代码和所述第二源代码执行程序构建,以将所述第一源代码和所述第二源代码转换为二进制代码。
17.AI推理设备和自动化控制器的数据交互装置,其中,包括如下:
分析装置,其分析AI模型的拓扑结构,并获取所述AI模型的多个节点和所述多个节点之间的相互连接;
匹配映射装置,其基于用户的输入匹配所述AI模型的输出节点,基于AI模型确定推理结果的格式,并将所述推理结果的格式映射到自动化控制器;
匹配装置,其基于用户的输入匹配所述AI推理设备和自动化控制器执行数据交互的通信协议。
18.计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据权利要求1至8中任一项所述的方法。
19.计算机可读介质,其上存储有计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据权利要求1至8中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/095804 WO2022246647A1 (en) | 2021-05-25 | 2021-05-25 | Data interaction method, apparatus and system for ai inference device and automation controller |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117136348A true CN117136348A (zh) | 2023-11-28 |
Family
ID=84229278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180096724.9A Pending CN117136348A (zh) | 2021-05-25 | 2021-05-25 | Ai推理设备和自动化控制器的数据交互方法、装置和系统 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4327248A1 (zh) |
CN (1) | CN117136348A (zh) |
WO (1) | WO2022246647A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10409254B2 (en) * | 2015-07-16 | 2019-09-10 | Siemens Aktiengesellschaft | Knowledge-based programmable logic controller with flexible in-field knowledge management and analytics |
CN111108452A (zh) * | 2017-09-28 | 2020-05-05 | 西门子股份公司 | 用于为可编程逻辑控制器提供服务的方法和装置 |
US20210150359A1 (en) * | 2018-08-03 | 2021-05-20 | Siemens Aktiengesellschaft | Neural logic controllers |
WO2020037608A1 (zh) * | 2018-08-23 | 2020-02-27 | 西门子股份公司 | 人工智能计算设备、控制方法及装置、工程师站及工业自动化系统 |
EP3671571A1 (en) * | 2018-12-20 | 2020-06-24 | Siemens Aktiengesellschaft | A method and system for generating an artificial intelligence model |
-
2021
- 2021-05-25 EP EP21942234.2A patent/EP4327248A1/en active Pending
- 2021-05-25 WO PCT/CN2021/095804 patent/WO2022246647A1/en active Application Filing
- 2021-05-25 CN CN202180096724.9A patent/CN117136348A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4327248A1 (en) | 2024-02-28 |
WO2022246647A1 (en) | 2022-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10037443B2 (en) | Industrial simulation using redirected I/O module configurations | |
Vyatkin | Software engineering in industrial automation: State-of-the-art review | |
US20190101899A1 (en) | I/O Virtualization for Commissioning | |
US7991602B2 (en) | Agent simulation development environment | |
US10705511B2 (en) | Abstraction layers for automation applications | |
EP1865413A1 (en) | System and method for batch process control with diverse distributed control system protocols | |
EP3002649B1 (en) | Industrial simulation using redirected i/o module configurations | |
US20220066409A1 (en) | Method and system for generating an artificial intelligence model | |
US20210105183A1 (en) | Systems and methods for autonomous creation of a domain specific industrial internet of things gateway using a conversational interface | |
US20210116890A1 (en) | Production Control System | |
Pinto et al. | Bridging automation and robotics: an interprocess communication between IEC 61131–3 and ROS | |
Liang | Control and communication co-design: Analysis and practice on performance improvement in distributed measurement and control system based on fieldbus and Ethernet | |
Jacoby et al. | FA 3 ST Service–An Open Source Implementation of the Reactive Asset Administration Shell | |
CN115004118A (zh) | 用于配置和参数化现场总线用户的方法和工程系统 | |
CN117136348A (zh) | Ai推理设备和自动化控制器的数据交互方法、装置和系统 | |
Marschall et al. | Design and installation of an agent-controlled cyber-physical production system using the example of a beverage bottling plant | |
Ocaña et al. | Design and Implementation of an Industrial Multinetwork TCP/IP of a Distributed Control System with Virtual Processes Based on IOT | |
Ma et al. | A hybrid modeling methodology for cyber physical production systems: Framework and key techniques | |
Sieffert et al. | Generation of inter-plc communication in distributed control systems using IEC 61499 | |
WO2008155596A1 (en) | Standardized protocol independent configuration tool for intelligent electronic devices | |
EP3547125A1 (en) | Methods of configuring an automation system | |
Zielstorff et al. | Harmonizing Heterogeneity: A Novel Architecture for Legacy System Integration with Digital Twins in Industry 4.0 | |
Trunzer | Model-driven System Architectures for Data Collection in Automated Production Systems | |
Kostenko | Real-time communication between robot PLC and PC over Ethernet-based protocols | |
Grüner et al. | An approach for interconnection and unification of state models in discrete manufacturing |
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 |