在LabVIEW中將兩個16位無符號整數轉換為32位浮點數

更新 Jan 14, 2020

產品資訊

Software

  • LabVIEW

問題敘述

我收到了一對需要轉換為32位浮點數的16位無符號整數。我嘗試將數組發送到類型轉換設置為32位浮點數(單個),但它沒有返回正確的數據。如何將這兩個數字轉換為32位單浮點數?

解決方案

兩個16位數字提供32位數字的上半部分和下半部分。以下步驟分解了附加的VI。
  1. 需要使用Join Number函數連接16位數字以創建32位整數。
  2. 根據您的數據格式和您想要執行的任何其他操作,您可能需要使用“ 交換字”功能來獲取正確的值。
  3. 然後,您可以設置整數然後發送到Type Cast函數以指定正確的格式表示。
  4. 設置數據 通過將數字常量連接Type Cast函數頂部來強制轉換類型 。接下來,右鍵單擊Numeric Constant ,轉到Representation ,然後選擇SGL
下圖顯示瞭如何使用任意數據進行轉換的簡單示例。請記住,根據您的數據格式,您可能不需要使用“交換字”功能。我們只在下面展示它以演示如何使用它。

相關資訊

如果您使用的是Modbus IO服務器,則無需執行此操作,因為它已使用F尋址處理此情況。有關如何執行此操作的詳細信息,請參閱“ 使用Modbus I / O服務器”手冊 。可能必鬚根據您的設備交換浮點值。有關此主題的更多信息,請參閱如何交換Modbus浮點值的寄存器一文