CN101533262A - 一种基于服务的机械与控制系统联合仿真实现的方法 - Google Patents
一种基于服务的机械与控制系统联合仿真实现的方法 Download PDFInfo
- Publication number
- CN101533262A CN101533262A CN200910082809A CN200910082809A CN101533262A CN 101533262 A CN101533262 A CN 101533262A CN 200910082809 A CN200910082809 A CN 200910082809A CN 200910082809 A CN200910082809 A CN 200910082809A CN 101533262 A CN101533262 A CN 101533262A
- Authority
- CN
- China
- Prior art keywords
- adams
- matlab
- simulation
- web service
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明一种基于服务的机械与控制系统联合仿真实现的方法,该方法有三大步骤:步骤一:编写ADAMS通用接口模块并封装为Web服务;步骤二:编写MATLAB通用接口模块并进行Web服务封装;步骤三:注册并发布Web服务,实现广域网的应用程序联合调用。本发明是包括一种基于服务的应用程序封装,借助ADAMS用户子程序和MATLAB引擎技术,实现了在面向服务的体系结构(SOA)下ADAMS与MATLAB之间的松散耦合、位置和传输协议透明,从而满足复杂产品多领域分布式协同仿真的优化需求。它解决了目前ADAMS机械系统与MATLAB控制系统分布式协同仿真中二者的集成与模块复用性问题,支持ADAMS与MATLAB的Web服务封装,支持广域网环境下多领域分布式协同仿真,协同仿真系统构造简洁,扩展性强,具有广阔地应用前景。
Description
(一)技术领域
本发明涉及一种基于服务的机械与控制系统联合仿真实现的方法,即一种基于服务的ADAMS与MATLAB的联合仿真实现的方法,属于计算机分布式仿真技术领域。
(二)背景技术
随着计算机软硬件技术以及仿真自身技术的发展,人们开发了大量成熟的商用仿真软件如ADAMS(Automatic Dynamic Analysis of Mechanical Systems机械多体动力学仿真软件)和MathWork公司的MATLAB/Simulink,有力的推动了仿真技术在复杂产品设计中的应用。为了将仿真全面应用于复杂产品设计,我们需要在设计过程中全面考虑产品行为要求,充分利用仿真建模、控制及校验工具,使机械、控制、电子等多个不同领域的仿真工具协同运行,对完整系统模型进行并行分析,尽可能获取产品优化设计。
面向复杂产品设计的分布式协同仿真,是位于不同地方的设计人员为某仿真任务相互协同建模仿真,它有“分布性”和“协同性”两个主要特征。分布性主要体现在设计人员地理位置的分布性,而协同性则主要体现在不同设计人员为一个总的建模仿真任务而协同工作。当利用不同学科领域商用仿真软件如ADAMS与MATLAB,采用基于接口的方法完成多领域建模后,可以实现协同仿真运行。但目前,通常只能提供集中式的协同仿真运行功能:所有模型和相应的仿真软件都必须位于单台计算机上。很显然,这种协同仿真运行的方法必然具有基于接口的多领域建模方法的诸多缺点,它不具标准性、开放性,且扩充困难。
解决这个问题的方法主要有:高层体系结构HLA。它是一种先进的仿真体系结构,具有标准性、开放性、可扩充性和支持分布式仿真等诸多优点,使各领域仿真应用软件只需开发同HLA的接口,即可较好的实现多领域建模。然而,HLA也只支持局域网内对仿真软件各联邦成员的管理协同调用,随着仿真技术的进一步发展和复杂产品设计的需要,基于广域网的分布式协同仿真,仍是一个亟待解决的问题。
(三)发明内容
(1)目的:本发明的目的在于提供一种基于服务的机械与控制系统联合仿真实现的方法,即ADAMS与MATLAB的联合仿真实现的方法,它克服了现有技术的不足,在广域网中构建ADAMS与MATLAB仿真应用程序服务平台,使二者以松耦合的方式集成,实现在广域网下的多领域分布式协同并行仿真。
(2)技术方案:一种基于服务的机械与控制系统联合仿真实现的方法,即ADAMS与MATLAB的联合仿真实现的方法,该方法具体步骤如下:
步骤一:编写ADAMS通用接口模块并封装为Web服务的步骤,即:首先确定ADAMS与MATLAB联合仿真输入输出调用关系,改变单结点下ADAMS与MATLAB联合仿真方式,根据ADAMS软件自带的FORTRAN语言编写的用户子程序模版,创建能够自动读入输入文档值,启动ADAMS/Solver对模型进行仿真运算,并能自动将输出值写入输出文档的ADAMS通用接口模块,然后根据Web服务的创建方法,在NET或者J2EE环境下用C#或JAVA编写能够调用可执行程序文件的Web服务,生成相应的WSDL接口描述文档;
步骤二:编写MATLAB通用接口模块并进行Web服务封装的步骤,即:首先,将ADAMS输出文档作为MATLAB的模型输入,将ADAMS输入文档作为MATLAB的模型输出。编写相应m文件模块,读入ADAMS的输出,启动Simulink控制仿真模块,并将结果输入ADAMS的输入文档,然后利用MATLAB引擎技术调用此m文件,在VC环境下生成能够启动Simulink控制仿真模块的可执行文件,建立MATLAB接口调用模块,并创建可调用MATLAB控制仿真的Web服务,生成WSDL服务描述文档。在此基础上手动修改、扩充ADAMS与MATLAB接口的描述文档,以形成完备通用的Web服务访问接口描述;
步骤三:注册并发布Web服务,实现广域网的应用程序联合调用的步骤,即:在现有的Web服务平台下,以UDDI标准规范将ADAMS与MATLAB的Web服务描述文档注册到服务器平台,发布共享接口服务信息,提供Web服务的查询及调用。然后在Web页面添加Web服务引用,编写ADAMS与MATLAB的Web服务循环调用模块,使用户能在广域网中搜索查询到该Web服务,并经选择在Web页面远程自动化循环调用ADAMS与MATLAB联合仿真,对模型进行并行分析;
(3)优点及功效:
1、面向服务的设计方法。服务具有开放性、自治性、自描述性和实现无关性,Web服务的引用解决了ADAMS与MATLAB分布式协同仿真的两大难题:一个是平台之间的互操作问题;另一个是客户端与服务器端的表示层与应用逻辑层的紧耦合问题;
2、广域网中分布式协同仿真。扩展了多领域的协同仿真,有效保护了软件企业知识产权,促进遗留系统的复用,支持随需应变的敏捷性和先进的分布式仿真建模,使复杂产品设计在更广阔的领域以高效、便捷的方式开展。
(四)附图说明
图1是本发明总体设计方法步骤示意图;
图2是ADAMS与MATLAB联合仿真输入输出关系示意图;
图3是本发明ADAMS用户子程序设计流程示意图;
图4是ADAMS与MATLAB单结点下的联合仿真的流程示意图;
图5是Web服务中WSDL、SOAP与UDDI关系示意图;
图6是本发明服务调用关系示意图。
(五)具体实施方式
本发明一种基于服务的机械与控制系统联合仿真实现的方法,下面结合附图和实施例对本发明作进一步详细的描述。
本发明的实施例是ADAMS与MATLAB联合仿真的服务封装与发布的方法。
第一步,编写ADAMS与MATLAB的接口模块函数并封装。
首先,确定ADAMS与MATLAB联合仿真的输入输出关系,参见图2。
根据ADAMS/Solver(求解器)的调用特点,在ADAMS软件自带的FORTRAN语言编写的用户子程序模版框架下编写能够调用ADAMS/Solver进行仿真运算的模块。用户子程序具有通用性,可以利用编程语言来定义模型元素或者特定的输出。用户可以将函数表达式写成子程序的形式并将其与ADAMS/View连接,它具有函数表达式所没有的通用性和灵活性。子程序利用通用程序设计语言(FORTRAN或C)的功能来定义ADAMS/View不能提供的函数,并使之按照需要而量身设计。通过连接用户子程序,不会失去ADAMS/View的任何功效,也不会降低仿真速度。
如图3所示,本例编写的用户子程序模块定义了一个输入文档并自动生成一个输出文档,在读取输入文档中输入值后自动调用ADAMS/Solver对模型进行分析求解,并将结果写入输出文档,支持ADAMS仿真模型的多输入多输出。
由于进行的是单步仿真,需要有控制仿真的文件来支持仿真过程,因此需要编写控制仿真文件以支持仿真过程,即编写ADAMS/acf文件执行ADAMS初始化及后续仿真命令。最后,通过编写批处理文件将初始化及后续仿真的控制仿真语句和acf文件封装,实现ADAMS独立于模型的应用程序接口模块的创建。
然后,将上述接口函数模块进行Web服务封装,也即是将所编写的通用接口模块在WSDL标准及规范下将其功能等信息向用户描述,方便调用。首先是创建一个Web服务,在现有平台的Web服务框架下用C#编写调用ADAMS接口模块的Webmethod。Web方法编辑生成之后,随之生成一个与该调用模块相对应的默认WSDL文档。该文档定义了接口Web服务的类型描述、消息描述、操作描述、端口描述及其绑定协议等方面的内容。在默认WSDL的描述框架下,可以通过手动修改完善此接口描述。WSDL定义存储了有别于接口设计的实现信息,从而使接口定义的存在独立于传输协议,直到它被最终绑定。
第二步,编写MATLAB通用接口模块并进行Web服务封装。
首先是使用MATLAB引擎技术对MATLAB进行接口的二次开发。MATLAB引擎功能,可实现VC与MATLAB的m文件的相互调用,它是一个后台工作过程,与当前运行的所有交互式MATLAB过程相互独立,也不会干扰任何用户运行的MATLAB过程。在Windows操作系统中,MATLAB引擎使用组件对象模型(COM)与C或FORTRAN程序交互。首先通过编写m文件读取ADAMS的模型输出文档,运行在MATLAB/Simulink中建立的控制模型,并将结果自动送入ADAMS模型输入文档。然后利用MATLAB引擎技术在VC中编写程序调用该m文件的函数,生成该控制模型的初始化及后续仿真执行模块。
参阅图4,图4为ADAMS与MATLAB通过通用接口模块进行单结点下的联合仿真的流程图。
在编写MATLAB初始化及后续仿真接口模块之后,就利用C#语言创建Web方法调用MATLAB接口模块,将MATLAB初始化与后续仿真模块分别封装为服务,生成服务的接口描述文档,同ADAMS模块的服务封装方法一样。
图5具体说明了WSDL文档在Web服务中所处位置:服务提供者在服务注册中注册所提供的服务,WSDL文件所包含的信息部分被映射到服务注册中以便服务请求者查询;服务使用者通过服务注册来查找和发现自己所需要的服务,从中可以得到所需服务的WSDL访问地址;服务使用者得到WSDL文件后通过WSDL文件所描述的接口规约、消息格式规约、通信协议规约以及访问地址来完成对服务的调用。
第三步,注册并发布应用程序接口的Web服务,实现广域网的应用程序联合调用。UDDI规范定义了一个通用服务信息注册中心软件,该注册中心软件以XML格式存储和管理各类服务元信息,并以Web服务的方式提供基于元信息的服务发布和发现。首先,在生成相应的接口Web服务描述文档的基础上,将WSDL描述文档注册到UDDI中去,此时,用户即可通过SOAP消息协议对相应的应用程序进行远程调用。然后,在Web页面可查找并发现Web服务,通过添加Web服务引用的方法,在Web页面中编写对ADAMS与MATLAB接口服务循环调用的执行程序,即可形成ADAMS、MATLAB及其二者联合仿真的三个服务,参见图6,实现广域网中对ADAMS与MATLAB联合对模型进行过程控制仿真的方法。
Claims (1)
1、一种基于服务的机械与控制系统联合仿真实现的方法,其特征在于:该方法具体步骤如下:
步骤一:编写ADAMS通用接口模块并封装为Web服务的步骤,即:首先确定ADAMS与MATLAB联合仿真输入输出调用关系,改变单结点下ADAMS与MATLAB联合仿真方式,根据ADAMS软件自带的FORTRAN语言编写的用户子程序模版,创建能够自动读入输入文档值,启动ADAMS/Solver对模型进行仿真运算,并能自动将输出值写入输出文档的ADAMS通用接口模块,然后根据Web服务的创建方法,在.NET或者J2EE环境下用C#或JAVA编写能够调用可执行程序文件的Web服务,生成相应的WSDL接口描述文档;
步骤二:编写MATLAB通用接口模块并进行Web服务封装的步骤,即:首先,将ADAMS输出文档作为MATLAB的模型输入,将ADAMS输入文档作为MATLAB的模型输出,编写相应m文件模块,读入ADAMS的输出,启动Simulink控制仿真模块,并将结果输入ADAMS的输入文档,然后利用MATLAB引擎技术调用此m文件,在VC环境下生成能够启动Simulink控制仿真模块的可执行文件,建立MATLAB接口调用模块,并创建可调用MATLAB控制仿真的Web服务,生成WSDL服务描述文档;在此基础上手动修改、扩充ADAMS与MATLAB接口的描述文档,以形成完备通用的Web服务访问接口描述;
步骤三:注册并发布Web服务,实现广域网的应用程序联合调用的步骤,即:在现有的Web服务平台下,以UDDI标准规范将ADAMS与MATLAB的Web服务描述文档注册到服务器平台,发布共享接口服务信息,提供Web服务的查询及调用;然后在Web页面添加Web服务引用,编写ADAMS与MATLAB的Web服务循环调用模块,使用户能在广域网中搜索查询到该Web服务,并经选择在Web页面远程自动化循环调用ADAMS与MATLAB联合仿真,对模型进行并行分析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910082809A CN101533262A (zh) | 2009-04-22 | 2009-04-22 | 一种基于服务的机械与控制系统联合仿真实现的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910082809A CN101533262A (zh) | 2009-04-22 | 2009-04-22 | 一种基于服务的机械与控制系统联合仿真实现的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101533262A true CN101533262A (zh) | 2009-09-16 |
Family
ID=41103904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910082809A Pending CN101533262A (zh) | 2009-04-22 | 2009-04-22 | 一种基于服务的机械与控制系统联合仿真实现的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101533262A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866378A (zh) * | 2010-04-28 | 2010-10-20 | 淮阴工学院 | 一种用机械仿真分析软件adams求解板簧刚度的方法 |
CN102004635A (zh) * | 2010-08-19 | 2011-04-06 | 中国船舶重工集团公司第七○九研究所 | 一种支持重用的仿真模型系统及其开发方法 |
CN102982197A (zh) * | 2012-10-30 | 2013-03-20 | 北京华力创通科技股份有限公司 | 一种多领域协同分布式仿真系统 |
CN103048929A (zh) * | 2012-12-25 | 2013-04-17 | 中南大学 | 基于matlab引擎的可视化过程控制实时仿真方法 |
CN103955621A (zh) * | 2014-05-15 | 2014-07-30 | 北京理工大学 | 一种蛇形机器人仿真试验的联合控制平台 |
CN104915242A (zh) * | 2015-06-11 | 2015-09-16 | 北京航天发射技术研究所 | 多学科协同仿真架构方法 |
CN105247422A (zh) * | 2013-04-15 | 2016-01-13 | 卓越中心-虚拟车辆研究有限公司 | 用于对两个子系统进行协同仿真的方法和装置 |
CN106777485A (zh) * | 2016-11-14 | 2017-05-31 | 北京顺恒达汽车电子股份有限公司 | 一种快速分析汽车电动尾门撑杆系统的方法 |
CN107991905A (zh) * | 2017-12-25 | 2018-05-04 | 南京邮电大学 | 一种基于Web的多无人机任务规划的仿真系统 |
CN108376206A (zh) * | 2018-02-09 | 2018-08-07 | 大连理工大学 | 一种通过运用运动学联合仿真平台对机械设备进行在线实时监测的方法 |
CN111752692A (zh) * | 2020-06-23 | 2020-10-09 | 北京经纬恒润科技有限公司 | 仿真环境下的多核任务处理方法及装置 |
CN113312793A (zh) * | 2021-04-27 | 2021-08-27 | 中国电子科技集团公司第十四研究所 | 一种基于雷达信息处理的分布式仿真验证系统 |
-
2009
- 2009-04-22 CN CN200910082809A patent/CN101533262A/zh active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866378B (zh) * | 2010-04-28 | 2011-11-16 | 淮阴工学院 | 一种用机械仿真分析软件adams求解板簧刚度的方法 |
CN101866378A (zh) * | 2010-04-28 | 2010-10-20 | 淮阴工学院 | 一种用机械仿真分析软件adams求解板簧刚度的方法 |
CN102004635B (zh) * | 2010-08-19 | 2014-10-01 | 中国船舶重工集团公司第七0九研究所 | 一种支持重用的仿真模型系统及其开发方法 |
CN102004635A (zh) * | 2010-08-19 | 2011-04-06 | 中国船舶重工集团公司第七○九研究所 | 一种支持重用的仿真模型系统及其开发方法 |
CN102982197A (zh) * | 2012-10-30 | 2013-03-20 | 北京华力创通科技股份有限公司 | 一种多领域协同分布式仿真系统 |
CN103048929A (zh) * | 2012-12-25 | 2013-04-17 | 中南大学 | 基于matlab引擎的可视化过程控制实时仿真方法 |
CN105247422A (zh) * | 2013-04-15 | 2016-01-13 | 卓越中心-虚拟车辆研究有限公司 | 用于对两个子系统进行协同仿真的方法和装置 |
CN105247422B (zh) * | 2013-04-15 | 2019-03-01 | 卓越中心-虚拟车辆研究有限公司 | 用于对两个子系统进行协同仿真的方法和装置 |
CN103955621A (zh) * | 2014-05-15 | 2014-07-30 | 北京理工大学 | 一种蛇形机器人仿真试验的联合控制平台 |
CN104915242A (zh) * | 2015-06-11 | 2015-09-16 | 北京航天发射技术研究所 | 多学科协同仿真架构方法 |
CN104915242B (zh) * | 2015-06-11 | 2018-07-24 | 北京航天发射技术研究所 | 多学科协同仿真架构方法 |
CN106777485A (zh) * | 2016-11-14 | 2017-05-31 | 北京顺恒达汽车电子股份有限公司 | 一种快速分析汽车电动尾门撑杆系统的方法 |
CN107991905A (zh) * | 2017-12-25 | 2018-05-04 | 南京邮电大学 | 一种基于Web的多无人机任务规划的仿真系统 |
CN108376206A (zh) * | 2018-02-09 | 2018-08-07 | 大连理工大学 | 一种通过运用运动学联合仿真平台对机械设备进行在线实时监测的方法 |
CN108376206B (zh) * | 2018-02-09 | 2021-09-24 | 大连理工大学 | 一种通过运用运动学联合仿真平台对机械设备进行在线实时监测的方法 |
CN111752692A (zh) * | 2020-06-23 | 2020-10-09 | 北京经纬恒润科技有限公司 | 仿真环境下的多核任务处理方法及装置 |
CN111752692B (zh) * | 2020-06-23 | 2024-04-12 | 北京经纬恒润科技股份有限公司 | 仿真环境下的多核任务处理方法及装置 |
CN113312793A (zh) * | 2021-04-27 | 2021-08-27 | 中国电子科技集团公司第十四研究所 | 一种基于雷达信息处理的分布式仿真验证系统 |
CN113312793B (zh) * | 2021-04-27 | 2024-03-22 | 中国电子科技集团公司第十四研究所 | 一种基于雷达信息处理的分布式仿真验证系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101533262A (zh) | 一种基于服务的机械与控制系统联合仿真实现的方法 | |
Iarovyi et al. | Cyber–physical systems for open-knowledge-driven manufacturing execution systems | |
Jiang et al. | A service-oriented architecture for coupling web service models using the Basic Model Interface (BMI) | |
CN107291523B (zh) | 一种Web前端消息总线系统 | |
CN103218225B (zh) | 一种统一测发控软件开发系统 | |
Mittal et al. | DEVSML: automating DEVS execution over SOA towards transparent simulators | |
CN101216846A (zh) | 一种仿真数据的可视化与协同共享方法 | |
CN101398860B (zh) | 基于PDM/Matlab的飞行器控制系统异地协同设计方法 | |
CN103440376A (zh) | 基于组件的分布集中一体化仿真系统运行支撑平台 | |
CN106648658B (zh) | 面向实况/虚拟/构造混合系统的仿真方法 | |
CN102158516B (zh) | 服务组合编译方法及编译器 | |
CN106897107B (zh) | 一种web远程数据计算与仿真的实现系统和方法 | |
CN101504688A (zh) | 一种基于hla的仿真软件交互方法 | |
CN103390018B (zh) | 一种基于SDD的Web服务数据建模与搜索方法 | |
Pereira et al. | BigActors: a model for structure-aware computation | |
Neema et al. | Simulation integration platforms for cyber-physical systems | |
CN103399735A (zh) | 远程函数调用接口中间层开发方法 | |
CN102253974B (zh) | 一种地理模型网络服务的动态组合方法 | |
CN104063231B (zh) | 一种基于hit‑tena的试验资源快速接入方法 | |
Tang et al. | A collaborative platform for complex product design with an extended HLA integration architecture | |
CN102663203B (zh) | 基于HLA的Fortran仿真模型系统 | |
Uygun et al. | Scenario based distributed manufacturing simulation using HLA technologies | |
CN112363856A (zh) | 一种基于dds实现深度学习框架与应用程序互操作的方法 | |
CN113919030A (zh) | 一种基于BIM和Web3D的变电站三维模型设计交底的方法 | |
Zhang et al. | Integrating web services technology to HLA-based multidisciplinary collaborative simulation system for complex product development |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090916 |