快速入门指南R&S FSL - Rohde & Schwarz

快速入门指南R&S FSL - Rohde & Schwarz 快速入门指南R&S FSL - Rohde & Schwarz

rohde.schwarz.cz
from rohde.schwarz.cz More from this publisher
12.07.2015 Views

远 程 控 制 编 程 的 基 本 步 骤R&S FSLCALL InstrRead(analyzer, RLlevel$, 20, retCount)' 读 出 值REM ––––––––– 在 后 继 窗 口 中 显 示 值 ––––––––––––––--------------------------––––––Debug.Print "Center frequency: "; CFfrequency$,Debug.Print "Span:"; CFspan$,Debug.Print "Reference level: "; RLlevel$,END SUBREM************************************************************************标 记 定 位 和 读 出REM –––––––– 标 记 功 能 的 例 子 ––––––––––––––––––––––––--------------–––––––––––PUBLIC SUB ReadMarker()Dim retCount as LongCALL InstrWrite(analyzer, "CALC:MARKER ON;MARKER:MAX")' 激 活 标 记 1 并 搜 索 峰 值MKmark$ = SPACE$(30) ' 提 供 文 本 变 量 (30 个 字 符 )CALL InstrWrite(analyzer, "CALC:MARK:X?;Y?")' 查 询 频 率 和 电 平CALL InstrRead(analyzer, MKmark$, 30, retCount)' 读 出 值REM ––––––––– 在 后 继 窗 口 中 显 示 值 ––––––––––––––---------------------------–––––Debug.Print "Marker frequency/level "; MKmark$,END SUBREM************************************************************************命 令 同 步在 光 盘 的 操 作 手 册 第 4 章 “ 远 程 控 制 - 基 础 ” 的 “ 命 令 序 列 和 命 令 同 步 ” 部 分 , 介 绍 了 下 面例 子 中 所 使 用 的 同 步 方 法 。REM ––––––––– 用 于 命 令 同 步 的 命 令 –––––––––––––––––----------------------–––––––PUBLIC SUB SweepSync()Dim retCount as LongDim SRQWaitTimeout As LongDim eventType As LongDim eventVi As LongREM The command INITiate[:IMMediate] starts a single sweep if theREM command INIT:CONT OFF has already been sent. The next commandREM must not be carried out until a full sweep has been completed.CALL InstrWrite(analyzer, "INIT:CONT OFF")REM ––––––––– 第 一 种 方 法 : 使 用 *WAI –––––––––––––––––––––––––-------–––––––––––CALL InstrWrite(analyzer, "ABOR;INIT:IMM; *WAI")11300.2519.69 6.8 ZH-4

