FAQ
FAQ検索結果
検索キーワード:
Q変数名にアルファベットを連番で追加したい。(例. Data_A, Data_B, Data_C, ...)
SvToChar()関数でASCIIコードを文字に変換することによりアルファベットを連番で作成できます。
大文字A~ZはASCIIコードで65~90、小文字a~zは97~122になります。
例)
for _iii = 1 to 5 step 1
_name = "Data_" + SvToChar(64+_iii) ; アルファベットA,B,...を付加した変数名
<_name> = ... ; ファイルから読み込んだデータなどを代入
end
アルファベットではなく数値を文字として追加したい場合は
https://www.toyo.co.jp/mecha/faq/detail/id=13204
https://www.toyo.co.jp/mecha/faq/detail/id=14240
を参照して下さい。
Q波形データに抜けがあるか確認したい。
波形データを読み込んだ際、[データ形式]が"標準データ"(時間軸が等間隔のデータ)である場合は基本的に(少なくとも読み込めている範囲には)データに抜けはありません。
[データ形式]が"XYデータ"となっている場合は時間軸が等間隔ではないためデータに抜けがあるかもしれません。
そのような場合には.X要素を微分して隣接するサンプリングポイント間の差(=時間差)を求め、その結果の最大値、最小値、平均値を比べることにより抜けがあるかどうか調べる事ができます。
時間差の最大値、最小値、平均値がほぼ一致する場合はデータに抜けはないと考えられます。最大値、最小値に大きな差がある場合は抜けがあることが考えられます。また平均値が最大値に近いほど抜けの間隔が大きいまたは抜けの数が多いと考えられます。
例)
_diff = Diff(XYData.X)
_max = Max(_diff)
_min = Min(_diff)
_mean = Mean(_diff)
Qマニュアルをダウンロードすることはできますか?
Q校正を依頼することはできますか?
Qシーケンスのパスを取得したい。
Qシーケンスの処理時間を計測したい。
Q50Hz, 100Vrms(振幅141V)のサイン波をFFT()関数でFFTした結果が50Hzの所で約70.7Vにしかならない。
Q校正を依頼することはできますか?
Q修理を依頼することはできますか?
Qプログレスバーのような、シーケンスの実行状況の進捗を表示したい。
プログレスバー機能は用意されていませんが、カーブウィンドウのバーメーター表示で進捗情報のような表示を行うことは可能です。
例)
Progress = 0 '%' ; 進捗
CwNewWindow("Cv1", "show")
CwSelectWindow("Cv1")
CwAction("reset")
CwPosition(0, 0, 240, 480)
CwNewChannel("append last axis", Progress)
CwDisplaySet("displaymode", 6) ; バーメーター表示
CwSelectByIndex("y-axis", 1)
CwAxisSet("range", 4)
CwAxisSet("min", 0)
CwAxisSet("max", 100)
_loop = 500 ; 繰り返し処理したい回数
for _iii = 1 to _loop step 1
Progress = _iii / _loop * 100 '%' ; 進捗表示を更新
; 処理
end
繰り返し数が大きい場合は下記の様に一定数ごとに表示すると表示の更新による負荷を軽くできます。
例)
_loop = 123456 ; 繰り返し処理したい回数
_nnn = _loop / 100 ; _nnn回(1%)ごとに進捗表示を更新
for _iii = 1 to _loop step 1
if Mod(_iii, _nnn) = 0 ; _nnn回(1%)ごとに
Progress = _iii / _loop * 100 '%' ; 進捗表示を更新
end
; 処理
end
Progress = 100 '%' ; 進捗を更新
Q波形の時間差を求めたい。
SearchLevel()関数により立ち上がり位置を求めて、その差を取ることで求められます。
例)
下図のような波形の立ち上がり位置(2Vになる点)から波形の時間差を求めるサンプルシーケンスを示します。

