【问题标题】:LabVIEW Complicated If StatementsLabVIEW复杂的If语句
【发布时间】:2014-02-25 16:17:35
【问题描述】:

背景:我正在尝试在 LabVIEW 中配置 DMX 转盘,它有两种旋转设置:粗略(360 度,255 点)和精细(1 度,255 点)。我需要能够在粗略模式下先执行命令移动到最近的可用 DMX 位置,然后在精细模式下弥补差异。

例如我想转向 90 度,这相当于 DMX 值 63.75,但它向下舍入到 63。度数的实际值现在是 88.94,所以我需要通过使用精细设置来弥补额外的 1.06 度(我只能补 1 度,但 89.94 已足够接近 90)。

我可以很好地执行粗略设置,但是我需要某种“if”语句来表示“如果实际度数值小于输入值,则弥补差异”。案例结构没有提供足够的控制来使用这个复杂的“if”语句,我可以用什么来代替?

【问题讨论】:

    标签: if-statement labview dmx512


    【解决方案1】:

    255 个粗略步骤 * 每个粗略步骤 255 个精细步骤 = 65025 个可能的步骤。

    360 度 / 65025 = 每步约 0.00536 度。

    将所需的角度除以该常数,然后将其用作quotient and remainder 的 X 输入。 Y 为 255。商表示要调整的粗略值,余数表示精细值。

    63 个粗步骤和 191 个精细步骤。

    【讨论】:

      【解决方案2】:

      你不需要任何条件。使用 255/4 的商和余数函数得到 63 和 0.75。做 63 粗动作,然后取 0.75 并乘以 360。这将告诉您需要采取的许多精细步骤(270,即 255 + 15。您可以再次使用 Q&R 来了解要进行多少整圈以及最后一回合还剩多少)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-06
        • 2017-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多