2014-02-25 73 views
1

背景:我試圖在LabVIEW中配置一個DMX轉檯,它有兩種旋轉設置:粗調(255度的360度)和精細的(255度的1度)。我需要能夠首先執行一個命令,以在粗略模式下移動到最近的可用DMX位置,然後在精細模式下彌補差異。LabVIEW複雜如果語句

例如我想轉向90度,這相當於一個DMX 63.75的數值,但是這個數值向下取整爲63.現在的真實數值現在是88.94,所以我需要使用微調設置來補充1.06度(I只能補到1度,但89.94已經接近90)。

我可以執行粗略的設置,但是我需要某種「if」語句來說「如果真實度值小於輸入值,彌補差異」。 Case Structures不能提供足夠的控制來使用這個複雜的「if」語句,我可以使用什麼呢?

回答

3

您不需要任何條件。使用255/4的Quotient和Remainder函數得到63和.75。進行63粗調,然後取.75並乘以360.這會告訴你許多需要採取的細微步驟(270,這是255 + 15.你可以再次使用Q & R來知道有多少整圈以及在最後一回閤中剩下多少)。

4

255個粗步驟*每個粗步驟255個精細步驟= 65025個可能步驟。

360度/ 65025 =〜0.00536度/步。

用此常數分隔所需的角度,然後將其用作quotient and remainder的X輸入。 Y將是255.商數將代表粗調值進行調整,剩餘部分代表精細值。

63個粗步驟和191個精細步驟。

enter image description here