1

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

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

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

4

2 回答 2

4

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

360 度 / 65025 = 每步约 0.00536 度。

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

63个粗步和191个细步。

在此处输入图像描述

于 2014-02-25T20:06:34.727 回答
3

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

于 2014-02-25T19:31:08.067 回答