CN112579200A - 一种分布式自动控制系统及其二次开发方法 - Google Patents
一种分布式自动控制系统及其二次开发方法 Download PDFInfo
- Publication number
- CN112579200A CN112579200A CN202011483746.4A CN202011483746A CN112579200A CN 112579200 A CN112579200 A CN 112579200A CN 202011483746 A CN202011483746 A CN 202011483746A CN 112579200 A CN112579200 A CN 112579200A
- Authority
- CN
- China
- Prior art keywords
- software module
- application software
- function
- control system
- configuration
- 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
- 238000011161 development Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000006870 function Effects 0.000 claims abstract description 130
- 230000015654 memory Effects 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种分布式自动控制系统及其二次开发方法,其中,该系统包括平台软件模块、智能组件,平台软件模块包括二次开发接口,平台软件模块用于加载应用软件模块,并通过二次开发接口为应用软件模块提供系统资源;应用软件模块用于通过二次开发接口获取系统资源,并通过系统资源驱动智能组件,智能组件与执行设备连接,用于与执行设备传递信号。实施本发明时无需一次性建立出具备复杂功能的分布式自动控制系统,只需通过平台软件模块加载具备各种功能的应用软件模块,并为应用软件模块提供系统资源,应用软件模块即可通过系统资源驱动智能组件,从而使得分布式自动控制系统具有与各应用软件模块相对应的功能。
Description
技术领域
本发明涉及通信技术领域,一种分布式自动控制系统及其二次开发方法。
背景技术
可编程逻辑控制器建立的自动控制系统,能通过梯形图快速构建出符合控制要求的工艺算法,最接近继电器控制原理图,目前应用最为广泛。但随着技术的发展,控制工艺算法已经越来越复杂,数据的计算量越来越大、逻辑分支越来越多,设计人员一次性建立出具备满足这些复杂功能的梯形图的自动控制系统较为困难。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中的难以一次性建立出具备满足这些复杂功能的梯形图的自动控制系统的缺陷,从而提供一种分布式自动控制系统及其二次开发方法。
本发明第一方面提供了一种分布式自动控制系统,其特征在于,包括平台软件模块、智能组件,平台软件模块包括二次开发接口,平台软件模块用于加载应用软件模块,并通过二次开发接口为应用软件模块提供系统资源;应用软件模块用于通过二次开发接口获取系统资源,并通过系统资源驱动智能组件,智能组件与执行设备连接,用于与执行设备传递信号。
可选地,在本发明提供的分布式自动控制系统中,平台软件模块还包括:加载信息存储模块,用于存储应用软件模块的加载信息;应用软件加载模块,用于根据加载信息加载应用软件模块。
可选地,在本发明提供的分布式自动控制系统中,应用软件模块中配置有配置函数和执行函数,配置函数用于定义应用软件模块的待加载信息,并通过传递参数获取应用软件模块所需的配置资源;执行函数用于根据二次开发接口获取系统资源,并根据配置资源、系统资源驱动智能组件。
可选地,在本发明提供的分布式自动控制系统中,加载信息中包括应用软件模块的标识信息以及应用软件模块所需的配置资源,应用软件模块加载模块具体包括:函数加载子模块,用于根据标识信息解析与应用软件模块相关联的应用函数,并根据应用函数获取配置函数和执行函数,应用函数存储于动态连接库;资源配置子模块,用于根据配置函数和应用软件模块所需的配置资源为应用软件模块配置资源;线程分配子模块,用于为执行函数建立线程。
可选地,在本发明提供的分布式自动控制系统中,应用软件模块加载模块还包括:资源检测子模块,用于根据配置函数检测是否存在资源冲突,若存在资源冲突,资源检测子模块发出用于表征加载失败的信息。
本发明第二方面提供了一种分布式自动控制系统的二次开发方法,其特征在于,分布式自动控制系统包括平台软件模块、智能组件,平台软件模块包括二次开发接口,该方法包括:通过平台软件模块加载应用软件模块,并通过二次开发接口为应用软件模块提供系统资源;通过应用软件模块和系统资源驱动智能组件,智能组件与执行设备连接,用于与执行设备传递信号。
可选地,在本发明提供的分布式自动控制系统的二次开发方法中,平台软件模块中存储有应用软件模块的加载信息,加载信息中包括应用软件模块的标识信息以及应用软件模块所需的配置资源;应用软件模块中配置有配置函数和执行函数;配置函数用于定义应用软件模块的待加载信息,并通过传递参数获取应用软件模块所需的配置资源;执行函数用于根据二次开发接口获取系统资源,并根据配置资源、系统资源驱动智能组件。
可选地,在本发明提供的分布式自动控制系统的二次开发方法中,通过平台软件模块加载应用软件模块的步骤,包括:通过软件模块和应用软件的标识信息解析与应用软件模块相关联的应用函数,并根据应用函数获取配置函数和执行函数,应用函数存储于动态连接库;根据配置函数和应用软件模块所需的配置资源为应用软件模块配置资源;为执行函数建立线程。
本发明第三方面提供了一种计算机设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,从而执行如本发明第二方面提供的分布式自动控制系统的二次开发方法。
本发明第三方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行如本发明第二方面提供的分布式自动控制系统的二次开发方法。
本发明技术方案,具有如下优点:
本发明提供的分布式自动控制系统及其二次开发方法,平台软件模块包括二次开发接口,且具备加载应用软件模块的功能,平台软件模块可以在加载应用软件模块后,通过二次开发接口为应用软件模块提供系统资源,应用软件模块可以通过系统资源驱动智能组件,从而使得分布式自动控制系统具有与各应用软件模块相对应的功能。因此在建立分布式自动控制系统时,无需一次性建立出具备复杂功能的分布式自动控制系统,复杂的功能可以通过多个应用软件模块实现,然后通过平台软件模块加载具备各种功能的应用软件模块即可。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中分布式自动控制系统的一个具体示例原理框图;
图2为本发明实施例中分布式自动控制系统的运行环境示意图;
图3为本发明实施例中分布式自动控制系统的另一具体示例原理框图;
图4为本发明实施例中的加载信息的示意图;
图5为本发明实施例中分布式自动控制系统的又一具体示例原理框图;
图6为本发明实施例中分布式自动控制系统的再一具体示例原理框图;
图7为本发明实施例中分布式自动控制系统的二次开发方法的一个具体示例的流程图;
图8为本发明实施例中计算机设备的一个具体示例的原理框图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
传统的分布式自动控制系统,由综合数据处理单元和若干智能组件20组成。智能组件20用于处理传统设备的数字输入信号(digital input,DI)、数字输出信号(digitaloutput,DO)、模拟量输入(AI)、模拟量输出(AO),使之对外形成标准的以太网通信接口;综合数据处理单元用于汇集和分发数据、对外通信、工艺算法计算、设备控制,但是目前的工艺算法逐渐复杂,设计人员一次性建立出具备满足这些复杂功能的综合数据处理单元为困难。
本发明实施例提供了一种分布式自动控制系统,如图1所示,包括平台软件模块10、智能组件20,平台软件模块10包括二次开发接口11,
平台软件模块10用于加载应用软件模块,并通过二次开发接口11为应用软件模块提供系统资源。在具体实施例中,平台软件模块10加载应用软件模块,实际是平台软件模块10为应用软件模块进行资源配置。在实际应用中,平台软件模块10中包括平台软件,应用软件模块中包括至少一个具备一定功能的应用软件,平台软件模块10加载应用软件模块,并通过二次开发接口11为应用软件模块提供系统资源,实际是平台软件模块10中的平台软件加载应用软件模块中的至少一个应用软件,并为其提供系统资源。
在具体实施例中,平台软件是固化在分布式自动控制系统中的,使用者不能更改,其主要功能包括:
1.实现与各个智能组件20通信,实现数据的汇集和分发;
2.通过通信和数据采集与监视控制系统(Supervisory Control And DataAcquisition,SCADA)等业务系统共享数据;
3.完成对数据库的操作;
4.提供二次开发接口11,通过开发接口实现和应用软件共享数据;
5.通过配置文件,加载并运行应用软件。
应用软件由使用者开发,分布式自动控制系统在没有应用软件时,只能实现平台软件中定义的基本功能,如监测功能和遥控功能,只有在平台软件模块10加载应用软件模块后,分布式自动控制系统的功能才能在应用软件模块中实现。
平台软件的应用程序接口(Application Programming Interface,API)主要分为获取数据、设置数据、获取系统信息、数据存储四大类。获取数据类API,函数名以get开头,用于获取分布式自动控制系统的数据,这些数据包括了智能组件20采集的DI、AI信号,或者是智能组件20的RS485接口接收的数据;设置数据类API,函数名以set开头,用于设置自控系统的数据,这些数据与智能组件20的DO、AO信号,或者是智能组件20的RS485接口发送数据绑定,实现数据驱动硬件的目的;获取系统信息类API,用于获取系统的数据的函数,主要包括系统的时间、高精度时间等;数据存储类API,用于将数据推送到数据库中,使数据入口一致,避免应用软件对数据库编程,减少开发难度。二次开发接口11通过头文件interface.h将上述系统资源提供给开发者使用。
应用软件模块用于通过二次开发接口11获取系统资源,并通过系统资源驱动智能组件20,智能组件20与执行设备连接,用于与执行设备传递信号。具体地,在应用软件模块通过调用interface.h提供的API函数获取系统资源,通过编写算法经过计算后,通过API改变数据,驱动智能组件20工作,使分布式自动控制系统实现相应功能。
本发明提供的分布式自动控制系统,平台软件模块10包括二次开发接口11,且具备加载应用软件模块的功能,平台软件模块10可以在加载应用软件模块后,通过二次开发接口11为应用软件模块提供系统资源,应用软件模块可以通过系统资源驱动智能组件20,从而使得分布式自动控制系统具有与各应用软件模块相对应的功能。因此在建立分布式自动控制系统时,无需一次性建立出具备复杂功能的分布式自动控制系统,复杂的功能可以通过多个应用软件模块实现,然后通过平台软件模块10加载具备各种功能的应用软件模块即可。
在具体实施例中,如图2所示,本发明实施例提供的分布式自动控制系统的硬件,采用X86架构的工业控制计算机或服务器,安装Linux Server操作系统,并具有了文件系统、网络工具、Openssh等基本工具,本发明实施例的内容建立在Linux操作系统基础之上,需要配套安装MysqlServer数据库、libxml2软件作为基础支持,并在此基础上运行平台软件和应用软件。平台软可直接运行;应用程序会编译成一个后缀名为so的动态链接库,开发者仅仅需要实现init、handle两个函数即可,开发难度极低,通过平台软件加载后运行。
在一可选实施例中,在本发明实施例提供的分布式自动控制系统中,如图3所示,平台软件模块10还包括:加载信息存储模块12和应用软件加载模块13。
加载信息存储模块12,用于存储应用软件模块的加载信息。通过加载信息,平台软件模块10可以准确地加载应用软件,并为应用软件合理分配资源。在具体实施例中,加载信息存储模块12可以通过xml文件存储应用软件加载信息,加载信息包含了应用软件的基本信息、资源配置、定值参数等,示例性地,如图4所示为一具体实施例中的加载信息,其中,pcmodle:包含了一个完整的应用软件描述;name:应用软件的名称;guid:应用软件的唯一编号;path:应用软件在系统中的绝对路径;appnum:应用的编号;dsnum:需要的资源数量;stnum:定值的数量;debug:是否启用调试信息打印;desc:应用程序的功能描述;dataset:应用程序需要的资源配置;setting:应用程序需要的定值配置。
应用软件加载模块13,用于根据加载信息加载应用软件模块。
在一可选实施例中,应用软件模块中配置有配置函数和执行函数,配置函数用于定义应用软件模块的待加载信息,并通过传递参数获取应用软件模块所需的配置资源;执行函数用于根据二次开发接口11获取系统资源,并根据配置资源、系统资源驱动智能组件20。具体实施例中,应用软件模块中的每个应用软件中都包括配置函数和执行函数。
具体地,配置函数为init函数,init函数需要创建应用软件所需的资源集合和定值集合,并检验它们的有效性,该函数会通过传递参数,传入平台软件读取的配置信息,该函数不允许存在无限循环。检验有效性的指标必须包含资源的数据类型、数量是否和配置文件匹配;定值的数据类型、数量是否和配置文件匹配。
执行函数为handle函数,handle函数用于实现工艺监控,通过调用interface.h提供的API函数获取系统资源,通过编写算法经过计算后,通过API改变数据,驱动智能组件20工作。handle函数运行使用无限循环,但每一次循环的间隔应大于100us,以保证其他应用程序的实时性。
在一可选实施例中,在本发明实施例提供的分布式自动控制系统中,加载信息中包括应用软件模块的标识信息(如应用软件的名称、唯一编号、绝对路径等)以及应用软件模块所需的配置资源(如应用程序需要的资源配置、应用程序需要的定值配置等),如图5所示,应用软件模块加载模块具体包括:函数加载子模块131,资源配置子模块132,线程分配子模块133。
函数加载子模块131,用于根据标识信息解析与应用软件模块相关联的应用函数,并根据应用函数获取配置函数和执行函数,应用函数存储于动态连接库。在具体实施例中,可以通过dlopen、dlsym函数将动态链接库中的函数,加载成init和handle两个函数实体,应用软件中包括init函数和handle函数,但是因为应用软件会被编译到动态链接库中,所以平台软件需要通过dlopen、dlsym函数将动态链接库中的函数,加载成init和handle两个函数实体。
资源配置子模块132,用于根据配置函数和应用软件模块所需的配置资源为应用软件模块配置资源。
在具体实施例中,配置函数中的传递参数会完成应用软件的资源分配和定值获取。
线程分配子模块133,用于为执行函数建立线程,具体地,线程分配子模块133会为执行函数建立独立的子线程。
在一可选实施例中,在本发明实施例提供的分布式自动控制系统中,如图6所示,应用软件模块加载模块还包括:
资源检测子模块134,用于根据配置函数检测是否存在资源冲突,若存在资源冲突,资源检测子模块134发出用于表征加载失败的信息。具体地,init函数会自动检查资源冲突,如果有资源冲突,会提示该应用软件加载失败。
本发明实施例还提供了一种分布式自动控制系统的二次开发方法,应用于上述任一实施例中提供的,分布式自动控制系统中,如图7所示,具体包括:
步骤S10:通过平台软件模块10加载应用软件模块,并通过二次开发接口11为应用软件模块提供系统资源,详细内容参见上述实施例中对平台软件模块10的描述,在此不再赘述。
步骤S20:通过应用软件模块和系统资源驱动智能组件20,智能组件20与执行设备连接,用于与执行设备传递信号,详细内容参见上述实施例中对应用软件模块的描述,在此不再赘述。
本发明提供的分布式自动控制系统的二次开发方法,平台软件模块10包括二次开发接口11,且具备加载应用软件模块的功能,平台软件模块10可以在加载应用软件模块后,通过二次开发接口11为应用软件模块提供系统资源,应用软件模块可以通过系统资源驱动智能组件20,从而使得分布式自动控制系统具有与各应用软件模块相对应的功能。因此在建立分布式自动控制系统时,无需一次性建立出具备复杂功能的分布式自动控制系统,复杂的功能可以通过多个应用软件模块实现,然后通过平台软件模块10加载具备各种功能的应用软件模块即可。
在一可选实施例中,应用软件模块中配置有配置函数和执行函数;配置函数用于定义应用软件模块的待加载信息,并通过传递参数获取应用软件模块所需的配置资源;执行函数用于根据二次开发接口11获取系统资源,并根据配置资源、系统资源驱动智能组件20,详细内容参见上述实施例中对应用软件模块的描述,在此不再赘述。
在一可选实施例中,平台软件模块10中存储有应用软件模块的加载信息,加载信息中包括应用软件模块的标识信息以及应用软件模块所需的配置资源,上述步骤S10中通过平台软件模块10加载应用软件模块的步骤具体包括:
首先,通过软件模块和应用软件的标识信息解析与应用软件模块相关联的应用函数,并根据应用函数获取配置函数和执行函数,应用函数存储于动态连接库,详细内容参见上述实施例中对函数加载子模块131的描述,在此不再赘述。
然后,根据配置函数和应用软件模块所需的配置资源为应用软件模块配置资源,详细内容参见上述实施例中对资源配置子模块132的描述,在此不再赘述。
最后,为执行函数建立线程,详细内容参见上述实施例中对线程分配子模块133的描述,在此不再赘述。
本发明还实施例提供了一种计算机设备,如图8所示,该计算机设备主要包括一个或多个处理器61以及存储器62,图8中以一个处理器61为例。
该计算机设备还可以包括:输入装置63和输出装置64。
处理器61、存储器62、输入装置63和输出装置64可以通过总线或者其他方式连接,图8中以通过总线连接为例。
处理器61可以为中央处理器(Central Processing Unit,CPU)。处理器61还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。存储器62可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据分布式自动控制系统的使用所创建的数据等。此外,存储器62可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器62可选包括相对于处理器61远程设置的存储器,这些远程存储器可以通过网络连接至分布式自动控制系统。输入装置63可接收用户输入的计算请求(或其他数字或字符信息),以及产生与分布式自动控制系统有关的键信号输入。输出装置64可包括显示屏等显示设备,用以输出计算结果。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的分布式自动控制系统的二次开发方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种分布式自动控制系统,其特征在于,包括平台软件模块、智能组件,所述平台软件模块包括二次开发接口,
所述平台软件模块用于加载应用软件模块,并通过所述二次开发接口为所述应用软件模块提供系统资源;
所述应用软件模块用于通过所述二次开发接口获取所述系统资源,并通过所述系统资源驱动所述智能组件,所述智能组件与执行设备连接,用于与所述执行设备传递信号。
2.根据权利要求1所述的分布式自动控制系统,其特征在于,所述平台软件模块还包括:
加载信息存储模块,用于存储所述应用软件模块的加载信息;
应用软件加载模块,用于根据所述加载信息加载所述应用软件模块。
3.根据权利要求2所述的分布式自动控制系统,其特征在于,所述应用软件模块中配置有配置函数和执行函数,
所述配置函数用于定义所述应用软件模块的待加载信息,并通过传递参数获取所述应用软件模块所需的配置资源;
所述执行函数用于根据所述二次开发接口获取所述系统资源,并根据所述配置资源、系统资源驱动所述智能组件。
4.根据权利要求3所述的分布式自动控制系统,其特征在于,所述加载信息中包括所述应用软件模块的标识信息以及所述应用软件模块所需的配置资源,所述应用软件模块加载模块具体包括:
函数加载子模块,用于根据所述标识信息解析与所述应用软件模块相关联的应用函数,并根据所述应用函数获取所述配置函数和执行函数,所述应用函数存储于动态连接库;
资源配置子模块,用于根据所述配置函数和所述应用软件模块所需的配置资源为所述应用软件模块配置资源;
线程分配子模块,用于为所述执行函数建立线程。
5.根据权利要求4所述的分布式自动控制系统,其特征在于,所述应用软件模块加载模块还包括:
资源检测子模块,用于根据所述配置函数检测是否存在资源冲突,若存在资源冲突,所述资源检测子模块发出用于表征加载失败的信息。
6.一种分布式自动控制系统的二次开发方法,其特征在于,所述分布式自动控制系统包括平台软件模块、智能组件,所述平台软件模块包括二次开发接口,所述方法包括:
通过所述平台软件模块加载应用软件模块,并通过所述二次开发接口为所述应用软件模块提供系统资源;
通过所述应用软件模块和所述系统资源驱动所述智能组件,所述智能组件与执行设备连接,用于与所述执行设备传递信号。
7.根据权利要求6所述的分布式自动控制系统的二次开发方法,其特征在于,
所述应用软件模块中配置有配置函数和执行函数;
所述配置函数用于定义所述应用软件模块的待加载信息,并通过传递参数获取所述应用软件模块所需的配置资源;
所述执行函数用于根据所述二次开发接口获取所述系统资源,并根据所述配置资源、系统资源驱动所述智能组件。
8.根据权利要求7所述的分布式自动控制系统的二次开发方法,其特征在于,所述平台软件模块中存储有所述应用软件模块的加载信息,所述加载信息中包括所述应用软件模块的标识信息以及所述应用软件模块所需的配置资源,
通过所述平台软件模块加载应用软件模块的步骤,包括:
通过所述软件模块和所述应用软件的标识信息解析与所述应用软件模块相关联的应用函数,并根据所述应用函数获取所述配置函数和执行函数,所述应用函数存储于动态连接库;
根据所述配置函数和所述应用软件模块所需的配置资源为所述应用软件模块配置资源;
为所述执行函数建立线程。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,从而执行如权利要求6-8任一项所述的分布式自动控制系统的二次开发方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求6-8任一项所述的分布式自动控制系统的二次开发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011483746.4A CN112579200A (zh) | 2020-12-15 | 2020-12-15 | 一种分布式自动控制系统及其二次开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011483746.4A CN112579200A (zh) | 2020-12-15 | 2020-12-15 | 一种分布式自动控制系统及其二次开发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112579200A true CN112579200A (zh) | 2021-03-30 |
Family
ID=75135577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011483746.4A Pending CN112579200A (zh) | 2020-12-15 | 2020-12-15 | 一种分布式自动控制系统及其二次开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579200A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833465A (zh) * | 2010-04-23 | 2010-09-15 | 中国科学院声学研究所 | 一种支持应用程序动态加载运行的嵌入式系统 |
CN105022628A (zh) * | 2015-06-04 | 2015-11-04 | 北京宏远贵德科技有限公司 | 一种可扩展的软件应用平台 |
-
2020
- 2020-12-15 CN CN202011483746.4A patent/CN112579200A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833465A (zh) * | 2010-04-23 | 2010-09-15 | 中国科学院声学研究所 | 一种支持应用程序动态加载运行的嵌入式系统 |
CN105022628A (zh) * | 2015-06-04 | 2015-11-04 | 北京宏远贵德科技有限公司 | 一种可扩展的软件应用平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107608901B (zh) | 基于Jmeter的测试方法及装置、存储介质、电子设备 | |
CN110515795B (zh) | 一种大数据组件的监控方法、装置、电子设备 | |
CN110290166B (zh) | 跨集群数据交互方法、系统、装置及可读存储介质 | |
CN111563014A (zh) | 接口服务性能测试方法、装置、设备和存储介质 | |
CN111124871A (zh) | 接口测试方法及装置 | |
US11169500B2 (en) | Control system, control device and control program for verifying soundness of data on a transmission path | |
CN114564374A (zh) | 算子性能评估方法、装置、电子设备及存储介质 | |
CN115392501A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN112052082A (zh) | 任务属性优化方法、装置、服务器及存储介质 | |
CN114117973A (zh) | 逻辑综合方法、设备和存储介质 | |
US11294729B2 (en) | Resource provisioning for multiple invocations to an electronic design automation application | |
CN112579200A (zh) | 一种分布式自动控制系统及其二次开发方法 | |
CN115391204A (zh) | 自动驾驶服务的测试方法、装置、电子设备及存储介质 | |
CN114239538A (zh) | 断言处理方法、装置、计算机设备及存储介质 | |
CN113791942B (zh) | 用于自动分发测试任务的方法和装置 | |
CN117539605B (zh) | 一种数据处理程序组装方法、装置、设备及存储介质 | |
CN111240920B (zh) | 性能测试方法、装置、服务器及存储介质 | |
CN114637564B (zh) | 数据可视化方法、装置、电子设备及存储介质 | |
CN117873650A (zh) | 实时运行环境生成系统、方法、计算机设备及存储介质 | |
CN116521513A (zh) | 一种安卓设备的测试管理方法、装置及设备 | |
CN116700754A (zh) | 一种基于json动态配置的流程编排方法及系统 | |
CN112612514A (zh) | 程序开发方法和装置、存储介质及电子装置 | |
CN117667101A (zh) | 编译方法、编译器、计算设备和计算机可读存储介质 | |
CN116185855A (zh) | 基于人工智能的数据对比方法、装置及相关设备 | |
CN114416585A (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 |