第9章ADAMS用户子程序 本章对 ADAMS 用户子程序做了简要介绍,着重介绍了 CONSUB、GFOSUB 和 REQSUB 的使用方法,以及在用户子程序中两个最常用的功能子程序 SYSARY 和 SYSFNC 的使用情况。通过本章的学习,读者将具备基本的开发用户子程序的能力。 9.1 ADAMS用户子程序简介 一般情况下,ADAMS 的大部分功能可以通过函数表达式完成,函数表达式很容易操作,因为不必编译或连接程序,而且 ADAMS/Solver 还会实时地提供函数表达式。但函数表达式提供的只是有限的编程结构,因此有些复杂的情况,特别是涉及到一些逻辑表达,用函数表达式则很难表达出来。因此在需要采用一些 ADAMS 没有提供的特殊函数时,可以采用用户子程序。 用户子程序更具有通用性,可以利用编程语言来定义模型元素或者特定 的 输 出 。 用 户 可 以 将 函 数 表 达 式 写 成 子 程 序 的 形 式 并 将 其 与ADAMS/View 连接,它具有函数表达式所没有的通用性和灵活性。子程序利用通用程序设计语言(FORTRAN 或 C)的功能来定义 ADAMS/View 不能提供的函数,并使之按照需要而量身设计。通过连接用户子程序,不会失去ADAMS/View 的任何功效,也不会降低仿真速度。 当出现下列情况时,通常会使用到用户子程序: (1)数学函数很难表达。 (2)需要定义多用户使用的函数。 (3)GSE 和 UCON 声明时,需要用户子程序。 (4)需要控制复杂仿真运行时,以及需要作决策逻辑时。 使用用户子程序时要小心,因为不正确的用户子程序会很难调试。 9.1.1用户子程序的种类 根据用户子程序的功能,可以将它们分为三类: (1)Driver Subroutine——驱动子程序 (2)Evaluation Subroutines——计算子程序 (3)Restart subroutines——重启子程序 1.驱动子程序(Driver Subroutine) 驱 动 子 程 序 (Driver Subroutine )- - CONSUB - - 用 来 驱 动机械系统动力学分析及ADAMS 应用 ADAMS/Solv er。这样 ADAMS/Solv er 在仿真时可更进一步地完成对模型的分析和修改的自动化工作。 CONSUB 发出 requ est(请求),regu late(调整),和 v ary simu lations(改变仿真)的命令,并通过作出的交互式命令来修改数据,或者进行不同的分析。大多数运行 ADAMS/Solv er 的情况都是交互式,或者是以批处理的形式,一次只涉及到单个的分析。使用CONSUB,可以完成对数据的动态分析,改变前提条件,并重复动态分...