【问题标题】:X and Y inputs in LabVIEWLabVIEW中的X和Y输入
【发布时间】:2021-11-25 02:13:37
【问题描述】:

我是 LabVIEW 新手,我正在尝试阅读用 LabVIEW 编写的代码。框图是这样的:

这是将 x 和 y 函数输入电压输入的程序。它旨在以不同形式(正弦、心形等)向快速转向镜或电流镜 x 和 y 轴提供输入电压。

x和y函数控件用于输入函数的公式,然后我们使用“求值单值”函数输入到数据助手中。

我知道{ 2*(|-Mpi|)/N }*i + -Mpi*pi 进入 x 值。但是,我不明白为什么我们使用这种公式。为什么我们需要分配一个负值然后做-M*pi的绝对值。另外,我不明白为什么我们需要除以 N 然后乘以 i。最后,为什么需要再次添加 -Mpi ?如果您对此提供任何提示,我将不胜感激。

【问题讨论】:

  • @Miscellaneous 它旨在为快速转向镜或电流镜 x 和 y 轴提供不同形式的输入电压(正弦、心形等)。我知道 { 2*(|-Mpi|)/N }*i + -Mpi*pi 进入 x 值,但是为什么这种形式...我不明白
  • 我对细节一无所知,但我建议查看实际值以了解公式的不同部分的作用。您可以将它们作为循环中的数组输出,也可以将图表放置在循环内或作为探针。大概该行为特定于您的设置的工作方式。但是,有几个具体点:乘以 -1 并不意味着该值为负数。它可能已经开始为负数,然后 ABS 不会改变它。除以 N 并乘以 i 为您提供 0-1 的进度(尽管它被 1 关闭,所以您永远不会达到 1)。

标签: labview


【解决方案1】:

这只是编写代码/公式的一种复杂方式。考虑到代码的样子(不必要的导线弯曲、重复的循环输入隧道、隐藏的导线、不必要的强制点、未能使用适当的内置“否定”功能),在编写它时并没有给予太多关注。因此,虽然它可能会产生正确的结果,但您不应该期望它以最易读的方式这样做。

回答您的具体问题:

为什么我们需要赋值负值,然后做绝对值

我们没有。我们可以在最后一次加法之前立即移动否定或将其更改为减法: { 2*(|Mpi|)/N }*i - Mpi*pi 正如@yair 指出的那样:我们不是在这里分配值,我们基本上是在翻转用户输入的任何值的符号。

为什么我们需要除以 N 然后乘以 i

无论您在 for 循环中执行多少步,这都会为您提供 0 到 1 之间的分数。将N 视为采样率。 IE。你的镜子总是做同样的运动,但更大的 N 只会在两者之间产生更多的步骤。

为什么还要再添加-Mpi

我强烈认为这是针对尚未正确修复的错误的某种快速而肮脏的解决方法。查看代码,似乎这个+Mpi*pi 已在开发过程中稍后添加。虽然我不知道预期值是多少,但我认为仅将其中一个和乘以 Pi 可能是错误的。

【讨论】:

    猜你喜欢
    • 2016-06-11
    • 2014-08-08
    • 2017-04-02
    • 1970-01-01
    • 2013-04-22
    • 1970-01-01
    • 1970-01-01
    • 2015-06-10
    • 1970-01-01
    相关资源
    最近更新 更多