FAQ
FAQ検索結果
検索キーワード:
Q”コミュニケーションサーバを生成できません”というエラーメッセージが表示され、NVGateを起動できない
ファイアウォールによって、OROS-PC間の通信を遮断されています。
コントロールパネルのセキュリティセンタを開き、”Windowsファイアウォール”を停止するか、OROS-PC間の通信が遮断されないよう”例外”設定を行ってください。
例外設定の設定方法については、ハードウェアと接続できない(その2)をご参照ください。
QIPConfigでアドレスを確認したところ、0.0.0.0と表示される
Qライセンスキーの確認方法
NVGateのインストールフォルダにある”License update”を実行してください。
NVGateをデフォルト設定のままインストールした場合、License updateは以下のファイル”DongleUpdate.exe”になります。
V8.3まで
C:\Program Files (x86)\OROS\OR3X\DongleUpdate.exe
V9以降
C:\OROS\Programs\NVGate\DongleUpdate.exdive
以下のダイアログが表示されるので、左下のTargetから対象(Dongle or Hard)を選択して”Get key”ボタンをクリックしてください。

登録されたライセンス番号が表示されます。

Q底が2の対数を計算したい。
QX軸を右から左へ増加させて表示するサンプルパネル
FAMOSでサンプルパネルを読み込んで実行してください。
変数リストの[測定]タブで波形を選択してください。選択した波形と時間軸を右から左へ描写した波形を表示します。
2DカーブウィンドウではX軸を右から左へ増加するようには表示できませんが、3D表示に投影することにより擬似的に表示することができます。
シーケンスで実行する場合は下記URLをご参照ください。
https://www.toyo.co.jp/mecha/faq/searchlist/?topics_keyword=%E5%8F%B3%E3%81%8B%E3%82%89%E5%B7%A6%E3%81%B8
(表示座標の大きさ等の違いについて)
下側の「反転」波形は3D表示を利用しています。そのため2D表示の「標準」波形と比べて、座標の大きさ(X軸やY軸の長さ)や軸のテキストなどにおいて違いがあります。
Q数値からチャンネル名などの文字列を作成したい。
QXY波形の各点の値をインデックスを指定して取得するには?
Q時系列での窓関数の形状の確認
Q極大値を検出する方法
以下のような波形に対するピーク値を検出します。
検出方法は波形の極大値を検出します。
ピーク値の検出には、関数”xMax”が便利です。この関数は、スレッショルド以上の極大値のX値を返します。
サンプル波形に対して、スレッショルド0.9でこの関数を適用します。
PkValue = xMax(arches, 0.9 )
結果は以下のようになります。
4.24e-005
0.0001848
0.0003112
0.0004368
0.0005624
0.0006872
この値をサンプル波形に重ねて表示する場合には、ここで求めたX値に対応したY値を求め、XY波形を作成しなければなりません。これは、先に説明した関数”Value”を利用します。
PK = XYof( PkValue,Value( arches, PkValue ))

