HOME >> 鉄道模型実験室 > リアルタイム表示トライ その2

鉄道模型実験室 No.212  リアルタイム表示トライ その2

 Python を使用し測定データをリアルタイムで表示できないか検討しています。 課題の2と3に取り組み、課題をクリアー出来たかに見えましたが、この方法では課題4がクリアーできないことが分かった。 そこで、新たなライブラリーを探して課題3と課題4に取り組むことにした。

 

  .

  

■ トライ3

 先回の結果、ライブラリー openpyxl 使えないことがわかったので、アクティブなエクセルとコンタクトできる Python のライブラリーはないだろうか探した。

 すると、pywin32 というライブラリーが使えそうなのでこのライブラリーをインストールして挑戦することにした。

 インストールはPSコマンドラインより、簡単に実施することが出来た。 もう迷うことはないのだ。

 

● エクセルファイルへの書込む

   .

  .

 まず、左に示すプログラムファイルを作成しました。

 このライブラリーを使って先回と同様に、エクセルファイルを指定します。 指定方法は新しいライブラリーの記述方法に従います。 また、用意したデータは、あるモデルの実績データを参考にして作りました。

 そして、先回のトライ結果を参考にして、このデータをあらかじめ split 文で分解してリスト化してしまい、そのリスト変数を順番にセルに書込むようにしました。

   ***************************************

  このプログラムを実際に走らせてみると、いくつかのエラーが出ましたが、それは命令文の書き方の違いでした。大文字にせよとか、スペルが違うとか・・・・・・・・・。

同じPython を使うのに、      
ライブラリー毎に違うなんて・・・・。  

 でも、最終的には見事に開いているエクセルファイルに書込んでおりグラフにもその結果を表示していました。

 

 しからば、複数のデータセットを順次表示するのかを確認することにしました。 記述内容を右に示します。 ここで、複数のデータセットを順番に表示するときに遅延時間を設けることにしました。 グラフへのプロットが順番に実施しているのかを確認するためです。 時間の遅延関数は、

   time.sleep(秒数)

で、これを使用するには、timeというライブラリーが必要とのことで、このライブラリーもインストールして右に示すようなプログラムを実行させることにしました。 もちろん書込むべきエクセルファイルは開いたままです。

 開いているエクセルシートの上に、順次データが書き込まれ、その結果をグラフ上に次々と表示して行くことを確認できました。

      出来たぞー・・・・・・・・・・・。

 

● まとめ

 課題の2,3および4をクリヤーすることが出来ました。 残るのは課題4の、シリアル通信によるデータの受信とその後の処理方法です。

 

ページトップへ戻る  .


 2022/6/14