ホーム
サポート
LabVIEWで16進数を10進数またはASCIIに変換する
LabVIEWで16進数を10進数またはASCIIに変換する
更新しました Jun 14, 2022
環境
環境は、この記事で説明するソリューションで動作することが確認されている製品を示しています。このソリューションは、他の同様の製品またはアプリケーションにも適用される場合があります。
ソフトウェア
LabVIEW
LabVIEWで、16進値を10進値に変換するにはどうすればよいですか?現在、スキャン値機能を使用しようとしていますが、何に接続する必要があるのかわかりません。
16進値の形式で情報を送り返す計測器と通信しています。たとえば、文字Lを送信する代わりに、対応する16進表現4Cを送り返します。この16進表現をLabVIEWで対応するASCII表現にプログラムで変換するにはどうすればよいですか?情報を16進数で機器に送り返す必要がある場合はどうなりますか?
16進数から10進数への変換
16進文字列を10進表現に変換するには、
スキャン値関数を
使用します。この関数は、関数パレットの[
プログラミング]»[文字列]»[文字列/数値変換]にあり
ます。
このVIの
文字列
入力端子を右クリックし、「
作成
」»「制御」
を選択し
ます
。
これにより、文字列定数が生成されます。
このVIの
フォーマット文字列
入力端子を右クリックし、「
作成
」»「定数」
を選択し
ます
。
16進形式を指定するには、この定数に%xを入力します。
このVIの
デフォルト(0dbl)
入力端子を右クリックし、「
作成
」»「定数」
を選択し
ます
。
この定数の表現を整数に変更します。これを行うには、定数を右クリックして[
表現
]を選択します
。
次に、必要な値の範囲に最適な対応する整数を選択します。各データ型の値の範囲は、
数値データ型の表に
概説されています。
このVIの
値
出力端子を右クリックして、「
作成
」»「インジケーター」
を選択し
ます。
これらの手順を使用した最終結果の例を以下に示します。
16進数からASCIIへの変換
16進文字列をASCII文字列に変換するには、最初にスキャン値関数を使用して16進文字列を10進表現に変換する必要があります。上記の「
16進数から10進数へ
の
変換」
サブセクションの最初のステップ1〜5を完了します。
次に、関数パレットの[
数学]»[数値]»[データ操作]に
ある
型キャスト関数
を使用して、小数表現を同等のASCII文字列に変換できます。
10進インジケータに接続されているワイヤを
x
入力端子に接続します。
型キャスト関数の
*(type *)&x
出力端子を右クリックし、[
作成]
»
[
インジケーター]
を選択し
ます
。
これらの手順を使用した最終結果の例を以下に示します。
ASCIIから16進数への変換
ASCII文字列を16進表現に変換するには、
Number to Hexadecimal StringFunctionを
使用します。この関数は、関数パレットの[
プログラミング]»[文字列]»[文字列/数値変換]にあり
ます。
このVIの終端にある
16進整数文字列
出力を右クリックし、「
作成
」»「インジケータ」
を選択し
ます
。
タイプキャスト関数
をブロックダイアグラムに配置します。このVIは、関数パレットの[
数学]»[数値]»[データ操作]にあり
ます。
型キャスト関数の
型
端子に0値の数値定数を配線します。
Type Cast Functionの
*(type *)&x
出力端子をクリックし、Number to HexadecimalString関数の
数値入力
端子に配線します。
型キャスト関数の
x
端子に文字列定数を配線します。
これらの手順を使用した最終結果の例を以下に示します。
追加情報
上記のVIの16進文字列入力は、0xFFではなくFFの形式です。 0xは、数値が10進数ではなく16進数であることを示すための規則です。標準の16進文字列にはこのインジケータがないため、値を変換する前に削除する必要があります。この動作は、16進数の文字列から数値VIまでと同じであり、予想されます。 0xFF形式の文字列がある場合は、文字列がスキャン値VIに渡される前に、検索文字がxの検索/分割文字列VIを使用できます。
関連リンク
How Do I Convert a Hex String to a Normal String?
Converting ASCII to Same Value Hex to Floating Point example
その他のサポートオプション
NIコミュニティに聞く
ディスカッションフォーラムで他のユーザーとコラボレーション
NIコミュニティでソリューションを検索する
エンジニアからのサポートをリクエストする
有効なサービス契約が必要な場合があり、サポートオプションは国によって異なります。
サービスリクエストを開く
サポートサービスの購入または更新
Was this information helpful?
Helpful
Not Helpful