シミュレーション
|
' TODO add your custom code here accessing OutResult and InResult objects ' Here's a small example that just inverts the waveform. OutResult.Samples = InResult.Samples startData = 0 endData = OutResult.Samples newNumPoints = endData - startData ReDim newDataArray (OutResult.Samples) unscaledData = InResult.DataArray (False) For i = 0 To endData - 1 NewDataArray (i) = - unscaledData (i) Next OutResult.DataArray (False) = newDataArray ' only support raw data 図3:入力波形をインバートするデフォルトのWave Script |
VBscriptはオブジェクト指向のプログラミング言語です。オブジェクト指向のプログラムでは、Object.PropertyやObject.Methodといった表記が使われます。Propertyはオブジェクトの特性を定義します。例えば、FontSizeはオブジェクトのプロパティです。Methodは特定のアクションを指示します。
例えば、TurnBinary-IntoASCII(BinaryStuffln,ASCIIStuffOut)はメソッドです。デフォルトのスクリプトの場合、オブジェクトはInResultとOutResultです。そのプロパティはSamplesで、データ配列中のポイントの数を指定しています。サンプルの数を入力データから直接取得することにより、オシロスコープの時間分割やメモリ長の設定に依存することなくスクリプトを使用できます。InResult.Samplesの値はトレース内のデータ総数であり、画面に表示されている名目値より2つ大きくなっています。最初のポイントであるDataArray(0)は画面の左端に一致します。トレースの名目長が500の場合、画面の右端は501番目のポイントであるDataArray(500)に一致します。最後のポイント(502)は画面の右端から外れ、したがって画面には表示されません。スクリプトのループがendData − 1で終わっているのはこのためです。DataArrayプロパティは、オブジェクトのデータ値を定義しています。InResult.DataArrayに関連付けられているブール式は、データ配列がスケールされる(ブール値=True)か、またはスケールされないか(ブール値=False)を決定します。スケールされる場合、データは入力トレースの単位(例えばボルト)で読み取られます。スケールされない場合、データは+32,767から−32768までの範囲の符号付き整数値として読み取られます。
デフォルトのスクリプトは、ソーストレースからデータを読み取り、その値をインバートします。結果として生成されるデータ・オブジェクト(OutResult)はオシロスコープに返され、表示されます。
VBscriptはFor/Next、Do…Loop、If…Then、Selectなどの制御ステートメントをサポートしています。これらの制御ステートメントを使用して、デフォルトのスクリプトに示されているような反復処理を実行し、入力データの各値をインバートされた値で置き換えることができます。
問題やエラーは実行時にWave Scriptメニューに表示されます。エラー・メッセージには問題が発生した行の番号が示され、問題の内容が簡単に説明されます。パラメータ・スクリプトも同様のプログラミング・ツールです。