一种控制软件模块化设计方法技术

技术编号:37701195 阅读:10 留言:0更新日期:2023-06-01 23:45
本发明专利技术的目的在于提供一种控制软件模块化设计方法,控制系统在多任务操作系统下运行的应用软件设计成相关的又独立的程序或任务,在该多任务操作系统下,至少设计出两个独立程序或任务,其中为相同的子被控对象设计一个独立的控制程序或任务,且带有身份为客户端的动态数据交换接口,且不直接访问计算机的I/O硬件接口,只针对被控对象进行控制逻辑的处理;同时设计一个独立的I/O接口程序或任务,计算机上用于完成该控制系统的全部I/O硬件接口均由该接口程序进行直接访问。本发明专利技术使具有被控对象特征且待开发的控制应用软件可运行在具有动态数据交换功能的多任务操作系统环境下,按照本发明专利技术设计方法进行开发实现,其开发过程变得简单易于实现。变得简单易于实现。变得简单易于实现。

【技术实现步骤摘要】
一种控制软件模块化设计方法


[0001]本专利技术涉及的是一种控制软件设计方法。

技术介绍

[0002]人们在设计各种计算机软件时,往往会自觉或不自觉地采用模块化设计方法,即将待开发的软件系统划分为若干个相互独立的模块,每一个模块都独立地开发、测试,最后再组装出整个软件,这样使完成每一个软件模块的设计工作变得单纯而明确,且便于大的软件由多个人或团队协同进行开发实现。
[0003]运行在单任务操作系统下大的应用软件即使由多人协同按照模块化的设计原则进行开发,使得整个软件的设过程计变得简单易实现,但最后每个人开发的软件模块源文件仍需进行统一的编译、连接处理,最终才能形成一个可在操作系统下运行的可执行程序文件;当其中的一个软件模块源文件被修改后,整个应用软件需重新进行编译、连接处理形成新的可执行程序文件。实际上运行在多任务操作系统下应用软件设计,即使采用模块化设计方法,往往也是被设计成一个单一可执行程序文件,一旦某个软件模块进行了修改,就需重新进行编译、连接处理形成新的可执行程序文件。
[0004]在实践中发现,某些控制系统的控制任务模块化特征明显,最终的应用软件如是运行在多任务操作系统环境下,不将所有的软件模块统一编译、连接成一个可执行程序文件,而是按照功能的相关性编译、连接成几个独立的可执行程序文件,在多任务操作系统的统一调度下,让这几个独立的可执行程序同时运行,协同配合实现总的控制任务也是可行的;且当其中的一个软件模块源文件被修改后,只需对紧密相关的几个软件模块重新进行编译、连接处理再次更新形成新的可执行程序文件,而无需对系统中其它的可执行文件重新进行编译、连接。这样从技术上,就会使得整个应用软件的开发过程更容易管理,任务软件模块易于分别调试、测试,更易于多人共同开发和软件后期的升级维护。

技术实现思路

[0005]本专利技术的目的在于提供利用多任务操作系统的特点,进一步提高控制应用软件的开发效率的一种控制软件模块化设计方法。
[0006]本专利技术的目的是这样实现的:
[0007]本专利技术一种控制软件模块化设计方法,其特征是:包括控制系统,控制系统在多任务操作系统下运行的应用软件设计成相关的又独立的程序或任务,这些相关的又独立的程序或任务在多任务操作系统的协调下,相互协同配合,达成对整个被控对象的控制之目的;在该多任务操作系统下,至少设计出两个独立程序或任务,其中为相同的子被控对象设计一个独立的控制程序或任务,且带有身份为客户端的动态数据交换接口,且不直接访问计算机的I/O硬件接口,只针对被控对象进行控制逻辑的处理;同时设计一个独立的I/O接口程序或任务,计算机上用于完成该控制系统的全部I/O硬件接口均由该接口程序进行直接访问,即进行实际的控制输入输出处理,且带有身份为服务器端的动态数据交换接口。
[0008]本专利技术还可以包括:
[0009]1、针对每个相同的子被控对象都运行一个控制程序实例,同时运行I/O接口程序,I/O接口程序与每个控制程序实例分别进行热连接的动态数据交换,即自动连续地进行数据交换。
[0010]2、I/O接口程序为每个控制程序实例,通过I/O硬件接口采集被控对象的状态信息,通过动态数据交换接口分别发给每个控制程序实例,每个控制程序实例根据被控对象状态信息的变化,调整控制输出,每个控制程序实例的控制输出均通过动态数据交换接口发给I/O接口程序,最后由I/O接口程序访问计算机的I/O硬件接口,完成物理意义上的控制输出。
[0011]3、相同的子被控对象数量达到限值时,I/O接口程序在一次性为所有子被控对象或者为所有运行的控制程序实例采集完状态信息后,主动定时间隔性地发给每个控制程序实例。
[0012]4、开机上电后以批处理的方式加载每个独立程序,包括I/O接口程序和相同子被控对象的各个控制程序实例。
[0013]5、相同子被控对象的各个控制程序实例加载时或是启动时,程序带不同的参数进行启动,控制程序根据该参数设置该控制程序实例的运行窗口标题,以示不同控制程序实例的区别。
[0014]本专利技术的优势在于:本专利技术使具有被控对象特征且待开发的控制应用软件可运行在具有动态数据交换功能的多任务操作系统环境下,按照本专利技术设计方法进行开发实现,其开发过程变得简单易于实现。
附图说明
[0015]图1为本专利技术的工作原理图;
[0016]图2为本专利技术的一个实施例中相同的子被控对象的同一个控制程序的基本运行界面图。
[0017]图3为本专利技术的一个实施例中相同的12个子被控对象的同一个控制程序的12个控制程序实例,同时运行的总的基本运行界面图。
具体实施方式
[0018]下面结合附图举例对本专利技术做更详细地描述:
[0019]结合图1

