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

更新しました Nov 11, 2020

環境

ソフトウェア

  • LabVIEW

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進数文字列に変換することができます。

Additional Information

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