HOME >> 鉄道模型実験室 > EXCEL の通信処理ソフトを変える

鉄道模型実験室  EXCEL の通信処理ソフトを変える

■ はじめに

 動力車の発進時や停止時の動きを観察するために、また、悪い虫が動き出してしまった。 先回の実験「動力車の発進時や停止時の動き」では、データ処理用として使用していたEXCEL の通信処理のスピードが追いつかなくて、Arduino からの送信データを処理出来なかった。 止むえず手作業でデータ処理を実施したが、EXCELの受信ソフトを変更してみたのでその結果を報告する。

 

■ 通信処理ソフトとして EasyComn を使用する

 シリアルモニタを使ってのデータ処理は可能であるが、かなり面倒である。 原因はシリアル通信で受取ったデータの処理に手間取り、通信スピードに追い付かない点にあると思っている。 このため、他の方法を考えてて見た。 有名な “EasyComn” を使用したらどうなのだろうか。 但し、このサイトは現在閉鎖されているが、以前にダウンロードしたファイルが有るので、これを使ってみることにしよう。

 説明書に従って設定して、マクロに下記の様に記述する。 必要最低限の記述だけにしたので、非常に簡単である。 本当にこれだけで良いのかなと心配になりながら試しに走らせて見た。

 このファイルは、今までにあれこれ使用してきたファイルであるので、番号関係は飛び飛びであるが、ec とecDef の標準モジュールはEasyComnのファイルである。Module1 には右側のマクロを記述した。 Module3 にはスタートボタンの処理を記述しているのみである。 受信したコンマ区切りのデータを一つずつ切り出して、指定のセルに書き込む部分は、前のマクロの部分をそのまま活用している。

 早速トライしてみた。 動いている!

 

 各セルにデータはどんどん書き込まれて行き、グラフ上でもプロット点が動いていく。 データの測定が完了しても、EXCEL側はせっせと処理中であるも、正常に動いている様である。 すると突然エラー表示が出た。 通信エラーとのこと。 そりゃそうですね、Arduino は既に測定は完了して送信データを送ってないもの。

 EXCELは受信バッファに溜まったデータを処理中であるが、通信が途絶えているために通信エラーが出たと理解し、何ら問題ないと勝手に解釈している。 勿論、最後のデータまで確実に処理していることを確認しているし、説明書のどこかで、通信はバックグランドで実施し、受信バッファからは改行コードをもとにデータを少しずつ切り出していると説明してあった様なので、問題無しと判断したものである。

 最初は100ms毎のデータ送信でテストしたが、50ms でも問題無く対応出来た。 EXCEL自身の処理速度は同じなので、EasyComnでは、前の場合とは通信データの処置方法が異なっているために対応できていると解釈している。 マクロ記述も非常に簡単なので、最初からこちらのソフトを使えば良かったのにと反省するが、これも勉強と思えば良いと言うことにしておこう。

 次に、距離センサーを使ってみることにする。