FAQ
FAQ検索結果
検索キーワード:
Qトルクトランスデューサのみ購入して、安価なブレーキを自社で購入、他は内製したいと思いますが、その際、注意すべきことを教えて下さい。
負荷側(ブレーキ等) から発生するリップル周波数がわかっていることと、被試験モータのリップルよりも小さなリップル(ノイズ)であることが必要です。
QVersion 3.1 新機能
レポートジェネレータ
- 根本的な見直し
- 新しいオブジェクト。例:表、多角形、矢印、楕円など
- 既存のオブジェクトに対する新しいプロパティ。例:フレーム付きのテキスト、背景のテクスチャー、配置(左・右・中央)
- 拡張された編集コマンド。例:コピー・ペースト、連携したオブジェクト、アンドゥー
- カーブウィンドウ・FAMOS変数リスト・波形エディターとのドラッグ&ドロップの互換性
- 新しいリモートコントロールキット。例:列・行・セルへのデータ転送
- OLEコンテナー
ファイルウィンドウ
- 素早く簡単にデータディレクトリーをナビゲートする新しいファイルウィンドウ表示モード
- imc社LOOK機能を完全に統合
カーブウィンドウ
- カラーマップ表示
- 拡張されたリモートコントロールキット。例:マーカー設定、測定カーソル
- Windowsの設定と独立したプリンター設定
- ウォーターフォール表示モードでの不等間隔のZ軸スケール
- デジタルデータを含んだスタック表示。スペースを節約できるので、アナログとデジタルデータが混在したカーブウィンドウではアナログデータをより大きく表示
- カーブウィンドウ設定のための新しいダイアログ。イベントやセグメントの選択・配置。いくつかのカーブウィンドウを周期比較するためのオプション
波形エディター
- プリンターサポート
- レポートジェネレータとのドラッグ&ドロップの互換性
- 新しいコンテキストメニュー
シーケンスエディター
- シーケンスの印刷
- 新しいコンテキストメニュー
FAMOS関数
- 移動処理(RMS, 最大、最小、合計、平均)
- X軸の代わりにインデックスを使った新しい波形の編集関数 (カット、ペースト、データ抽出など...)
- マルチイベント波形を扱うさまざまな関数
- DIN IEC651 (騒音レベル測定)に準拠したA, B, C周波数特性
- imc社のトランジショナルレコードを使ったデータリダクション・アルゴリズム
- ASCIIファイルの行単位の読み込み・書き込み
- 時間、あるいはX方向での波形の正しい加算、減算、除算、積算
- 時間、あるいはX方向での波形の結合、マージ
- FAMOS編ストから変数名を取得する関数
- ボタンを使ったポップアップメッセージ(例:"Yes", "No" )
- XY波形でも使用できる多くの関数。例:微分、積分
- FFT関数のためのフラットトップウィンドウ
その他
- FAMOSを終了してもオペーションボックスのコマンド履歴を使用できます。
- オペレーションボックスのためのコンテキストメニュー
- 拡張された変数リストのためのコンテキストメニュー
- 変数リスト:新しいキーボードショートカット、文字を入力するとその文字で始まる変数にジャンプします。
- 既存の変数を再読込したときに変数名を変更したり上書きするための向上したダイアログ。新しいオプション<全てを上書き>
- XYや複素波形でもダイアログを使ってASCII保存できます。
- ツールバーや関数ボタンのためのツールチップ(少し遅れてヘルプがポップアップします)
関数の詳細
関数 | 詳細 |
---|---|
波形編集 | |
CutIndex | インデックス番号で指定された区間を切り出します。 |
ValueIndex | インデックスで指示された位置のY座標を返します。 |
SetIndex | 指定したインデックス番号を新しいY座標値で設定する。 |
RekplIndex | 元の波形の一部をインデックス番号を参照して、新しいデータに置き換えます。 |
マルチイベント波形の取扱い | |
EventNew | イベントの設定されていないデータからマルチイベントデータを作成します。 |
EventNum? | マルチショット波形のイベントの数を取得する。 |
EventAppend | マルチイベントデータに新しいイベントを追加します。 |
EventDel | マルチイベントデータからイベントを削除します。 |
EventGet | マルチショット波形からイベントを取り出す。 |
EventProp? | マルチイベントデータのイベントのプロパティを取得します。 |
EventProp | マルチイベントデータのイベントのプロパティを設定します。 |
EventJoin | マルチイベント波形のイベントを破棄する。(1つのイベントに結合する。) |
EventSet | マルチイベントデータを定義したイベントと置き換えます。 |
移動平均など | |
MvRMS | データ低減付き移動RMSの算出 |
ExpoRMS | データ低減付き指数重みをかけたRMS |
MvMin | ポイント数を指定し、その区間を移動させながらの最小値 |
MvMax | ポイント数を指定し、その区間を移動させながらの最大値 |
MvMean | ポイント数を指定し、その区間を移動させながらの平均値 |
MvSum | ポイント数を指定し、その区間を移動させながらの積算値 |
時間とオフセットの結合 | |
Add | 2つの値の和算を取ります。結果はX軸の共通部分のみ返されます。 |
Sub | 2つの値の減算を取ります。結果はX軸の共通部分のみ返されます。 |
Mult | 2つの値の積算を取ります。結果はX軸の共通部分のみ返されます。 |
Div | 2つの値の除算を取ります。結果はX軸の共通部分のみ返されます。 |
Append | 2つの波形を結合します。 |
ASCIIファイルの書き出しと読み込み | |
FileOpenASCII | ASCIIファイルを開く |
FileLineWrite | 開かれたASCIIファイルに1行を書き込む |
FileLineRead | 開かれたASCIIファイルの1行を読み込む |
その他 | |
ABCRating | DIN IEC 651に従うA,B,C特性 |
TransRec | imc社のトランジショナルレコードを使ったデータリダクション・アルゴリズム |
Sum | データの合計を求めます。 |
atan2 | アークタンジェント、デカルト座標での角度 |
VarExist? | 変数が存在するか返す |
VarGetInit | FAMOSロードされている変数の総数を返します。 |
VarGetName? | 指定した変数名を返す |
SetBoxPos | ポップアップする出力ボックスの大きさと位置を設定する。 |
BoxMessage | 出力メッセージボックスを表示させる。 |
Qカーソルで指定した2点を通る直線を求める
Show DATA
CvWin( DATA, 9)
Ret=BoxMessage("Line1設定", "Line1を決定するポイントにカーソルを置き、
確定した後でOKボタンを押してください", "!1")
X1 = CvCursor( DATA, 1)
X2 = CvCursor( DATA, 2)
Y1 = Value( Check1, X1)
Y2 = Value( Check1, X2)
Point1 = XYof(leng(0,2), Leng(0,2))
Point1[1].x = X1
Point1[2].X = X2
Point1[1].y = Y1
Point1[2].y = Y2
CvYAxis( DATA, 2)
CvYAxis( DATA, Point1, 0, 0, 0, 400+5000+70000, -2)
2点間の直線の係数を求めるために関数"Poly"を使用します。
Polyは標準波形しか引数に使用できないので、一度標準波形に変換します。
TempLine = XYdt( Point1.X, Point1.Y, 0.01)
Line1Coff = Poly( TempLine, 1, 2)
Line1 = Line1Coff[2]*ramp( Min(Check1Volt),
(Max(Check1Volt) - Min(Check1Volt))/100, 100)+Line1Coff[1]
CvYAxis( DATA, Line1, 0, 0, 0, 400, -2)
QウォーターフォールのZ方向を正しく表示させたい
OROSデータを読み込んだ場合、ウォーターフォールデータはZ方向のデータを持ちません。セグメント番号で管理しています。
従って、ご指摘のようにそのまま表示すると奥行き方向はセグメント番号で表示されます。
この奥行き方向には回転数や時間などが対応します。これらのデータはX軸がセグメント番号になっています。
ここで、回転数が等間隔になっている場合、Z方向のオフセットとサンプリング間隔を設定すれば正しく表示されます。
通常、緩加速データではこの方法で問題ありません。
OROSは測定時の回転数を記録するため、データ不等間隔になっていますが、データ測定時にユーザーは開始回転数やデルタ回転数を設定しているはずです。従って、回転数に多少の誤差があったとしても仕方がないと考え、これらの値を設定します。
FFTメーカーの製品には自動的にこの補正を行い、設定どおりの回転数を出力しているものもあります。
しかし、実際には上と同じ補正を行っています。
ここで、下図のように回転数の変動が激しい、急加速の場合が問題となります。
この場合、回転数データに対応させたラベリングを行わないといけません。
これを実現するためには、セグメントデータをそれぞれ標準波形に変換して、Z方向のオフセットを指定します。
以下にサンプルシーケンスを示します。
;-----------------------------------------
;データの置き換え
DATA = const_b_wf:Wtf_Spectrum_updown
RPM = const_b_wf:RPM_Profile_Tach_1_RPM
;-----------------------------------------
i=1
;結果を格納する変数
NewData = GrNew()
;---------------------------
;全てのセグメントに対して処理
;---------------------------
While i<=Leng?(Data)/SegLen?(Data)
;セグメントを分解するので名前をつける
Name = TAdd( "segment", Tform(i,"F00"))
<Name> = DATA[i]
;プロパティを設定
SetZOff( <Name>, RPM[i])
SetColor(<Name>, RGB(0,0,0))
SetUnit(<Name>, "RPM", 2)
;グループ変数に追加
GrChanAppend( NewData, <Name>)
Delete <Name>
i=i+1
End
Delete Name
Delete i
注意
Z方向の表示が上図のように表示されない場合、カーブウィンドウメニュー”オプション/3D”を選択して、
データのZ方向を”データのZ座標を加える”を選択してください。
QFAMOSを使った周波数解析サンプル
はじめに
FAMOSシーケンスの内容を説明するために、振動波形データを1チャンネルのみに限定してシーケンスを作成しました。
FAMOSを使用する前に
作成したFAMOSのシーケンスでは”Spectrum Kit[1](スペクトラムキット)”を使用します。スペクトラムキットを利用するためには、以下の手順に従って設定する必要があります。
1)FAMOSを起動
2)メニュー”Option/ Register Kits”を選択します。
3)起動したダイアログから”Spectral-Analysis [im7spct0.dll]”をチェックします。ここでチェックしたキットがFAMOSで利用できます。
以上でFAMOSの準備は終了です。
インストール
作成したサンプルシーケンスをインストールします。
1)ディレクトリーを作成します。
C:\TOYO\
2)以下のファイルを作成したディレクトリーにコピーします。
機能 |
ファイル名 |
説明 |
---|---|---|
データファイル |
C002d01.raw |
振動波形データ |
I001d01.raw |
エンジン回転数データ |
|
簡易3D FFT解析 |
FFT.seq |
シーケンスファイル |
FFT.ccv |
グラフ設定ファイル |
|
3D FFT解析 |
FFT2.seq |
シーケンスファイル |
FFT2.ccv |
グラフ設定ファイル |
|
クランク角連動時間波形 |
Event.seq |
シーケンスファイル |
Event.ccv |
グラフ設定ファイル |
|
RPM‐Vpp表示 |
XY.seq |
シーケンスファイル |
XY.ccv |
グラフ設定ファイル |
|
定幅トラッキング分析 |
Order.seq |
シーケンスファイル |
Order.ccv |
グラフ設定ファイル |
解析内容
簡易3D FFT解析
最終的な目的は周波数と回転数の3D表示ですが、最初に簡単な3Dのサンプルを示します。このシーケンスでは時間波形をFFTし、周波数とその時間経過を3D表示しています。回転数を徐々に変化させる場合などには、時間経過が回転数に相当するため簡単に解析できます。
カーブウィンドウのメニューから”Opt./ Display”を選択して、”Waterfall”をチェックすると、以下のように表示されます。
3D FFT解析
周波数と回転数の3D表示です。
RPM‐Vpp表示
回転数とVpp(Peak-to-Peak)を作成します
Peak-to-Peakを計算する区間はクランク角2回転分としています。
RPM‐Vpp表示
時間波形からクランク角で2回転分を切り出します。
回転信号に対して、開始・終了回転数を設定し、回転数の刻み幅毎にクランク角2回転分の振動波形を切り出します。
各回転数に対応する波形を表示させるためには、カーブウィンドウの上で右クリックして、コンテキストメニューから”Window Configuration”を選択してください。
起動したダイアログの”Event”タブを選択して、下の図のように選択します。
“This Event”に希望する番号を入力してください。このサンプルでは、3000[RPM]がNo.1で以降10[RPM]毎にインクリメントしていきます。
このとき、ダイアログを表示させたままカーブウィンドウの表示が変化することを確認してください。
定幅トラッキング
振動波形を定幅トラッキング解析します。計算は最初に3D FFT解析を行い、その後各次数成分とオーバーオール値を求めます。
シーケンスファイルの実行方法
詳しい説明はマニュアルを参照してください。
1) ーケンスファイル実行させるためには、最初にFAMOSにデータを読み込んでください。データが読み込まれると、変数リストに変数名が表示されます。
2) 次にシーケンスファイルを読み込みます。FAMOSのメニュー”Extra/ Sequece Editor”を選択します。選択すると、下図のようにエディターが起動します。
3)シーケンスエディターのメニュー”File/ Load”を選択して、希望のシーケンスを読み込みます。
4)シーケンスを実行させるためには、メニュー”Run/ Start”を選択します。このメニューを選択するとシーケンスが最後まで完全に実行されます。1行ずつコマンドを実行させるためには、メニュー ”Run/ Step”を選択します。この方法で各ステップを確認しながら実行することを勧めます。ステップ実行では、各ステップの計算結果を確認することができま す。
プログラム
ページの都合上、改行を入れてある部分があります。正確にはシーケンスファイルを参照してください。
7.1 簡易3D FFT解析
;**************************************************
;FFT.Seq
振動波形を3次元表示します。(周波数・回数・レベル)
この方法は、非常に簡単ですが、FFTのように回数軸がRPMにはなりません。
時間の経過に対するFFT結果の推移を観察できます。
;
;FAMOSの組込み関数は、青字で表示されます。
;オンラインヘルプを表示させるためには、カーソルを組込み関数の上に持っていき、"Ctrl+F1"キーを押してください。
;FAMOSメインウィンドウの"Output"ボックスにヘルプが表示されます。
;**************************************************
;----------------------------------
;ベースディレクトリーを設定します。
;ユーザーの環境に合わせて変更してください。
;----------------------------------
FT_Dir = "c:\TOYO\"
;----------------------------------
;データを設定します。
;----------------------------------
FT_Input = Channel_03
;---------------------------------------------
;フィルターを使用するときには、次のコマンドを利用します。
;先頭のセミコロン";"を取り除くと、コマンドが利用できます。
;
;フィルターのパラメータを変更したいときには、直接パラメータを変更しても良いですが、
;フォーミュラーアシスタントを利用すると便利です。
;その方法は、
; 1) "FiltLP"の上にカーソルを置き、
; 2) "SHIFT+F1"キーを押してください。
; 3) フォーミュラーアシスタントが起動しますので、パラメータを入力します。
; 4) "Sequence"というボタンを押すと、コマンドが変更されます。
;---------------------------------------------
;XY_Input = FiltLP(XY_Input, 0, 0, 2, 500)
;FFTパラメータ
FT_WindowWidth = 1024 ; ポイント数
FT_WindowType = 2 ; 0:Rectangle / 1:Hamming / 2:Hanning / 3:Blackman / 4:Blackman-Harris / 5:Flat Top
FT_Overlapping = 50 ; [%]
FT_Reduction = 1
FT_AveragingType = 0
;定常(DC)成分を取り除きます
FT_Input = FiltHP( FT_Input, 0, 0, 2, 0.5)
;FFT演算を行います。
Result = AmpSpectrumPeak(FT_Input,FT_WindowWidth,FT_WindowType,FT_Overlapping,FT_Reduction,FT_AveragingType )
;結果を表示します。
Show Result
CvConfig( Result, TAdd( FT_Dir, "FFT.ccv"))
;テンポラリー変数を削除します。
Del FT_*
7.2 3D FFT解析
;***************************************************************
;FFT2.seq
; 振動波形を3次元表示します。(周波数・回転数・レベル)
; カーブウィンドウでの3D表示の場合、回転数に相当するZ軸は等間隔でプロットされなければなりません。
; 従って、この方法では回転数を一定刻み幅で設定し、そのときの波形に対してFFT演算を実行しています。
;
;FAMOSの組込み関数は、青字で表示されます。
;オンラインヘルプを表示させるためには、カーソルを組込み関数の上に持っていき、"Ctrl+F1"キーを押してください。
;FAMOSメインウィンドウの"Output"ボックスにヘルプが表示されます。
;***************************************************************
;----------------------------------
;ベースディレクトリーを設定します。
;ユーザーの環境に合わせて変更してください。
;----------------------------------
XY_Dir = " c:\TOYO\"
;----------------------------------
;データを設定します。
;----------------------------------
XY_Pulse = Inc_Encod_01
XY_Input = Channel_03
;--------------------------------------------------
;FFTパラメータ
XY_WindowWidth = 1024 ; ポイント数
XY_WindowType = 2 ; 0:Rectangle / 1:Hamming / 2:Hanning / 3:Blackman / 4:Blackman-Harris / 5:Flat Top
XY_Overlapping = 50 ; [%]
XY_Reduction = 1
XY_AveragingType = 0
;--------------------------------------------------
;定常(DC)成分を取り除きます
XY_Input = FiltHP( XY_Input, 0, 0, 2, 0.5)
;---------------------------------------------
;フィルターを使用するときには、次のコマンドを利用します。
;先頭のセミコロン";"を取り除くと、コマンドが利用できます。
;
;フィルターのパラメータを変更したいときには、直接パラメータを変更しても良いですが、
;フォーミュラーアシスタントを利用すると便利です。
;その方法は、
; 1) "FiltLP"の上にカーソルを置き、
; 2) "SHIFT+F1"キーを押してください。
; 3) フォーミュラーアシスタントが起動しますので、パラメータを入力します。
; 4) "Sequence"というボタンを押すと、コマンドが変更されます。
;---------------------------------------------
XY_Input = FiltLP(XY_Input, 0, 0, 2, 500)
;--------------------------------------------
;回転数の設定
;--------------------------------------------
XY_RPM_Start = 700 ;解析開始回転数
XY_RPM_STOP = 3000 ;解析終了回転数
XY_RPM_delta = 10 ;回転数の刻み幅
;計算するポイント数を求めます
XY_Data_num = 1+Abs((XY_RPM_Stop-XY_RPM_Start)/XY_RPM_delta)
;結果を格納する配列を作成します。
;FFTのデータ数が1024点の場合、FFT演算結果は513となります。
;従って、513×演算回数分の2次元マトリクスを用意します。
Result = Leng( 0, (XY_WindowWidth/2+1)*XY_Data_num)
SetSegLen( Result, (XY_WindowWidth/2+1))
;時間データを切り出す時間です。
XY_delta_Time = XY_WindowWidth*XDel?( XY_Input)/2
XY_i=1
XY_RPM = XY_RPM_Start
While XY_RPM<=XY_RPM_Stop
;指定回転数に対応する測定時間の取得
XY_X_Center = Pos( XY_Pulse, XY_RPM)
;1回分のFFTに必要な時間データを取り出します
XY_Temp_Data = Cut( XY_Input, XY_X_center-XY_delta_Time, XY_X_center+XY_delta_Time)
;1回分のFFTを行います。
XY_Seg_Dat = AmpSpectrumPeak( XY_Temp_Data, XY_WindowWidth, XY_WindowType, XY_Overlapping, XY_Reduction, XY_AveragingType )
XY_Delta = Xdel?(XY_Seg_Dat)
;テンポラリーのデータに算出した値を格納します。
Result[ XY_i] = XY_Seg_Dat[1]
XY_i=XY_i+1
XY_RPM = XY_RPM+XY_RPM_delta
End
SetUnit( Result, "RPM", 2)
SetZoff( Result, XY_RPM_Start)
SetZdel( Result, XY_RPM_delta)
XUnit Result "Hz"
Result = Xdel( Result, XY_Delta)
Show Result
CvConfig( Result, TAdd( XY_Dir, "FFT2.ccv"))
Del XY_*
7.3 RPM‐Vpp表示
;***************************************************************
;XY.seq
; 回転数とVpp(Peak-to-Peak)を作成します
; Peak-to-Peakを計算する区間はクランク角2回転分としています。
;
;FAMOSの組込み関数は、青字で表示されます。
;オンラインヘルプを表示させるためには、カーソルを組込み関数の上に持っていき、"Ctrl+F1"キーを押してください。
;FAMOSメインウィンドウの"Output"ボックスにヘルプが表示されます。
;***************************************************************
;----------------------------------
;ベースディレクトリーを設定します。
;ユーザーの環境に合わせて変更してください。
;----------------------------------
XY_Dir = " c:\TOYO\"
;----------------------------------
;データを設定します。
;----------------------------------
XY_Pulse = Inc_Encod_01
XY_Input = Channel_03
;---------------------------------------------
;フィルターを使用するときには、次のコマンドを利用します。
;先頭のセミコロン";"を取り除くと、コマンドが利用できます。
;
;フィルターのパラメータを変更したいときには、直接パラメータを変更しても良いですが、
;フォーミュラーアシスタントを利用すると便利です。
;その方法は、
; 1) "FiltLP"の上にカーソルを置き、
; 2) "SHIFT+F1"キーを押してください。
; 3) フォーミュラーアシスタントが起動しますので、パラメータを入力します。
; 4) "Sequence"というボタンを押すと、コマンドが変更されます。
;---------------------------------------------
;XY_Input = FiltLP(XY_Input, 0, 0, 2, 500)
;--------------------------------------------
;回転数の設定
;--------------------------------------------
XY_RPM_Start = 700 ;解析開始回転数
XY_RPM_STOP = 3000 ;解析終了回転数
XY_RPM_delta = 10 ;回転数の刻み幅
;計算するポイント数を求めます
XY_Data_num = 1+Abs((XY_RPM_Stop-XY_RPM_Start)/XY_RPM_delta)
;テンポラリーのデータです
XY_X_data = Leng(0, XY_Data_num)
XY_Y_data = Leng(0, XY_Data_num)
XY_i=1
XY_RPM = XY_RPM_Start
While XY_RPM<=XY_RPM_Stop
;指定回転数に対応する測定時間の取得
XY_X_Center = Pos( XY_Pulse, XY_RPM)
;2回転に対応する時間を求めます
XY_RPM_Time = 2/(XY_RPM/60)
;回転数に対応する時間の2回転分を切り出します。
XY_Temp_Data = Cut( XY_Input, XY_X_center-XY_RPM_Time, XY_X_center+XY_RPM_Time)
;この区間のPeak-to-Peakを求めます。
XY_Vpp=Max( XY_Temp_Data)-Min( XY_Temp_Data)
;テンポラリーのデータに算出した値を格納します。
XY_X_Data = ReplIndex( XY_X_Data, XY_RPM, XY_i)
XY_Y_Data = ReplIndex( XY_Y_Data, XY_Vpp, XY_i)
XY_i=XY_i+1
XY_RPM = XY_RPM+XY_RPM_delta
End
;XY波形を作成します
Result = XYof( XY_X_Data, XY_Y_Data)
;単位を設定します
XUnit Result "RPM"
YUnit Result "μS"
Show Result
Del XY_*
7.4 RPM‐Vpp表示
;****************************************************************
;Event.Seq
; 時間波形からクランク角で2回転分を切り出します。
; 回転信号に対して、開始・終了回転数を設定し、回転数の刻み幅毎にクランク角2回転分の振動波形を切り出します
;
;FAMOSの組込み関数は、青字で表示されます。
;オンラインヘルプを表示させるためには、カーソルを組込み関数の上に持っていき、"Ctrl+F1"キーを押してください。
;FAMOSメインウィンドウの"Output"ボックスにヘルプが表示されます。
;****************************************************************
;----------------------------------
;ベースディレクトリーを設定します。
;ユーザーの環境に合わせて変更してください。
;----------------------------------
Ev_Dir = " c:\TOYO\"
;--------------------------------------------
;回転数の設定
;--------------------------------------------
EV_RPM_Start = 700 ;解析開始回転数
EV_RPM_STOP = 3000 ;解析終了回転数
EV_RPM_delta = 10 ;回転数の刻み幅
;--------------------------------------------
;データの設定
;--------------------------------------------
EV_Pulse = Inc_Encod_01
EV_Input = Channel_03
;---------------------------------------------
;フィルターを使用するときには、次のコマンドを利用します。
;先頭のセミコロン";"を取り除くと、コマンドが利用できます。
;
;フィルターのパラメータを変更したいときには、直接パラメータを変更しても良いですが、
;フォーミュラーアシスタントを利用すると便利です。
;その方法は、
; 1) "FiltLP"の上にカーソルを置き、
; 2) "SHIFT+F1"キーを押してください。
; 3) フォーミュラーアシスタントが起動しますので、パラメータを入力します。
; 4) "Sequence"というボタンを押すと、コマンドが変更されます。
;---------------------------------------------
;XY_Input = FiltLP(XY_Input, 0, 0, 2, 500)
;*****************************************
;1回目のみイベントデータを新規に定義します
;*****************************************
;指定回転数に対応する測定時間の取得
EV_RPM = EV_RPM_Start
EV_X_Center = Pos( Ev_Pulse, EV_RPM)
;2回転に対応する時間を求めます
EV_RPM_Time = 2/(EV_RPM/60)
;回転数に対応する時間の2回転分を切り出します。
EV_Temp_Data = Cut( EV_Input, EV_X_center-EV_RPM_Time, EV_X_center+EV_RPM_Time)
;データをイベントデータとして記録します。
Result = EventNew(EV_Temp_Data, 0)
;*****************************************
;2回目以降はイベントデータに追加します。
;*****************************************
EV_RPM = EV_RPM+EV_RPM_delta
While EV_RPM<=EV_RPM_Stop
;指定回転数に対応する測定時間の取得
EV_X_Center = Pos( EV_Pulse, EV_RPM)
;2回転に対応する時間を求めます
EV_RPM_Time = 2/(EV_RPM/60)
;回転数に対応する時間の2回転分を切り出します。
EV_Temp_Data = Cut( EV_Input, EV_X_center-EV_RPM_Time, EV_X_center+EV_RPM_Time)
EventAppend( Result, EV_Temp_Data, 0)
EV_RPM = EV_RPM+EV_RPM_delta
End
Show Result
CvConfig( Result, TAdd( Ev_Dir, "Event.ccv"))
Del Ev_*
7.5 定幅トラッキング分析
;***************************************************************
;Order.seq
; 振動波形を次数分析します。
;
;FAMOSの組込み関数は、青字で表示されます。
;オンラインヘルプを表示させるためには、カーソルを
;組込み関数の上に持っていき、"Ctrl+F1"キーを押してください。
;FAMOSメインウィンドウの"Output"ボックスにヘルプが表示されます。
;***************************************************************
;----------------------------------
;ベースディレクトリーを設定します。
;ユーザーの環境に合わせて変更してください。
;----------------------------------
OR_Dir = "c:\TOYO\"
;------------------------------------
;次数を設定します。
;------------------------------------
OR_Order2 = 2 ;次数
OR_Order4 = 4 ;次数
OR_Order_delta = 5 ;[Hz]
;------------------------------------
;ウォーターフォール波形を作成
;------------------------------------
OR_TempDir = TAdd( OR_Dir, "FFT2.seq")
Sequence <OR_TempDir>
;------------------------------------
;ウォーターフォールから回転数の情報を取得
;------------------------------------
OR_RPMStart = ZOff?( Result)
OR_delta = ZDel?( Result)
OR_num = Leng?( Result)/SegLen?( Result)
OR_RPMStop = OR_RPMStart + OR_delta*(OR_num-1)
;----------------------------------
;結果を格納する配列を作成します。
;----------------------------------
ResOrder2 = Leng( 0, OR_num)
ResOrder4 = Leng( 0, OR_num)
ResOrderOA = Leng( 0, OR_num)
OR_i = 1
OR_RPM = OR_RPMStart
While OR_RPM<=OR_RPMStop
;2次成分を取り出します。
OR_Temp1 = Cut( Result[OR_i], OR_RPM/60*OR_Order2-OR_Order_delta, OR_RPM/60*OR_Order2+OR_Order_delta)
ResOrder2 = ReplIndex( ResOrder2, RMS( OR_Temp1), OR_i)
;4次成分を取り出します。
OR_Temp2 = Cut( Result[OR_i], OR_RPM/60*OR_Order4-OR_Order_delta, OR_RPM/60*OR_Order4+OR_Order_delta)
ResOrder4 = ReplIndex( ResOrder4, RMS( OR_Temp2), OR_i)
;OverAllを計算します
OR_Temp = Sqrt( SUM( Result[OR_i]^2))
ResOrderOA = ReplIndex( ResOrderOA, OR_Temp, OR_i)
OR_i = OR_i+1
OR_RPM = OR_RPM+OR_delta
End
;----------------------------------
;波形の表示
;----------------------------------
Show ResOrder2
CvYaxis( ResOrder2, ResOrder4, 0, 0, 0, 400, -2 )
CvYaxis( ResOrder2, ResOrderOA, 0, 0, 0, 400, -2 )
ResOrder2 = XOff( ResOrder2, OR_RPMStart)
ResOrder2 = XDel( ResOrder2, OR_delta)
SetComm( ResOrder2, "2次")
ResOrder4 = XOff( ResOrder4, OR_RPMStart)
ResOrder4 = XDel( ResOrder4, OR_delta)
SetComm( ResOrder4, "4次")
ResOrderOA = XOff( ResOrderOA, OR_RPMStart)
ResOrderOA = XDel( ResOrderOA, OR_delta)
SetComm( ResOrderOA, "O.A.")
XUnit ResOrder2 "RPM"
CvConfig( ResOrder2, TAdd( OR_Dir, "Order.ccv"))
;-----------------------------------
;変数の削除
;-----------------------------------
Del OR_*
Del Result
[1]キットとはFAMOSの機能を拡張させる関数です。スペクトラムキットには周波数解析用の関数が多数含まれます。
Qサンプリング速度と解析レンジ
Qテーブルビュー: テーブルセルにテキストを動的に設定したい
Qチャンネル名を日本語で表示したい
Version5.0以降
変数名に日本語文字列を使用することができるようになりましたので、カーブウィンドウに日本語名が表示されます。Version4以前のようなことはありません。
ただし、一部の2バイト文字(ゼ ゾ 深 転 望 etc.)はエラーになります。それらの文字を使用する場合は変数名を{}で囲むことであらゆる文字が使用できます。あるいは後述の「Version4以前では」の手法で凡例に日本語表示できます。
例)
回転 = ramp(0, 0.001, 10000) ; "転"は変数名に使用できない文字のためエラー
{回転} = ramp(0, 0.001, 10000) ; {}で囲むことにより正常に完了
{高速回転} = {回転} * 100 ; {}で囲むことにより正常に完了
(シーケンス内で日本語を使用する場合の注意点)
スペースで式間を調整する際に全角スペースを使用しないように注意して下さい。全角スペースは目視できないため、見た目で判別しにくいエラーになります。
Version4以前では
直接日本語の変数名を指定しないで下さい。文字コードの問題で正常に処理されない場合があります。
変数名に日本語を使用しなくでもカーブウィンドウなどに日本語を表示させることは可能です。
方法
STEP1
コメントに表示したい日本語を設定する
STEP2
波形を表示させる
STEP3
カーブウィンドウメニュー”オプション/凡例”をクリックして、凡例のテキストで”チャンネルコメント”選択してください。
QHDシリーズの製造国はどこですか?
Q時系列データにフィルタをかける方法
操作方法を以下に示します
(V6.7以降)
- アナライザ設定ブラウザ>フィルタビルダで、希望するフィルタを作成します。
- アナライザ設定ブラウザ>フロントエンド>入力>入力1>入力フィルタで、フィルタビルダで設定したフィルタを選択してください。
(V6.0以前)
- コネクションモードでNVGateを起動してください。
- レコードで時系列データを記録します。
- 記録したレコードデータをプレーヤへ読み込んでください。
- フロントエンドの出力にプレーヤの信号を接続してください。
- フィルタビルダで希望するフィルタを作成します。
- フロントエンドの出力のフィルタ欄に作成したフィルタを設定してください。
- アナライザのOut端子をInput1端子と物理的に接続してください。 (Out端子からは記録した波形にフィルタリング処理をした信号が出力されます)
- 入力1をレコーダと接続してください。
以上の操作を行う事で記録した波形にフィルタ処理を施す事が可能です。
QWAVEファイルをインポートできますか?
Qサウンドキットが見つかりません
サウンドキットがインストールされているかどうか確認するためにはFAMOSメニュー"エクストラ/オプション"をクリックしてください。
次のダイアログが表示されますので左側のリストから”機能拡張・キット関数”を選択してください。右側に対応したパネルが表示されます。
このリストに”SoundKit”が存在するかどうか確認してください。
リストに存在しなければサウンドキットはPCにインストールされていません。CD-ROMから再度FAMOSをインストールしてください。このとき、途中でオプションを選択するダイアログが表示されます。ここでサウンドキットを指定してください。
リストに存在している場合には左側のチェックボックスがチェックされているかどうか確認してください。このチェックボックスがチェックされるとキット関数がFAMOSに呼び込まれ、関数リストの”Kit”タブにサウンドキット関数が表示されます。
【注意】
サウンドキットはデフォルトではインストールされません。
Qカーブウィンドウをカラーで表示させるには?
Q矩形波の作成
Q連続したフォルダー内のデータをループで結合する方法
;分割した保存したデータを結合する方法 ;例えば停電などで途中までのデータが消失してしまわないように ;1時間の測定に対して10分毎に保存したと考えます。 ; ;ディレクトリー構造は以下と仮定します。 ;(FAMOSのサンプルデータと同じです。) ; ; C:\imc\dat\Experim\ ; | ; |__ 0001\ ; | Channel1.DAT ; | Channel3.DAT ; |__ 0002\ ; | Channel1.DAT ; | Channel3.DAT ; |__ 0003\ ; | Channel1.DAT ; | Channel3.DAT ; |__ 0004\ ; | Channel1.DAT ; | Channel3.DAT ; |__ 0005\ ; | Channel1.DAT ; | Channel3.DAT ; |__ 0006\ ; Channel1.DAT ; Channel3.DAT ; ;以下にFAMOSシーケンスを示します。Example
Example
;;;;ダミーデータの作成 Channel1 = Leng(0,0) Channel3 = Leng(0,0) ;;;;Main Loop FAMOS i=1 While i<=6 ;;;;ファイル名の作成 dir = "C:\imc\dat\Experim\000" + TForm(i, "F00") temp1 = dir + "\Channel1.DAT" temp2 = dir + "\Channel3.DAT" ;;;;データの読み込み Load <temp1> data1 Load <temp2> data2 ;;;;データの結合 Channel1 = Join( Channel1, data1) Channel3 = Join( Channel3, data2) i=i+1 End
■日付フォルダー内のデータをループで結合する方法
フォルダー名が日付になっていると”その1”の方法ではエラーが表示されてしまいます。
どのように対応すればよいですか?
; C:\imc\dat\Experim\ ; | ; |__ 2003-01-23 10-31-22 (1)\ ; | Channel1.DAT ; | Channel3.DAT ; |__ 2003-01-23 10-31-32 (2)\ ; | Channel1.DAT ; | Channel3.DAT ; |__ 2003-01-23 10-31-42 (3)\ ; | Channel1.DAT ; | Channel3.DAT
上記のようにフォルダー名にスペースや括弧が含まれている場合、関数"LOAD"はパスを認識できません。
このような場合、ファイル関数を使用してください。
Example
;;;;ダミーデータの作成 Channel1 = Leng(0,0) Channel3 = Leng(0,0) ;;;;Main Loop FID = FsFileListNew("c:\imc", "*.*", 1, 0, 0) i=1 While i<=FsFileListGetCount(FID) ;;;;ファイル名の作成 dir = FsFileListGetName(FID,i) Name1 = dir + "\Channel01.DAT" Name2 = dir + "\Channel03.DAT" ;;;;データの読み込み DID = FileOpenDSF(Name1,0) data1 = FileObjRead(DID,1) Err = FileClose(DID) DID = FileOpenDSF(Name2,0) data2 = FileObjRead(DID,1) Err = FileClose(DID) ;;;;データの結合 Channel1 = Join( Channel1, data1) Channel3 = Join( Channel3, data2) i=i+1 End FsFileListClose(FID)
Qアクティブラインをキーボードで移動できますか?
Q数値を切り上げするためには?
QDDE通信でExcelにデータを転送できますか?(シーケンスを使用:Excel ⇒ FAMOS)
Q簡単に式を作成するためには?
最初にコマンドを探すためには、関数ボタンやフォーミュラーアシスタントを使用してください。
変数リストから関数ボックスの希望するボタンへドラッグ&ドロップしてください。
以下のようにフォーミュラアシスタントで簡単にパラメータを指定できます。
既存のシーケンスなどを変更する場合
関数が決まり、そのパラメータを入力する際にフォーミュラーアシスタントを利用すると、簡単にパラメータを指定できます。
具体的な方法は、
1)オペレーションボックスやシーケンスエディター上でパラメータを指定したい関数にカーソルをあてます。
2)このあと、SHIFT + F1ボタンを押してください。以下のダイアログで簡単にパラメータを指定できます。
Qコマンドパラメータを利用できますか?
以下のコマンドパラメータが用意されています。
/C 設定ファイルのレジストリーキーの設定
/L 測定ファイルを開く
/D 測定ファイルを開き、表示
/F インポートフィルター指定
/S シーケンスを実行
/E オペレーションの実行
例:
Windowsメニュー“スタート / ファイル名を指定して実行”を選択し、以下のように入力して実行させてください。
FAMOSを起動した後、変数”Slope”を読み込み、表示させます。
例:
インポートフィルターを使用する場合には以下のように /F オプションを使用して下さい。
c:\imc\bin\famos /D recorder.dlo /F recorder.fas