Q絶対時間での波形の切り出し
FAMOSでサンプルパネルを読み込んで実行してください。
なお、パネルウィジットを使用せずにシーケンスで行う場合は下記FAQをご参照ください。
Q. 波形の切り出しを絶対時間で行いたい。
https://www.toyo.co.jp/mecha/faq/list/?contents_type=1302&c1=588&c2=1446&l=3
Q波形を塗りつぶしたい。
Qグループ名は異なるが、ファイル名が同じデータに対して共通のCCVファイルを適用したい
チャンネルの置き換えを行うことで対応できます。
注意このシーケンスを実行させる前に、以下のコマンドを実行してダミーデータを作成してください。
_dummy1 = Ramp(0,1,10)
_dummy2 = Ramp(0,1,10)
_dummy3 = Ramp(0,1,10)
_dummy4 = Ramp(0,1,10)
この後、これらの変数を表示させ、希望する設定を行います。設定後にカーブウィンドウのメニュー“<>/名前を付けて保存”をクリックして、_dummy1.CCVなど適当な名前で保存してください。
;ダミーデータの作成
_dummy1 = Ramp(0,1,10)
_dummy2 = Ramp(0,1,10)
_dummy3 = Ramp(0,1,10)
_dummy4 = Ramp(0,1,10)
;カーブウィンドウ設定(CCVファイル)を読み出します。
_err = CvConfig( _dummy1, "_dummy1.CCV")
_err = CvConfig( _dummy2, "_dummy2.CCV")
_err = CvConfig( _dummy3, "_dummy3.CCV")
_err = CvConfig( _dummy4, "_dummy4.CCV")
;カーブウィンドウの内容のみ置き換えます。
_err = CvReplaceChannel( _dummy1, Test2:sample1, "_dummy1")
_err = CvReplaceChannel( _dummy2, Test2:sample2, "_dummy2")
_err = CvReplaceChannel( _dummy3, Test2:sample3, "_dummy3")
_err = CvReplaceChannel( _dummy4, Test2:sample4, "_dummy4")
Qエディットボックスの内容を動的に取得したい
Q文字列を置換
Q正弦波・余弦波の作成
正弦波・余弦波は以下のように作成します。それらは振幅1で位相PI/4です。予約変数PIを使用しています。関数”Sin”、”Cos”は関数グループ1にあります。
SineWave = Sin (Ramp ( PI/2, PI/128, 512 ))
CosWave = Cos (Ramp ( PI/2, PI/128, 512 ))

さらに以下のように設定すると、パラメータを指定して正弦波を生成できます。
datanum = 1024 ; [Point]
freq1 = 10 ; [Hz]
gain1 = 0.5
duration = 4 ; [sec]
data = gain1 * Cos( Ramp( 0, pi2/datanum, datanum*duration) * freq1)
data = XDel( data, 1/datanum)
QExcelとのDDE通信の例
;値を取得する
a = DDEInq( "EXCEL", "Sheet1", "R3C2", 1)
;ブック名を指定して値を取得する
a = DDEInq( "EXCEL", "[Book2]Sheet1", "R3C2", 1)
;新規ブック作成
Err = DDESend( "EXCEL", "SYSTEM", "[NEW(1)]")
;マクロを実行する
Err = DDESend( "EXCEL", "SYSTEM", "[RUN("+ SvtoChar(34) + "book1.xls!macro1" + SvtoChar(34) + ")]")
;指定したセルを選択状態にする
Err = DDESend( "EXCEL", "SYSTEM", "[SELECT("+ SvtoChar(34) + "R1C1" + SvtoChar(34) + ")]")
;セルを挿入する
Err = DDESend( "EXCEL", "SYSTEM", "[INSERT(1)]")
;Excel上で指定したキーの並びが押されたかのような動作をさせる
Err = DDESend( "EXCEL", "SYSTEM", "1243{ENTER}")
;保存
Err = DDESend( "EXCEL", "SYSTEM", "[Save]")
;印刷
Err = DDESend( "EXCEL", "SYSTEM", "[Print]")
;名前を付けて保存する
Err = DDESend( "EXCEL", "SYSTEM", "[Save.As(" + SvToChar(34) + "d:\tmp\bbb.xls" + SvToChar(34) + ")]")
;ファイルを開く
Err = DDESend( "EXCEL", "SYSTEM", "[Open(" + SvToChar(34) + "d:\tmp\bbb.xls" + SvToChar(34) + ")]")
;ファイルを閉じる
Err = DDESend( "EXCEL", "SYSTEM", "[Close]")
;Excelを閉じる
Err = DDESend( "EXCEL", "SYSTEM", "[Quit]")
;切り取り
Err = DDESend( "EXCEL", "SYSTEM", "[cut("+ SvtoChar(34) + "R3C2" + SvtoChar(34) + ")]")
;貼り付け
Err = DDESend( "EXCEL", "SYSTEM", "[Paste("+ SvtoChar(34) + "R5C3" + SvtoChar(34) + ")]")
Q決まり文句の設定方法
FAMOS4.xから”決まり文句”という機能が追加されました。これはよく使用する文法などや用例を保存しておくことができるという機能です。

