カスタム演算
|
演算 |
MDA V7 |
MDA V8への変換結果 |
説明 |
|---|---|---|---|
|
Average |
Average (signal) |
Accumulate_Prefix_Average (signal) |
測定開始からの平均値を求めます。 |
|
AND |
BinaryAND (signal, mask) |
測定シグナルの場合:Raw(signal) & mask 値の場合:notsignal & mask |
測定シグナルはすべてRaw関数でラップされます。 時間範囲:測定開始から |
|
OR |
BinaryOR (signal, mask) |
測定シグナルの場合:Raw(signal) | mask 値の場合:notsignal | mask |
測定シグナルはすべてRaw関数でラップされます。 時間範囲:測定開始から |
|
XOR |
BinaryXOR (signal, mask) |
測定シグナルの場合:Raw(signal) ^ mask 値の場合:notsignal ^ mask |
測定シグナルはすべてRaw関数でラップされます。 時間範囲:測定開始から |
|
Const |
Const (value) |
value |
定数値を指定します。MDA V7では、固定時間ラスタしか選択できません。 時間範囲:測定開始から |
|
CountTimeLevel |
CountTimeLevel (time, signal, value) |
Accumulate_Prefix_Integral ((input = level) ? 1 : 0) |
時間範囲:測定開始から シグナル値が所定のレベルに到達した回数をカウントします。 |
|
CountTimeLevelToTolerance |
CountTimeLevel ToTolerance (time, signal, min, max) |
Accumulate_Prefix_Integral ((min <= signal) && (signal <= max) ? 1 : 0) |
時間範囲:測定開始から シグナル値がmin, maxで指定された範囲内であった時間を合計します。 |
|
Debounce |
Debounce (time, signal, risingDelay, fallingDelay) |
Debounce (signal, risingDelay, fallingDelay) |
シグナル値のデバウンスを計算してノイズ除去を行います。 時間範囲:入力シグナルのエッジから 測定開始からの入力シグナル値が0以外である場合、MDA V8のデバウンス処理はエッジを生成しないため、演算結果が異なる場合があります。これは、MDA V8が測定開始前の未定義のサンプルの値を、最初に得られたサンプル値と同じであると判断するためです。MDA V8では測定開始時のエッジはカウントされず、前回値は NoValue として初期化されます。 |
|
Delta |
Delta (signal, count) |
signal - State_Delay (signal, NoValue(0), count) |
以下の式で、現在のサンプルと過去のサンプルとの値の差を求めます。signal(k) - signal(k - count) 時間範囲:countで指定された過去のサンプルから現在のサンプルまで 列挙型シグナル(VTABシグナル)はサポートされていません。 |
|
DeltaT |
DeltaT (time, signal) |
Delta (master()) + 0*Raw (signal) |
0*signal は、入力シグナルのラスタを適用するために使用されます。 以下の式で、現在のサンプルとその直前のサンプルとの時刻の差を求めます。 time(k) - time(k-1) V8.8は、最初の値は NoValueであると判断します。 |
|
Gradient |
Gradient (time, signal, count) |
(signal - State_Delay (signal, NoValue(0), count)) / (Master() - State_Delay (Master(), 0, count)) |
現在までの count個のサンプルの一次導関数です。 時間範囲:countで指定された過去のサンプルから現在のサンプルまで 列挙型シグナル(VTABシグナル)はサポートされていません。 |
|
Integral |
Integral (time, signal) |
Accumulate_Prefix_Integral (signal) |
測定開始からのシグナル値の積分を求めます。 |
|
LevelReachedCount |
LevelReachedCount (signal,level) |
Accumulate_Prefix_Sum ((State_Register (signal != level, !0) && (signal = level)) ? 1 : 0) |
シグナル値が所定のレベルに到達した回数をカウントします。 時間範囲:測定開始から |
|
LowPassFilter_ASCET_lib |
LowPassFilter (time, signal, filterTime, startInput) |
Filter_LowPass1 (signal, 1 / (2*PI*filterTime)) |
時間範囲:測定開始から |
|
Maximum |
Maximum (signal) |
Accumulate_Prefix_Maximum (signal) |
測定開始からのシグナルの最大値を求めます。 |
|
MaximumOf2Inputs |
MaximumOf2Inputs (signal1, signal2) |
Relation_Maximum (signal1, signal2) |
測定開始からの2つのシグナルの最大値を求めます。 時間範囲:測定開始から |
|
MaxReset |
MaxReset (input_signal, reset_signal) |
Accumulate_Reset_Maximum (signal, reset > State_Register (reset, 0)) |
input_signalの最大値を求めます。最大値はreset_signalの正エッジごとにリセットされます。 時間範囲:測定開始から、またはreset_signalの最後の正エッジから |
|
Minimum |
Minimum (signal) |
Accumulate_Prefix_Minimum (signal) |
測定開始からのシグナルの最小値を求めます。 |
|
MinimumOf2signals |
MinimumOf2Signals (signal1,signal2) |
Relation_Minimum (signal1, signal2) |
測定開始からの2つのシグナルの最小値を求めます。 |
|
MinReset |
MinReset(input_signal, reset_signal) |
Accumulate_Reset_Minimum (signal, reset > State_Register(reset, 0)) |
input_signalの最小値を求めます。最小値はreset_signalの正エッジごとにリセットされます。 時間範囲:測定開始から、またはreset_signalの最後の正エッジから |
|
PhaseShift |
PhaseShift (signal, 0, count) |
Delay (signal, 0, count) |
以下の式で、現在より指定のカウントだけ前(過去)のシグナル値を求めます。signal(k-count) 時間範囲:countで指定された過去のサンプルから現在のサンプルまで 定義されていない値があると、MDA V8は n/a を返します。 |
|
Pulse11 |
Pulse11 (time, signal, duration) |
Debounce (time, signal, 0, duration) |
時間範囲:durationで指定 指定された長さ(duration)のパルスを検出します。 MDA V8は、開始前の未定義サンプルの値を、最初に得られたサンプル値と同じであると判断します。 |
|
RollingAverage |
RollingAverage (signal, count) |
Accumulate_Samples_Average (signal, count) |
指定数(count)のシグナル値の平均値を求めます。 時間範囲:countで指定された過去のサンプルから現在のサンプルまで |
|
RSFlipFlop |
RSFlipFlop (set_input, reset_input) |
State_RSFlipFlop (set_input, reset_input) |
時間範囲:測定開始から 正論理のRSフリップフロップです。 2つの引数は同じ測定レートである必要があります。 |
|
SampleCounter |
SampleCounter (signal) |
Count (signal) |
時間範囲:測定開始から サンプル数をカウントします。 |
|
SumTotal |
SumTotal (signal) |
Accumulate_Prefix_Sum (signal) |
測定開始からの値を合計します。 |
|
Threshold1 |
Threshold1 (l, u, s, a, b) |
((l <= s) && (s <= u)) ? a : b |
しきい値比較を行います。 時間範囲:測定開始から |
|
Threshold2 |
Threshold2 (l, u, s, x) |
(s < l) ? l : (s > u) ? u : x |
しきい値比較を行います。 時間範囲:測定開始から |
|
Threshold3 |
Threshold3 (l, u, s, a, b) |
((l <= s) && (s <= u)) ? a : b |
しきい値比較を行います。 時間範囲:測定開始から |
|
Threshold4 |
Threshold4 (l, u, s, x) |
Latch (x, (l <= s) && (s <= u)) |
しきい値比較を行います。 時間範囲:測定開始から |
|
TriggerTrue1 |
TriggerTrue1 (signal) |
signal && State_Register (!signal, !1) |
シグナル値が false から true に変化したかを調べます。 以下の式で、現在のサンプルとその直前のサンプルとの時刻の差を求めます。 |
|
WeightedCounter |
WeightedCounter (signal, low, high, factor) |
factor * Accumulate_Prefix_Sum ((low <= signal) && (signal <= high) && (signal = signal)) |
シグナル値がlowからhighまでの範囲内にあった回数をカウントし、係数factorで重み付けをします。 時間範囲:測定開始から |