一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种设备控制系统构建方法及装置与流程

2022-02-22 08:58:34 来源:中国专利 TAG:


1.本发明涉及一种设备控制系统构建方法及装置,属于工程机械设备构建领域。


背景技术:

2.目前软件日趋复杂,其质量、开发效率和成本对整机产品越来越重要。现阶段,工程机械行业的挖掘机控制程序构建方法主要采用主程序/子程序的构建方法,构建方法的好坏还是取决于在人工经验上。另外,针对工程机械的软件功能需求日益增多,加上网络化智能化的发展,主程序/子程序的构建方法很难满足现实的需求。
3.利用主程序/子程序的构建方法相对基于层次化模块化软件架构的挖掘机控制程序构建方法,不仅开发效率无法得到保证,而且主程序/子程序的构建方法较为繁琐,维护性、测试性差。此外,此构建方法还严重依赖于硬件,可移植性差;构建方法内部耦合紧密,主程序与子程序相互调用复杂,可重用性差。受人的专业知识及经验的限制,主观影响大,特别是针对功能需求比较多的程序,无法得到较为满意的程序构建效果,无法让人直观的看到层次和模块化的效果。


技术实现要素:

4.本发明的目的在于提供一种设备控制系统构建方法及装置,以解决现有技术中控制系统采用主程序/子程序的构建方法依赖于硬件平台可移植性差,主程序与子程序相互调用复杂,可重用性差等问题。
5.为实现上述目的,本发明采用如下技术方案:一方面,一种设备控制系统构建方法,所述控制系统包括应用层、映射层和基础层,其中所述应用层用于执行针对所述设备的用户控制逻辑,所述基础层用于执行设备控制指令,所述映射层用于将所述应用层基于用户控制逻辑发出的设备控制指令,转发到所述基础层,所述方法包括:从预先构建的多个应用控制模块中,选择出若干第一模块,并将所述第一模块加入应用层;确定所述若干第一模块对应的基础层;设定所述应用层和所述映射层之间的接口,生成所述映射层。
6.进一步地,所述控制系统为挖掘机控制系统,所述第一模块包括发动启动模块、模式选择模块、增力模块和安全手柄模块中的一种或多种。
7.进一步地,所述映射层包括数据处理模块,所述数据处理模块用于将所述应用层基于用户控制逻辑发出的第一数据格式的第一控制指令,转化为第二数据格式的第二控制指令,并发送给所述基础层,其中所述第一数据格式基于所述用户控制逻辑设定,所述第二数据格式为所述设备的控制器指令格式。
8.进一步地,所述映射层还用于根据所述应用层基于用户控制逻辑发出的设备应用指令,保存所述设备应用指令对应的第一信息;所述映射层包括存储模块,用于存储所述第
一信息。
9.进一步地,所述基础层包括数字输入模块、数字输出模块、模拟输入模块、模拟输出模块中的一个或多个。
10.进一步地,所述第一模块基于simulink自动化生成。
11.进一步地,所述基础层用于执行设备控制指令包括:所述基础层通过所述设备的控制器执行所述设备控制指令。
12.另一方面,一种设备控制系统构建装置,所述控制系统包括应用层、映射层和基础层,其中所述应用层用于执行针对所述设备的用户控制逻辑,所述基础层用于执行设备控制指令,所述映射层用于将所述应用层基于用户控制逻辑发出的设备控制指令,转发到所述基础层,所述装置包括:应用层构建模块,配置为从预先构建的多个应用控制模块中,选择出若干第一模块,并将所述第一模块加入应用层;基础层确定模块,配置为确定所述若干第一模块对应的基础层;映射层接口设定模块,配置为设定所述应用层和所述映射层之间的接口,生成所述映射层。
13.另一方面,一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行前述的一种设备控制系统构建方法。
14.另一方面,一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现前述的一种设备控制系统构建方法。
15.本发明相对于传统的利用主程序/子程序的控制程序构建方法具有如下优点:一是可重用性高,本发明一方面基于模块化的思想将类似的功能放在一个模块内开发,提高了重用性,另外,本发明将不同的功能划分为一个个的模块单独开发,使得功能需求之间耦合性基本为零,也提高了重用性;二是可移植性高,由于采用层次化的思想,开发控制系统重点关注应用层逻辑实现,脱离了对硬件的依赖,开发工程师不用过多关注硬件的使用限制,使得控制程序可以方便的应用于不同的硬件平台,提高了控制程序的可移植性;三、构建方法较为简单,开发效率高,提高了可测试性、可维护性。
附图说明
16.图1为本发明实施例的一种设备控制系统构建方法流程图;图2为本发明实施例的挖掘机控制程序构建原理图;图3为本发明实施例的根据功能需求进行模块化设计和接口定义组成的挖掘机控制系统整体架构图;图4为本发明实施例的发动机启动模块架构图;图5为本发明实施例的发动机启动模块控制序列图;图6为发动机启动模块simulink建立的应用层输入输出图;图7为发动机启动模块codesys平台应用层输入输出图;图8为发动机启动模块codesys平台映射层输入输出图;图9为发动机启动模块codesys平台基础层输入输出图。
具体实施方式
17.下面结合具体实施例对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
18.如前所述,目前工程机械行业中设备控制系统开发主要采用主程序/子程序的构建方法。这种构建方法,一方面依赖于硬件平台,可移植性差。另一方面内部耦合紧密,主程序与子程序相互调用复杂,可重用性差。第三方面,对于大型程序,开发效率低,维护性、测试性差。且受开发人员的专业知识及经验的限制,主观影响大,特别是针对功能需求比较多的程序,无法得到较为满意的程序构建效果,无法让人直观的看到层次和模块化的效果。
19.本发明针对上述问题,提出一种基于层次化模块化软件架构的设备控制程序构建方法,一方面利用层次化思想可以降低对硬件的依赖,只需关注应用层的开发即可,提高软件可移植性。另外一方面利用模块化的思想,将功能需求划分为多个模块来开发,可以降低子程序之间的耦合性,提高控制程序的可重用性、可维护性和可测试性。此外,该方法可以提高控制程序开发过程的效率,缩短控制程序开发周期。
20.本发明实施例提供的一种设备控制系统构建方法,控制系统包括应用层、映射层和基础层,其中应用层用于执行针对所述设备的用户控制逻辑,基础层用于执行设备控制指令,映射层用于将所述应用层基于用户控制逻辑发出的设备控制指令,转发到所述基础层,如图1所示,该方法包括:步骤a:从预先构建的多个应用控制模块中,选择出若干第一模块,并将所述第一模块加入应用层。
21.在不同的实施例中,设备控制系统可以是不同的具体设备的控制系统。在一个实施例中,设备控制系统为挖掘机控制系统,如图3所示。在不同的实施例中,可以从不同的多个应用控制模块中,确定出不同的第一模块。在一个实施例中,所述第一模块可以包括发动启动模块、模式选择模块、增力模块和安全手柄模块中的一种或多种。在一个实施例中,所述第一模块可以基于simulink自动化生成。
22.步骤b:确定所述若干第一模块对应的基础层。
23.在一个实施例中,基础层可以包括数字输入模块、数字输出模块、模拟输入模块、模拟输出模块中的一个或多个。
24.在一个实施例中,基础层可以通过所述设备的控制器执行所述设备控制指令。如图3所示。
25.步骤c:设定所述应用层和所述映射层之间的接口,生成所述映射层。
26.在一个实施例中,映射层可以包括数据处理模块,数据处理模块用于将应用层基于用户控制逻辑发出的第一数据格式的第一控制指令,转化为第二数据格式的第二控制指令,并发送给基础层,其中所述第一数据格式基于所述用户控制逻辑设定,所述第二数据格式为所述设备的控制器指令格式。
27.在一个实施例中,映射层还可以用于根据应用层基于用户控制逻辑发出的设备应用指令,保存所述设备应用指令对应的第一信息;映射层还可以包括存储模块,用于存储所述第一信息。
28.本发明综合利用层次化和模块化的软件架构思想对挖掘机控制程序进行构建。首先根据高内聚低偶性的原则对控制程序进行分层得到三层的分层结构,然后根据功能需求
进行模块化设计,对模块与模块之间的接口进行设计。其次通过逻辑建模仿真并进行mil测试,再次进行代码自动生成。最后对程序进行集成进行集成测试进而进行装机测试。
29.图1示出了根据本发明根据一种具体的实施方式,还可以基于以下步骤构建例如挖掘机控制程序:第1步,根据高内聚低耦合的原则对程序进行分层。为了解决主程序/子程序的构建方法依赖硬件,可移植性差的问题,基于层次化模块化软件架构的挖掘机控制程序构建方法根据高内聚低耦合的原则对程序进行分层。将程序分为应用层、接口层,基础层三个层。程序构建时只需关注应用层开发即可,应用层与硬件无关。硬件跟基础层关联,降低了对硬件的依赖,从而提高了程序的可移植性。
30.第2步,根据功能需求对需求进行模块化设计。对收集到的功能需求进行分析,将功能类似的功能划分到同一个功能模块,功能不同的需求划分到不同的模块,不仅可以降低模块间的耦合性,而且可以提高模块的可重用性。
31.第3步,对模块间及各层之间的接口进行定义。由于模块间之间有相互调用及各层之间有相互联系,故需要对应用层模块间的接口及各层之间的接口进行定义。
32.第4步,对模块进行逻辑建模仿真。模块化后需要对模块内的逻辑进行建模并进行仿真,一方面可以清晰直观的看到模块内部的逻辑,另外一方面可以通过在线仿真验证逻辑的正确性。
33.第5步,对模块的逻辑建模进行mil测试。mil测试时通过建立输入输出信号、干扰信号、期望信号及错误信号来进一步验证模块的逻辑建模的逻辑的正确性。
34.第6步,进行代码自动生成。传统的主程序/子程序的构建方法完全依赖人工编写代码,本发明应用层逻辑完全是使用自动生成的代码。自动生成的代码一方面可以极大节省人工编码时间,另外还可以提高软件的可测试性和可维护性。
35.第7步,将应用层、接口层及基础层程序进行集成。由于三层架构程序是分层进行开发的,故需要将三层的程序进行集成。集成的方式通过增量式集成进行。
36.第8步,对集成程序进行集成测试。验证集成的效果如何的有效方法是通过集成测试来实现,通过集成测试可以验证集成测试用例的功能实现情况及性能的优劣。
37.第9步,装机验证。集成程序通过集成测试后还需要最终通过装机验证,装机验证完全是在真实的工况和实物操作的情况下进行验证,可以最终检验整个构建方法的效果。
38.下面结合一个构建挖掘机控制系统的实施例,进一步说明本方法。首先,根据功能需求进行模块化设计和接口定义组成的控制系统整体架构图,如图3所示。
39.图3中将挖掘机控制系统整体架构分为三层架构,分别为应用层、映射层、基础层。应用层的输入接口与映射层的输出接口进行连接,应用层输出接口与映射层的输入接口进行连接,基础软件层的输入接口与映射层的输出接口进行连接,基础软件层的输出接口与映射层的输入接口进行连接。应用层主要是描述增力模块、模式选择模块、发动机启动模块、安全手柄模块等内部有关的逻辑及输入输出。模块间通过定义模块与模块之间的输入输出命名一致实现数据传递。映射层通过标准接口连接应用层和基础层,通过直接赋值操作实现数据交互,起到虚拟数据总线的作用。基础层主要是读取发送数据与映射层进行交互,包括读取数字信号、读取发动机转速、读取模拟量信号、发送发动机can信息,另外基础层还可存储相关处理数据到存储flash里面。
40.下面以发动机启动模块为例进行说明,其他模块类似。
41.具体的,以发动机模块,以及与其对应的基础层和映射层的架构图如图4所示,应用层主要是描述发动机操作有关的逻辑,包括启动发动机逻辑、记录发动机工作时间逻辑、发动机转速控制逻辑、停止发动机逻辑、自动怠速逻辑、限制非授权操作逻辑、发动机启动后保护及发动机启动时保护逻辑。映射层通过标准接口连接应用层和基础层软件组件,实现数据交互,起到虚拟数据总线的作用。基础层主要是读取发送数据与应用层进行交互,包括读取数字信号、读取发动机转速、读取模拟量信号、发送发动机can信息。其实现的发动机控制序列图如图5所示。首先,操作人员将钥匙旋转到启动位置,发动机读取启动发动机信号后启动发动机、启动发动机后发动机发送启动发动机can信息给发动机控制器。然后,启动发动机触发定时器1后就会执行发动机启动时保护即不允许启动时连续启动。启动发动机触发保护定时器2后执行发动机启动后保护即启动后不允许2次启动。其次,发动机控制器读取发动机转速,然后返回发动机转速给启动发动机序列,当转速达到一定转速时,启动发动机计时定时器,从而记录发动机工作时间。
42.其中,发动机启动模块simulink建立的应用层输入输出图如图6所示。此图主要是通过simulink建立发动机启动模块的输入输出及内部逻辑。建立好逻辑后通过代码自动生成,然后将代码导入到codesys平台建立的应用层中如图7所示。图7中箭头所指为发动机启动模块的输入输出,发动机启动模块的3个输入xsafehandlei,xenginestarti,xengineactspei与映射层的runtimeenvironmeng.xsafehandleo, runtimeenvironmeng.xenginestarto,runtimeenvironmeng.xengineactspeo 3个输出通过标准端口连接。
43.发动机启动模块codesys平台映射层输入输出图如图8所示,图8中箭头所指为发动机启动模块映射层输入与基础层端口连接,从图中可知发动机启动模块的映射层输入xenginestarti与基础层的输出basicsoftwarelayer.xenginestarto通过标准端口进行连接。
44.发动机启动模块codesys平台基础层输入输出图如图9所示,图9中箭头所指为发动机启动模块基础层的端口连接,从图中可知发动机启动模块的基础层的输出basicsoftwarelayer.xenginestarto与映射层输入xenginestarti通过标准端口连接。
45.相对于传统的利用主程序/子程序的控制程序构建方法,本发明方法具有如下优点:一是可重用性高,一方面基于模块化的思想将类似的功能放在一个模块内开发,提高了重用性;另外,本发明将不同的功能划分为一个个的模块单独开发,使得功能需求之间耦合性基本为零,也提高了重用性;二是可移植性高,由于采用层次化的思想,开发控制程序重点关注应用层逻辑实现,脱离了对硬件的依赖,开发工程师不用过多关注硬件的使用限制,使得控制程序可以方便的应用于不同的硬件平台,提高控制程序的可移植性。
46.在另一实施例中,一种设备控制系统构建装置,控制系统包括应用层、映射层和基础层,其中所述应用层用于执行针对所述设备的用户控制逻辑,所述基础层用于执行设备控制指令,所述映射层用于将所述应用层基于用户控制逻辑发出的设备控制指令,转发到所述基础层,所述装置包括:应用层构建模块,配置为从预先构建的多个应用控制模块中,选择出若干第一模块,并将所述第一模块加入应用层;基础层确定模块,配置为确定所述若干第一模块对应的基础层;
映射层接口设定模块,配置为设定所述应用层和所述映射层之间的接口,生成所述映射层。
47.在另一实施例中,一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行前述的一种设备控制系统构建方法。
48.在另一实施例中,一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现前述的一种设备控制系统构建方法。
49.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
50.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
51.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
52.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
53.以上已以较佳实施例公布了本发明,然其并非用以限制本发明,凡采取等同替换或等效变换的方案所获得的技术方案,均落在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献