WO2024140416A1 - Industrial control program development platform and method - Google Patents

Industrial control program development platform and method

Info

Publication number
WO2024140416A1
WO2024140416A1 PCT/CN2023/140681 CN2023140681W WO2024140416A1 WO 2024140416 A1 WO2024140416 A1 WO 2024140416A1 CN 2023140681 W CN2023140681 W CN 2023140681W WO 2024140416 A1 WO2024140416 A1 WO 2024140416A1
Authority
WO
WIPO (PCT)
Prior art keywords
real
platform
control program
industrial control
ide
Prior art date
Application number
PCT/CN2023/140681
Other languages
French (fr)
Chinese (zh)
Inventor
边浩
周爱平
郭丽萍
Original Assignee
北京东土科技股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 北京东土科技股份有限公司 filed Critical 北京东土科技股份有限公司
Publication of WO2024140416A1 publication Critical patent/WO2024140416A1/en

Links

Abstract

Embodiments of the present application provide an industrial control program development platform and method, for use in developing industrial control programs by means of one IDE by using a plurality of languages. The platform comprises: a platform resource configuration module used for configuring a platform resource by means of an IDE; a field control layer development module used for developing a real-time field control program by means of the IDE by using at least one industrial control language; an auxiliary control layer development module used for developing a non-real-time auxiliary control program by means of the IDE by using at least one IT ecological language; and an operation environment configuration module used for deploying an operation environment for the field control program and the auxiliary control program by means of the IDE. The present application implements the development of industrial control programs by means of one IDE by using a plurality of languages and environment deployment, solves the potential problem of a mess in the engineering implementation management of industrial control systems caused by a multi-language multi-development environment, and improves the quality and efficiency of industrial control program development.

Description

