快速了解复杂LabView VI的工作原理的最有效方法是什么?

时间:2013-03-27 00:43:07

标签: labview joystick motordriver

了解控制motor的复杂LabView VI的最佳方法是什么?

我的目标是从joystick控制电机。

下面显示的接线图允许LabView用户从LabView GUI控制电机:上下移动滑块,增加或减少所需的速度。当滑块的值发生变化时,它会被送入一堆数学控件,最终被转换为一个命令字符串供电机解释。如果我理解正确的话,这个命令字符串是一堆写入串口的字节。

我不想使用LabView GUI来控制电机,而是想使用操纵杆。

最好的方法是什么?

操纵杆有俯仰,偏航,滚动和油门。哪一个最适合电机的速度?

enter image description here

3 个答案:

答案 0 :(得分:2)

标题的答案"快速了解复杂LabView VI如何工作的最有效方法是什么?"可能会做以下几种组合:

  • 查看VI的输入和输出,试着了解它们的用途。控件和指示器的标签和标题可能会有所帮助,也可以右键单击以查看说明和提示。
  • 除了控件和指示器之外,还要查找其他I / O:队列,通知程序,全局变量,文件读/写,仪器通信,以及在未初始化的移位寄存器等调用之间存在的任何数据存储。
  • 查看VI的整体结构,看看它是如何执行的,例如:它是一次性操作,它是根据某些输入执行不同的情况,是否循环直到某个条件发生,它是否使用状态机结构等等。
  • 将VI的结构分解成您可以理解的小块。您可以打印图表并手动注释,或者在图表中添加框架装饰和文本注释以记录您推断的内容。如果图表混乱或布局不当,请在进行时重新排列(使用Ctrl键单击并拖动图表背景以在需要的位置添加空白区域)。
  • 在VI线上设置探针并观察它们,看看会发生什么
  • 如果可能的话,手动将VI控件设置为示例值并运行它以查看会发生什么(如果VI依赖于同时运行的程序的其他部分,则可能无效)
  • 编写一个测试包装器VI,它调用复杂的VI并为其提供示例数据或输入以查看发生的情况。

为了解决您发布的VI图表的具体问题,我可以看到各种数量控制,如速度,位置,幅度,最大A(幅度?),频率等。您需要决定哪些数量应由操纵杆的哪个轴或输出控制。然后,您需要添加从操纵杆读取这些值的代码,并修改现有代码,以便通过操纵杆值而不是前面板控件提供您要控制的参数。您可以将操纵杆读取代码放在现有循环内,连接操纵杆输出以连接要更换的前面板控件的导线,然后将相关的前面板控件更改为右键菜单中的指示器这样他们就会显示你从操纵杆上获得的值。

答案 1 :(得分:1)

最好的方法是从头开始编写一个。但是,您可以通过单击“突出显示执行”按钮来分析代码,以在运行VI时显示框图执行的动画,并使用探针检查中间值。你可能也应该做一个在线课程,例如LabVIEW Training: Learn LabVIEW in Three or Six Hours

答案 2 :(得分:1)

我对你的第三个问题的回答是“节流。”。