3,本专利技术提供了一种控制软件模块化设计方法,包括以下
技术实现思路

[0020]设计的控制应用软件应可运行在具有动态数据交换功能的多任务操作系统环境下,且整个被控对象中有很多相同的子被控对象,本控制软件模块化设计方法对这类应用场景优势明显。
[0021]在这种应用场景下,整个控制系统在某个多任务操作系统下运行的应用软件设计成多个独立程序或任务而不是单一的程序或任务,这些相关的但独立的程序或任务在多任务操作系统的协调下,相互协同配合,达成了对整个被控对象的控制之目的。
[0022]在该多任务操作系统下,至少要设计出两个独立程序或任务,其中要为那些相同的子被控对象设计一个独立的控制程序或任务,且带有身份为客户端的动态数据交换接
口,且不直接访问计算机的I/O硬件接口,只针对被控对象进行控制逻辑的处理。
[0023]同时设计一个独立的I/O接口程序或任务,计算机上用于完成该控制系统的全部I/O硬件接口均由该接口程序进行直接访问,即进行实际的控制输入输出处理,且带有身份为服务器端的动态数据交换接口。
[0024]为了实现对整个被控对象的控制,针对每个相同的子被控对象都运行一个控制程序实例,同时运行I/O接口程序,I/O接口程序与每个控制程序实例分别进行热连接的动态数据交换,即自动连续地进行数据交换。
[0025]I/O接口程序为每个控制程序实例,通过I/O硬件接口采集被控对象的状态信息,通过动态数据交换接口分别发给每个控制程序实例,每个控制程序实例根据被控对象状态信息的变化,调整控制输出,每个控制程序实例的控制输出均通过动态数据交换接口发给I/O接口程序,最后由I/O接口程序访问计算机的I/O硬件接口,完成真正的物理意义上的控制输出。
[0026]相同的子被控对象数量较多,达到某一限值时(具体应用时根据实际测定确认),相应地同一控制程序的运行实例较多,I/O接口程序在一次性为所有子被控对象或者说是为所有运行的控制程序实例采集完状态信息后,不同时连续发给每个控制程序实例,而是主动定时间隔性地发给每个控制程序实例。这样做可避免当同时激活实时动态数据交换任务数量而超过操作系统的能力,造成数据拥塞丢失数据的现象发生。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种控制软件模块化设计方法,其特征是:包括控制系统,控制系统在多任务操作系统下运行的应用软件设计成相关的又独立的程序或任务,这些相关的又独立的程序或任务在多任务操作系统的协调下,相互协同配合,达成对整个被控对象的控制之目的;在该多任务操作系统下,至少设计出两个独立程序或任务,其中为相同的子被控对象设计一个独立的控制程序或任务,且带有身份为客户端的动态数据交换接口,且不直接访问计算机的I/O硬件接口,只针对被控对象进行控制逻辑的处理;同时设计一个独立的I/O接口程序或任务,计算机上用于完成该控制系统的全部I/O硬件接口均由该接口程序进行直接访问,即进行实际的控制输入输出处理,且带有身份为服务器端的动态数据交换接口。2.根据权利要求1所述的一种控制软件模块化设计方法,其特征是:针对每个相同的子被控对象都运行一个控制程序实例,同时运行I/O接口程序,I/O接口程序与每个控制程序实例分别进行热连接的动态数据交换,即自动连续地进行数据交换。3.根据权利要求1所述的一种控制软件模块化设计方法,其特征是:I/O接口...

【专利技术属性】
技术研发人员:赵文斌赵世舟周阳杨兆瀚
申请(专利权)人:中国船舶重工集团公司第七零三研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1