LabVIEWで16進数を10進数またはASCIIに変換する

更新しました Sep 6, 2024

環境

ソフトウェア

  • LabVIEW

  • LabVIEWで、16進値を10進値に変換するにはどうすればよいですか?現在、文字列からスキャン関数を使用しようとしていますが、何に接続する必要があるのかわかりません。
  • 16進値の形式で情報を送り返す計測器と通信しています。たとえば、文字Lを送信する代わりに、対応する16進表現4Cを送り返します。この16進表現をLabVIEWで対応するASCII表現にプログラムで変換するにはどうすればよいですか?情報を16進数で機器に送り返す必要がある場合はどうなりますか?

16進数から10進数への変換

  1. 16進文字列を10進表現に変換するには、 値をスキャン関数使用します。この関数は、関数パレットのプログラミング>>文字列>>数値/文字列変換にあります。
  2. このVIの文字列入力端子を右クリックし、作成」>>制御器を選択しますこれにより、文字列制御器が生成されます。
  3. このVIの形式文字列入力端子を右クリックし、作成>>定数を選択します 16進形式を指定するには、この定数に%xを入力します。
  4. このVIのデフォルト(0dbl)入力端子を右クリックし、作成>>定数を選択しますこの定数の表現を整数に変更します。これを行うには、定数を右クリックして表現を選択します次に、必要な値の範囲に最適な対応する整数を選択します。各データ型の値の範囲は、 数値データタイプの表に概説されています。
  5. このVIの出力端子を右クリックして、作成»表示器を選択します。
  6. これらの手順を使用した最終結果の例を以下に示します。

16進数からASCIIへの変換

  1. 16進文字列をASCII文字列に変換するには、値を最初にスキャン関数を使用して16進文字列を10進表現に変換する必要があります。上記の「16進数から10進数へ変換」サブセクションの最初のステップ1〜5を完了します。
  2. 次に、関数パレットの数値>>データ操作にある型変換関数 を使用して、小数表現を同等のASCII文字列に変換できます。
  3. 10進イ表示器に接続されているワイヤをx入力端子に接続します。
  4. 型変換関数の*(type *)&x出力端子を右クリックし、作成 >> 表示器を選択します
  5. これらの手順を使用した最終結果の例を以下に示します。

ASCIIから16進数への変換

  1. ASCII文字列を16進表現に変換するには、数値を16進数文字列に変換関数を使用します。この関数は、関数パレットのプログラミング>>文字列>>数値/文字列変換にあります。
  2. このVIの終端にある16進整数文字列出力を右クリックし、作成>>表示器を選択します
  3. 型変換関数をブロックダイアグラムに配置します。このVIは、関数パレットの数値>>データ操作にあります。
  4. 型変換関数の端子に0値の数値定数を配線します。
  5. 型変換関数の*(type *)&x出力端子をクリックし、数値を16進数文字列に変換関数の数値入力端子に配線します。
  6. 型変換関数のx端子に文字列定数を配線します。
  7. これらの手順を使用した最終結果の例を以下に示します。

    追加情報

    上記のVIの16進文字列入力は、0xFFではなくFFの形式です。 0xは、数値が10進数ではなく16進数であることを示すための規則です。
    標準の16進文字列にはこの表示器がないため、値を変換する前に削除する必要があります。この動作は、16進数文字列を数値に変換関数までと同じであり、予想されます。
    0xFF形式の文字列がある場合は、文字列が値をスキャンVIに渡される前に、文字列の検索と分割関数を使用できます。