R&S FSL远 程 控 制 编 程 的 基 本 步 骤REM ––––––––– 第 二 种 方 法 : 使 用 *OPC? –––––––––––––––––––––––––––––--------–––––OpcOk$ = SPACE$(2)' 提 供 *OPC? 响 应 的 空 间CALL InstrWrite(analyzer, "ABOR;INIT:IMM; *OPC?")REM ––––––––– 在 该 实 例 中 , 控 制 器 可 以 使 用 其 它 的 仪 器 ––––––CALL InstrRead(analyzer, OpcOk$, 2, retCount)' 等 待 来 自 *OPC? 的 "1"REM ––––––––– 第 三 种 方 法 : 使 用 *OPC ––––––––––––––––––––––––––––––--------––––––REM 为 能 够 使 用 与 国 家 仪 器 (National Instruments)GPIB 驱 动 相 关 的 服 务 请 求 功 能 , 必 须 通 过REM IBCONF! 把 “Disable Auto Serial Poll” 设 置 为 “yes”CALL InstrWrite(analyzer, "*SRE 32") ' 启 用 ESR 的 服 务 请 求CALL InstrWrite(analyzer, "*ESE 1") ' 为 操 作 完 成 位 设 置 事 件 启 用 位CALL viEnableEvent(vi, VI_EVENT_SERVICE_REQ, VI_QUEUE, 0)' 启 用 服 务 请 求 的 事 件CALL InstrWrite(analyzer, "ABOR;INIT:IMM; *OPC")' 同 步 至 OPC 并 开 始 扫 描SRQWaitTimeout = 5000' 扫 描 完 成 的 等 待 时 间 为 5s' 现 在 等 待 服 务 请 求CALL viWaitOnEvent(vi, VI_EVENT_SERVICE_REQ, SRQWaitTimeout, eventType, eventVi)CALL viClose(eventVi)' 在 继 续 之 前 关 闭 上 下 文CALL viDisableEvent(vi, VI_EVENT_SERVICE_REQ, VI_QUEUE)' 禁 止 后 发 事 件REM 在 此 恢 复 主 程 序 。END SUBREM************************************************************************读 出 输 出 缓 冲 区REM ––––––––– 各 个 STB 位 的 子 程 序 –––––––––––––––––––––––Public SUB Outputqueue()' 读 取 输 出 队 列Dim retCount as Longresult$ = SPACE$(100)' 创 建 响 应 空 间CALL InstrRead(analyzer, result$, 100, retCount)Debug.Print "Contents of Output Queue : "; result$END SUBREM ************************************************************************读 出 错 误 消 息REM ––––––––– 评 估 错 误 队 列 的 子 程 序 ––––––––––––––------------------------––––––Public SUB ErrorQueueHandler()Dim retCount as LongERROR$ = SPACE$(100)' 评 估 错 误 队 列 的 子 例 程CALL InstrWrite(analyzer, "SYSTEM:ERROR?")CALL InstrRead(analyzer, ERROR$, 100, retCount)Debug.Print "Error Description : "; ERROR$END SUBREM ************************************************************************1300.2519.69 6.9 ZH-4

远 程 控 制 编 程 的 基 本 步 骤R&S <strong>FSL</strong>CALL InstrRead(analyzer, RLlevel$, 20, retCount)' 读 出 值REM ––––––––– 在 后 继 窗 口 中 显 示 值 ––––––––––––––--------------------------––––––Debug.Print "Center frequency: "; CFfrequency$,Debug.Print "Span:"; CFspan$,Debug.Print "Reference level: "; RLlevel$,END SUBREM************************************************************************标 记 定 位 和 读 出REM –––––––– 标 记 功 能 的 例 子 ––––––––––––––––––––––––--------------–––––––––––PUBLIC SUB ReadMarker()Dim retCount as LongCALL InstrWrite(analyzer, "CALC:MARKER ON;MARKER:MAX")' 激 活 标 记 1 并 搜 索 峰 值MKmark$ = SPACE$(30) ' 提 供 文 本 变 量 (30 个 字 符 )CALL InstrWrite(analyzer, "CALC:MARK:X?;Y?")' 查 询 频 率 和 电 平CALL InstrRead(analyzer, MKmark$, 30, retCount)' 读 出 值REM ––––––––– 在 后 继 窗 口 中 显 示 值 ––––––––––––––---------------------------–––––Debug.Print "Marker frequency/level "; MKmark$,END SUBREM************************************************************************命 令 同 步在 光 盘 的 操 作 手 册 第 4 章 “ 远 程 控 制 - 基 础 ” 的 “ 命 令 序 列 和 命 令 同 步 ” 部 分 , 介 绍 了 下 面例 子 中 所 使 用 的 同 步 方 法 。REM ––––––––– 用 于 命 令 同 步 的 命 令 –––––––––––––––––----------------------–––––––PUBLIC SUB SweepSync()Dim retCount as LongDim SRQWaitTimeout As LongDim eventType As LongDim eventVi As LongREM The command INITiate[:IMMediate] starts a single sweep if theREM command INIT:CONT OFF has already been sent. The next commandREM must not be carried out until a full sweep has been completed.CALL InstrWrite(analyzer, "INIT:CONT OFF")REM ––––––––– 第 一 种 方 法 : 使 用 *WAI –––––––––––––––––––––––––-------–––––––––––CALL InstrWrite(analyzer, "ABOR;INIT:IMM; *WAI")11300.2519.69 6.8 ZH-4

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!