FAQ
OROS社 OR3x
マクロ
ID.x021
Q. マクロレッスン:アラームとの連携
概要
結果テンプレートを使用して、結果テンプレートで設定したグラフよりFFTのスペクトラムレベルが大きくなった場合、メッセージを表示させるというサンプルマクロを作成します。
A.
結果テンプレートの作成
最初に合否判定を行うための判定ラインを作成します。
(V7以降) ホームタブ>ツール>結果テンプレート>新規を選択してください。
(V6以前) メニュー"ツール/結果テンプレート/新規"を選択してください。
以下のダイアログが表示されますので、名前を付け、適用する予定のFFTの設定に合わせて、対応する設定を変更してください。特に、物理量については、適用先のFFTの物理量と一致させる必要があるため、必ず変更してください。
OKボタンをクリックするとテンプレート編集ダイアログが表示されます。
"ポイントの追加"ボタンをクリックして以下のようにテンプレートを作成してみます。作成したポイントを移動させるためにはマウスでドラッグ&ドロップします。作成したポイントは右側ペーンで直接値を指定して変更することも可能です。
テンプレートが完成したらウィンドウを閉じてください。テンプレートを保存するかどうか下図ダイアログが表示されますので、はい(Y)を選択して保存してください。
作成したテンプレートはプロジェクトに作成されます。
テンプレートの表示
FFT解析結果とテンプレートを重ねて表示させます。
まず、OROSに接続した状態で、FFTウィンドウを表示させます。
テンプレートを重ねます。
プロジェクトマネージャーにあるテンプレートをFFT解析結果グラフまでドラッグ&ドロップします。
以下のようにFFTウィンドウ上に、作成した合否判定ラインが重ね書きされます。
アラームの追加
FFT解析結果と作成した合否判定ラインを連携させるために"アラーム"を設定します。アラームを設定するためには、ツールタブ内の"アラームの追加"を選択(もしくは、グラフの灰色の部分で右クリックして、コンテキストメニューから"アラームの追加"を選択)し、前面に表示させたい波形名称を選択してください。
マクロ作成
アラームの動作を確認するため簡単なマクロを作成します。
マクロは測定結果がテンプレートで設定した値を超えているかどうかチェックして、超えている場合メッセージボックスを表示させます。そのために、判定に使用するif...thenと、それを繰り返すWhileを組み合わせます。例えば、次のようにマクロを組む事で、計測中に判定を行い、ラインを超えた段階で計測を停止させることができます。
(V7以降) ツールタブ>マクロ>新規を選択して、マクロエディターを起動します。
(V6以前) メニュー"ツール/マクロ/新規"を選択して、マクロエディターを起動します。
リストの先頭にあるマクロ名を選択して、 プロパティボタンをクリックしてください。
以下に示すように変数を作成してください。メッセージボックスの表示を設定するだけですので適当な名前を設定してください。
bFlg | 論理型 | True | デフォルト値は何でも構いません |
マクロエディターのリストにある"マクロ終了"を選択して、 コマンドボタンをクリックしてください。
左側のリストから"While"ループを選択して以下のように設定します。
左側のリストから"If...Then..."を選択して、以下のように設定します。
条件形式 | 簡単なアラーム |
---|---|
演算 | = |
値 | 交差 |
左側のリストから"メッセージボックス"を選択して、以下のように設定します。
以上で設定は完了です。
マクロの検証
マクロを実行させると計測が始まります。計測中、以下のように合否判定ラインを超えない状態では何も起こりません。
一方、下図のようにテンプレートの値を超えると、設定したメッセージボックスが表示され、計測が停止します。
注意
FFT結果が判定ラインに一瞬しかかからない場合、正しく判定されない可能性があります。これは、Whileループでif判定を繰り返している際、if判定とif判定の間にわずかな時間差があり、その間の結果は考慮されない(if判定が実行された瞬間の結果しか参照されない)ためです。そのため、もし判定がシビアな場合は、FFTの平均をピークホールドに設定いただく事をお勧め致します。ピークホールドであれば、合否ラインを超えた結果が残り続けるため、判定を逃すことが無くなります。