自定义功能块开发系统及运行调试方法与流程

文档序号:34816832发布日期:2023-07-19 19:49阅读:50来源:国知局
自定义功能块开发系统及运行调试方法与流程

本发明涉及一种自定义功能块开发系统及运行调试方法,属于工业过程控制。


背景技术:

1、现有技术中的dcs,plc等实时控制系统已被广泛应用,控制策略的编程是其最核心的功能之一。dcs、plc作为通用的控制系统,通常会提供基本的数学、逻辑、定时、数据采集和控制调节等内置基本算法功能块来构建控制策略。针对不同的控制场合或者不同的控制对象,用户需要有专用的控制算法来实现其特殊的需求;此外,对于控制策略中,大量重复使用的控制逻辑,用户也需要将这些重复使用的具有独立功能的内容封装成独立的功能块,在使用的时候,不需要再重复的进行相关控制逻辑的设计,只需要选取封装好的自定义功能块即可完成相应的功能。

2、现有技术中,针对用户自定义功能块,存在的问题主要包含以下几个方面:

3、首先,自定义功能块的实现是将一系列具有关联关系的功能块组合成组,选取这些功能块的某些输入和输出变量作为组合功能块的输入和输出变量,并在界面上,通过单独功能块的显示,隐藏了内部具体的实现细节,自定义功能块实例化后,其内部包含的功能块也会被实例化,自定义功能块的实现更新后,已创建的自定功能块的实例不能同步更新;且一旦自定义功能块进行更新或修复错误,需要在功能块图中将已创建的该类型的自定功能块的实例全部删除,再重新添加,并建立与其他功能块连接关系,设置参数,存在功能性、易用性的缺陷和用户友好性差的问题。其次,自定义功能块定义时,不能再包含其他自定义功能块,相关的功能要使用基本功能块重新进行搭建实现,复用程度低。再次,在运行时的在线调试环境下,仅能查看自定义功能块的输入、输出和参数数据,无法查看其内部实现所包含的各个功能块的输入、输出和参数等实时运行数据。控制逻辑的异常和错误难以定位,影响系统使用的调试效率和控制对象的稳定运行。最后,控制处理单元通常采用小型化的嵌入式装置,其计算资源和储存资源都相对有限。下载到控制处理单元中的每个自定义功能块实例都包含了构成该功能块的内部实现的所有功能块的实例,导致控制处理单元中大量存储空间和计算资源被占用,处理效率低。


技术实现思路

1、本发明的目的在于克服现有技术中的不足,提供一种自定义功能块开发系统及运行调试方法,能够进行自定义功能块的开发、运行和调试,提高执行效率。

2、为达到上述目的,本发明是采用下述技术方案实现的:

3、本发明提供一种自定义功能块开发系统,包括功能块库、自定义功能块开发工具、功能块图组态工具和功能块图执行器;

4、所述功能块库包含基本功能块和自定义功能块,所述自定义功能块开发工具通过基本功能块和已有的自定义功能块,形成新的自定义功能块并存储在功能块库中;

5、所述功能块图组态工具包含功能块图编辑器和功能块图调试器,所述功能块图编辑器基于功能块库中的基本功能块和自定义功能块,创建功能块图;

6、所述功能块图执行器包含调试管理器和功能块图执行引擎,所述调试管理器接收功能块图调试器的调试请求,向功能块图执行引擎发送获得最新的调试订阅队列命令,并向功能块图调试器发送调试数据;所述功能块图执行引擎接收功能块图信息,进行处理运算及更新调试数据。

7、进一步的,所述功能块库采用队列管理,包括内置区和用户区,所述内置区存储不可编辑的基本功能块;所述用户区存储自定义功能块,能够进行增加,删除或更新。

8、进一步的,所述基本功能块和自定义功能块具有唯一的类型标识tid,和用于区分基本功能块或自定义功能块的标识flag;