一种工业控制程序开发平台及方法Industrial control program development platform and method 技术领域Technical Field
本申请属于工业软件领域,尤其涉及一种工业控制程序开发平台及方法。The present application belongs to the field of industrial software, and in particular, relates to an industrial control program development platform and method.
背景技术Background technique
传统工业控制系统由若干传感器、可编程逻辑控制器(PLC)、工控机(操作员站)组成现场控制层。近年来随着技术的发展,特别是人工智能技术的引入,逐步在控制层之外增加了优化与决策系统,或者是基于视觉传感设备的机器视觉系统。Traditional industrial control systems consist of a number of sensors, programmable logic controllers (PLCs), and industrial computers (operator stations) to form a field control layer. In recent years, with the development of technology, especially the introduction of artificial intelligence technology, optimization and decision-making systems have been gradually added to the control layer, or machine vision systems based on visual sensing equipment.
工业控制系统中如边缘计算、人工智能、可视化等计算类任务通常会采用高级语言编程,如C++、C#、Python、JS等,这些计算类任务通常在一个非实时系统如Linux、Windows上运行。传统的自动化实时控制任务通常采用IEC61131-3标准的语言,包括ST、LD、FBD等,通常实时控制任务会在一个实时系统RTOS上运行。在开发阶段,这些计算类的任务开发与实施控制任务的开发通常会采用不同的集成开发环境(IDE),涉及到任务之间的交互时通常需要提前规划好通信的方式和协议,然后将交互数据按照约定的方式去定义。一个控制系统中用到多种语言,多个开发环境,会给整体工业控制系统的工程实施管理带来混乱。Computational tasks in industrial control systems, such as edge computing, artificial intelligence, and visualization, are usually programmed in high-level languages, such as C++, C#, Python, and JS. These computing tasks usually run on a non-real-time system such as Linux or Windows. Traditional automated real-time control tasks usually use languages of the IEC61131-3 standard, including ST, LD, and FBD. Real-time control tasks usually run on a real-time system RTOS. During the development phase, these computing tasks and implementation control tasks usually use different integrated development environments (IDEs). When it comes to interactions between tasks, it is usually necessary to plan the communication methods and protocols in advance, and then define the interaction data in the agreed manner. Using multiple languages and multiple development environments in a control system will bring confusion to the overall engineering implementation management of the industrial control system.
发明内容Summary of the invention
有鉴于此,本申请实施例提供了一种工业控制程序开发平台及方法。本申请的实施例解决了多语言及多开发环境给工业控制系统的工程实施管理带来潜在的混乱问题,提高了工业控制程序开发的质量和效率。In view of this, the embodiments of the present application provide an industrial control program development platform and method. The embodiments of the present application solve the potential confusion problem caused by multiple languages and multiple development environments in the engineering implementation management of industrial control systems, and improve the quality and efficiency of industrial control program development.
第一方面,本申请实施例提供了一种工业控制程序开发平台,用于通过一个IDE使用多种语言开发工业控制程序,包括:平台资源配置模块,用于提供平台资源组态,通过所述IDE对工业控制涉及的平台资源进行配置,所述平台资源组态至少提供下列功能之一:设备及协议组态、共性数据结构组态,所述设备及协议组态用于对工业控制相关的设备和协议的管理或映射,共性数据结构组态用于对多种语言程序间通信模型定义;现场控制层开发模块,用于通过所述IDE使用至少一种的工业控制语言开发实时的现场控制程序;辅助控制层开发模块,用于通过所述IDE使用至少一种的IT生态语言开发非实时的辅助控制程序,所述辅助控制程序至少用于工业控制下列功能之一:过程监控、过程优化、人机界面;运行环境配置模块,用于通过所述IDE为所述现场控制程序和所述辅助控制程序部署运行环境。In the first aspect, an embodiment of the present application provides an industrial control program development platform for developing industrial control programs using multiple languages through an IDE, including: a platform resource configuration module for providing platform resource configuration, configuring platform resources involved in industrial control through the IDE, and the platform resource configuration provides at least one of the following functions: device and protocol configuration, common data structure configuration, the device and protocol configuration is used to manage or map industrial control-related devices and protocols, and the common data structure configuration is used to define communication models between programs in multiple languages; a field control layer development module for developing real-time field control programs using at least one industrial control language through the IDE; an auxiliary control layer development module for developing non-real-time auxiliary control programs using at least one IT ecological language through the IDE, and the auxiliary control program is used for at least one of the following functions of industrial control: process monitoring, process optimization, and human-machine interface; an operating environment configuration module for deploying an operating environment for the field control program and the auxiliary control program through the IDE.
由上,利用上述平台在一个IDE中配置平台资源、使用多种语言开发实时的现场控制程序和非实时的辅助控制程序,并配置各程序的相应的运行环境,解决了多语言及多开发环境给工业控制系统的工程实施管理带来潜在的混乱问题,提高了工业控制程序开发的质量和效率。From the above, the above platform is used to configure platform resources in one IDE, use multiple languages to develop real-time field control programs and non-real-time auxiliary control programs, and configure the corresponding operating environment of each program, which solves the potential confusion caused by multiple languages and multiple development environments to the engineering implementation management of industrial control systems and improves the quality and efficiency of industrial control program development.
在第一方面的一种可能实施方式中,所述共性数据结构组态还用于根据所定义的 通信模型自动生成不同语言数据结构的代码。In a possible implementation manner of the first aspect, the common data structure configuration is also used according to the defined The communication model automatically generates code for data structures in different languages.
由上,利用上述平台实现了不同语言之间数据格式和数据类型的整合,方便用户来进行多语言间的通信模型设计,共性数据结构组配置后自动生成不同语言代码,简化跨语言通信开发过程和难度。From the above, the above platform is used to realize the integration of data formats and data types between different languages, which is convenient for users to design communication models between multiple languages. After the common data structure group is configured, different language codes are automatically generated, which simplifies the cross-language communication development process and difficulty.
在第一方面的一种可能实施方式中,所述设备及协议组态具体用于对软件定义设备通过软件方式进行定义和部署,对非软件定义设备通过映射方式进行配置。In a possible implementation manner of the first aspect, the device and protocol configuration are specifically used to define and deploy software-defined devices through software, and to configure non-software-defined devices through mapping.
由上,利用上述平台配置工业控制涉及的SDC设备和非SDC设备,从而支撑各工业控制程序的运行。From the above, the above platform is used to configure SDC devices and non-SDC devices involved in industrial control, so as to support the operation of various industrial control programs.
在第一方面的一种可能实施方式中,所述平台资源配置模块还提供多语言任务调度组态功能,用于通过所述IDE对现场控制层的任务进行实时调度和对辅助控制层的任务进行非实时调度,并协同多种语言的任务之间的调度。In a possible implementation of the first aspect, the platform resource configuration module also provides a multi-language task scheduling configuration function, which is used to perform real-time scheduling of tasks at the field control layer and non-real-time scheduling of tasks at the auxiliary control layer through the IDE, and coordinate the scheduling between tasks in multiple languages.
由上,利用上述平台在一个IDE中实现各种语言任务的调度配置,配合平台调度器控制和管理多语言融合协同的任务调度。From the above, the above platform is used to implement the scheduling configuration of various language tasks in one IDE, and cooperate with the platform scheduler to control and manage the task scheduling of multi-language fusion collaboration.
在第一方面的一种可能实施方式中,所述工业控制语言至少包括下列之一:ST、IL、FBD、LD、SFC和CFC;现场控制层开发模块至少支持所述工业控制语言的下列功能之一:编程、编译、监视、调试、控制、诊断。In a possible implementation of the first aspect, the industrial control language includes at least one of the following: ST, IL, FBD, LD, SFC and CFC; the field control layer development module supports at least one of the following functions of the industrial control language: programming, compiling, monitoring, debugging, controlling, and diagnosing.
由上,利用上述平台实现ST、IL、FBD、LD、SFC和CFC至少一种语言的现场控制程序开发,实现该现场控制程序的编程、编译、监视、调试、控制、诊断。From the above, the above platform is used to realize the development of field control programs in at least one language of ST, IL, FBD, LD, SFC and CFC, and to realize the programming, compilation, monitoring, debugging, control and diagnosis of the field control programs.
在第一方面的一种可能实施方式中,所述IT生态语言至少包括下列之一:C++、Python、HTML和HMI界面组态;辅助控制层开发模块至少支持所述IT生态语言的下列功能之一:编辑、编译和调试。In a possible implementation of the first aspect, the IT ecological language includes at least one of the following: C++, Python, HTML and HMI interface configuration; the auxiliary control layer development module supports at least one of the following functions of the IT ecological language: editing, compiling and debugging.
由上,利用上述平台实现C++、Python、HTML和HMI界面组态至少一种语言的辅助控制程序开发,实现该辅助控制程序的编辑、编译和调试。Based on the above, the above platform is used to realize the development of auxiliary control programs in at least one language including C++, Python, HTML and HMI interface configuration, and to realize the editing, compiling and debugging of the auxiliary control programs.
在第一方面的一种可能实施方式中,运行环境配置模块还用于其部署的运行环境的版本切换、程序升级、启停控制。In a possible implementation manner of the first aspect, the operating environment configuration module is also used for version switching, program upgrading, and start/stop control of the operating environment deployed by it.
由上,利用上述平台实现配置的运行环境的版本切换、程序升级、启停控制,全生命周期的管理。From the above, the above platform is used to implement version switching, program upgrades, start and stop control of the configured operating environment, and full life cycle management.
在第一方面的一种可能实施方式中,所述辅助控制层开发模块还用于通过C++语言为所述现场控制程序开发扩展功能库。In a possible implementation manner of the first aspect, the auxiliary control layer development module is further used to develop an extended function library for the field control program by using C++ language.
由上,利用上述平台通过辅助控制层开发模块为现场控制程序开发扩展功能库,增强现场的实时控制功能。From the above, the above platform is used to develop an extended function library for the field control program through the auxiliary control layer development module to enhance the real-time control function of the field.
在第一方面的一种可能实施方式中,所述软件定义设备包括实时系统和非实时系统,所述现场控制程序运行在所述实时系统上,所述辅助控制程序运行在所述非实时系统上;所述平台资源配置模块在定义所述实时系统和所述非实时系统时,至少分别为所述实时系统和所述非实时系统定义下列硬件之一:CPU核数、内存、接口。In a possible implementation of the first aspect, the software-defined device includes a real-time system and a non-real-time system, the field control program runs on the real-time system, and the auxiliary control program runs on the non-real-time system; when defining the real-time system and the non-real-time system, the platform resource configuration module defines at least one of the following hardware for the real-time system and the non-real-time system respectively: number of CPU cores, memory, and interface.
由上,利用上述平台配置各SDC设备的硬件资源,从而在一个套硬件资源上支持多种SDC设备。From the above, the hardware resources of each SDC device are configured using the above platform, so as to support multiple SDC devices on one set of hardware resources.
第二方面,本申请实施例提供了一种工业控制程序开发方法,通过第一方面任一 实施方式所述平台使用多种语言在一个IDE中开发工业控制程序,包括:利用平台资源配置模块提供的平台资源组态通过所述IDE对工业控制涉及的平台资源进行配置,所述平台资源组态至少包括下列组态之一:设备及协议组态、共性数据结构组态,所述设备及协议组态用于对工业控制相关的设备和协议的管理或映射,共性数据结构组态用于对多种语言程序间通信模型定义;利用现场控制层开发模块通过所述IDE使用至少一种的工业控制语言开发实时的现场控制程序;利用辅助控制层开发模块通过所述IDE使用至少一种的IT生态语言开发非实时的辅助控制程序,所述非实时的辅助控制程序至少用于工业控制的下列功能之一:过程监控、过程优化、人机界面;利用运行环境配置模块通过所述IDE为所述现场控制程序和所述辅助控制程序配置运行环境In a second aspect, the present application embodiment provides an industrial control program development method, through any one of the first aspect The implementation method of the platform uses multiple languages to develop industrial control programs in an IDE, including: using the platform resource configuration provided by the platform resource configuration module to configure the platform resources involved in industrial control through the IDE, the platform resource configuration includes at least one of the following configurations: device and protocol configuration, common data structure configuration, the device and protocol configuration is used to manage or map the equipment and protocols related to industrial control, and the common data structure configuration is used to define the communication model between programs in multiple languages; using the field control layer development module to develop a real-time field control program using at least one industrial control language through the IDE; using the auxiliary control layer development module to develop a non-real-time auxiliary control program using at least one IT ecological language through the IDE, the non-real-time auxiliary control program is used for at least one of the following functions of industrial control: process monitoring, process optimization, human-machine interface; using the operating environment configuration module to configure the operating environment for the field control program and the auxiliary control program through the IDE
由上,利用上述方法在一个IDE中配置平台资源、使用多种语言开发实时的现场控制程序和非实时的辅助控制程序,并配置各程序的相应的运行环境,解决了多语言及多开发环境给工业控制系统的工程实施管理带来潜在的混乱问题,提高了工业控制程序开发的质量和效率。From the above, the above method is used to configure platform resources in one IDE, use multiple languages to develop real-time field control programs and non-real-time auxiliary control programs, and configure the corresponding operating environment of each program, which solves the potential confusion caused by multiple languages and multiple development environments to the engineering implementation management of industrial control systems and improves the quality and efficiency of industrial control program development.
在第二方面的一种可能实施方式中,还包括:利用所述共性数据结构组态根据所定义的通信模型自动生成不同语言数据结构的代码。In a possible implementation manner of the second aspect, it further includes: using the common data structure configuration to automatically generate codes for data structures in different languages according to the defined communication model.
由上,利用上述平台实现了不同语言之间数据格式和数据类型的整合,方便用户来进行多语言间的通信模型设计,共性数据结构组配置后自动生成不同语言代码,简化跨语言通信开发过程和难度。From the above, the above platform is used to realize the integration of data formats and data types between different languages, which is convenient for users to design communication models between multiple languages. After the common data structure group is configured, different language codes are automatically generated, which simplifies the cross-language communication development process and difficulty.
在第二方面的一种可能实施方式中,所述设备及协议组态在对工业控制相关的设备和协议的管理或映射时,包括:对软件定义设备通过软件方式进行定义和部署,对非软件定义设备通过映射方式进行配置。In a possible implementation of the second aspect, the device and protocol configuration, when managing or mapping industrial control-related devices and protocols, includes: defining and deploying software-defined devices through software, and configuring non-software-defined devices through mapping.
由上,利用上述平台配置工业控制涉及的SDC设备和非SDC设备,从而支撑各工业控制程序的运行。From the above, the above platform is used to configure SDC devices and non-SDC devices involved in industrial control, so as to support the operation of various industrial control programs.
在第二方面的一种可能实施方式中,还包括:利用所述平台资源配置模块的多语言任务调度组态功能通过所述IDE对现场控制层的任务进行实时调度和对辅助控制层的任务进行非实时调度,并协同多种语言的任务之间的调度。In a possible implementation of the second aspect, it also includes: utilizing the multi-language task scheduling configuration function of the platform resource configuration module to perform real-time scheduling of tasks at the field control layer and non-real-time scheduling of tasks at the auxiliary control layer through the IDE, and coordinate scheduling between tasks in multiple languages.
由上,利用上述平台在一个IDE中实现各种语言任务的调度配置,配合平台调度器控制和管理多语言融合协同的任务调度。From the above, the above platform is used to implement the scheduling configuration of various language tasks in one IDE, and cooperate with the platform scheduler to control and manage the task scheduling of multi-language fusion collaboration.
在第二方面的一种可能实施方式中,所述工业控制语言至少包括下列之一:ST、IL、FBD、LD、SFC和CFC;现场控制层开发模块至少支持所述工业控制语言的下列功能之一:编程、编译、监视、调试、控制、诊断。In a possible implementation of the second aspect, the industrial control language includes at least one of the following: ST, IL, FBD, LD, SFC and CFC; the field control layer development module supports at least one of the following functions of the industrial control language: programming, compiling, monitoring, debugging, controlling, and diagnosing.
由上,利用上述平台实现ST、IL、FBD、LD、SFC和CFC至少一种语言的现场控制程序开发,实现该现场控制程序的编程、编译、监视、调试、控制、诊断。From the above, the above platform is used to realize the development of field control programs in at least one language of ST, IL, FBD, LD, SFC and CFC, and to realize the programming, compilation, monitoring, debugging, control and diagnosis of the field control programs.
在第二方面的一种可能实施方式中,所述IT生态语言至少包括下列之一:C++、Python、HTML和HMI界面组态;辅助控制层开发模块至少支持所述IT生态语言的下列功能之一:编辑、编译和调试。In a possible implementation of the second aspect, the IT ecological language includes at least one of the following: C++, Python, HTML and HMI interface configuration; the auxiliary control layer development module supports at least one of the following functions of the IT ecological language: editing, compiling and debugging.
由上,利用上述平台实现C++、Python、HTML和HMI界面组态至少一种语言的辅助控制程序开发,实现该辅助控制程序的编辑、编译和调试。 Based on the above, the above platform is used to realize the development of auxiliary control programs in at least one language including C++, Python, HTML and HMI interface configuration, and to realize the editing, compiling and debugging of the auxiliary control programs.
在第二方面的一种可能实施方式中,还包括:利用运行环境配置模块对其部署的运行环境进行版本切换、程序升级、启停控制。In a possible implementation of the second aspect, it also includes: using the operating environment configuration module to perform version switching, program upgrade, and start and stop control on the deployed operating environment.
由上,利用上述平台实现配置的运行环境的版本切换、程序升级、启停控制,全生命周期的管理。From the above, the above platform is used to implement version switching, program upgrades, start and stop control of the configured operating environment, and full life cycle management.
在第二方面的一种可能实施方式中,还包括:利用所述辅助控制层开发模块通过C++语言为所述现场控制程序开发扩展功能库。In a possible implementation of the second aspect, it also includes: using the auxiliary control layer development module to develop an extended function library for the field control program through C++ language.
由上,利用上述平台通过辅助控制层开发模块为现场控制程序开发扩展功能库,增强现场的实时控制功能。From the above, the above platform is used to develop an extended function library for the field control program through the auxiliary control layer development module to enhance the real-time control function of the field.
在第二方面的一种可能实施方式中,所述软件定义设备包括实时系统和非实时系统,所述现场控制程序运行在所述实时系统上,所述辅助控制程序运行在所述非实时系统上;所述平台资源配置模块在定义所述实时系统和所述非实时系统时,至少分别为所述实时系统和所述非实时系统定义下列硬件之一:CPU核数、内存、接口。In a possible implementation of the second aspect, the software-defined device includes a real-time system and a non-real-time system, the field control program runs on the real-time system, and the auxiliary control program runs on the non-real-time system; when defining the real-time system and the non-real-time system, the platform resource configuration module defines at least one of the following hardware for the real-time system and the non-real-time system respectively: number of CPU cores, memory, and interface.
由上,利用上述平台配置各SDC设备的硬件资源,从而在一个套硬件资源上支持多种SDC设备。From the above, the hardware resources of each SDC device are configured using the above platform, so as to support multiple SDC devices on one set of hardware resources.
第三方面,本申请实施例提供了一种计算设备,包括,总线;通信接口,其与所述总线连接;至少一个处理器,其与所述总线连接;以及至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行第一方面任一实施方式所述的方法。In a third aspect, an embodiment of the present application provides a computing device, comprising a bus; a communication interface connected to the bus; at least one processor connected to the bus; and at least one memory connected to the bus and storing program instructions, wherein when the program instructions are executed by the at least one processor, the at least one processor executes the method described in any embodiment of the first aspect.
第四方面,本申请实施例一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行第一方面任一实施方式所述的方法。In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having program instructions stored thereon, wherein when the program instructions are executed by a computer, the computer executes the method described in any one of the implementation methods of the first aspect.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
图1为本申请的一种工业控制程序开发平台实施例一的结构示意图;FIG1 is a schematic diagram of the structure of an industrial control program development platform embodiment 1 of the present application;
图2为本申请的一种工业控制程序开发平台实施例一各模块提供的部件示意图;FIG2 is a schematic diagram of components provided by each module in Embodiment 1 of an industrial control program development platform of the present application;
图3为本申请的一种工业控制程序开发平台实施例二各模块提供的部件示意图;FIG3 is a schematic diagram of components provided by each module of a second embodiment of an industrial control program development platform of the present application;
图4为本申请的一种工业控制程序开发方法实施例的流程示意图;FIG4 is a flow chart of an industrial control program development method embodiment of the present application;
图5为本申请的一种工业控制程序开发方法实施例每个步骤以钢铁冶炼控制与监控为例开发或配置的部件示意图。FIG5 is a schematic diagram of components developed or configured in each step of an industrial control program development method embodiment of the present application, taking steel smelting control and monitoring as an example.
图6为本申请的计算设备实施例的结构示意图。FIG6 is a schematic diagram of the structure of a computing device embodiment of the present application.
具体实施方式Detailed ways
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可 以在不冲突的情况下相互结合。In the following description, reference is made to “some embodiments” which describe a subset of all possible embodiments, but it is understood that “some embodiments” may be the same subset or a different subset of all possible embodiments, and may be any combination of the above. to combine with each other without conflict.
在以下的描述中,所涉及的术语“第一\第二\第三等”或模块A、模块B、模块C等,仅用于区别类似的对象,或用于区别不同的实施例,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。In the following description, the terms "first\second\third, etc." or module A, module B, module C, etc. are only used to distinguish similar objects, or to distinguish different embodiments, and do not represent a specific ordering of the objects. It can be understood that the specific order or sequence can be interchanged where permitted, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.
在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。In the following description, the numbers representing the steps, such as S110, S120, etc., do not necessarily mean that the steps must be executed in this manner. If permitted, the order of the previous and next steps can be interchanged, or they can be executed simultaneously.
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
本申请实施例提供了一种工业控制程序开发平台及方法,所述平台包括:包括:平台资源配置模块,用于通过所述IDE对提供平台资源组态,对平台资源进行配置;现场控制层开发模块,用于通过所述IDE使用至少一种的工业控制语言开发实时的现场控制程序;辅助控制层开发模块,用于通过所述IDE使用至少一种的IT生态语言开发非实时的辅助控制程序;运行环境配置模块,用于通过所述IDE为所述现场控制程序和所述辅助控制程序部署运行环境。所述方法使用所述平台通过一个IDE使用多种语言开发工业控制程序和环境部署。本申请的实施例解决了多语言及多开发环境给工业控制系统的工程实施管理带来潜在的混乱问题,提高了工业控制程序开发的质量和效率。The embodiment of the present application provides an industrial control program development platform and method, the platform comprising: a platform resource configuration module, which is used to provide platform resource configuration and configure platform resources through the IDE; a field control layer development module, which is used to develop real-time field control programs using at least one industrial control language through the IDE; an auxiliary control layer development module, which is used to develop non-real-time auxiliary control programs using at least one IT ecological language through the IDE; an operating environment configuration module, which is used to deploy an operating environment for the field control program and the auxiliary control program through the IDE. The method uses the platform to develop industrial control programs and environment deployment using multiple languages through an IDE. The embodiment of the present application solves the potential confusion problem that multiple languages and multiple development environments bring to the engineering implementation management of industrial control systems, and improves the quality and efficiency of industrial control program development.
下面结合附图介绍本申请各实施例。The following describes various embodiments of the present application in conjunction with the accompanying drawings.
下面首先结合图1和图2介绍一种工业控制程序开发平台实施例一。First, a first embodiment of an industrial control program development platform is introduced below in conjunction with FIG. 1 and FIG. 2 .
一种工业控制程序开发平台实施例一在一个IDE中通过一个IDE对平台资源进行配置,使用至少一种的工业控制语言开发实时的现场控制程序和使用至少一种的IT生态语言开发非实时的辅助控制程序,并为该控制程序和该辅助控制程序配置运行环境,从而实现通过一个IDE使用多种语言开发工业控制程序和运行环境部署。该实施例的技术方案采用一个工程项目统一配置各多语言涉及的变量和数据结构,在一个IDE中同时创建IT生态语言程序和工业控制程序的任务、开发和调试IT生态语言的与工业控制语言的程序,解决了多语言及多开发环境给工业控制系统的工程实施管理带来潜在的混乱问题,提高了工业控制程序开发的质量和效率。An industrial control program development platform embodiment 1 configures platform resources in an IDE through an IDE, develops real-time field control programs using at least one industrial control language and develops non-real-time auxiliary control programs using at least one IT ecological language, and configures the operating environment for the control program and the auxiliary control program, thereby realizing the development of industrial control programs and operating environment deployment using multiple languages through an IDE. The technical solution of this embodiment uses an engineering project to uniformly configure the variables and data structures involved in each multi-language, creates tasks for IT ecological language programs and industrial control programs in one IDE at the same time, and develops and debugs programs in IT ecological languages and industrial control languages, which solves the potential confusion caused by multiple languages and multiple development environments to the engineering implementation management of industrial control systems, and improves the quality and efficiency of industrial control program development.
图1示出了一种工业控制程序开发平台实施例一的结构,其包括:平台资源配置模块110、现场控制层开发模块120、辅助控制层开发模块130、运行环境配置模块140,各模块在工业控制程序开发平台的IDE(简称平台IDE,以下同)中运行,所开发的工业控制程序包括实时的现场控制程序和非实时的辅助控制程序。图2示出了一种工业控制程序开发平台实施例一各模块提供的部件,其包括:平台资源组态210、现场控制层开发环境220、辅助控制层开发环境230和运行环境240。FIG1 shows the structure of an industrial control program development platform embodiment 1, which includes: platform resource configuration module 110, field control layer development module 120, auxiliary control layer development module 130, and operating environment configuration module 140. Each module runs in the IDE of the industrial control program development platform (referred to as platform IDE, the same below), and the developed industrial control program includes a real-time field control program and a non-real-time auxiliary control program. FIG2 shows the components provided by each module of an industrial control program development platform embodiment 1, which includes: platform resource configuration 210, field control layer development environment 220, auxiliary control layer development environment 230, and operating environment 240.
平台资源配置模块110用于对工业控制涉及的平台资源进行配置,提供平台资源组态210,包括设备及协议组态功能和共性数据结构组态功能。 The platform resource configuration module 110 is used to configure the platform resources involved in industrial control and provide a platform resource configuration 210, including a device and protocol configuration function and a common data structure configuration function.
其中,设备及协议组态用于对工业控制相关的设备和协议管理或映射。工业控制涉及的设备包括服务器、控制器、远程IO、IO子卡、上位机。Among them, the device and protocol configuration is used to manage or map the devices and protocols related to industrial control. The devices involved in industrial control include servers, controllers, remote IO, IO daughter cards, and host computers.
在一些实施例中,工业控制涉及的设备包括对软件定义设备(SDC)和非软件定义设备。设备及协议组态具体用于对软件定义设备通过软件方式进行定义和部署,软件定义设备一般为工业控制的计算设备,其包括CPU核、内存、接口等,设备及协议组态对软件定义设备的CPU核、内存、接口在操作系统中通过软件进行定义和部署,使操作系统的应用软件运行在软件定义的CPU核、内存和接口组成的软件定义设备上。In some embodiments, the devices involved in industrial control include software-defined devices (SDCs) and non-software-defined devices. The device and protocol configuration is specifically used to define and deploy software-defined devices through software. Software-defined devices are generally computing devices for industrial control, which include CPU cores, memory, interfaces, etc. The device and protocol configuration defines and deploys the CPU cores, memory, and interfaces of software-defined devices through software in the operating system, so that the application software of the operating system runs on the software-defined devices composed of software-defined CPU cores, memory, and interfaces.
设备及协议组态具体用于对非软件定义设备通过映射方式进行配置,非软件定义设备一般为工业控制涉及外设资源,如继电器、传感器、Modbus从站等,设备及协议组态将非软件定义设备映射到I/O口或虚拟网口,通过I/O口或虚拟网口进行访问。Device and protocol configuration is specifically used to configure non-software-defined devices through mapping. Non-software-defined devices are generally peripheral resources involved in industrial control, such as relays, sensors, Modbus slaves, etc. Device and protocol configuration maps non-software-defined devices to I/O ports or virtual network ports and accesses them through I/O ports or virtual network ports.
其中,共性数据结构组态用于对多种语言程序间通信模型定义,该通信模型对应于多种语言程序间共性的变量和数据结构。在一些实施例中,共性数据结构组态还用于根据所定义的通信模型自动生成不同语言数据结构的代码。具体地,共性数据结构组态在平台IDE中提供统一的模型配置界面,对共性数据结构按照多种语言间的通信模型设计进行定义,并自动生成不同语言数据结构的代码。平台资源配置模块110实现了不同语言之间数据格式和数据类型的整合,方便用户来进行多语言间的通信模型设计,共性数据结构组配置后自动生成不同语言代码,简化跨语言通信开发过程和难度。Among them, the common data structure configuration is used to define the communication model between programs in multiple languages, and the communication model corresponds to the common variables and data structures between programs in multiple languages. In some embodiments, the common data structure configuration is also used to automatically generate codes for data structures in different languages according to the defined communication model. Specifically, the common data structure configuration provides a unified model configuration interface in the platform IDE, defines the common data structure according to the communication model design between multiple languages, and automatically generates codes for data structures in different languages. The platform resource configuration module 110 realizes the integration of data formats and data types between different languages, which is convenient for users to design communication models between multiple languages. After the common data structure group is configured, different language codes are automatically generated, which simplifies the cross-language communication development process and difficulty.
现场控制层开发模块120用于使用至少一种的工业控制语言开发实时的现场控制程序,其提供现场控制层开发环境220。The field control layer development module 120 is used to develop a real-time field control program using at least one industrial control language, and provides a field control layer development environment 220 .
其中,工业控制语言包括IEC 61131-3中的开发语言,包括ST、IL、FBD、LD、SFC和CFC语言。Among them, industrial control languages include the development languages in IEC 61131-3, including ST, IL, FBD, LD, SFC and CFC languages.
其中,现场控制层开发环境220在平台IDE中,包括各种工业控制语言编程环境和编译器。每种工业控制语言编程环境用于IEC 61131-3中一种开发语言的编程,每种工业控制语言编译器支持IEC 61131-3中一种开发语言的编译、监视、调试、控制、诊断等功能。现场控制层开发环境提供了良好的工业开发体验。Among them, the field control layer development environment 220 is in the platform IDE, including various industrial control language programming environments and compilers. Each industrial control language programming environment is used for programming a development language in IEC 61131-3, and each industrial control language compiler supports the compilation, monitoring, debugging, control, diagnosis and other functions of a development language in IEC 61131-3. The field control layer development environment provides a good industrial development experience.
辅助控制层开发模块130用于使用至少一种的IT生态语言开发非实时的辅助控制程序。其提供辅助控制层开发环境230。The auxiliary control layer development module 130 is used to develop a non-real-time auxiliary control program using at least one IT ecological language and provides an auxiliary control layer development environment 230 .
其中,所述工业应用程序至少用于下列之一:工业控制过程监控、工业控制过程优化、工业控制人机界面。工业控制过程监控至少包括下列监控之一:开关量监控、模拟量监控、视觉监控,工业控制过程优化至少包括:根据开关量分析、模拟量分析、视觉运算、视觉分析优化工业控制。The industrial application is used for at least one of the following: industrial control process monitoring, industrial control process optimization, and industrial control human-machine interface. Industrial control process monitoring includes at least one of the following monitoring: switch quantity monitoring, analog quantity monitoring, and visual monitoring. Industrial control process optimization includes at least: optimizing industrial control based on switch quantity analysis, analog quantity analysis, visual computing, and visual analysis.
其中,IT生态语言包括C++、Python、HTML和HMI界面语言。Among them, IT ecological languages include C++, Python, HTML and HMI interface language.
其中,辅助控制层开发环境230在平台IDE中,包括各种IT生态语言的编程环境和编译器。每种IT生态语言的编程环境支持一种IT生态语言的编程,每种IT生态语言的编译器支持一种IT生态语言的编译与调试。辅助控制层开发环境230一站式开发各辅助控制程序,支持每种语言的编辑、编译与调试,减少多语言开发时的工具切换,提高工程实施效率。Among them, the auxiliary control layer development environment 230 is in the platform IDE, including programming environments and compilers of various IT ecological languages. The programming environment of each IT ecological language supports programming of one IT ecological language, and the compiler of each IT ecological language supports the compilation and debugging of one IT ecological language. The auxiliary control layer development environment 230 develops various auxiliary control programs in one stop, supports editing, compiling and debugging of each language, reduces tool switching during multi-language development, and improves project implementation efficiency.
运行环境配置模块140用于为各实时的现场控制程序和非实时的辅助控制程序 配置运行环境240,解决了不同环境之间部署和配置差异大的问题,简化多语言项目部署工作。The operating environment configuration module 140 is used to configure the real-time field control program and the non-real-time auxiliary control program. Configure the operating environment 240, which solves the problem of large differences in deployment and configuration between different environments and simplifies the deployment of multi-language projects.
综上,一种工业控制程序开发平台实施例一包括平台资源配置模块、现场控制层开发模块、辅助控制层开发模块、运行环境配置模块,各模块一个IDE中对平台资源进行配置,使用至少一种的工业控制语言开发实时的现场控制程序,使用至少一种的IT生态语言开发非实时的辅助控制程序,并为实时的现场控制程序和非实时的辅助控制程序部署运行环境,从而实现通过一个IDE使用多种语言开发工业控制程序和环境部署,解决了多语言及多开发环境给工业控制系统的工程实施管理带来潜在的混乱问题,提高了工业控制程序开发的质量和效率。In summary, an industrial control program development platform embodiment 1 includes a platform resource configuration module, a field control layer development module, an auxiliary control layer development module, and an operating environment configuration module. Each module configures platform resources in an IDE, uses at least one industrial control language to develop real-time field control programs, uses at least one IT ecological language to develop non-real-time auxiliary control programs, and deploys operating environments for real-time field control programs and non-real-time auxiliary control programs, thereby realizing the development of industrial control programs and environment deployment in multiple languages through one IDE, solving the potential confusion problem caused by multiple languages and multiple development environments to the engineering implementation management of industrial control systems, and improving the quality and efficiency of industrial control program development.
一种工业控制程序开发平台实施例二为一种工业控制程序开发平台实施例一的详细实施方式,具有一种工业控制程序开发平台实施例一的一切优点,同时其平台资源配置模块还定义任务调度参数,实现多种语言程序任务的调度,辅助控制层开发环境还通过C++语言为现场控制层开发环境提供扩展功能库以增强实时控制功能。Embodiment 2 of an industrial control program development platform is a detailed implementation of embodiment 1 of an industrial control program development platform. It has all the advantages of embodiment 1 of an industrial control program development platform. At the same time, its platform resource configuration module also defines task scheduling parameters to realize the scheduling of program tasks in multiple languages. The auxiliary control layer development environment also provides an extended function library for the field control layer development environment through the C++ language to enhance the real-time control function.
图1同样示出了一种工业控制程序开发平台实施例二的结构,其模块在一种工业控制程序开发平台实施例一的各模块的基础上分别进行增强。图3示出了一种工业控制程序开发平台实施例二中各模块提供的部件,包括平台资源组态310、现场控制层开发环境320、辅助控制层开发环境330和运行环境340,分别在图2的平台资源组态210、现场控制层开发环境220、辅助控制层开发环境230和运行环境240分别进行了增强。下面将分别介绍其中增强部分。FIG1 also shows the structure of a second embodiment of an industrial control program development platform, and its modules are enhanced on the basis of the modules of the first embodiment of an industrial control program development platform. FIG3 shows the components provided by each module in the second embodiment of an industrial control program development platform, including a platform resource configuration 310, a field control layer development environment 320, an auxiliary control layer development environment 330, and an operating environment 340, which are enhanced on the platform resource configuration 210, the field control layer development environment 220, the auxiliary control layer development environment 230, and the operating environment 240 of FIG2. The enhanced parts will be introduced below.
平台资源组态310还包括任务调度参数组态,其包括通过调度器为实时的现场控制程序和非实时的辅助控制程序进行任务调度,每个任务调度的参数至少包括下列之一:其运行环境的类别、调度周期。平台资源配置模块110在一个IDE中为各种语言的任务提供统一的配置接口,统一配置任务调度参数,配合平台调度器控制和管理全工程级的多语言融合协同任务调度。The platform resource configuration 310 also includes task scheduling parameter configuration, which includes task scheduling for real-time field control programs and non-real-time auxiliary control programs through the scheduler, and each task scheduling parameter includes at least one of the following: the type of its operating environment and the scheduling cycle. The platform resource configuration module 110 provides a unified configuration interface for tasks of various languages in one IDE, uniformly configures task scheduling parameters, and cooperates with the platform scheduler to control and manage multi-language fusion collaborative task scheduling at the full project level.
平台资源组态310中设备及协议组态在用于SDC设备的定义和部署时,SDC设备包括工业控制器、RTE、实时系统与非实时系统,每个实时的现场控制程序运行在一个工业控制器中,每个工业控制器运载一个RTE上,每个RTE运行在一个实时系统上。平台资源组态310中设备及协议组态通过软件方式为每个实时系统定义以下硬件资源:CPU核数、内存、接口。每个非实时的辅助控制程序运行一个非实时系统中,平台资源组态310通过软件方式为每个非实时系统定义以下硬件资源:CPU核、内存、接口。When the device and protocol configuration in the platform resource configuration 310 is used for the definition and deployment of SDC devices, the SDC devices include industrial controllers, RTEs, real-time systems and non-real-time systems. Each real-time field control program runs in an industrial controller, each industrial controller carries an RTE, and each RTE runs on a real-time system. The device and protocol configuration in the platform resource configuration 310 defines the following hardware resources for each real-time system in a software manner: number of CPU cores, memory, and interfaces. Each non-real-time auxiliary control program runs in a non-real-time system, and the platform resource configuration 310 defines the following hardware resources for each non-real-time system in a software manner: CPU cores, memory, and interfaces.
辅助控制层开发环境330的编程环境在一个IDE中至少包括下列之一:C++编程环境、Python编程环境、HTML5编程环境、HMI组态编程环境,辅助控制层开发环境230的编译器在一个IDE中至少包括:C++编译器、Python编译器、HTML5编译器、HMI编译器,其中,C++编程环境还为现场控制层开发环境320提供扩展功能库,用于增强实时工业控制功能。辅助控制层开发环境330开发的非实时的辅助控制程序至少包括下列之一:C++程序、Python程序、HTML5程序、HMI组态程序。The programming environment of the auxiliary control layer development environment 330 includes at least one of the following in one IDE: C++ programming environment, Python programming environment, HTML5 programming environment, HMI configuration programming environment, and the compiler of the auxiliary control layer development environment 230 includes at least one of the following in one IDE: C++ compiler, Python compiler, HTML5 compiler, HMI compiler, wherein the C++ programming environment also provides an extended function library for the field control layer development environment 320 to enhance the real-time industrial control function. The non-real-time auxiliary control program developed by the auxiliary control layer development environment 330 includes at least one of the following: C++ program, Python program, HTML5 program, HMI configuration program.
现场控制层开发环境320的编程环境在一个IDE中至少包括下列之一:SFC/CFC 编程环境、FBD/LD编程环境、ST/IL编程环境。现场控制层开发环境320的编译器在一个IDE中至少包括下列之一:SFC/CFC编译器、FBD/LD编译器、ST/IL编译器。实时的现场控制程序至少包括下列之一:SFC/CFC程序、FBD/LD程序、ST/IL程序。每个现场控制程序的代码中还可以包括辅助控制层开发环境330提供的扩展功能库,现场控制层开发环境320的每个编译器还可以把扩展功能库链接到每个实时的现场控制程序的执行程序中。The programming environment of the field control layer development environment 320 includes at least one of the following in an IDE: SFC/CFC The field control layer development environment 320 includes at least one of the following compilers in an IDE: SFC/CFC compiler, FBD/LD compiler, ST/IL compiler. The real-time field control program includes at least one of the following: SFC/CFC program, FBD/LD program, ST/IL program. The code of each field control program may also include an extended function library provided by the auxiliary control layer development environment 330, and each compiler of the field control layer development environment 320 may also link the extended function library to the execution program of each real-time field control program.
在运行环境340中还可以通过运行环境配置模块140实现各现场控制程序和各辅助控制程序的运行环境的版本切换、程序升级、启停控制等功能,In the operating environment 340, the operating environment configuration module 140 can also be used to implement the version switching, program upgrade, start and stop control and other functions of the operating environment of each field control program and each auxiliary control program.
综上,一种工业控制程序开发平台实施例二为一种工业控制程序开发平台实施例一的详细实施方式,具有一种工业控制程序开发平台实施例一的一切优点,同时平台资源配置模块还提供任务调度组态,实现多种语言程序任务的调度,辅助控制层开发环境还通过C++语言为现场控制层开发环境提供扩展功能库以增强实时控制功能。In summary, Example 2 of an industrial control program development platform is a detailed implementation method of Example 1 of an industrial control program development platform, and has all the advantages of Example 1 of an industrial control program development platform. At the same time, the platform resource configuration module also provides task scheduling configuration to realize the scheduling of program tasks in multiple languages. The auxiliary control layer development environment also provides an extended function library for the field control layer development environment through the C++ language to enhance the real-time control function.
下面结合图4和图5介绍一种工业控制程序开发方法实施例。An embodiment of an industrial control program development method is described below in conjunction with FIG. 4 and FIG. 5 .
一种工业控制程序开发方法实施例使用一种工业控制程序开发装置实施例二所述装置进行使用多种语言的工业控制程序的开发。示例地,以钢铁冶炼控制与监控为例介绍一种工业控制程序开发方法实施例。An industrial control program development method embodiment uses an industrial control program development device embodiment 2 to develop industrial control programs in multiple languages. By way of example, an industrial control program development method embodiment is introduced by taking steel smelting control and monitoring as an example.
图4示出了一种工业控制程序开发方法实施例的流程,包括步骤S410至S440。图5示出了以钢铁冶炼控制与监控为例的本实施例的每个步骤开发或配置的部件。Fig. 4 shows a flow chart of an embodiment of an industrial control program development method, including steps S410 to S440. Fig. 5 shows the components developed or configured in each step of this embodiment, taking steel smelting control and monitoring as an example.
S410:利用一种工业控制程序开发装置实施例二的平台资源配置模块提供平台资源组态,对工业控制涉及的平台资源进行配置。S410: Utilize the platform resource configuration module of the second embodiment of the industrial control program development device to provide platform resource configuration and configure the platform resources involved in the industrial control.
其中,该平台资源组态至少包括下列之一:设备及协议组态、任务调度组态、共性数据结构组态。The platform resource configuration includes at least one of the following: equipment and protocol configuration, task scheduling configuration, and common data structure configuration.
示例地,以图5的钢铁冶炼控制与监控为例,设备及协议组态以SDC设备为核心,定义四个虚拟设备作为应用载体,包括图5示出的一个实时系统RTOS和三个非实时系统NTOS;并把各非SDC设备映射到相应的RTO或NTOS的IO口或网口上,以便于访问,示例地,非SDC设备包括温度计、气压计、继电器、光感摄像头、Modbus从站等。For example, taking the steel smelting control and monitoring in Figure 5 as an example, the equipment and protocol configuration is based on the SDC device as the core, and four virtual devices are defined as application carriers, including a real-time system RTOS and three non-real-time systems NTOS shown in Figure 5; and each non-SDC device is mapped to the corresponding RTO or NTOS IO port or network port for easy access. For example, non-SDC devices include thermometers, barometers, relays, light-sensing cameras, Modbus slaves, etc.
示例地,共性数据结构组态定义全局数据模型,比如温度数据模型、光场数据模型等,生成LD、Python、C++、JS语言数据定义代码。For example, the common data structure configuration defines the global data model, such as the temperature data model, the light field data model, etc., and generates data definition codes in LD, Python, C++, and JS languages.
示例地,任务调度组态配置IEC程序调度周期、C++程序调度周期、Python程序调度周期及各语言程序任务的调度周期。For example, the task scheduling configuration configures the IEC program scheduling cycle, the C++ program scheduling cycle, the Python program scheduling cycle, and the scheduling cycle of each language program task.
S420:利用现场控制层开发模块使用至少一种的工业控制语言开发实时的现场控制程序。S420: Develop a real-time field control program using at least one industrial control language using a field control layer development module.
示例地,继续以图5的钢铁冶炼控制与监控为例,在本步骤中进行现场控制层开发,例如使用FBD和LD语言开发给矿电机控制程序、熔化温度控制程序等,其运行在一个RTOS上,对熔化过程进行实时控制。For example, continuing with the steel smelting control and monitoring in Figure 5, field control layer development is performed in this step, such as using FBD and LD languages to develop a ore feeding motor control program, a melting temperature control program, etc., which runs on an RTOS to perform real-time control of the melting process.
S430:利用辅助控制层开发模块使用至少一种的IT生态语言开发非实时的辅助控制程序,S430: Developing a non-real-time auxiliary control program using the auxiliary control layer development module and at least one IT ecological language,
示例地,继续以图5的钢铁冶炼控制与监控为例,在本步骤中进行辅助控制层应 用开发非实时的辅助控制程序,包括:熔化过程进行建模与预测的Python深度学习程序、集成OpenCV的摄像头的C++图像处理程序、实现大屏监控的Python/HTML监控程序、实现人机界面的HMI监控程序,Python深度学习程序与的C++图像处理程序运行在第一个NTOS上,联合实现熔化过程的优化,Python/HTML监控程序运行在第二个NTOS上、HMI监控程序运行在第三个NTOS上,上述程序联合实现对熔化过程的优化与监控。For example, continuing to take the steel smelting control and monitoring of Figure 5 as an example, in this step, the auxiliary control layer should be A non-real-time auxiliary control program is developed, including: a Python deep learning program for modeling and predicting the melting process, a C++ image processing program for integrating the OpenCV camera, a Python/HTML monitoring program for large-screen monitoring, and an HMI monitoring program for the human-machine interface. The Python deep learning program and the C++ image processing program run on the first NTOS to jointly optimize the melting process. The Python/HTML monitoring program runs on the second NTOS, and the HMI monitoring program runs on the third NTOS. The above programs jointly optimize and monitor the melting process.
S440:利用运行环境配置模块为实时的现场控制程序和非实时的辅助控制程序配置运行环境。S440: Utilize the operating environment configuration module to configure the operating environment for the real-time field control program and the non-real-time auxiliary control program.
示例地,继续以图5的钢铁冶炼控制与监控为例,在本步骤中进部署上述开发应用对应的运行环境。包括IEC程序运行依赖RTE环境部署、C++程序依赖部署、Python版本及应用依赖部署,通过应用管理页面进行不同语言应用的升级与管理。For example, continuing to take the steel smelting control and monitoring in Figure 5 as an example, in this step, the operating environment corresponding to the above-mentioned development application is deployed, including the IEC program running dependent RTE environment deployment, C++ program dependency deployment, Python version and application dependency deployment, and upgrading and managing different language applications through the application management page.
本申请实施例还提供了一种计算设备,下面结合图6详细介绍。The embodiment of the present application also provides a computing device, which is described in detail below in conjunction with FIG. 6 .
该计算设备600包括,处理器610、存储器620、通信接口630、总线640。The computing device 600 includes a processor 610 , a memory 620 , a communication interface 630 , and a bus 640 .
应理解,该图所示的计算设备600中的通信接口630可以用于与其他设备之间进行通信。It should be understood that the communication interface 630 in the computing device 600 shown in this figure can be used to communicate with other devices.
其中,该处理器610可以与存储器620连接。该存储器620可以用于存储该程序代码和数据。因此,该存储器620可以是处理器610内部的存储单元,也可以是与处理器610独立的外部存储单元,还可以是包括处理器610内部的存储单元和与处理器610独立的外部存储单元的部件。The processor 610 may be connected to a memory 620. The memory 620 may be used to store the program code and data. Therefore, the memory 620 may be a storage unit inside the processor 610, or an external storage unit independent of the processor 610, or a component including a storage unit inside the processor 610 and an external storage unit independent of the processor 610.
可选的,计算设备600还可以包括总线640。其中,存储器620、通信接口630可以通过总线640与处理器610连接。总线640可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(EFStended Industry Standard Architecture,EISA)总线等。所述总线650可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。Optionally, the computing device 600 may further include a bus 640. The memory 620 and the communication interface 630 may be connected to the processor 610 via the bus 640. The bus 640 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. The bus 650 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the figure is represented by only one line, but it does not mean that there is only one bus or one type of bus.
应理解,在本申请实施例中,该处理器610可以采用中央处理单元(central processing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器610采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。It should be understood that in the embodiment of the present application, the processor 610 may adopt a central processing unit (CPU). The processor may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. Alternatively, the processor 610 may adopt one or more integrated circuits to execute relevant programs to implement the technical solutions provided in the embodiment of the present application.
该存储器620可以包括只读存储器和随机存取存储器,并向处理器610提供指令和数据。处理器610的一部分还可以包括非易失性随机存取存储器。例如,处理器610还可以存储设备类型的信息。The memory 620 may include a read-only memory and a random access memory, and provides instructions and data to the processor 610. A portion of the processor 610 may also include a nonvolatile random access memory. For example, the processor 610 may also store information on the device type.
在计算设备600运行时,所述处理器610执行所述存储器620中的计算机执行指令执行方法实施例的操作步骤。When the computing device 600 is running, the processor 610 executes the computer-executable instructions in the memory 620 to perform the operating steps of the method embodiment.
应理解,根据本申请实施例的计算设备600可以对应于执行根据本申请各实施例 的方法中的相应主体,并且计算设备600中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。It should be understood that the computing device 600 according to the embodiment of the present application may correspond to executing the various embodiments of the present application. The corresponding subjects in the method, and the above and other operations and/or functions of each module in the computing device 600 are respectively for implementing the corresponding processes of each method of this embodiment, and for the sake of brevity, they are not repeated here.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage media include various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks or optical disks.
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行方法实施例的操作步骤。The embodiment of the present application also provides a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, it is used to execute the operating steps of the method embodiment.
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括,具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适 的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。The computer storage medium of the embodiment of the present application may adopt any combination of one or more computer-readable media. The computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media (a non-exhaustive list) include an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable one of the above. In this document, a computer readable storage medium may be any tangible medium that can contain or store a program that can be used by or in connection with an instruction execution system, apparatus, or device.
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, which carry computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。The program code embodied on the computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。Computer program code for performing the operation of the present application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., using an Internet service provider to connect through the Internet).
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,均属于本申请保护范畴。 Note that the above are only preferred embodiments of the present application and the technical principles used. Those skilled in the art will understand that the present application is not limited to the specific embodiments described herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the scope of protection of the present application. Therefore, although the present application is described in more detail through the above embodiments, the present application is not limited to the above embodiments, and may also include more other equivalent embodiments without departing from the concept of the present application, all of which belong to the scope of protection of the present application.

