Power BI Desktopを使ってECATの診断・統計情報
概略
EtherCATの診断・統計情報を定周期で読み出してPower BI Desktopで可視化してみます

Power BI Desktopは自分のパソコン上にダウンロードして無料で使えます
ネットワークに公開するなどクラウドベースのサービスとして利用したいときはPower BIサービスを使用します
Power BI Desktop と PowerBI サービスを比較する
Power BI Desktopで表示するまでの流れ
- Power BI Desktop のダウンロード
- Power BI Desktopの起動
- レポートの作成
- 手順1: ノード1の過去の推移グラフを作る
- 手順2: ノード1の最新データを表示する
- 手順3: ノード2から4
- 完成
Power BI Desktop のダウンロード
Power BI Desktop
Power BI Desktopを以下のサイトからダウンロードしてインストールします
https://powerbi.microsoft.com/ja-jp/desktop/
Power BI Desktopの起動
Power BI Desktopを以下のサイトからダウンロードしてインストールします
https://powerbi.microsoft.com/ja-jp/desktop/
レポートの作成
新規レポート
- 新規のレポート
新規のレポートをクリックすると以下が表示されます

今回はSQL ServerにEtherCATの診断・統計情報が入っていることを想定しているので「SQL Serverからデータをインポートする」を選択します
- SQL Server データベース

SQL Serverの接続先とデータベース名を入力します
データ接続モードはデータをパソコンに持ってくるなら「インポート」を、データベース接続した状態でレポートを表示するなら「DirectQuery」を選択します - ナビゲータ

テーブル「MsterStat」と「SlaveStat」を選択します - 新規レポート
手順1: ノード1の過去の推移グラフを作る
- 視覚化の中にある「折れ線グラフ」を選択します
- データから「ErrCnt0」「ErrCnt1」「ErrCnt2」「ErrCnt3」「RecDT」を選択します
X軸に「RecDT」、Y軸に「ErrCnt0」から「ErrCnt3」がセットされます
- Y軸の「ErrCnt0」から「ErrCnt3」が合計になっているので最大値に変更します
これは集計スパンを長くした(例えば1時間間隔など)ときに合計ではなくて、その間隔の中の最大値で表示したいためです
- ノード1のみ表示したいので、データから「NodeAdr」をドラッグしてフィルターにドロップします
フィルターの種類を「次である」を選択して「1」を入力します
「次である」はイコールという意味(NodeAdr=1)だと思います
「フィルターを適用」を押して反映します
手順2: ノード1の最新データを表示する
テーブル
- 視覚化の中にある「テーブル」を選択します

- データから「ErrCnt0」「ErrCnt1」「ErrCnt2」「ErrCnt3」を選択します

- Y軸の「ErrCnt0」から「ErrCnt3」が合計になっているので最大値に変更します

- ノード1のみ表示したいので、データから「NodeAdr」をドラッグしてフィルターにドロップします
フィルターの種類を「次である」を選択して「1」を入力します
「フィルターを適用」を押して反映します
- 最新のレコードを表示したいので、データから「RecDT」をドラッグしてフィルターにドロップします
フィルターの種類を「上位N」を選択して「上」「1」を入力します
値には「RecDT」をドラッグして「最も遅い」を選ぶと 最新のRecDT の表示に変わります
「フィルターを適用」を押して反映します
- カラム名が「ErrCnt0 の最大値」と長いので「この視覚エフェクトの名前変更」で「ErrCnt0」に変更します

- 最後にタイトルを付けたいので視覚化の「ビジュアルの書式設定」の中の「タイトル」をONにしてテキストに「Node1」と入力します

- 出来上がったテーブル

手順3: ノード2から4
同様に・・・
ノード2から4も同様に作成してレポートに追加します
- テーブルと折れ線グラフをコピーしてフィルタの「NodeAdr」を2に変更して、タイトルを「Node2」に変更します

- 縦の表示エリアが足りないので「ページ表示」を「幅に合わせる」にして、視覚化のキャンパスの設定を「カスタム」を選択して高さを「1440」など大きな数値に変更します

完成
完成したレポート

最後に
ECATの診断・統計情報のデータを元にレポートを作ってみましたが、これは一例なので色々な集計方法を試してみてください
