前提・実現したいこと
シリアル受信した計測結果を数値として格納して、その後処理を行うような
プログラムを作成中です。しかし序盤も序盤の計測結果の数値化処理でつまずいています。
シリアル通信で指令をだすと、返り値として計測結果が以下のようにでてきます。
例)[100ms]:0000 0001000000020000
␣␣␣①␣␣␣␣②␣␣␣␣␣␣③
①:処理時間
②:正常終了メッセージ
③:計測値
例の場合、③の文字列を
00010000 と 00020000 に分け、これらを10進変換し
65536 と 131072 として演算に使いたいと思っています。
シリアル受信してデータは捕まえても、
①②の部分を省き、且つ文字列から数値を取り出すという部分が全く思いつかず
今に至る次第です。
知りたいことは2点です。
1、例のような返り値に対して、演算処理したい部分(③)を取り出す方法
2、取り出した文字列を2分割し 10000 と 20000 という部分まで処理をする方法
VB初心者の質問で申し訳ありません。
ご回答の程宜しくお願い致します。
補足情報(FW/ツールのバージョンなど)
後だし情報申し訳ないです。
データの取得方法は厳密には、
駆動cmd1→計測cmd1→駆動cmd2→計測cmd2・・・→シリアル読み出し→処理
というフローになっています。
そのためシリアル上のログは下記のような感じになります。
駆動1のメッセージ
[100ms]:0000 0001000000020000 ’計測1のメッセージ
駆動2のメッセージ
[96ms]:0000 0001100000019000 ’計測2のメッセージ
:
ーーー終了ーーー
そのため現状はシーケンスの最後にシリアル読み出してログファイル作成をして、
テキストファイルの処理をする形を模索しています。
(駆動→バッファクリア→計測→読み出し と都度やれば計測結果だけのログは作れますね、、、書きながらきづきました、、、)
毎回計測結果の文字列が、処理時間によって文字数変化してしまうため、
固定文字数からの切り出しができません、、、
情報をうまく整理できず申し訳ないです。
宜しくお願いします。
回答2件
あなたの回答
tips
プレビュー