Claims (10)

  1. 一种工业控制程序开发平台,其特征在于,用于通过一个IDE使用多种语言开发工业控制程序,包括:An industrial control program development platform, characterized in that it is used to develop industrial control programs in multiple languages through one IDE, including:
    平台资源配置模块,用于提供平台资源组态,通过所述IDE对工业控制涉及的平台资源进行配置,所述平台资源组态至少包括下列组态之一:设备及协议组态、共性数据结构组态,所述设备及协议组态用于对工业控制相关的设备和协议管理或映射,共性数据结构组态用于对多种语言程序间通信模型定义;A platform resource configuration module, used to provide platform resource configuration, and configure the platform resources involved in industrial control through the IDE, wherein the platform resource configuration includes at least one of the following configurations: device and protocol configuration, and common data structure configuration. The device and protocol configuration is used to manage or map the devices and protocols related to industrial control, and the common data structure configuration is used to define the communication model between programs in multiple languages;
    现场控制层开发模块,用于通过所述IDE使用至少一种的工业控制语言开发实时的现场控制程序;A field control layer development module, used to develop a real-time field control program using at least one industrial control language through the IDE;
    辅助控制层开发模块,用于通过所述IDE使用至少一种的IT生态语言开发非实时的辅助控制程序,所述辅助控制程序至少用于工业控制下列功能之一:过程监控、过程优化、人机界面;An auxiliary control layer development module, used to develop a non-real-time auxiliary control program using at least one IT ecological language through the IDE, wherein the auxiliary control program is used for at least one of the following functions of industrial control: process monitoring, process optimization, and human-machine interface;
    运行环境配置模块,用于通过所述IDE为所述现场控制程序和所述辅助控制程序部署运行环境。The operating environment configuration module is used to deploy the operating environment for the field control program and the auxiliary control program through the IDE.
  2. 根据权利要求1所述平台,其特征在于,所述共性数据结构组态还用于根据所定义的通信模型自动生成不同语言数据结构的代码。The platform according to claim 1 is characterized in that the common data structure configuration is also used to automatically generate codes for data structures in different languages according to the defined communication model.
  3. 根据权利要求1所述平台,其特征在于,所述设备及协议组态具体用于对软件定义设备通过软件方式进行定义和部署,对非软件定义设备通过映射方式进行配置。According to the platform of claim 1, it is characterized in that the device and protocol configuration are specifically used to define and deploy software-defined devices through software, and to configure non-software-defined devices through mapping.
  4. 根据权利要求1所述平台,其特征在于,所述平台资源配置模块还提供多语言任务调度组态功能,用于通过所述IDE对现场控制层的任务进行实时调度和对辅助控制层的任务进行非实时调度,并协同多种语言的任务之间的调度。According to the platform of claim 1, it is characterized in that the platform resource configuration module also provides a multi-language task scheduling configuration function, which is used to perform real-time scheduling of tasks of the field control layer and non-real-time scheduling of tasks of the auxiliary control layer through the IDE, and coordinate the scheduling between tasks in multiple languages.
  5. 根据权利要求1所述平台,其特征在于,所述工业控制语言至少包括下列之一:ST、IL、FBD、LD、SFC和CFC;The platform according to claim 1, characterized in that the industrial control language includes at least one of the following: ST, IL, FBD, LD, SFC and CFC;
    现场控制层开发模块至少支持所述工业控制语言的下列功能之一:编程、编译、监视、调试、控制、诊断。The field control layer development module supports at least one of the following functions of the industrial control language: programming, compiling, monitoring, debugging, controlling, and diagnosing.
  6. 根据权利要求1所述平台,其特征在于,所述IT生态语言至少包括下列之一:C++、Python、HTML和HMI界面语言;The platform according to claim 1 is characterized in that the IT ecological language includes at least one of the following: C++, Python, HTML and HMI interface language;
    辅助控制层开发模块至少支持所述IT生态语言的下列功能之一:编辑、编译和调试。The auxiliary control layer development module supports at least one of the following functions of the IT ecological language: editing, compiling and debugging.
  7. 根据权利要求1所述平台,其特征在于,运行环境配置模块还用于其部署的运行环境的版本切换、程序升级、启停控制。 The platform according to claim 1 is characterized in that the operating environment configuration module is also used for version switching, program upgrades, and start and stop control of the operating environment deployed by it.
  8. 根据权利要求6所述平台,其特征在于,所述辅助控制层开发模块还用于通过C++语言为所述现场控制程序开发扩展功能库。The platform according to claim 6 is characterized in that the auxiliary control layer development module is also used to develop an extended function library for the field control program using C++ language.
  9. 根据权利要求3所述平台,其特征在于,所述软件定义设备包括实时系统和非实时系统,所述现场控制程序运行在所述实时系统上,所述辅助控制程序运行在所述非实时系统上;The platform according to claim 3 is characterized in that the software-defined device includes a real-time system and a non-real-time system, the field control program runs on the real-time system, and the auxiliary control program runs on the non-real-time system;
    所述平台资源配置模块在定义所述实时系统和所述非实时系统时,至少分别为所述实时系统和所述非实时系统定义下列硬件之一:CPU核数、内存、接口。When defining the real-time system and the non-real-time system, the platform resource configuration module defines at least one of the following hardware for the real-time system and the non-real-time system respectively: number of CPU cores, memory, and interface.
  10. 一种工业控制程序开发方法,其特征在于,通过权利要求1至9任一所述平台使用多种语言在一个IDE中开发工业控制程序,包括:A method for developing an industrial control program, characterized in that the industrial control program is developed in an IDE using multiple languages through the platform described in any one of claims 1 to 9, comprising:
    利用平台资源配置模块提供的平台资源组态通过所述IDE对工业控制涉及的平台资源进行配置,所述平台资源组态至少包括下列组态之一:设备及协议组态、共性数据结构组态,所述设备及协议组态用于对工业控制相关的设备和协议的管理或映射,共性数据结构组态用于对多种语言程序间通信模型定义;The platform resource configuration provided by the platform resource configuration module is used to configure the platform resources involved in industrial control through the IDE, wherein the platform resource configuration includes at least one of the following configurations: device and protocol configuration, and common data structure configuration. The device and protocol configuration is used to manage or map the devices and protocols related to industrial control, and the common data structure configuration is used to define the communication model between programs in multiple languages;
    利用现场控制层开发模块通过所述IDE使用至少一种的工业控制语言开发实时的现场控制程序;Developing a real-time field control program using at least one industrial control language using the field control layer development module through the IDE;
    利用辅助控制层开发模块通过所述IDE使用至少一种的IT生态语言开发非实时的辅助控制程序,所述非实时的辅助控制程序至少用于工业控制的下列功能之一:过程监控、过程优化、人机界面;Developing a non-real-time auxiliary control program using the auxiliary control layer development module through the IDE using at least one IT ecological language, wherein the non-real-time auxiliary control program is used for at least one of the following functions of industrial control: process monitoring, process optimization, and human-machine interface;
    利用运行环境配置模块通过所述IDE为所述现场控制程序和所述辅助控制程序配置运行环境。 The operating environment is configured for the field control program and the auxiliary control program through the IDE using an operating environment configuration module.
