2025/05/01

このサンプルでできること

  • KV-XのロギングCSVをブラウザだけでグラフ表示
  • Python不要
  • サーバ不要
  • 2Dグラフ表示
  • 3Dグラフ表示
  • 複数ファイル比較

Plotlyを使うメリット

  • 無料で利用可能
  • ブラウザだけで動作
  • ズームや回転が可能
  • 2D/3Dグラフ対応
  • CSVファイルを簡単に可視化できる

Plotlyを使ってブラウザでグラフ表示

Plotly

Plotlyはオープンソースのグラフ表示するためのライブラリです。Python、R、JavaScriptなど様々なプログラミング言語で利用できます
今回はJavaScriptでサーバを使わずにPCだけで表示できるようにしました
(ここではネットワーク接続する方法を紹介していますが、ライブラリをダウンロードしてローカルで動作させることもできます)

概略

ロギング機能でCSVファイルに保存したデータをブラウザでグラフ表示する方法を紹介します
スキャン毎に正弦波を2つと三角波を1つ作成してロギングで保存したデータを使います
ロギングの設定は別ページで紹介しています

2Dグラフ表示例

これは正弦波をグラフ表示した例です


3Dグラフ表示例

これは正弦波をX,Y軸と三角波をZ軸にしてZ軸を上下する正弦波をグラフ表示した例です

ロギングの設定

グラフ化したいデバイスまたは変数をロギングの対象とします
ここでは例として位相の違う正弦波をXとYに、三角波をzzに出力しているラダー回路があるとしてロギングします

ロギング/トレース設定画面

オプションタブで以下の項目にチェックを入れます

ロギング/トレース オプション画面

LogGraph.htmlでグラフ表示

ダウンロードしたLogGraph.htmlを開きます

このページは2つのファイルを読み込んで2Dまたは3D表示をして比較することができるようにしています
ここでは1つのファイルのみ表示しています

2D表示

2D表示設定画面

  1. [ファイルの選択]ボタンを押してロギングで保存したファイルを選択します
  2. 2D設定のX軸に"DATA No"を、Y軸に"sinwave"を設定します
  3. [2D表示]ボタンを押すとロギングしたsinwaveの変数の値を下図のグラフで見ることができます

2D表示画面

Y軸の値を"trianglewave"に変えて[2D表示]を押すと下図のように三角波がロギングされていることが見れます

3Dグラフ

  1. 3D設定(FileA)のX軸に"DATA No"を、Y軸に"sinwave"を、Z軸に"coswave"を設定します
  2. 3D表示ボタンを押すとロギングした値を下図のグラフで見ることができます

3D表示画面

X軸を"sinwave"、Y軸を"coswave"、Z軸を"trianglewave"に変えて[3D表示]を押すと下図のように表示されます

3D表示画面2

LogGraph.htmlについて

この"LogGraph.html"はChatGPTで作成してもらいました

興味のある方はChatGPTに変更箇所などを指定してこのLogGraph.htmlのHTML文をコピペして投げて見てください

ChatGPTへのLogGraph.htmlを作成してもらうためのプロンプト例

LogGraph.htmlの機能

  • CSVファイル読み込み
  • 2Dグラフ表示
  • 3Dグラフ表示
  • 2ファイル比較
  • 軸選択
  • 同スケール比較
  • ブラウザのみで動作

ダウンロード

この記事へのコメント