【理化学計測】オウンドメディア:電気化学測定(02)
【理化学計測】オウンドメディア:電気化学測定(02)に関するFAQ
Qサンプリング速度と解析レンジ
Qテーブルビュー: テーブルセルにテキストを動的に設定したい
Qチャンネル名を日本語で表示したい
FAQ ID:c034
Version5.0以降
変数名に日本語文字列を使用することができるようになりましたので、カーブウィンドウに日本語名が表示されます。Version4以前のようなことはありません。
ただし、一部の2バイト文字(ゼ ゾ 深 転 望 etc.)はエラーになります。それらの文字を使用する場合は変数名を{}で囲むことであらゆる文字が使用できます。あるいは後述の「Version4以前では」の手法で凡例に日本語表示できます。
例)
回転 = ramp(0, 0.001, 10000) ; "転"は変数名に使用できない文字のためエラー
{回転} = ramp(0, 0.001, 10000) ; {}で囲むことにより正常に完了
{高速回転} = {回転} * 100 ; {}で囲むことにより正常に完了
(シーケンス内で日本語を使用する場合の注意点)
スペースで式間を調整する際に全角スペースを使用しないように注意して下さい。全角スペースは目視できないため、見た目で判別しにくいエラーになります。
Version4以前では
直接日本語の変数名を指定しないで下さい。文字コードの問題で正常に処理されない場合があります。
変数名に日本語を使用しなくでもカーブウィンドウなどに日本語を表示させることは可能です。
方法
STEP1
コメントに表示したい日本語を設定する
STEP2
波形を表示させる
STEP3
カーブウィンドウメニュー”オプション/凡例”をクリックして、凡例のテキストで”チャンネルコメント”選択してください。
Q時系列データにフィルタをかける方法
FAQ ID:x199
操作方法を以下に示します
(V6.7以降)
- アナライザ設定ブラウザ>フィルタビルダで、希望するフィルタを作成します。
- アナライザ設定ブラウザ>フロントエンド>入力>入力1>入力フィルタで、フィルタビルダで設定したフィルタを選択してください。
(V6.0以前)
- コネクションモードでNVGateを起動してください。
- レコードで時系列データを記録します。
- 記録したレコードデータをプレーヤへ読み込んでください。
- フロントエンドの出力にプレーヤの信号を接続してください。
- フィルタビルダで希望するフィルタを作成します。
- フロントエンドの出力のフィルタ欄に作成したフィルタを設定してください。
- アナライザのOut端子をInput1端子と物理的に接続してください。 (Out端子からは記録した波形にフィルタリング処理をした信号が出力されます)
- 入力1をレコーダと接続してください。
以上の操作を行う事で記録した波形にフィルタ処理を施す事が可能です。
QWAVEファイルをインポートできますか?
Qサウンドキットが見つかりません
FAQ ID:u002
サウンドキットがインストールされているかどうか確認するためにはFAMOSメニュー"エクストラ/オプション"をクリックしてください。
次のダイアログが表示されますので左側のリストから”機能拡張・キット関数”を選択してください。右側に対応したパネルが表示されます。
このリストに”SoundKit”が存在するかどうか確認してください。
リストに存在しなければサウンドキットはPCにインストールされていません。CD-ROMから再度FAMOSをインストールしてください。このとき、途中でオプションを選択するダイアログが表示されます。ここでサウンドキットを指定してください。
リストに存在している場合には左側のチェックボックスがチェックされているかどうか確認してください。このチェックボックスがチェックされるとキット関数がFAMOSに呼び込まれ、関数リストの”Kit”タブにサウンドキット関数が表示されます。
【注意】
サウンドキットはデフォルトではインストールされません。
Qカーブウィンドウをカラーで表示させるには?
Q矩形波の作成
FAQ ID:s056
FAMOSでの信号生成
FAMOSは測定されたデータを処理するためのソフトウェアですが、関数の働きを理解したり、特性関数を作成するために信号を生成しなければなりません。
単純な波形であれば、波形エディターでも作成できますが、少し複雑になると手に負えません。
関数”Join”を使って、上で作成した2つの波形を組み合わせて矩形波を作成します。関数”Join”は関数グループ6にあります。
Value0 = Leng ( 0, 10 )
Value3 = Leng ( 0, 10 ) + 3
Rectangle1 = Join ( Value0, Value3 )
Rectangle2 = Join ( Rectangle1, Rectangle1 )
Q連続したフォルダー内のデータをループで結合する方法
FAQ ID:s025
;分割した保存したデータを結合する方法 ;例えば停電などで途中までのデータが消失してしまわないように ;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簡単に式を作成するためには?
FAQ ID:s006
最初にコマンドを探すためには、関数ボタンやフォーミュラーアシスタントを使用してください。
変数リストから関数ボックスの希望するボタンへドラッグ&ドロップしてください。
以下のようにフォーミュラアシスタントで簡単にパラメータを指定できます。
既存のシーケンスなどを変更する場合
関数が決まり、そのパラメータを入力する際にフォーミュラーアシスタントを利用すると、簡単にパラメータを指定できます。
具体的な方法は、
1)オペレーションボックスやシーケンスエディター上でパラメータを指定したい関数にカーソルをあてます。
2)このあと、SHIFT + F1ボタンを押してください。以下のダイアログで簡単にパラメータを指定できます。
Qコマンドパラメータを利用できますか?
FAQ ID:g003
以下のコマンドパラメータが用意されています。
/C 設定ファイルのレジストリーキーの設定
/L 測定ファイルを開く
/D 測定ファイルを開き、表示
/F インポートフィルター指定
/S シーケンスを実行
/E オペレーションの実行
例:
Windowsメニュー“スタート / ファイル名を指定して実行”を選択し、以下のように入力して実行させてください。
FAMOSを起動した後、変数”Slope”を読み込み、表示させます。
例:
インポートフィルターを使用する場合には以下のように /F オプションを使用して下さい。
c:\imc\bin\famos /D recorder.dlo /F recorder.fas
QMe’Scopeに伝達関数のデータを転送したい
Q信号波形にA特性フィルタを適用して波形を記録したい(その2)
FAQ ID:x092
信号波形にA特性フィルタを適用して、RMS値でその波形を記録できますか?
x091で紹介したオプション"オーバオールアコースティック"を利用する方法をお勧めします。
ここでは、オプションを使用しない方法を紹介します。但し、少し手間がかかります。また、時間ウェイティングは適用できません。
【A特性フィルタの適応】
(V6.7以降)
アナライザ設定ブラウザ>フロントエンド>入力>入力1>入力フィルタで、Aウェイティングを選択します。
(V6.0以前) 少し複雑ですが以下のように操作すれば、波形を記録することができます。
(1) レコーダで信号を記録
(2) 記録した波形をプレーヤに読み込み
(3) フロントエンドの出力にプレーヤの信号を接続
(4) フロントエンドの出力のフィルタから"Aウェイティング"を適用
(5) アナライザのOutをInputへ物理的に接続
Outからは記録された加速度信号が積分され、出力されます。
【RMS値の時間波形の記録】
入力1をモニタに接続します。
アナライザ設定ブラウザ>ウォーターフォールで右クリックして、プロパティを選択し、ウォーターフォールチャンネル選択ダイアログを表示させます。
モニタタブでRMSを選択して、緑の矢印ボタンを押して追加します。
(V7以降) この波形を、表示/グラフタブ>追加・削除を選択して、ウォーターフォールタブから選択します。
(V6以前) この波形を、メニュー"ウィンドウ/追加・削除"を選択して、ウォータフォールタブから選択します。
関連
Q各スペクトラムの計算の違いについて
FAQ ID:p002
スペクトラムキットに組み込まれている
AmpSpectrumRMS
AmpSpectrumPeak
PowerSpectrum
PowerDS
について説明します。
AmpSpectrumRMSとAmpSpectrumPeakの違い
AmpSpectrumPeakは、その振幅を返します。
AmpSpectrumRMSは、その振幅の実効値を返します。
例えば振幅1の正弦波を入力した場合、AmpSpectrumPeakは、その振幅を返します。(=1)
AmpSpectrumRMSは、その振幅の実効値を返します。(=0.707)
PowerSpectrumとAmpSpectrumRMSの違い
AmpSpectrumRMSを2乗したものがPowerSpectrumとなります。
PowerSpectrumとPowerDSの違い
PowerSpectrumを周波数分解能で割った値がPowerDSとなります。
今回の例では周波数分解能を2Hzに設定しています。従って、パワースペクトラムの値を1/2倍したものがパワースペクトラム密度になります。
Qブロックデータの読み込み方法
FAQ ID:a002
以下のようにブロック毎にデータが記録されているファイルがあります。
4097- 20480 |
Block1 |
Ch1 (=4096 point * 4 byte) |
20481- 36864 |
Ch2 (=4096 point * 4 byte) |
|
36865- 53248 |
Block2 |
Ch1 (=4096 point * 4 byte) |
53249- 69632 |
Ch2 (=4096 point * 4 byte) |
|
430081-446464 |
Block14 |
Ch1 (=4096 point * 4 byte) |
446465-462848 |
Ch2 (=4096 point * 4 byte) |
これらをCh1、Ch2のセグメントデータとして読み込むにはどのようにすればよいでしょうか?
For、もしくはWhile文で各ブロックをループします。
各ブロック毎にデータをセグメントデータとして読み込みます。
詳細はサンプルファイルを参考にしてください。