PCT/CN2023/140681 2022-12-26 2023-12-21 Industrial control program development platform and method WO2024140416A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211678585.3 2022-12-26

Publications (1)

Publication Number Publication Date
WO2024140416A1 true WO2024140416A1 (en) 2024-07-04

Family

ID=

Similar Documents

Publication Publication Date Title
US8327316B2 (en) Compilation model
WO2013114926A1 (en) Support device, recording medium having support program recorded thereon, and method for generating executable program
EP3582036B1 (en) Control device
CN104698950A (en) Peripheral device control method, microcontroller, upper computer and system
CN113454551A (en) Automated code generator for interoperability between industrial ecosystems
WO2024131553A1 (en) Industrial control software development method and apparatus, and computing device
CN112558541B (en) PLC programming extension system and method and electronic equipment
CN111954854A (en) Support device and support program
JP6362821B2 (en) Control device, control method and instruction set
CN115934062A (en) Industrial control program development platform and method
JP6135247B2 (en) Information processing apparatus and information processing program
WO2024140416A1 (en) Industrial control program development platform and method
CN113010188A (en) Modular measurement and control system generation method and device, computer equipment and memory
JP2009009444A (en) Programmable controller, programmable controller support apparatus, and programmable controller system
JP6484015B2 (en) Programmable logic controller and control method thereof
CN112272820B (en) Support device and recording medium for supporting program
WO2020021993A1 (en) Information processing device and display program
KR101085114B1 (en) System for providing programable logic controller software development environment
JP4877257B2 (en) Programmable controller, programmable controller support apparatus, and programmable controller system
US20180307201A1 (en) System and method for creating a human-machine interface
CN108008945A (en) Device PCI drives development approach under a kind of LINUX system
CN107329764A (en) A kind of multitask GCPLC systems and the method that application and development is realized using the system
CN114253240A (en) Control method, device, equipment and storage medium for cloud industrial system equipment
EP4328681A1 (en) Method and system for managing technical installation during occurrence of error state in a controller
Scott Learning RSLogix 5000 Programming: Build robust PLC solutions with ControlLogix, CompactLogix, and Studio 5000/RSLogix 5000