_data1 = slope1
_data2 = slope2
_th = 2 ; 立ち上がりのしきい値
_sl1 = SearchLevel(_data1, 2, _th, 0, 2, 0, 0, 1)
_sl2 = SearchLevel(_data2, 2, _th, 0, 2, 0, 0, 1)
dt = _sl2.X - _sl1.X ; 波形の時間差(ピーク毎)
dt_mean = Mean(dt) ; 波形の時間差(平均)
QCANバスの通信負荷を確認することはできますか?
リスト内の.mdbの階層を選択した状態で「モジュール>バス負荷を算出中」を選択することで、リストへ表示されている全てのCANSASを使用した場合のバス負荷を確認することが出来ます。
※バス負荷は余裕を持って70%程度になるように調整して下さい。
Q修理を依頼することはできますか?
Qひずみ式センサーを使用することはできますか?
ブリッジアンプを内蔵する下記モデルは使用できます。
CANSASflex:DCB8、UNI8
μCANSAS:B1
※ひずみ式センサーはCANSASのブリッジ電圧に適合するものをご使用下さい。
QX軸の値が減少していくXY波形を等間隔波形(標準データ形式)にリサンプリングしたい。
Mirror()関数で反転させることによりXYdt()関数で等間隔にリサンプリングできます。
例)
_x = (1 - Ramp(0, 0.1, 11)^2) * 1 'V'
_y = (10 - Ramp(0, 0.1, 11)) * 1 'A'
Data = XYof(_x, _y) ; サンプルデータ
_dt = 0.1 ; リサンプリング時間
Data_ND = XYdt(Mirror(Data.x), Mirror(Data.y), _dt) ; 等間隔にリサンプリングした波形
; カーブウィンドウに表示
CwNewWindow("Cv1", "show")
CwSelectWindow("Cv1")
CwAction("reset")
CwPosition(0,0,640,480)
CwDisplaySet("grid", 1)
CwSelectByIndex("X-axis", 1)
CwAxisSet("ticks.option", 4)
CwAxisSet("ticks.spacing", 0.1)
CwNewChannel("append last axis", Data)
CwLineSet("symbol", 1)
CwNewChannel("append last axis", Data_ND)
CwLineSet("symbol", 8)
Q(Ver 7.2以降) 関数ボックスに関数一覧が表示されず、お気に入りだけが表示される。
Qひずみ式センサーを使用する場合、どのように設定すればよいですか?
次の設定を行います。
①ユニバーサルアンプの「一般」タブ内で「センサ供給電圧」をひずみ式センサに適合した電圧値を設定します。
②センサーを使用するチャンネルの「入力」タブで「測定モード」を「ブリッジ センサ」に選択します。
③センサーを使用するチャンネルの「ブリッジ回路」タブで「ブリッジ回路」を「フルブリッジ」に選択します。
④センサーを使用するチャンネルの「スケーリング」タブで「単位」、「スケーリング」を入力します。
例 センサー感度0.1mV/V=1m/s2のひずみ式加速度センサを使用する場合。
単位は「m/s2」を選択する。
スケーリングは下記のように入力する。
Y1=0「m/s2」、X1=0[mV/V]
Y2=1「m/s2」、X2=0.1[mV/V]
Q電流測定を行うことはできますか?
下記モデルは、電流測定(20mAまで)を行うことができます。
CANSASfit: UTI-6
CANSASflex:C8※、CI8※、HISO8-L、SC16※、SCI8※、SCI16※、UNI8、DCB8※
※ACC/DSUBM-I4(50Ωシャント抵抗内蔵プラグ)を使用する必要があります。
※※測定する電流とCANSASの入力レンジにご留意ください。
Q6 サーフェスマイクロホンを使うべきなのは、どのような場合ですか。
サーフェスマイクロホンは、真の表面音圧とノイズを計測するために使われます。サーフェスマイクロホンは、閉鎖空間内の計測に最適化されていて、試験中の風によるノイズの影響を低減するよう設計されています。さらに詳しい説明については、このビデオをご覧ください(約4分6秒)
Q波形の一部を一定値や別の波形で置換したい
標準波形の場合はRepl()関数とReplIndex()関数、XY波形の場合はReplIndex()関数で波形の置換ができます。
例)
; 標準波形の置換
_t = ramp(0, 0.001, 1000) * PI2
data = sin(_t) ; サンプルデータ
_replace = Cut(data, 0.1, 0.3) ; 置換範囲(時間で指定)
_replace = _replace * 0 + 0.2 ; 置換したい波形
new_data = Repl(data, _replace) ; 置換
; カーブウィンドウで表示
CwNewWindow("Cv1", "show")
CwSelectWindow("Cv1")
CwAction("reset")
CwPosition(0,0,480,480)
CwNewChannel("append last axis", data)
CwNewChannel("append last axis", new_data)
CwLineSet("width.screen", 0.5)
; XY波形の置換
_t = ramp(0, 0.001, 500) * PI2
data_xy = XYof(sin(_t), cos(_t)) ; サンプルデータ。半円
_start_index = 50 ; 置換範囲(インデックスで指定)
_end_index = 100
_replace = CutIndex(data_xy, _start_index, _end_index)
_replace.Y = _replace.Y * 0 + 0.2 ; 置換したい波形
new_data_xy = ReplIndex(data_xy, _replace, _start_index) ; 置換
; カーブウィンドウで表示
CwNewWindow("Cv2", "show")
CwSelectWindow("Cv2")
CwAction("reset")
CwPosition(480,0,480,480)
CwNewChannel("append last axis", data_xy)
CwNewChannel("append last axis", new_data_xy)
CwLineSet("width.screen", 0.5)
