2014-02-25 1 views
1

배경 : LabVIEW에서 DMX 턴테이블을 구성하려고하는데, 거친 (360도에서 255도) 및 고운 (255도에서 1도) 회전에 대한 두 가지 설정이 있습니다. 먼저 굵은 모드에서 가장 가까운 사용 가능한 DMX 위치로 이동하라는 명령을 실행 한 다음 미세 모드에서 차이를 보완 할 수 있어야합니다.복잡한 경우 LabVIEW가 복잡합니다.

나는 90도로 돌리고 싶습니다. 이것은 63.75의 DMX 값과 같습니다. 그러나 이것은 63으로 반올림됩니다. 도의 실제 값은 이제 88.94입니다. 그래서 괜찮은 설정을 사용하여 1.06도를 추가로 만들 필요가 있습니다. 1 도만 만들 수 있지만 89.94는 90에 가깝습니다).

거친 설정을 실행할 수 있지만 "실제 값이 입력 값보다 작 으면 차이를 만들어야"라고 말하는 일종의 "if"문이 필요합니다. 사례 구조는이 복잡한 "if"문을 사용할 수있는 충분한 제어 기능을 제공하지 않습니다. 대신 무엇을 사용할 수 있습니까?

답변

3

아무 조건이 필요하지 않습니다. Quotient 및 Remainder 함수를 255/4로 사용하면 63과 .75를 얻을 수 있습니다. 63 개의 거친 동작을 한 다음 .75를 가져 와서 360으로 곱하십시오. 이것은 많은 훌륭한 단계를 알려줍니다 (270은 255 + 15입니다.) Q & R을 다시 사용하여 전체 회전 횟수를 알 수 있습니다 그리고 마지막 턴에 얼마나 남았는지).

4

255 거친 단계 * 거친 단계 당 255 개의 미세 단계 = 65025 가능한 단계.

360도/65025 = 단계 당 ~ 0.00536도.

이 상수로 원하는 각도를 나눈 다음이 값을 X 입력으로 사용하여 quotient and remainder에 사용합니다. Y는 255가됩니다. 지수는 조정할 조악한 값을 나타내고 나머지는 훌륭한 값을 나타냅니다.

63 조대와 191 개의 미세 단계.

enter image description here

관련 문제