LabVIEWで16進数とASCIIの変換方法

更新しました Nov 16, 2018

使用製品

Software

  • LabVIEW Full
  • LabVIEW Base

問題

16進数値形式で情報を返信する計測器と通信しています。例えば、文字「L」を返すかわりに、「L」に相当する16進数表記の「4C」を返します。LabVIEWでプログラム的にこの16進数表記をASCII表記に変換するにはどうすれば良いですか?また、逆に16進数で情報を送信する必要がある場合はどうすれば良いですか?

解決策

16進数からASCIIに変換する

16進数文字列をASCII文字列に変換するには、まず、関数パレットのプログラミング>>文字列>>文字列/数値変換にある「値をスキャン」関数を用いて16進数文字列を10進数表記に変換する必要があります。その後、関数パレットの数学>>数値>>データ操作にある型変換関数を用いて10進数表記を相当するASCII文字列に変換することができます。
 

 

ASCIIから16進数に変換する

ASCII文字列を16進数文字列に変換するには、まず関数パレットの数学>>数値>>データ操作にある型変換関数を用いてASCII文字列を10進数表記に変換する必要があります。その後、数値を16進数に変換関数を用いて10進数表記を16進数文字列に変換することができます。
 

追加情報

以下のVIの16進数文字列は0xFFの形式ではなく、FFの形式になっています。「0x」は、数字が10進数ではなく16進数であることを示す規則です。「0x」は標準の16進数文字列には使われないため、値が変換される前に削除する必要があります。16進数を数値に変換関数を使う際も同様です。0xFFの形式の16進数を扱う場合は、まず文字列を検索/分割関数やパターンで一致関数を使用して「x」を検索して、残りの文字列を値をスキャン関数に入力します。

この記事はお役に立ちましたか?

いいえ