9、所述自定义功能块内部实现所包含的功能块具有在该自定义功能块内的唯一标识sid。

10、进一步的,所述功能块图包含自定义功能块的定义,及内部实现所包含的功能块列表和功能块实例列表,功能块实例具有唯一的标识oid,其中自定义功能块实例内部所包含的功能块用oid.sid标识,标识的sid能够多级设置,进行多级自定义功能块嵌套。

11、根据上述任一权利要求所述的一种自定义功能块开发系统的运行调试方法,所述方法包括如下步骤:

12、自定义功能块开发工具使用基本功能块或已有的自定义功能块,通过逻辑上的组合,关联,参数设定、封装和接口暴露,形成新的自定义功能块存储在功能块库中;

13、功能块图编辑器通过功能块库中的基本功能块和自定义功能块,创建功能块图;

14、功能块图执行引擎接收到功能块图组态工具通过通讯网络下载的功能块图,解析功能块图中的自定义功能块定义和功能块实例列表;

15、调试管理器接收功能块图调试器的调试请求,将调试请求功能块的uid放置到其调试订阅队列中,并通知功能块图执行引擎获得最新的调试订阅队列,所述uid为标识功能块实例的oid和标识自定义功能块实例内部所包含功能块的oid.sid的形式;

16、功能块图执行引擎接收功能块图进行处理,执行运算并更新调试数据。

17、进一步的,所述功能块图执行引擎接收功能块图进行处理包括:

18、解析功能块图中的自定义功能块定义及内部实现所包含功能块列表templlist,放置到自定义功能块模板区;

19、解析功能块图中的功能块实例列表objlist,放置到程序区;

20、创建调试数据区,调试数据区内调试数据分块管理,每一个数据块对应一个功能块实例的调试数据并用该功能块实例的uid标识。

21、进一步的,所述调试管理器根据调试请求队列中的调试请求uid,周期性的从调试数据区中获取对应实时数据块及该数据块标识的uid,通过数据发布接口发布到功能块图组态工具,进行实时数据显示。

22、进一步的,所述功能块图执行引擎接收功能块图进行处理,执行运算并更新调试数据包括:功能块图执行引擎从程序区周期性取出功能块实例执行运算;

23、b.若功能块实例为基本功能块,功能块图执行引擎根据功能块之间的连接关系取出其输入数据,调用功能块算法,根据设置参数进行计算,得到输出数据;

24、c.若功能块实例为自定义功能块,功能块图执行引擎根据功能块之间的连接关系获得输入数据,再从自定义功能块模板区中,根据自定义功能块实例的tid查找对应的自定义功能块的内部实现,将输入参数传入到对应的内部实现所包含功能块的输入上,获得自定义功能块内部实现包含的每个功能块;

25、自定义功能块内部实现所包含的功能块若为自定义功能块,则重复步骤c;若为基本功能块,功能块图执行引擎则跳转至步骤b,自定义功能块内部实现包含的每个功能块执行完成后,输出数据。

26、进一步的,若功能块实例的uid在调试管理器的请求队列中,则功能块图执行引擎复制该功能块实例的实时数据到调试数据区中,并将对应的数据块标识为其uid。

27、与现有技术相比,本发明所达到的有益效果包括:

28、采用模板化设计,将自定义功能块的定义与实例分离,同一类型自定义功能块的多个实例对应同一自定义功能块定义模板,模板的更新同步更新到已创建的实例;同一类型自定义功能块的执行亦对应同一模板,只需要将参数传入该模板中,执行对应的功能块,节省系统空间;

29、采用uid标识机制,自定义功能块及其内部实现所任意嵌套的功能块可通过uid唯一标识,并与执行系统中自定义功能块的实例及其内部实现一一对应,通过uid可访问任意自定义功能块实例及其内部组成的功能块的调试数据,支持自定义功能块的调试;

30、采用动态订阅的机制,只请求需要调试的功能块数据,有效节约系统空间和通讯带宽。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1