SCPIスクリプトの例
このスクリプトは、エイリアスを使用してN6705Cパワーアナライザーに接続します。接続のためのdefaultChannel
は2
に設定されます。デフォルトでは、すべてのコマンドはそのチャンネルにアドレス指定されてデバイスに送信されます。
その後、スクリプトはリピートループを使用して電圧をさまざまな値に設定し、実際に測定された電圧を取得します。最後に、設定された電圧と実際の電圧との間の差についての情報を表示します。
スクリプトはtell
ブロックを使用して、デバイスと通信するスクリプトの部分を囲みます。これは、reset
やsetValue
のようなすべてのデバイス関連のコマンドがデバイスに送信されることを意味します。
tell
ブロック内のSenseTalkコマンドは通常どおり機能し続けます。技術的には、それらもpowerAnalyzer
オブジェクトに送信されますが、そのオブジェクトはput
やinsert
コマンドを実装していないため、コマンドは通常通りエンジンに渡されます。
スクリプトの各行の説明については、スクリプト例の解析セクションを参照してください。
スクリプト例:
set powerAnalyzer to visaDevice ("N6705CPower")
set powerAnalyzer’s defaultChannel to 2
tell powerAnalyzer
reset
setValue output, on
repeat with testVoltage = 3300 millivolts to 4.4 volts stepping by 100 millivolts
setValue voltage, testVoltage
query "measure voltage"
put value(it) volts into measuredVolts
put ABS(measuredVolts - testVoltage) into difference
convert difference to microvolts
insert difference into allDifferences
put !"Set voltage to [[testVoltage]] Actual measured was [[measuredVolts]] (difference [[difference]])"
end repeat
setValue output, off
end tell
put
put "Differences: " & allDifferences sorted
put
put "Average: " & average of allDifferences
put "Median: " & median of allDifferences
スクリプト例の解析
あなた自身のスクリプトを書くための手助けとして、以下にSCPIスクリプト例のmd 機能についての行ごとの説明を提供します。
set powerAnalyzer to visaDevice ("N6705CPower")
powerAnalyzer
をVisaDevice
オブジェクトとして確立します。これは、計器とのすべての通信に使用されます。
set powerAnalyzer’s defaultChannel to 2
デバイスのdefaultChannel
を設定すると、setValue
またはquery
呼び出しを使用してデバイスに指向されたすべてのコマンドがこのチャンネルを使用します。これにより、これらの関数の使用が簡素化され、効率化されます。必要に応じて、例えばon channel 3
のように、個々の呼び出しを別のチャンネルに指向させることもできます。
tell powerAnalyzer