一种自动化设备控制软件开发方法、系统和存储介质技术方案

技术编号:34322631 阅读:65 留言:0更新日期:2022-07-31 00:30
本发明专利技术公开了一种自动化设备控制软件开发方法、系统和存储介质,主要包括以下步骤:响应于用户的启动请求,在用户操作界面显示若干个函数模块;响应于用户的编辑请求,确定所述若干个函数模块之间的执行顺序和执行关系,得到任务串;所述执行关系包括串行执行和并发执行;将所述任务串进行格式转换和语法转换,得到配置文本;分析所述配置文本,生成中间表示;执行所述中间表示。本发明专利技术所公开的一种自动化设备控制软件开发方法,支持并发和同步功能,降低自动化控制类软件开发难度,同时加快开发工作。本发明专利技术广泛应用于自动化设备控制领域。本发明专利技术广泛应用于自动化设备控制领域。本发明专利技术广泛应用于自动化设备控制领域。

【技术实现步骤摘要】
一种自动化设备控制软件开发方法、系统和存储介质


[0001]本专利技术涉及自动化控制领域,尤其是一种自动化设备控制软件开发方法、系统和存储介质。

技术介绍

[0002]自动化设备的控制系统一般由一台控制计算机、多个传感器模块和多个执行器模块(如运动控制卡、PLC等)组成。计算机系统执行软件,从传感器读取输入数据,向执行器输出控制信号。一个完整控制逻辑由大量处理任务组成,它们之间既可能是先后依序运行的串行执行关系,也可能是同时执行的并发执行关系;同时又存在条件依赖,例如任务A等待任务B完成某动作后才能继续运行;此外,还存在数据依赖关系,例如任务A需要任务B的处理结果。因此软件程序往往十分复杂,同时又常常需要根据实际使用场合进行定制。由此可见,快速开发出满足要求的软件系统是一项有难度的工作。
[0003]现有的自动化控制软件开发方法通常使用编程语言直接开发;开发周期长,定制修改难度大;基本不支持一些较为复杂的算术逻辑运算和对软件的正确性检查。另一方面,现有技术只支持模块的串行执行,不支持并发执行、并发同步和独立CPU核心执行。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供一种自动化设备控制软件开发方法、系统和存储介质。
[0005]本专利技术的第一方面提供了一种自动化设备控制软件开发方法,包括以下步骤:
[0006]响应于用户的启动请求,在用户操作界面显示若干个函数模块;
[0007]响应于用户的编辑请求,确定所述若干个函数模块之间的执行顺序和执行关系,得到任务串;所述执行关系包括串行执行和并发执行;
[0008]将所述任务串进行格式转换和语法转换,得到配置文本;
[0009]分析所述配置文本,生成中间表示;
[0010]执行所述中间表示。
[0011]进一步地,所述函数模块包括算术逻辑运算模块;所述算术逻辑运算模块用于执行算术运算和/或逻辑运算;所述算术运算包括加运算、减运算、乘运算、除运算、模运算;所述逻辑运算包括与运算、或运算、非运算。
[0012]进一步地,在所述执行关系为并发执行时,确定并发执行的多个函数任务之间的同步信号;
[0013]所述同步信号包括等待信号和触发信号,所述等待信号用于令所述函数模块在接收到触发信号之前执行等待操作;所述触发信号用于触发正在执行等待操作的函数模块。
[0014]进一步地,在将所述任务串进行格式转换和语法转换,得到配置文本之前,还包括以下步骤:
[0015]响应于用户的延时请求,在任务串中所述延时请求所指向的目标函数模块之前添
加延时操作;所述延时请求包括目标函数模块和延时时长。
[0016]进一步地,在分析所述配置文本之前,还包括以下步骤:
[0017]检查所述配置文本中的输入参数类型,在输入参数类型与函数模块的定义参数类型不一致时,在用户操作界面显示异常信息。
[0018]进一步地,所述中间表示包括语法树和符号表;
[0019]所述语法树中包括树状排列的若干个节点;节点分为若干类型,每一种类型的节点对应一种或多种处理该类型节点的函数模块;在执行所述中间表示时,通过节点类型索引到处理该类型节点的函数模块,调用这一部分函数模块以处理该节点;
[0020]所述符号表中记录符号名和符号值;所述符号名为一个字符串,所述符号值引用一个数据结构。
[0021]进一步地,在执行所述中间表示之后,还包括以下步骤:
[0022]响应于用户的符号值获取请求,使用取值函数获取所述符号表中的符号值;
[0023]在用户操作界面中显示所述符号值。
[0024]进一步地,所述一种自动化设备控制软件开发方法响应于用户的修改请求,对函数模块、语法树和符号表进行修改;
[0025]对函数模块的修改包括添加、删除和编辑函数模块;
[0026]对语法树的修改包括修改语法树节点的语句;
[0027]对符号表的修改包括修改符号名和修改符号值;
[0028]所述修改请求包括以C语言或C++语言编写的修改请求。
[0029]本专利技术还公开了一种自动化设备控制软件开发系统,包括用户操作界面、函数模块库和处理器;
[0030]所述用户操作界面用于接收用户请求;
[0031]所述函数模块库用于储存函数模块;
[0032]所述处理器用于执行实现一种自动化设备控制软件开发方法。
[0033]本专利技术还公开了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现一种自动化设备控制软件开发方法。
[0034]本专利技术具有如下有益效果:本专利技术所公开的一种自动化设备控制软件开发方法,支持并发和同步功能,解决了多任务并发和独立CPU执行这一软件开发领域的难题,降低自动化控制类软件开发难度,同时加快开发工作。本专利技术设计了专用于自动控制算法的配置文本,可以更简洁高效地表示自动控制算法。不需要用户有编程基础,降低了自动化设备软件开发的门槛。本专利技术还通过引入具有语法格式的配置文本,实现了用符号承载数据的功能,从而实现任务间数据传递和数据类型检查。
[0035]本专利技术的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0036]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图。
[0037]图1是本专利技术一种自动化设备控制软件开发方法的主要流程图。
具体实施方式
[0038]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0039]本实施例介绍了一种自动化设备控制软件开发方法的主要流程,如图1所示。主要包括以下步骤:
[0040]S1:响应于用户的启动请求,在用户操作界面显示若干个函数模块:
[0041]本实施例中函数模块的具体种类包括:任务调用(CALL)、分支(BRANCH)、循环(LOOP)、赋值(ASSIGNMENT)、算术逻辑运算(EXPR)。
[0042]任务调用(CALL):该函数模块中任务名称由用户自定,由英文字母组成。由于自动化控制领域部分工作任务存在特殊的要求;故本实施例中用户可通过在函数模块中添加特定标记将该任务分配于一个独立的CPU核心执行该任务。
[0043]分支(BRANCH):该函数模块中,任务的分支条件由用户指定;当任务满足分支条件时执行对应的一部分分支任务;当任务不满足分支条件时执行对应的另一部分分支任务;具体的分支任务种类由用户指定。
[0044]循环(LOOP):该函数模块中,任务的末端存在有条件判本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自动化设备控制软件开发方法,其特征在于,包括以下步骤:响应于用户的启动请求,在用户操作界面显示若干个函数模块;响应于用户的编辑请求,确定所述若干个函数模块之间的执行顺序和执行关系,得到任务串;所述执行关系包括串行执行和并发执行;将所述任务串进行格式转换和语法转换,得到配置文本;分析所述配置文本,生成中间表示;执行所述中间表示。2.根据权利要求1所述的一种自动化设备控制软件开发方法,其特征在于,所述函数模块包括算术逻辑运算模块;所述算术逻辑运算模块用于执行算术运算和/或逻辑运算;所述算术运算包括加运算、减运算、乘运算、除运算、模运算;所述逻辑运算包括与运算、或运算、非运算。3.根据权利要求1所述的一种自动化设备控制软件开发方法,其特征在于,在所述执行关系为并发执行时,确定并发执行的多个函数任务之间的同步信号;所述同步信号包括等待信号和触发信号,所述等待信号用于令所述函数模块在接收到触发信号之前执行等待操作;所述触发信号用于触发正在执行等待操作的函数模块。4.根据权利要求1所述的一种自动化设备控制软件开发方法,其特征在于,在将所述任务串进行格式转换和语法转换,得到配置文本之前,还包括以下步骤:响应于用户的延时请求,在任务串中所述延时请求所指向的目标函数模块之前添加延时操作;所述延时请求包括目标函数模块和延时时长。5.根据权利要求1所述的一种自动化设备控制软件开发方法,其特征在于,在分析所述配置文本之前,还包括以下步骤:检查所述配置文本中的输入参数类型,在输入参数类型与函数模块的定义参数类型不一致时,在用户操作界面显示异常信息。6.根据...

【专利技术属性】
技术研发人员:王长军郑艳文邓文波陈垚王飞
申请(专利权)人:珠海市奥德维科技有限公司
类型:发明
国别省市:

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

1