ADAMS二次开发基础研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ADAMS二次开发基础研究 摘要:本文对ADAMS二次开发中的用户子程序与用户界面定制进行了简单探讨。 关键词:ADAMS,二次开发,Subroutine,用户界面定制 1概述 ADAMS具有很强的二次开发功能,包括ADAMS/View界面的用户化设计,利用cmd语言实现自动建模和仿真控制,通过编制用户子程序满足用户的某些特定需求,甚至可以拓展ADAMS的功能,还有就是使用ADAMS/SDK来把运动仿真功能完全集成到自己的软件包中,脱离ADAMS软件环境来进行自己的运动仿真。 由于ADAMS/SDK能在脱离ADAMS其它前处理环境使用,因此使用它的都是一些脱离ADAMS环境自己开发运动仿真工具的高级用户使用,普通用户在不脱离ADAMS环境的条件下,使用Subroutines、自定义用户界面等二次开发功能就能满足用户所需的需求。因此本文只对不脱离ADAMS环境的二次开发技术做一定的探讨,对ADAMS/SDK只作简单的介绍。 2 ADAMS/SDK介绍 ADAMS/SDK是ADAMS软件开发工具包。利用ADAMS/SDK,用户可以把运动仿真功能完全集成到自己的软件包中,也可以为已有的产品增加更强的运动仿真能力。集成后的工具包与ADAMS具有同样的仿真分析功能。 ADAMS/SDK使用流行的C或C++语言作为编程接口环境。可以快速、简单、有效地在用户的软件包中增加运动仿真功能。用户通过集成ADAMS在各行业中已验证的经验,可以大大地节省在运动仿真开发方面的投资。 ADAMS/SDK可以广泛地应用于CAD软件中的运动学和动力学工具,CAD软件中装配位置的确定,制造业中的动态仿真,数字化装配运动回放及工业特殊用途的运动仿真。 3 ADAMS用户子程序 3.1用户子程序简介 一般情况下,ADAMS的大部分功能可以通过函数表达式完成,函数表达式很容易操作,因为不必编译或连接程序,而且ADAMS/Solver还会实时地提供函数表达式。但函数表达式提供的只是有限的编程结构,因此有些复杂的情况,特别是涉及到一些逻辑表达,用函数表达式则很难表达出来。因此在需要采用一些ADAMS没有提供的特殊函数时,可以采用用户子程序。 用户子程序更具有通用性,可以利用编程语言来定义模型元素或者特定的输出。用户可以将函数表达式写成子程序的形式并将其与ADAMS/View连接,它具有函数表达式所没有的通用性和灵活性。子程序利用通用程序设计语言(FORTRAN或C)的功能来定义ADAMS/View不能提供的函数,并使之按照需要而量身设计。通过连接用户子程序,不会失去ADAMS/View的任何功效,也不会降低仿真速度。 当出现下列情况时,通常会使用到用户子程序: (1)数学函数很难表达。 (2)需要定义多用户使用的函数。 (3)GSE和UCON声明时,需要用户子程序。 (4)需要控制复杂仿真运行时,以及需要作决策逻辑时。 使用用户子程序时要小心,因为不正确的用户子程序会很难调试。 3.2用户子程序的种类 根据用户子程序的功能,可以将它们分为三类: (1)Driver Subroutine——驱动子程序 (2)Evaluation Subroutines——计算子程序 (3)Restart subroutines——重启子程序 1. 驱动子程序(Driver Subroutine) 驱动子程序(Driver Subroutine)--CONSUB--用来驱动ADAMS/Solver。这样ADAMS/Solver在仿真时可更进一步地完成对模型的分析和修改的自动化工作。 CONSUB发出request(请求),regulate(调整),和vary simulations(改变仿真)的命令,并通过作出的交互式命令来修改数据,或者进行不同的分析。大多数运行ADAMS/Solver的情况都是交互式,或者是以批处理的形式,一次只涉及到单个的分析。使用CONSUB,可以完成对数据的动态分析,改变前提条件,并重复动态分析。 2. 计算子程序(Evaluation Subroutines) 计算子程序(Evaluation Subroutines)为用户自定义。ADAMS/Solver可写子程序来对某些非标准的或复杂的计算式计算其数值。 3. 重启子程序(Restart Subroutines) 重启子程序(Restart subroutines)由一对子程序组成,SAVESUB和RELSUB。它们可以保存和重新加载子程序运行过程中的某些状态变量,这些状态变量是那些相关的用户子程序在重新启动或进行某些变量初始化时所必须的数据。如果在用户子程序之间相互调用时,需要使用它们在子程序内部保存数据。如果没有使用RELSUB和SAVSUB,在保存仿真文件时,内部数据就会丢失。 虽然SAVE命令可将模

文档评论(0)

文档分享 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档