基于Modelica语言的混凝土泵车臂架仿真系统的设计方法
技术领域
本发明涉及一种计算机仿真领域,特别是涉及液压、机械、控制、电子等多领域的混凝土泵车臂架仿真系统的设计方法。
背景技术
在混凝土泵车臂架涉及领域,计算机仿真可以发挥投资少见效快的特点,以较少的投资快速地获得几种不同的设计方案。它的设计往往是非线性的和互相依赖的。这就要求在建模仿真过程中对泵车臂架系统全面考虑,尽可能地建立完整、完善的模型。沈阳大学的张国忠教授在《混凝土泵车臂架布料机构及其运动学仿真方法的研究》一文中介绍了其开发的混凝土泵车总体设计CPCWD软件系统,该系统是基于windows平台,利用visual basic和Microsoft Access 97开发的模块化结构,提供了有限元、稳定性、仿真系统等模块。作者提供了模块化的建模思想,构建了不同模块,可以对泵车臂架进行不同方面的仿真,但是开发这类复杂系统对开发人员要求非常高,开发人员不仅要有扎实的编程能力,还要对物理抽象出来的数学模型设计求解算法,算法对模型仿真效率至关重要。也就不利于用户很好的掌握和使用。
Multi-Domain Simulation- Mechanics and Hydraulics of an Excavator(多筹模拟:挖掘机的机械学和液压学)一文中,提出了基于Modelica/dymola对挖掘机系统进行仿真建模,这个模型包含了厢体三维机构的完整模型,包含运动臂、斗杆、铲斗以及液压模型,Modelica语言很好的解决了多体系统、液压系统的兼容问题,很好的评估了不同液压回路,并且借助于Dymola仿真特性,使用户有可能在几乎真实的情况下观察运动,为构建混凝土泵车臂架系统提供了值得借鉴的地方。然而模型是通过一系列运动方程进行控制,模型搭建过于复杂,不能形象、直观的表示挖掘机系统,对于用户来说很难使用,学习。
由于Modelica语言的在多领域系统建模的优势非常明显,他能很好的融合泵车臂架系统中的液压、机械、控制,同时模块化建模,同时Modelica语言具有强大的数学求解能力,对非线性方程组不需开发人员进行任何变换,大大提高了建模效率。
发明内容
本发明针对上述现有技术中存在的不足,提供一种基于Modelica语言的混凝土泵车臂架仿真系统的设计方法,具有模块化、层次化、规范化和参数化,仿真模型互操作性和重用性强。
为达到上述目的,本发明采用的技术方案如下:
一种基于Modelica语言的混凝土泵车臂架仿真系统的设计方法,首先,对真实混凝土泵车臂架物理系统按照混凝土泵车臂架总体→臂架各功能子系统→臂架部件的顺序拆解为部件模块;其次,按照部件模块库→功能子系统模块库→系统模块库的顺序,使用Modelica语言编制的程序或封装接口,对泵车臂架各部件、各功能子系统、系统进行建模;为了有利于重复使用模型,所述各模块采用参数化建模,构建参数化接口,通过接口之间参数,传递物理、数学方程;为保证模型库内部的兼容,同一模型库采用共用的接口,不同模型库之间通过包含有不同模型库共有接口的元件进行连接;为了以图标方式来替代泵车臂架部件的实际物理模型,以使在操作平台窗口中可以对这些图标进行拖拽、移动、连接、以及参数设置和添加,对所述构建的模型进行封装;最后,通过软件对所构建的模型进行仿真控制,并将仿真结果进行演示。
所述泵车臂架总体按照功能拆解为以下子系统:机械臂架、液压、控制、传感器以及支反力。
所述机械臂架子系统按照结构可拆解为以下部件:转台、首节臂架、中间臂架、末端臂架。
所述液压子系统按照功能可拆解为以下部件:液压泵、马达、换向阀、节流阀、伺服阀。
所述控制子系统按照功能可拆解为以下部件:控制信号元件和逻辑元件。
所述传感器子系统按照功能可拆解为距离传感器和位置传感器。
在所述部件建模中,可利用Modelica语言提供的基本元件库的接口来构建具有相同物理学背景的同一类部件的接口,接口分为输入接口和输出接口,接口保证部件之间的参数传递,前一部件的输出接口和后一部件的输入接口连接;不同类部件之间的传递需具有相同的接口。
所述系统模型根据其折叠方式的不同可构建为R型臂架系统模型和Z型臂架系统模型。
所述仿真控制包括算法设置、控制时间设置、参数设置;所述仿真结果包括3D动画演示和曲线演示。
所述仿真系统可以在MWork或dymola操作平台上使用。
本发明所提供的设计方法,根据真实臂架系统进行系统级拆解,构建一系列物理系统模型,包含臂架系统、液压系统、控制系统、传感器系统等。臂架系统包括了泵车转台系统、首节臂架、中间臂架和末节臂架;液压系统涵盖了工程机械使用的一系列通用液压阀,控制系统设计一套完善的比例微分控制系统,传感器系统包含测量转角、距离等一系列部件。同时该发明可以和Modelica语言提供的多体机械库、旋转机械库以及信号库等无缝连接使用。不仅可以在苏州同元开发软控公司的MWorks平台上使用,还可以在支持Modelica语言规范的瑞典的dymola平台使用,本发明的软件库可以对不同型号泵车臂架系统进行动力学仿真,用户可以通过该仿真系统可以获知臂架举升过程中的运动,振动、冲击、以及液压负载等一系列动态特性,为泵车设计者提供参考数据和技术支持。同时本发明采用开放式建模方式,用户在使用过程中可以根据自身的需求对该软件库进行扩充。
本发明突破以往构建混凝土泵车臂架模型的局限,在以往泵车臂架模型构建上,要么通过面向过程构建泵车臂架系统,模型重用性差,工作量大。要么是模型只涉及单一领域如只含机构,很难正确表达泵车的复杂油路和机构运动相互影响的非线性关系。使得仿真结果偏离实际数据。而依据Modelica语言面向对象以及适合复杂系统多领域建模的特点构建的混凝土泵车臂架模型库,把臂架系统级模型与部件模型,乃至元件级模型集成为一个整体研究,可以对臂架内部更加复杂的过程进行仿真分析。克服上述两个缺点,实现了计算机仿真对设计的数据支持。
附图说明
图1是本发明结构框图;
图2 是本发明系统构建流程图;
图3是本发明部件库的建模流程图;
图4是本发明系统模型库结构框图;
图5是本发明系统的仿真流程图。
具体实施方式
图1是本发明系统结构框图,首先是真实泵车臂架物理系统,在拆解后构建的各部分模型库,主要是机械臂杆、控制、液压、传感器模型库,通过这些模型库搭建的两个系统级模型库,这两个模型库不同之处在于泵车臂架折叠方式的不同,分别是R型折叠方式和Z型折叠方式。R型折叠方式复杂,占用空间小,Z型折叠方式简单,但占用空间大,前者多用于多臂架系统,后者多用臂架较少系统。系统级模型搭建完成后是仿真控制,仿真控制主要是包括算法设置、控制时间设置,参数设置等。最后是仿真结果,仿真结果部分通过3D动画演示以及曲线演示。
在系统拆解过程中可根据泵车的以下臂架的以下特点进行拆解:1)泵车臂架布料杆。通常泵车臂架为三节臂、四节臂、五节臂、六节臂,从第一节臂至末节臂,臂杆的横截面积一次减少,泵车的第一节臂连接可以在水平面内回转的转台,转台最终固定在汽车地盘上,而其他臂架之间的连接如第二节臂架和第三节臂架的连接,通常为增大举升力矩以及利于臂架的折叠,采用四连杆机构与液压缸连接,所以在拆解过程中首先可将泵车臂架拆解为第一节臂与其他节臂。2)液压部分,液压系统提供了泵车臂架运动的动力,在工程机械中液压系统是最重要的一环,液压系统决定着泵车臂架的最大举升高度,混凝土的输送功率等。液压系统中根据实际物理系统进行拆分,分成液压泵、液压马达、液压缸、换向阀、节流阀等一系列有独立功能的元件。3)泵车臂架的控制系统,泵车臂架的控制系统控制泵车臂架的举升高度,举升速度,臂架的收回,液压阀门开启的大小等,所以将其分解为控制信号元件,逻辑元件,控制信号元件主要是提供泵车开启、关闭、阀口开启大小等的原始信号,逻辑元件作用是将这些信号进行数学处理,如将开启、关闭这类脉冲信号处理为斜坡信号,这样可以减少系统的冲击,同时泵车臂架控制系统存在着一套基本的控制原理比例微分控制原理(PD控制),通过上述逻辑元件和信号元件共同实现。4)传感器部分,臂架举升位置通过预先给定目标位置,目标位置实现是通过传感器部分提供数据测量,并将这些输出反馈给控制系统,修正位置,使之准确达到预定位置,同时传感器提供臂杆举升时相对转角的测量,将测量数据反馈到PD控制系统之后,便可以保证臂架之间转角按照给定目标转角或目标转角速度运动。将这些模块按一定的规则,组织成具有相对独立性的部件模型库,并通过模型简化构造模型库。
图2是本发明系统构建流程图。首先,依照模块化建模的原理及对象的实际物理过程,依据上述的系统级需求→子系统级需求→部件级需求的顺序,对泵车臂架系统进行模块化分解,分解成由部件组合的系统;根据子系统或部件的典型特征和相应的物理定律,建立数学模型,使用Modelica语言,在已有的模块基础上继承或者编制新的程序或封装接口;有了部件模块,按照部件模块库→子系统模块库→系统模块库的顺序,组建完整的模块库;有了模块库,就可以利用部件模块组合成所需要研究的对象——泵车臂架模型。模块库中的模块可以根据需要进行定制,而且在通常情况下只需要了解模块的接口就可以使用模块,不需要了解模块的实现。接下来就是要利用已有的模块,组建整个对象的模型,进行仿真计算。根据所需要研究的泵车类型的不同,如三节臂,四节臂,五节臂,不同的折叠方式等。用户或者可以直接使用已有的模块模型,或者在继承原有模型的基础上进一步扩展。然后在这些模块组合的基础上,建立泵车臂架的完整模型,并设定模型中各个部件的参数和参数的初始值,这样最终就获得了一个根据用户需要建立的新的泵车臂架完整仿真模型。
系统建模,是通过使用部件中相应的“虚”模型(即部件图标)代替在泵车臂架部件模型架构中建立的泵车臂架部件的实际模型;通过平台的图形化界面功能:窗口管理,拖放、移动“虚”模型图标,接口连接以及添加参数、方程组等构建。
图3是本发明部件库的建模流程图,对拆解后的模块首先是进行数学建模,然后数学模型进行面向对象的程序化建模,在建模过程中可以充分利用Modelica语言提供的基本元件库,如基本元件库的接口等,在建模过程中采用参数化建模,参数化建模的优点就是直观、明了,重用性强,对构建好的模型进行检查,检查主要分为功能性检查和语法性检查,功能性检查检查模型能否达到设计要求,语法性检查,主要是检查模型能否运行,功能性错误要回到最初的数学建模上,语法性错误主要出现在编程上。最终模型运行成功后,则可以对模型进行封装。
在部件建模中首先构建同一类元件的接口,所谓同一类元件,也就是上述进行系统拆解中将机械、液压、控制等可归为一类,类的最明显的特点就是有相同的物理学背景,接口分为输入接口和输出接口,接口保证了元件之间的参数传递,前一元件的输出接口和后一元件的输入接口连接。不同类型的元件之间的传递要保证其有相同的接口,如液压马达可以和旋转元件相连,主要是他们都有共同的旋转副接口。同一部件的物理模型通过其输入接口、输出接口之间的方程组来描述。在构建部件时还采用了参数化建模,有利于模型的重复使用。对构建好的部件进行封装,用户只需要修改其参数,便可适用不同的模型系统。
图4是本发明系统模型库的结构框图,按照上述的分解方法,把泵车臂架系统按功能拆解为机械、液压、控制、电子等部分,并根据逆向的建模方法构以及对拆解部分进行了合理的简化,构造了泵车臂架系统下的机械臂架、液压系统、控制系统、传感器系统以及支反力系统模型库,机械臂架系统下按照结构的不同分成了转台、首节臂架、中间臂架和末端臂架等部件;液压系统涵盖了液压泵、马达、换向阀、节流阀和伺服阀等液压元件;控制系统包含了大量控制信号,以及逻辑元件。最终通过这些系统构建了整个泵车臂架系统模型,泵车臂架系统模型可以对泵车的展开收回液压冲击等进行动力学仿真。
图5所示是本模型库在MWorks或者dymola上的仿真流程图,用户在构建泵车臂架模型库的时候,第一步是通过拖拽模型库的机械、液压、控制等元部件搭建真实的物理系统。第二步是用户对搭建好的模型进行模型检查,模型检查主要包括两部分,一是用户对搭建模型的自我检查,主要检查模型搭建是否符合物理规律,比如液压缸的两个接口之间的距离最初一定要能满足臂架两个接口的距离,最大行程要能满足泵车臂架举升需要,如果达不到,自然在仿真过程本模型是失败的,还有臂架之间的干涉等。二是操作应用平台的语法、逻辑检查,MWorks和dymola都有这种功能,检查模块之间是否兼容,语法是否正确,能否符合逻辑,当出现第二种情况也就是软件检查出错误的时候,计算是无法进行下去的,而在用户检查出现错误的情况,模型有可能语法并不错误,只是功能达不到要求,因此为了保证仿真结果的正确,两种检查必须都进行。第三步是模型编译和仿真,模型的编译和仿真之前要求用户对模块的每一个参数进行设定,由于本发明采用模块化、参数化建模,参数对模型仿真结果影响显而易见,用户在进行仿真时候一定要保证参数符合物理情况,同时参数化保证了模块的重用性强的特点,用户在搭建好一类臂架模型之后,如五节臂泵车 ,可以将其保存,然后只要修改其中参数就可以对不同信号的五节臂进行动力学仿真,如修改P可以改变结构参数,修改X0可以改变系统的初始仿真参数,修改t0、t1可以改变系统仿真的初始时间和终止时间。第四步是查看sim文件,进行仿真后,软件系统输出sim文件。第六步是查看输出结果,输出结果主要有曲线结果演示,和3D动画演示,本发明提供的3D动画可演示泵车臂架的回转,举升以及臂架折叠回收等,3D动画可以表现出泵车臂架举升过程中的几乎所有的动态特性,而曲线结果可以提供液压冲击力曲线,臂架受力曲线、泵车举升角等结果,可以满足设计者的几乎所有设计要求参数。
本发明还改变了目前真中只重视具体模型编程实现,而对具体仿真对象模型整体结构和框架设计的忽略;集成了多学科,多层次仿真模型,能够从不同角度和细节上对复杂的泵车的部件相互作用和相互影响以及整体性能进行研究,从而减少循环设计和试验次数,对系统和部件结构改进等提供支持。
泵车臂架是泵车设计中最关键的部分,泵车设计过程中必须考虑以下几个方向,泵车液压缸能否提供足够的动力来保证臂架举升到指定位置,同时又能使每个液压缸尽可能的小。液压油路的泄漏对泵车臂架有着怎样的影响,会不会产生液压油的泄漏使得臂架失稳的情况。泵车臂架之间的连杆机构会不会产生干涉,影响臂架的展开和收回。泵车的液压冲击对臂架产生的剧烈振动以及整个泵车的共振。本发明可以对上述的一切情况进行仿真和分析,用户或者设计者可以通过仿真结果直观明了的查看一些重要设计参数,对泵车设计具有重要的实际指导意义。本发明适用性强,适用于不同公司生产的不同型号泵车臂架系统使用。