如何在ADAMS中调试命令程序 (转)

96
玩转岛国
2017.01.04 20:10* 字数 1237

当我们使用ADAMS/VIEW命令语言编制好了程序以后,该如何进行程序的调试呢?

凡是熟悉VISUAL C++的用户都知道,在VISUAL C++中,系统提供了丰富多彩的调试功能,可以对程序逐句调试,也可以深入到函数内部,可以查看所有变量的值,甚至可以查看寄存器的值的变化。那么在ADAMS中,又提供了哪些手段进行程序的调试呢?

基于笔者多年的实践,总结它有如下几种调试方法。

(1)基于文件的调试。

(2)基于命令窗口的调试。

(3)基于宏命令窗口的调试。

(4)基于分析设置的调试。

下面用一个简单的例子来说明这四种调试方法。

首先打开ADAMS,创建一个曲柄摇杆机构如下。

然后把模型库的内容导出

这样得到一个该四杆机构的命令流文件。读者可以打开该文件瞧瞧其内容。

就本程序而言,因其十分简单,没有什么好调试的。但是我们仍然用它来做调试,目的只是说明调试的方法。

下面开始调试该程序。

(1)基于文件的调试。

要使用这种方法,很容易。只需要按下F2,即可打开下面的窗口

然后选择该程序打开,即可运行该程序。

当然,这样并没有达到逐段调试的目的。我们可以另外创建一个空的cmd文件,例如命名为test.cmd,然后把model_1.cmd中的程序片段逐段的拷贝到该空的cmd文件中,然后逐步的运行该test.cmd,就可以看到每个片段程序运行的结果下。

(2)基于命令窗口的调试。

按下F3打开命令窗口,

然后把MODEL_1.CMD中的程序片段逐段的拷贝到该命令窗口的命令输入区域,按下回车键运行,即可以在命令窗口的信息区域看到该命令运行的结果。

(3)基于宏命令窗口的调试。

从主菜单的TOOLS>MACRO>DEBUG进入,打开命令调试窗口

如下

点击[FILE]按钮,导入前面的MODEL_1.CMD程序。

会看到程序充满在上面的编辑框内部。

要调试程序,一般需要设置断点。

拖动右边的滚动条到某一命令行,然后在该命令行的最前面单击左键,则该行前面出现一个X,即设置好该行是一个断点。所谓断点,就是说,当程序运行到这一行时,必须停止下来,等候用户的下一步指示。

当设置好所需要的所有断点以后,点击【RUN】,则程序开始运行。程序运行的信息会在下面的信息窗口输出如下。

基于该窗口中的信息,我们就可以查看出错的片段。

该窗口中还有诸如STEP这种单步调试命令,以及某个变量的显示等,用户可以按下这些按钮,查看界面的变化,从而了解其功能。

该窗口很类似于VISUAL C++的调试功能。虽然相比VC而言,功能相对简单,但是也算够用。

(4)基于分析设置的调试。

在我们进行仿真时,我们会打开仿真控制面板

在该面板最下面有【simulation settings】这个按钮,点击它,出现下面的对话框

在该对话框的最上面一个目录中,选择DEBUGGING,则下面的面板会切换成调试的相关功能,它会让我们对积分过程进行逐步调试,从而深入考察ADAMS的积分细节。

【小结】

上述四种调试方法,第四种主要针对动力学问题的积分过程进行调试,便于精确的选择积分算法,积分时间步长等。而其余的三种方法,主要是针对命令行的调试。笔者力推的当属第三种方法,这种方法功能相对齐全,它仿效了专业编程软件如VC,BC等的调试器,用起来相对方便。

转自

日记本