PLCソフトのデバッグ作業時に、GX Works2のサンプリングトレース機能を使用することがあります。
サンプリングトレース機能は非常に便利な機能であるため、その使用方法を解説したいと思います。
サンプリングトレース機能とは
サンプリングトレース機能とは、PLC内のラダープログラム中に使用されているデバイスの変化履歴を記録するための機能です。プログラムのデバッグ時に内部信号データの時間的変化を確認するために使用します。トレース結果を CSV ファイル形式でパソコンに保存することも可能です。
GX Works2の標準機能であり、オプション等を別途購入する必要もありません。
通常のオンラインモニタ機能(回路モニタ機能)では現在の各デバイスの状態をモニタすることはできますが、瞬間的な変化をとらえることはできません。一方、サンプリングトレース機能であれば、パルス信号などのタイミングが問題になるような調査にも活用することができます。
サンプリングトレース機能のマニュアル
なお、サンプリングトレース機能を使用するためには、プログラミングツールにて、サンプリングしたいデータデバイス・ビットデバイスと、サンプリング周期を設定する必要があります。
MELSEC-QシリーズCPUに場合、GX Works2を使用します。
GX Works2側のサンプリング機能の詳細については、「GX Woroks2のオペレーティングマニュアル(共通編) 」第19章デバッグする→19.4サンプリングトレースをするに詳細が記載されています。
また、CPUユニットの「ユーザーズマニュアル(機能解説・プログラム基礎編)」にも、サンプリングトレース機能についての詳細が記述されています。
ユニバーサルモデルQCPUの場合、第3章 機能 の3.14 サンプリングトレース機能に詳細が記載されています。
GX Works2でのサンプリングトレース設定
サンプリングトレース機能を使用するためには、まずPLC(シーケンサCPU)とPC(GX Works2)をオンライン接続必要があります。
実機PLCでサンプリングトレースを行う場合は、実機と接続します。
サンプリングトレース機能は、シミュレーション中にも使用することが可能ですので、
今回はシミュレーション中にサンプリングトレース機能を使用します。
サンプリングトレース画面を表示する。
GX Works2を起動後、「メニューバー」→「デバッグ」→「サンプリングトレース」→「サンプリングトレースを開く」にて、サンプリングトレース画面を表示します。
サンプリングトレース画面の設定
上記操作により、以下のサンプリングトレース画面が表示されます。
サンプリングを行う方法にはいくつかあります。
もっとも簡単な方法が、GX Works2からサンプリングを手動で開始/停止する方法です。
サンプリングを行うデバイスを登録します。
トレースするサンプルプログラム
今回は、以下のダミープログラムを使用してラダープログラムにて正弦波を作成してみたいと思います。。
最終的にはトレース結果をCSV出力し、エクセルでグラフ化して、サイン波グラフを作成します。
使用する特殊命令は以下の通りです。
命令 | 概要 | 詳細 |
FLT | フローティング形式 変換命令 | 1ワード(16ビット)整数値(バイナリー値)を 2ワード(32ビット)の浮動小数点型実数に換算 |
RAD | ラジアン 変換命令 | 度数法を弧度法に換算 π/180°です。 |
SIN | 正弦波命令 | 角度データからサイン値を算出する命令です。 |
使用するデバイスは以下の通りです。
デバイス | デバイスの型 | 内容 |
SM411 | ビットデバイス | 特殊デバイス 0.2秒クロック |
D0 | バイナリー形式 ワードデバイス | 0.2秒毎に1度ずつ増加する 角度データ[°] |
D2 | 実数形式 ダブルワードデバイス (32ビット浮動小数点型実数) | 整数の角度データを実数換算した 角度データ[°] |
D4 | 実数形式 ダブルワードデバイス (32ビット浮動小数点型実数) | 度数法の角度データを弧度法に換算した 角度データ[rad] |
D6 | 実数形式 ダブルワードデバイス (32ビット浮動小数点型実数) | サイン値 |
トレース画面にて、以下のようにデバイスを設定します。
「デバイス/ラベル」にサンプリングしたいデバイスを入力します。
デバイスのデータ型にも気を付ける必要があります。
実際のPLCプログラムでは「整数型(バイナリー値)」を使用する場合が多いと思います。
整数型にも16ビットを使用するワード型と32ビットを使用するダブルワード型がありますので、適切なデータ型を選択しましょう。
データの型やデバイスコメント等の項目は、「右クリック」→「項目の表示/非表示時」にて表示非表示を選択することができます。見やすいようにカスタマイズしておきましょう。
トレースを開始する。
先ほどのPLC本体もしくは、シミュレータとオンライン接続している状態で、「トレース開始」ボタンを押すと、トレースを開始することができます。この際、以下のメッセージが表示されます。
「はい」をクリックします。「
シーケンス制御における「データの泣き別れ」とは、32ビットデータのように、16ビットのデータを連結して表現されるデータにおいて、データの転送・取得タイミングによって、上位16ビットと下位16ビットが分離されてしまうことを指します。
初期設定では、サンプリングトレースデータの格納先が、標準RAMになっているため、
以下のような画面が表示されます。
↓サンプリング中断ボタンを押すと、以下の画面が表示されます。
以上でデータのトレースが完了しました。
トレース結果を確認することができます。
ちょうど角度D0=30°の時に、サイン値D6=0.5になっていることが確認できました。サイン波を作ることができているようです。
また、データデバイスのチェックボックスを入れることで、結果をトレンドグラフ領域に表示させることができます。ただし、縦軸のスケールを変更したりすることができないため非常に不便です。
トレース結果はCSV形式に出力してグラフ作成するのが良いと思います。
トレース結果のCSV出力
トレースした結果をCSVファイルへ出力することが可能です。
↓出力されたCSVデータをエクセルにて開くと以下のようになります。
エクセルにてグラフを作成すると、以下のようになります。
実数形式のデータ、エクセルにて表示した際、浮動小数点形式(文字形式)となっていました。
この文字データを直接データ変換することができません。
文字列置換などして”[”,”]”を削除したり、LEN関数・LEFT関数を使用するなどしてデータ加工すれば、数値データを取り出すことが可能です。
まとめと反省
GX Works2のサンプリングトレース機能を使用してみました。
直感的に使用できますし、それほど難しい操作ではないと思います。
今回実数を使用してトレースを行ったため、最後のグラフ作成時に余計な手間が増えてしまいました。
コメントを投稿するにはログインしてください。