この内容はユーザーが自由に編集することができます。
編集方法
FAMOSをインストールしたディレクトリーにBINというフォルダーがあります。この中に"famosbps.txt"というファイルがあります。”決まり文句”の内容はこのファイルで定義されています。テキストエディターなどで開いてください。
文法
| # | コメント |
| [ ] | メニュー |
階層構造をとりたい場合、'¥'で区切ってください。
使用例
新しいメニューを作成するには以下のように設定してください。
[新しい項目]
a = Ramp( 0, 1, 100)
Show a
階層構造をとりたい場合、以下のようにしてください
[新しいグループ\新規項目A]
a = Ramp( 0, 1, 100)
Show a
[新しいグループ\新規項目B]
b = Ramp( 0, 1, 100)
Show b
Qドングルが認識されないため起動できない(その1)
"スタートメニュー/プログラム/OROS NVGate Software/Check Configuration あるいは Compliance Check"を選択してください。以下のダイアログが表示されます。

上図のように”Sentinelドライバはインストールされていません”と表示された場合、ドングルを認識するドライバがインストールされていません。
インストールCD-ROM内に下記のドライバがございますので、ご使用中のPCに合わせて該当するフォルダを開き、”Setup.exe”を実行させてください。その際、ドングルキーはPCから外しておきます。
- SentinelDriver_7.4.0 ←Windows XP 用
- SentinelDriver_7.6.4 ←Windows 7以降
実行後は以下の手順に従ってください。
下記ダイアログが表示されたら、Next>を選択します。

続いて、Modifyを選択し、Next>を選択します。

Next>を選択します。

最後に、Installを選択します。

下記ダイアログが表示されたら、Finishを選択し、PCを再起動させます。

Q目盛の表示エリアが大きすぎるので小さくしたい
Q定幅トラッキング分析
回転数に回転パルスを入力した場合のトラッキング分析のサンプルシーケンスを示します。



_REV = REV
_DATA = acc
;------------------------------
;エンジンパルスを検索します。
;------------------------------
_res = SearchLevel( _REV, 2, 0, 0, 2, 1, 0, 1)
;回転パルスを検出できない場合、シーケンス終了
_num = Leng?(_res.X)
If _num=0
_Ret = BoxMessage("警告", "回転パルスを検出できませんでした", "!1")
del _*
ExitSequence
End
;------------------------------
;回転数を計算します。
;------------------------------
_res1 = CutIndex( _res.X, 1, _num-1)
_res2 = CutIndex( _res.X, 2, _num)
_DiffTime = _Res2-_Res1
_res.Y =
_DiffTime
_res[_num].Y = _res[_num-1].Y
;------------------------------
;定幅FFT解析
;------------------------------
_WindowWidth = 256
_Result3D =
AmpSpectrumRMS( _DATA, _WindowWidth, 2, 0, 1, 0)
;------------------------------
;
トラッキングデータの取得
;------------------------------
_BlockTime = _WindowWidth * XDel?( _DATA)
_Order = BoxValue?("取得したい次数を入力してください",1,0)
_SegNum = Leng?( _Result3D)/SegLen?(_Result3D)
_ResultTrack = XYof( Leng( 0, _SegNum), Leng( 0, _SegNum))
_i=1
While _i<=_SegNum
_ResultTrack.X = ReplIndex( _ResultTrack.X, 60*1/Value( res,
_BlockTime*(_i-1)), _i)
_Value = Value( _Result3D[_i], _ResultTrack[_i].X/60*_Order)
_ResultTrack.Y = ReplIndex( _ResultTrack.Y, _Value, _i)
_i=_i+1
End
XUnit _ResultTrack rpm
;------------------------------
;結果の保存
;------------------------------
ResultTrack=_ResultTrack ;次数データ(回転数 vs. 次数データ)
Result3D = _Result3D ;3D FFT結果
show ResultTrack
show Result3D
_Ret = BoxMessage("注意", "Result3Dはウォーターフォール表示に
してください","!1")
del _*

