CN115857883A - 工业控制软件开发方法、装置和计算设备 - Google Patents
工业控制软件开发方法、装置和计算设备 Download PDFInfo
- Publication number
- CN115857883A CN115857883A CN202211634978.4A CN202211634978A CN115857883A CN 115857883 A CN115857883 A CN 115857883A CN 202211634978 A CN202211634978 A CN 202211634978A CN 115857883 A CN115857883 A CN 115857883A
- Authority
- CN
- China
- Prior art keywords
- subsystems
- subsystem
- interface
- data
- software
- 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
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000011161 development Methods 0.000 claims abstract description 39
- 238000004891 communication Methods 0.000 claims abstract description 37
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 26
- 230000003993 interaction Effects 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 65
- 230000005540 biological transmission Effects 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 31
- 210000001503 joint Anatomy 0.000 abstract description 4
- 230000018109 developmental process Effects 0.000 description 74
- 238000003860 storage Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 238000012546 transfer Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 11
- 208000023697 ABri amyloidosis Diseases 0.000 description 8
- 201000000162 ITM2B-related cerebral amyloid angiopathy 1 Diseases 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 101100190617 Arabidopsis thaliana PLC2 gene Proteins 0.000 description 5
- 101100190618 Arabidopsis thaliana PLC3 gene Proteins 0.000 description 5
- 101100190621 Arabidopsis thaliana PLC4 gene Proteins 0.000 description 5
- 101100408456 Arabidopsis thaliana PLC8 gene Proteins 0.000 description 5
- 101100464304 Caenorhabditis elegans plk-3 gene Proteins 0.000 description 5
- 101100093534 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RPS1B gene Proteins 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000033772 system development Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Programmable Controllers (AREA)
Abstract
本申请实施例涉及工业控制技术领域,且涉及一种工业控制软件开发方法、装置和计算设备。该方法包括:分解步骤,用于对待开发软件***进行功能分解,得到至少两个子***;第一配置步骤,用于根据连接子***的边缘控制器的通信总线中配置的软件协议,配置各个子***之间的接口信息;第二配置步骤,用于将各个子***与对应的硬件资源建立关联。本申请实施例结合连接子***的边缘控制器的通信总线,配置子***之间的接口信息并将子***与硬件资源建立关联,构建统一的软件***的I/O配置管理,以***整体全局视角管理所有接入的I/O设备,使子***之间交互和对接更加顺畅,能够统一数据格式、便于开发管控、提升开发效率,提升***的可扩展性和可维护性。
Description
技术领域
本发明涉及软件开发技术领域,尤其涉及工业控制软件开发方法、装置和计算设备。
背景技术
传统工业自动化***由若干传感器、可编程逻辑控制器(PLC)、工控机(操作员站)组成现场控制层。近年来随着技术的发展,特别是人工智能技术的引入,逐步在控制层之外增加了优化与决策***,或者是增加了基于视觉传感设备的机器视觉***。多种技术的融合使得控制***越来越复杂。各个子***使用各自的开发工具也给整体工业自动化***的工程实施管理带来混乱。子***开发人员无法从***整体全局视角来理解整个工业自动化的工艺。如果某个子***的某个环节出现变更修改,会导致其他相关联的子***对接异常。与此同时,各个子***的计算分析所使用的现场I/O信息,如传感器、执行器、相机的数据,也都是由各个子***单独进行接入管理。I/O信息缺乏统一的管理给工程实施管理带来混乱,导致开发效率低,***的可扩展性和可维护性差。
发明内容
鉴于现有技术的以上问题,本申请实施例提供一种工业控制软件开发方法、装置和计算设备,结合连接子***的边缘控制器的通信总线,配置子***之间的接口信息并将子***与硬件资源建立关联,构建统一的软件***的I/O配置管理,以***整体全局视角管理所有接入的I/O设备,使子***之间交互和对接更加顺畅,能够统一数据格式、便于开发管控、提升开发效率,提升***的可扩展性和可维护性。
达到上述目的,本申请第一方面提供了一种工业控制软件开发方法,包括:
分解步骤,用于对待开发软件***进行功能分解,得到至少两个子***;
第一配置步骤,用于根据连接所述子***的边缘控制器的通信总线中配置的软件协议,配置各个所述子***之间的接口信息;
第二配置步骤,用于将各个所述子***与对应的硬件资源建立关联。
作为第一方面的一种可能的实现方式,所述方法还包括:
在软件开发过程中,在构建的多语言混合编程的集成开发环境中,通过至少一种编程语言实现所述第一配置步骤和所述第二配置步骤的配置。
作为第一方面的一种可能的实现方式,所述第一配置步骤包括:基于各个所述子***中的功能模块之间的事件接口连接的顺序和数据传输关系,构建所述子***的事件接口和数据接口;其中,所述子***中包括至少一个功能模块,所述功能模块是对待开发软件***进行功能分解得到的。
作为第一方面的一种可能的实现方式,,所述方法还包括:基于所述子***的事件接口和数据接口,对各个所述子***中的功能模块进行控制协同,所述控制协同包括多设备协同、多业务协同和业务内部功能协同中的至少一种。
作为第一方面的一种可能的实现方式,所述多设备协同包括:
基于所述子***的事件接口和数据接口,以及与各个所述子***对应的硬件资源,对各个所述硬件资源进行控制协同。
作为第一方面的一种可能的实现方式,所述多业务协同包括:
基于在不同业务中各自使用的所述子***的事件接口和数据接口,对各个所述业务之间的交互进行控制协同。
作为第一方面的一种可能的实现方式,所述业务内部功能协同包括:
基于业务内部使用的所述子***的事件接口和数据接口,对业务内部功能进行控制协同。
作为第一方面的一种可能的实现方式,所述第一配置步骤包括:
根据所述软件协议对应的报文规范,得到所述子***之间的传递变量的数据格式;
基于所述子***之间的传递变量的数据格式,在软件开发过程中配置各个所述子***之间的接口信息。
本申请第二方面提供了一种工业控制软件开发装置,包括:
分解单元,用于对待开发软件***进行功能分解,得到的至少两个子***;
第一配置单元,用于根据连接所述子***的边缘控制器的通信总线中配置的软件协议,配置各个所述子***之间的接口信息;
第二配置单元,用于将各个所述子***与对应的硬件资源建立关联。
作为第二方面的一种可能的实现方式,所述装置还用于:
在软件开发过程中,在构建的多语言混合编程的集成开发环境中,通过至少一种编程语言实现所述第一配置步骤和所述第二配置步骤的配置。
作为第二方面的一种可能的实现方式,所述第一配置单元用于:基于各个所述子***中的功能模块之间的事件接口连接的顺序和数据传输关系,构建所述子***的事件接口和数据接口;其中,所述子***中包括至少一个功能模块,所述功能模块是对待开发软件***进行功能分解得到的。
作为第二方面的一种可能的实现方式,所述装置还包括协同单元,所述协同单元用于:基于所述子***的事件接口和数据接口,对各个所述子***中的功能模块进行控制协同,所述控制协同包括多设备协同、多业务协同和业务内部功能协同中的至少一种。
作为第二方面的一种可能的实现方式,所述多设备协同包括:
基于所述子***的事件接口和数据接口,以及与各个所述子***对应的硬件资源,对各个所述硬件资源进行控制协同。
作为第二方面的一种可能的实现方式,所述多业务协同包括:
基于在不同业务中各自使用的所述子***的事件接口和数据接口,对各个所述业务之间的交互进行控制协同。
作为第二方面的一种可能的实现方式,所述业务内部功能协同包括:
基于业务内部使用的所述子***的事件接口和数据接口,对业务内部功能进行控制协同。
作为第二方面的一种可能的实现方式,所述第一配置单元用于:
根据所述软件协议对应的报文规范,得到所述子***之间的传递变量的数据格式;
基于所述子***之间的传递变量的数据格式,在软件开发过程中配置各个所述子***之间的接口信息。
本申请第三方面提供了一种计算设备,包括:
通信接口;
至少一个处理器,其与所述通信接口连接;以及
至少一个存储器,其与所述处理器连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行上述第一方面任一所述的方法。
本申请第四方面提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行上述第一方面任一所述的方法。
本发明的这些和其它方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
以下参照附图来进一步说明本发明的各个特征和各个特征之间的联系。附图均为示例性的,一些特征并不以实际比例示出,并且一些附图中可能省略了本申请所涉及领域的惯常的且对于本申请非必要的特征,或是额外示出了对于本申请非必要的特征,附图所示的各个特征的组合并不用以限制本申请。另外,在本说明书全文中,相同的附图标记所指代的内容也是相同的。具体的附图说明如下:
图1为本申请实施例提供的工业控制软件开发方法的一实施例的示意图;
图2为本申请实施例提供的工业控制软件开发方法的一实施例的示意图;
图3为本申请实施例提供的工业控制软件开发方法的一实施例的多任务协同示意图;
图4为本申请实施例提供的工业控制软件开发方法的一实施例的业务内部功能协同示意图;
图5为本申请实施例提供的工业控制软件开发方法的一实施例的多业务协同示意图;
图6为本申请实施例提供的工业控制软件开发方法的一实施例的应用设计示意图;
图7为本申请实施例提供的工业控制软件开发方法的一实施例的子***划分示意图;
图8为本申请实施例提供的工业控制软件开发方法的一实施例的硬件资源关联示意图;
图9为本申请实施例提供的工业控制软件开发装置的一实施例的示意图;
图10为本申请实施例提供的工业控制软件开发装置的一实施例的示意图;
图11为本申请实施例提供的计算设备的示意图。
具体实施方式
说明书和权利要求书中的词语“第一、第二、第三等”或模块A、模块B、模块C等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置A和B的设备”不应局限为仅由部件A和B组成的设备。
本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。如有不一致,以本说明书中所说明的含义或者根据本说明书中记载的内容得出的含义为准。另外,本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。为了准确地对本申请中的技术内容进行叙述,以及为了准确地理解本发明,在对具体实施方式进行说明之前先对本说明书中所使用的术语给出如下的解释说明或定义:
1)PLC(Programmable Logic Controller,可编程逻辑控制器):可编程逻辑控制器是种专门为在工业环境下应用而设计的数字运算操作电子***。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。具体地,可编程逻辑控制器是一种具有微处理器的用于自动化控制的数字运算控制器,可以将控制指令随时载入内存进行储存与执行。可编程控制器由CPU(Central Processing Unit,中央处理器)、指令及数据内存、输入/输出接口、电源、数字模拟转换等功能单元组成。当可编程逻辑控制器投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期间,可编程逻辑控制器的CPU以一定的扫描速度重复执行上述三个阶段。
2)边缘控制器:边缘控制器是IT(Information Technology,信息技术)和OT(Operational Technology,运营技术)之间的一个物理接口。在完成工作站或生产线的控制功能基础上,提升工业设备的接口能力和计算能力,提高工业设备的适用性。
3)IEC 61131-3:是由国际电工委员会(IEC)于1993年12月所制定IEC 61131标准的第3部分,用于规范可编程逻辑控制器(PLC)的编程***的标准,应用IEC61131-3标准已经成为工业控制领域的趋势。在PLC方面,编辑软件只需符合IEC61131-3国际标准规范,便可借由符合各项标准的语言架构,进而能建立任何人皆可了解的程序。
4)IEC 61499:是用于分布式工业过程测量与控制***功能块的标准。
5)HMI(Human Machine Interface,人机接口):人机接口是指人与计算机之间建立联系、交换信息的输入/输出设备的接口。这些设备包括键盘、显示器、打印机、鼠标器等。
6)Hypervisor(virtual machine monitor,虚拟机监视器):一种运行在基础物理服务器和操作***之间的中间软件层,可允许多个操作***和应用共享硬件。
下面先对现有的方法进行介绍,然后再对本申请的技术方案进行详细介绍。
传统工业自动化***由若干传感器、可编程逻辑控制器(PLC)、工控机(操作员站)组成现场控制层。近年来随着技术的发展,特别是人工智能技术的引入,逐步在控制层之外增加了优化与决策***,或者是增加了基于视觉传感设备的机器视觉***。多种技术的融合使得控制***越来越复杂。各个子***使用各自的开发工具也给整体工业自动化***的工程实施管理带来混乱。子***开发人员无法从***整体全局视角来理解整个工业自动化的工艺。如果某个子***的某个环节出现变更修改,会导致其他相关联的子***对接异常。
与此同时,各个子***的计算分析所使用的现场I/O信息,如传感器、执行器、相机的数据,也都是由各个子***单独进行接入管理,缺乏一个统一的开发平台对整个工业自动化***的所有现场I/O信息进行管理和配置。I/O信息缺乏统一的管理给工程实施管理带来混乱,导致开发效率低,***的可扩展性和可维护性差。
这种以底层为基础逐步向上开发设计的“自底向上”设计理念,不再适合现代化的工业控制需求。
现有技术存在着以下的缺陷:数据缺乏统一管理,开发效率低,***的可扩展性和可维护性差。
基于上述现有技术所存在的技术问题,本申请提供了一种工业控制软件开发方法、装置和计算设备,结合连接子***的边缘控制器的通信总线,配置子***之间的接口信息并将子***与硬件资源建立关联,构建统一的软件***的I/O配置管理,根据统一配置的接口信息对各个子***的功能进行具体的编程开发。该方法以***整体全局视角管理所有接入的I/O设备,使子***之间交互和对接更加顺畅,能够统一数据格式、便于开发管控、提升开发效率,提升***的可扩展性和可维护性,从而解决了现有技术中提到的数据缺乏统一管理,开发效率低,***的可扩展性和可维护性差的技术问题。
图1为本申请实施例提供的工业控制软件开发方法的一实施例的示意图。如图1所示,该方法可以包括:
步骤S10,分解步骤,用于对待开发软件***进行功能分解,得到至少两个子***;
步骤S20,第一配置步骤,用于根据连接所述子***的边缘控制器的通信总线中配置的软件协议,配置各个所述子***之间的接口信息;
步骤S30,第二配置步骤,用于将各个所述子***与对应的硬件资源建立关联。
应用本申请实施例提供的工业控制软件开发方法,可构建一个全新的工业控制开发平台。该平台能够给工程师提供***整体全局视角,以***整体全局视角管理所有子***接入的I/O设备,将各个子***任务放到一个大***视角考虑,并在一个开发平台上完成各个子***任务的开发过程。
具体地,本申请实施例提供的软件开发方法,可构建***视角的自顶向下开发流程。在步骤S10中,首先在***层面直接面向整体控制***的工艺结果,进行工艺功能分解,将待开发软件***拆分成若干个子***。在步骤S20中,根据功能分解得到的若干个子***,获取***配置中连接各个子***的边缘控制器的通信总线,并获取该通信总线中配置的软件协议对应的报文规范。在一个示例中,分布式软总线中配置的软件协议可以是Modbus协议或者Socket协议。根据软件协议对应的报文规范,得到各个子***之间的传递变量的数据格式。基于传递变量的数据格式,在软件开发过程中配置各个子***之间的接口信息。
在步骤S30中,将各个所述子***与对应的硬件资源建立关联。在一种实施方式中,所述硬件资源包括PLC设备;所述对各个所述子***与对应的硬件资源建立关联,包括:将各个所述子***分配到对应的PLC设备中。将子***与硬件资源建立关联后,可从全局视角自上而下对硬件资源进行统一管理,便于开发管控、提升开发效率。
在又一个示例中,硬件资源还可以包括可编程自动化控制器(PAC)、边缘可编程工业控制器(简称边缘控制器)和微控制器(单片机)等其他硬件设备。硬件设备的分配情况可根据***实际需求而确定,本申请实施例不做限制。
本申请实施例结合连接子***的边缘控制器的通信总线,配置子***之间的接口信息并将子***与硬件资源建立关联,构建统一的软件***的I/O配置管理,以***整体全局视角管理所有接入的I/O设备,使子***之间交互和对接更加顺畅,能够统一数据格式、便于开发管控、提升开发效率,提升***的可扩展性和可维护性。
在一种实施方式中,所述第一配置步骤包括:
根据所述软件协议对应的报文规范,得到所述子***之间的传递变量的数据格式;
基于所述子***之间的传递变量的数据格式,在软件开发过程中配置各个所述子***之间的接口信息。
参见图2,分解步骤和第一配置步骤具体可包括以下流程:
步骤S110,基于对待开发软件***进行功能分解得到的至少两个子***,获取连接所述子***的边缘控制器的通信总线中配置的软件协议;
步骤S120,根据所述软件协议对应的报文规范,得到所述子***之间的传递变量的数据格式;
步骤S130,基于所述子***之间的传递变量的数据格式,在软件开发过程中配置各个所述子***之间的接口信息。
子***之间的数据交互包括数据变量点间的交互。数据变量点间的交互可以通过Modbus协议或Socket协议。在步骤S110中,根据功能分解得到的若干个子***,获取***配置中连接各个子***的边缘控制器的通信总线,并获取该通信总线中配置的软件协议。例如,可结合边缘控制器的分布式软总线,获取总线中配置的软件协议。分布式软总线通过网络将各个分布的设备连接在一起,实现设备发现和数据传输的逻辑通路。在一个示例中,分布式软总线中配置的软件协议可以是Modbus协议或者Socket协议。
分布式软总线模块可为设备间提供通信能力,提供针对各种底层通信协议和不同底层内核设备发现和传输接口。在步骤S120中,根据步骤S110中获取的软件协议对应的报文规范,得到各个子***之间的传递变量的数据格式。根据各个子***之间相互通信的软件协议的报文规范,合理配置各个子***之间的传递变量的数据格式,可以使子***之间交互和对接更加顺畅。
在步骤S130中,基于步骤S120中得到的子***之间的传递变量的数据格式,在软件开发过程中配置各个子***之间的接口信息。在以上步骤中,以整个***全局定义各个环节子***应用之间的接口信息,结合软件定义控制边缘控制器的分布式软总线技术,自动将子***应用之间的传递变量与各个子***的软总线建立映射和配置接口。
在一个示例中,Modbus协议在串行链路上的报文格式如下所示:
帧结构=从机地址+功能码+数据+校验
1)从机地址:每个从机都有唯一地址,占用一个字节,范围0-255。其中有效范围是1-247,其中255是广播地址。
2)功能码:占用一个字节。不同功能码对应不同功能。比如可以查询从机的数据,也可以修改从机的数据。
3)数据:功能码不同对应的数据也不同。例如,功能码是查询从机的数据,则对应的数据是查询数据的地址和查询字节数等。
4)校验:在数据传输过程中可能数据会发生错误,通过校验可以检测接收的数据是否正确。
根据上述Modbus协议的报文格式,可配置各个子***之间的传递变量的数据格式。基于子***之间的传递变量的数据格式,在软件开发过程中配置各个子***之间的接口信息。若子***之间通过Modbus协议进行交互,则传递变量和接口信息中也相应包括从机地址、功能码,以及对应的数据。
在又一个示例中,Modbus协议使用串口传输时可以选择RTU(Remote TerminalUnit,远程终端单元)或ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)模式,并规定了消息、数据结构、命令和应答方式并需要对数据进行校验。ASCII模式采用LRC校验(Longitudinal Redundancy Check,纵向冗余校验),RTU模式采用16位CRC校验(Cyclic Redundancy Check,循环冗余校核)。通过以太网传输时使用TCP(Transmission Control Protocol,传输控制协议),这种模式不使用校验,因为TCP协议是一个面向连接的可靠协议。
例如,如果需要发送一个数字10,那么在RTU模式下,只需要发送0x0A;总线上传输数据形式为:0000 1010。在ASCII码模式下,则将数据1和0转为“1”和“0”,需要发送0x31(1)0x30(0)两个字节数据。总线上传输数据形式为:00110001 0011 0000。同样地,根据上述Modbus协议的报文规范,可配置各个子***之间的传递变量的数据格式。基于子***之间的传递变量的数据格式,在软件开发过程中配置各个子***之间的接口信息。
在一种实施方式中,所述第一配置步骤包括:基于各个所述子***中的功能模块之间的事件接口连接的顺序和数据传输关系,构建所述子***的事件接口和数据接口;其中,所述子***中包括至少一个功能模块,所述功能模块是对待开发软件***进行功能分解得到的。其中,事件接口包括事件输入接口和事件输出接口;数据接口包括数据输入接口和数据输出接口。
图2中的步骤S130,所述基于所述子***之间的传递变量的数据格式,在软件开发过程中配置各个所述子***之间的接口信息,包括:
基于所述子***之间的传递变量的数据格式,构建所述子***的功能模型;所述功能模型包括事件输入接口、事件输出接口、数据输入接口和数据输出接口中的至少一种。
在一个示例中,可在软件***开发过程中,获取为子***设计的事件流程和数据传输关系。例如,在进行软件***设计时,可用软件设计图中的连线表示子***之间的事件流程和数据传输关系。可识别软件设计图中的连线,得到子***之间的事件流程和数据传输关系。再根据事件流程和数据传输关系,构建子***的事件输入接口、事件输出接口、数据输入接口和数据输出接口。
在一种实施方式中,所述基于所述子***之间的传递变量的数据格式,构建所述子***的功能模型,包括:
基于各个所述子***中的功能模块之间的事件接口连接的顺序,构建所述子***的事件输入接口和事件输出接口;
其中,所述子***中包括至少一个功能模块,所述功能模块是对待开发软件***进行功能分解得到的。
本申请实施例中,对待开发软件***进行功能分解,将待开发软件***拆分成若干个子***,以及,将子***分解成若干个功能模块。如图3所示,待开发软件***中的子***包括子应用A1、子应用A2和子应用A3。图3中的“FBD”表示功能模块。子应用A1分解成FBD1、FBD 2和FBD 3;子应用A2分解成FBD 4和FBD 2;子应用A3分解成FBD 1、FBD 4和FBD 5。如图4所示,软件设计图中,子***和功能模块包括事件控制和算法运算两部分。事件控制部分两端的连线表示事件流程,包括事件输入接口和事件输出接口。算法运算部分两端的连线表示数据输入接口和数据输出接口。再参见图3,相应地,各个子应用和FBD两端的连线分别表示子应用之间和FBD之间的事件输入接口和事件输出接口、数据输入接口和数据输出接口。
参见图3,在软件***开发过程中,可识别软件设计图中的连线,得到各个子***中的功能模块之间的事件接口连接的顺序。再根据功能模块之间的事件接口连接的顺序,构建子***的事件输入接口和事件输出接口。
在一种实施方式中,所述基于所述子***之间的传递变量的数据格式,构建所述子***的功能模型,包括:
基于各个所述子***中的功能模块之间的数据传输关系,构建所述子***的数据输入接口和数据输出接口;
其中,所述子***中包括至少一个功能模块,所述功能模块是对待开发软件***进行功能分解得到的。
同理,参见图3和图4,在软件***开发过程中,可识别软件设计图中的连线,得到各个子***中的功能模块之间的数据传输关系。再根据各个子***中的功能模块之间的数据传输关系,构建子***的数据输入接口和数据输出接口。
采用本申请实施例提供的工业控制软件开发方法,可构建统一工业控制***的I/O配置管理。统一定义控制***外部I/O,不论是伺服驱动器、变频器、传感器、I/O模块等实时传统控制任务的I/O,还是雷达、相机、摄像头等AI(Artificial Intelligence,人工智能)计算类任务的I/O,均作为统一的I/O进行接入***配置管理。然后再由具体的应用开发进一步进行映射和调用。
在一个示例中,构建***视角的自顶向下开发流程,可结合IEC61131-3的图形化编程语言以及IEC61499标准,构建一种由***到子***的开发流程。以整个***全局定义各个环节子***应用之间的接口信息。结合边缘控制器的分布式软总线技术,自动将子***应用之间的传递变量与各个子***的软总线建立映射和配置接口。然后对各个子***应用进行硬件资源的关联定义和分配,配置子***应用所采用的I/O,对各个子***应用的功能进行具体的编程开发。
在一种实施方式中,所述方法还包括:
在软件开发过程中,在构建的多语言混合编程的集成开发环境中,通过至少一种编程语言实现所述第一配置步骤和所述第二配置步骤的配置。
在另一个示例中,可构建多语言混合编程的IDE(Integrated DevelopmentEnvironment,集成开发环境)。工业控制***中,如边缘计算、人工智能、可视化等计算类任务通常会采用高级语言编程,如C++、C#、Python、JS等。这些计算类任务通常在一个非实时***,如Linux上运行。传统的自动化实时控制任务通常采用IEC61131-3标准的语言,包括ST、LD、FBD、SFC、CFC、IL等,以及IEC61499的编程语言。通常实时控制任务会在一个实时***(RTOS)上运行。这些计算类的任务开发与实施控制任务的开发通常采用不同的集成开发环境(IDE),涉及到任务之间的交互时通常需要提前规划好通信的方式和协议,然后将交互数据按照约定的方式去定义。考虑采用一个统一的IDE,能够同时支持高级语言编程以及IEC61131-3标准的语言编程,并且能够基于对工业过程结果的设计,自动将不同任务间需要交互的数据自动定义、自动匹配。
在第二配置步骤中,将各个所述子***与对应的硬件资源建立关联。参见图3的示例,将子应用A1分配到设备PLC2中,将子应用A2分配到设备PLC3中,将子应用A3分配到设备PLC4中。
在一种实施方式中,所述方法还包括:为各个所述PLC设备添加通信功能块,所述通信功能块用于所述PLC设备之间的事件和数据的传输。
参见图3的示例,在PLC2、PLC3和PLC4设备中,对应在子应用A1、子应用A2和子应用A3的两端分别添加通信功能块,用于实现PLC设备之间的事件和数据的输入和输出。
在一种实施方式中,所述方法还包括:基于所述子***的事件接口和数据接口,对各个所述子***中的功能模块进行控制协同,所述控制协同包括多设备协同、多业务协同和业务内部功能协同中的至少一种。
本申请实施例中,在全局视图将控制任务按照功能块组态实现的阶段,重点关注全局业务逻辑,暂时不关注功能块在哪个具体的PLC或者***上运行。实现功能块后再将生成的功能块网络图指定部署到不同的PLC控制***中。这种设计方式的优势是天然良好地支持了统一编排全局协同能力。各个功能块的控制协同包含多设备协同、多业务协同和业务内部功能协同。在使用上,以上几类协同又定义为统一的功能模型。功能模型对外提供事件输入接口、事件输出接口,以及数据输入接口、数据输出接口。通过对模型事件接口的控制来实现统一编排调度。以上几类协同详述如下:
1)多设备协同。
在一种实施方式中,所述多设备协同包括:
基于所述子***的事件接口和数据接口,以及与各个所述子***对应的硬件资源,对各个所述硬件资源进行控制协同。
多设备协同在控制***上表现为跨PLC的大型应用程序编排,可以在全局视图把业务按照功能块组态实现。软件设计过程中,首先按照工艺的需要,使用功能块编程组态出大型应用程序。然后根据计算量、I/O数的情况将应用程序拆分成不同的子应用,再分配到各个PLC设备中。这种跨PLC的应用程序在整个控制网络的分布如图3所示。
例如,应用程序A代表某个业务。在组态编程时,先从功能角度使用多个功能块进行编排,完成整个应用程序A的逻辑。然后根据计算量和I/O情况将应用程序划分成三个子应用,分配给不同的PLC设备。子应用在分配到PLC设备时,需要使用通信功能块进行三个PLC设备之间的事件和数据的传输。其中,每个PLC设备内部的通信功能块在应用程序流程上相当于各个PLC的“输入”或“输出”。
参见图3所示的软件设计图中的连线,在这个示例中,首先PLC2按照通信功能块提供的初始值进行子应用A1的运算,并将运算结果分别发送到PLC3以及PLC4。PLC3按照通信功能块接收到的PLC2网络变量值执行子应用A2的运算,并将运算结果发送到PLC4。PLC4按照通信功能块接收到的PLC3网络变量值执行子应用A3的运算,将运算结果发送到PLC2。按照事件接口连接的顺序,再继续应用的执行。
2)多业务协同
在一种实施方式中,所述多业务协同包括:
基于在不同业务中各自使用的所述子***的事件接口和数据接口,对各个所述业务之间的交互进行控制协同。
参见图5,多业务协同在控制***中体现为不同业务的子应用间调度编排。某些较通用的动作可抽象形成功能块。这些功能块可以在不同的业务中使用,通过事件和数据接口进行协同。图5中应用A和应用B使用了相同的功能块FBD1和FBD4。A和B之间只有事件协同,无数据协同。
使用功能块创建的子应用可以作为一个整体单元使用,此时子应用对外提供事件输入、事件输出、数据输入和数据输出接口。其他应用程序可以复用子应用,通过事件和数据接口进行协同。
在又一个应用设计的示例中,如图6所示,应用程序由FBD1、FBD2、FBD3三个功能块组成。将应用程序作为整体使用时,其接口包括一个事件输入、一个事件输出、数据输入1、数据输入2以及数据输出。对该应用程序的使用只需连接这些接口即可。
3)业务内部功能协同
在一种实施方式中,所述业务内部功能协同包括:
基于业务内部使用的所述子***的事件接口和数据接口,对业务内部功能进行控制协同。
应用程序是基于功能块组成的控制逻辑,功能块是实现一个功能的最小软件单元。
PLC控制功能的实现是由其内部设计的应用程序组合及调度完成。更进一步,应用程序的功能又是由基本的功能块组合及调度完成。应用程序相当于是一种复合功能块,与基本功能块定义为同样的功能模型。每个功能模型的组成包括一个由其类型决定的专有数据结构和相关操作。功能模型定义了一系列的输入参数,在模型被执行的时候,内部的算法对这些参数进行读取并运算,最后将运算结果写到模型的输出上面,从而完成一个基本的功能的调度。
参见图4,基本功能块由事件输入和输出、数据输入和输出、事件控制、算法运算和内部数据组成。
如图7所示,在一个手机组装线上的某个边框表面检测的工作站,整个工艺过程包括:工作站的HMI,用于显示工作站的工作状态;控制工作站启停指令的下发;传送带的控制;上下料的机械臂的控制;以及做检测的机器视觉处理分析和视觉检测台的运动控制。在采用***级自顶向下编程的工业控制开发平台进行开发时,首先进行***级的工艺划分,参见图7,将整体拆分成五个子***:HMI、机器视觉、整体协同控制、机械臂控制以及视觉检测台运动控制。
如图8所示,结合软件定义控制的边缘控制器技术,在***级自顶向下编程的工业控制开发平台上,对以上五个子***进行硬件资源的关联定义和分配。其中,机器视觉和HMI、整体协同控制应用、机械臂控制应用以及视觉检测台运动控制应用,分别分配到PLC和RTE(Runtime environment,运行环境)中,并分别在实时***Non RTOS、RTOS0、RTOS1和RTOS2上运行。各个子***通过软总线、Hypervisor和边缘控制器相连接。机械臂控制应用以及视觉检测台运动控制应用连接外部I/O和驱动器。
如图9所示,本申请还提供了相应的一种工业控制软件开发装置的实施例。关于该装置的有益效果或解决的技术问题,可以参见与各装置分别对应的方法中的描述,或者参见发明内容中的描述,此处不再一一赘述。
在该工业控制软件开发装置的实施例中,该装置包括:
分解单元100,用于对待开发软件***进行功能分解,得到的至少两个子***;
第一配置单元200,用于根据连接所述子***的边缘控制器的通信总线中配置的软件协议,配置各个所述子***之间的接口信息;
第二配置单元300,用于将各个所述子***与对应的硬件资源建立关联。
在一种实施方式中,所述装置还用于:
在软件开发过程中,在构建的多语言混合编程的集成开发环境中,通过至少一种编程语言实现所述第一配置步骤和所述第二配置步骤的配置。
在一种实施方式中,所述第一配置单元200用于:基于各个所述子***中的功能模块之间的事件接口连接的顺序和数据传输关系,构建所述子***的事件接口和数据接口;其中,所述子***中包括至少一个功能模块,所述功能模块是对待开发软件***进行功能分解得到的。
如图10所示,在一种实施方式中,所述装置还包括协同单元400,所述协同单元400用于:基于所述子***的事件接口和数据接口,对各个所述子***中的功能模块进行控制协同,所述控制协同包括多设备协同、多业务协同和业务内部功能协同中的至少一种。
在一种实施方式中,所述多设备协同包括:
基于所述子***的事件接口和数据接口,以及与各个所述子***对应的硬件资源,对各个所述硬件资源进行控制协同。
在一种实施方式中,所述多业务协同包括:
基于在不同业务中各自使用的所述子***的事件接口和数据接口,对各个所述业务之间的交互进行控制协同。
在一种实施方式中,所述业务内部功能协同包括:
基于业务内部使用的所述子***的事件接口和数据接口,对业务内部功能进行控制协同。
在一种实施方式中,所述第一配置单元200用于:
根据所述软件协议对应的报文规范,得到所述子***之间的传递变量的数据格式;
基于所述子***之间的传递变量的数据格式,在软件开发过程中配置各个所述子***之间的接口信息。
图11是本申请实施例提供的一种计算设备900的结构性示意性图。该计算设备900包括:处理器910、存储器920、通信接口930。
应理解,图11中所示的计算设备900中的通信接口930可以用于与其他设备之间进行通信。
其中,该处理器910可以与存储器920连接。该存储器920可以用于存储该程序代码和数据。因此,该存储器920可以是处理器910内部的存储单元,也可以是与处理器910独立的外部存储单元,还可以是包括处理器910内部的存储单元和与处理器910独立的外部存储单元的部件。
可选的,计算设备900还可以包括总线。其中,存储器920、通信接口930可以通过总线与处理器910连接。总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
应理解,在本申请实施例中,该处理器910可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(Application specific integrated circuit,ASIC)、现成可编程门矩阵(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器910采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器920可以包括只读存储器和随机存取存储器,并向处理器910提供指令和数据。处理器910的一部分还可以包括非易失性随机存取存储器。例如,处理器910还可以存储设备类型的信息。
在计算设备900运行时,所述处理器910执行所述存储器920中的计算机执行指令执行上述方法的操作步骤。
应理解,根据本申请实施例的计算设备900可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备900中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行一种多样化问题生成方法,该方法包括上述各个实施例所描述的方案中的至少之一。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本申请的较佳实施例及所运用的技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明的构思的情况下,还可以包括更多其他等效实施例,均属于本发明的保护范畴。
Claims (10)
1.一种工业控制软件开发方法,其特征在于,包括:
分解步骤,用于对待开发软件***进行功能分解,得到至少两个子***;
第一配置步骤,用于根据连接所述子***的边缘控制器的通信总线中配置的软件协议,配置各个所述子***之间的接口信息;
第二配置步骤,用于将各个所述子***与对应的硬件资源建立关联。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在软件开发过程中,在构建的多语言混合编程的集成开发环境中,通过至少一种编程语言实现所述第一配置步骤和所述第二配置步骤的配置。
3.根据权利要求1或2所述的方法,其特征在于,所述第一配置步骤包括:基于各个所述子***中的功能模块之间的事件接口连接的顺序和数据传输关系,构建所述子***的事件接口和数据接口;其中,所述子***中包括至少一个功能模块,所述功能模块是对待开发软件***进行功能分解得到的。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:基于所述子***的事件接口和数据接口,对各个所述子***中的功能模块进行控制协同,所述控制协同包括多设备协同、多业务协同和业务内部功能协同中的至少一种。
5.根据权利要求4所述的方法,其特征在于,所述多设备协同包括:
基于所述子***的事件接口和数据接口,以及与各个所述子***对应的硬件资源,对各个所述硬件资源进行控制协同。
6.根据权利要求4所述的方法,其特征在于,所述多业务协同包括:
基于在不同业务中各自使用的所述子***的事件接口和数据接口,对各个所述业务之间的交互进行控制协同。
7.根据权利要求4所述的方法,其特征在于,所述业务内部功能协同包括:
基于业务内部使用的所述子***的事件接口和数据接口,对业务内部功能进行控制协同。
8.根据权利要求1或2所述的方法,其特征在于,所述第一配置步骤包括:
根据所述软件协议对应的报文规范,得到所述子***之间的传递变量的数据格式;
基于所述子***之间的传递变量的数据格式,在软件开发过程中配置各个所述子***之间的接口信息。
9.一种工业控制软件开发装置,其特征在于,包括:
分解单元,用于对待开发软件***进行功能分解,得到的至少两个子***;
第一配置单元,用于根据连接所述子***的边缘控制器的通信总线中配置的软件协议,配置各个所述子***之间的接口信息;
第二配置单元,用于将各个所述子***与对应的硬件资源建立关联。
10.一种计算设备,其特征在于,包括:
通信接口;
至少一个处理器,其与所述通信接口连接;以及
至少一个存储器,其与所述处理器连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行权利要求1-8任一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211634978.4A CN115857883A (zh) | 2022-12-19 | 2022-12-19 | 工业控制软件开发方法、装置和计算设备 |
PCT/CN2023/137114 WO2024131553A1 (zh) | 2022-12-19 | 2023-12-07 | 工业控制软件开发方法、装置和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211634978.4A CN115857883A (zh) | 2022-12-19 | 2022-12-19 | 工业控制软件开发方法、装置和计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115857883A true CN115857883A (zh) | 2023-03-28 |
Family
ID=85674236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211634978.4A Pending CN115857883A (zh) | 2022-12-19 | 2022-12-19 | 工业控制软件开发方法、装置和计算设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115857883A (zh) |
WO (1) | WO2024131553A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116775038A (zh) * | 2023-06-26 | 2023-09-19 | 国电南京自动化股份有限公司 | 支持iec和c++任务同时或独立运行的运行时*** |
WO2024131553A1 (zh) * | 2022-12-19 | 2024-06-27 | 北京东土科技股份有限公司 | 工业控制软件开发方法、装置和计算设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7085670B2 (en) * | 1998-02-17 | 2006-08-01 | National Instruments Corporation | Reconfigurable measurement system utilizing a programmable hardware element and fixed hardware resources |
CN109783113B (zh) * | 2018-12-24 | 2022-04-12 | 中国舰船研究设计中心 | 一种作战***功能应用软件任务包的组织与部署方法 |
CN112231906A (zh) * | 2020-10-14 | 2021-01-15 | 西安羚控电子科技有限公司 | 一种基于icd的服务构建方法 |
CN114047910A (zh) * | 2021-11-15 | 2022-02-15 | 中国银行股份有限公司 | 一种***间的接口处理方法及装置 |
CN115857883A (zh) * | 2022-12-19 | 2023-03-28 | 北京东土科技股份有限公司 | 工业控制软件开发方法、装置和计算设备 |
-
2022
- 2022-12-19 CN CN202211634978.4A patent/CN115857883A/zh active Pending
-
2023
- 2023-12-07 WO PCT/CN2023/137114 patent/WO2024131553A1/zh unknown
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024131553A1 (zh) * | 2022-12-19 | 2024-06-27 | 北京东土科技股份有限公司 | 工业控制软件开发方法、装置和计算设备 |
CN116775038A (zh) * | 2023-06-26 | 2023-09-19 | 国电南京自动化股份有限公司 | 支持iec和c++任务同时或独立运行的运行时*** |
CN116775038B (zh) * | 2023-06-26 | 2024-06-04 | 国电南京自动化股份有限公司 | 支持iec和c++任务同时或独立运行的运行时*** |
Also Published As
Publication number | Publication date |
---|---|
WO2024131553A1 (zh) | 2024-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115857883A (zh) | 工业控制软件开发方法、装置和计算设备 | |
CN106502095B (zh) | 一种多工业机器人的协同控制方法 | |
US9114529B2 (en) | Dual-system component-based industrial robot controller | |
CN111797521B (zh) | 一种自动化生产线三维仿真调试及监控方法 | |
US20080147206A1 (en) | Control system for Real Time Applications for Cooperative Industrial Robots | |
WO2024140416A1 (zh) | 一种工业控制程序开发平台及方法 | |
CN111427310A (zh) | 一种工业机器人控制器运行*** | |
Nikolakis et al. | A cyber-physical context-aware system for coordinating human-robot collaboration | |
Iannacci et al. | Robotic cell work-flow management through an IEC 61499-ROS architecture | |
Campanelli et al. | An architecture to integrate IEC 61131-3 systems in an IEC 61499 distributed solution | |
Ferenc et al. | Open architecture platforms for the control of robotic systems and a proposed reference architecture model | |
US20160094158A1 (en) | Method for power station simulation | |
Wallner et al. | Evaluation of process control architectures for agile manufacturing systems | |
US9563181B2 (en) | Method for operating an automation system | |
CN113954679B (zh) | 一种应用于电动汽车有序充电控制的边缘控制设备 | |
CN113031526A (zh) | 基于4diac的分布式多轴运动控制***实现方法 | |
CN113534744A (zh) | 用于构成数控***的软件架构和硬件架构 | |
CN110989499A (zh) | 基于高速无线通信的混合架构控制*** | |
CN115356997A (zh) | 集成式工业控制***及其控制方法、工业控制设备及介质 | |
Thapa et al. | Auto-generation of IEC standard PLC code using t-MPSG | |
CN116330263A (zh) | 一种基于Codesys的智能工业机器人平台实现方法 | |
US7349748B2 (en) | Development system for process control systems as well as associated method and computer program product | |
CN114675594B (zh) | 异构plc协作控制***、方法、装置、设备和介质 | |
CN114691117B (zh) | 一种边缘控制器软件快速开发方法 | |
CN113568333B (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 |