LabVIEW에서 두 개의 16 비트 부호가 없는 정수를 32 비트 부동 소수점 숫자로 변환하는 방법

업데이트 됨 Jan 4, 2019

해당 제품

Software

  • LabVIEW

문의사항

두 개의 16 비트 부호가 없는 정수를 어떻게 32비트 단일 부동 소수점 숫자로 변환합니까?

해결책

두 개의 16 비트 숫자는 32 비트 숫자의 상위와 하위 절반을 제공합니다. 다음 단계에 따라 32 비트 부동 소수점 숫자로 변환할 수 있습니다.
  1. 32 비트 정수를 만들려면 숫자 결합(Join Number) 함수를 사용하여 16 비트 숫자를 결합해야 합니다.
  2. 데이터 및 다른 조작을 수행하려는 형식에 따라 올바른 값을 얻기 위해 워드 교환(Swap Wrods) 함수를 사용해야 할 수도 있습니다.
  3. 그런 다음, 정수를 설정하여 타입 캐스트(Type Cast) 함수로 전송하여 올바른 형식 표현을 지정할 수 있습니다.
  4. 타입 캐스트(Type Cast) 함수 상단에 있는 숫자 상수로 배선에 의해 보낼 데이터 유형을 설정합니다.  그런 다음 숫자형 상수를 오른쪽 클릭하고 으로 이동 한 다음 단정도(SGL)을 선택합니다.
아래 그림은 임의의 데이터를 사용하여 변환하는 방법을 보여주는 간단한 예입니다. 데이터 형식에 따라 워드 교환 함수를 사용할 필요가 없습니다. 

추가 정보

이 작업은 이미 F 주소 지정을 사용하여 이 경우를 처리하므로 Modbus IO 서버를 사용하는 경우에는 이 작업이 필요하지 않습니다. 이를 수행하는 방법에 대한 자세한 내용은 Using Modbus I/O Servers manual 을 참조하십시오. 부동 소수점 값은 장치에 따라 변경해야 할 수도 있습니다. 이 주제에 대한 자세한 내용은 How to Swap Registers for Modbus Floating Point Values article을 참조하십시오.

이 글이 도움이 되셨습니까?

도움 안됨