FREE ENGLISH FLUKE AUTORANGING COMBISCOPE PM3382A (01) PDF USER GUIDE
FREE ENGLISH FLUKE AUTORANGING COMBISCOPE PM3382A (01) PDF USER MANUAL
FREE ENGLISH FLUKE AUTORANGING COMBISCOPE PM3382A (01) PDF OWNER GUIDE
FREE ENGLISH FLUKE AUTORANGING COMBISCOPE PM3382A (01) PDF OWNER MANUAL
FREE ENGLISH FLUKE AUTORANGING COMBISCOPE PM3382A (01) PDF REFERENCE GUIDE
FREE ENGLISH FLUKE AUTORANGING COMBISCOPE PM3382A (01) PDF INSTRUCTION GUIDE
FREE ENGLISH FLUKE AUTORANGING COMBISCOPE PM3382A (01) PDF REFERENCE MANUAL
FREE ENGLISH FLUKE AUTORANGING COMBISCOPE PM3382A (01) PDF INSTRUCTION MANUAL
FREE ENGLISH FLUKE AUTORANGING COMBISCOPE PM3382A (01) PDF OPERATING INSTRUCTIONS
CLICK HERE TO DOWNLOAD FLUKE AUTORANGING COMBISCOPE PM3382A (01) PDF MANUAL
If this is not the document you want for this product, click here to see if we have any other documents for this product.
What system setup is required for SCPI programming?
To program your CombiScope instrument using SCPI, you need the following setup:
• The CombiScope instrument must contain a factory-installed IEEE option.
• A PC is used as the controller.
• An IEEE-488.2 interface (GPIB) board must be installed in the PC to turn it into a GPIB controller.
• The GPIB controller must be connected to the CombiScope instrument via an IEEE cable.
What programming environment and drivers are needed?
• MS-QuickBASIC is used as the programming language in the examples provided in the PDF.
• Standard IEEE-488.2 drivers are used to control the CombiScope instrument via GPIB. These drivers must be included in the application program. For QuickBASIC, the first statement should typically be: REM $INCLUDE: '
• The examples in the PDF used IEEE-488.2 drivers and the device handler GPIB.COM from the product PM2201/03 (equivalent to National Instruments PCIIA).
What are the common IEEE-488.2 drivers used and their parameters?
The following drivers and parameters are commonly used:
• Send Driver: Used to send a command or query.
CALL Send (
• SendSetup Driver: Prepares devices to receive data bytes.
CALL SendSetup (
• SendDataBytes Driver: Sends data bytes from the controller.
CALL SendDataBytes (
• Receive Driver: Reads a response string.
CALL Receive (
• SendIFC Driver: Clears the GPIB interface.
CALL SendIFC (
• IbTMO Driver: Specifies a timeout period.
CALL IBTMO (
Parameter Explanation:
•
• : IEEE instrument address (default CombiScope address = 8).
•
•
• : One or more data characters for the listener device.
•
•
0 = program message to be continued (no action)
1 = end of program message (sends End-message + EOI true)
•
0 = response message to be continued (no detection of EOL)
256 = end of response message (stops reading after EOL character)
•
How do I reset the CombiScope instrument?
Send the *RST command to reset the instrument to a fixed setup optimized for remote operation.
Example: CALL Send(0, 8, "*RST", 1)
To clear the status and error data, send the *CLS command.
Example: CALL Send(0, 8, "*CLS", 1)
How do I identify the CombiScope instrument and its options?
1. Send the *IDN? query to request the instrument’s identity.
Example: CALL Send (0, 8, "*IDN?", 1)
2. Read the response message.
Example: CALL Receive (0, 8, response$, 256)
3. To query the instrument options, send the *OPT? query.
Example: CALL Send (0, 8, "*OPT?", 1)
4. Read the response message for the options.
Example: CALL Receive (0, 8, response$, 256)
How do I switch between digital and analog modes?
Use the INSTrument subsystem commands. After a *RST, the instrument is in digital mode.
To switch to analog mode, send:
INSTrument ANALog or INSTrument:NSELect 2
Example: CALL Send (0, 8, "INSTrument ANALog", 1)
To switch back to digital mode, send:
INSTrument DIGital or INSTrument:NSELect 1
Example: CALL Send (0, 8, "INSTrument:NSELect 1", 1)
How should I handle error reporting?
Instrument errors (programming or setting errors) are reported during command execution. To check for errors, use one of the following approaches:
1. Query after functional groups: Send the SYSTem:ERRor? or STATus:QUEue? query after every group of functionally related commands and read the response.
2. Error-reporting routine: Program a subroutine that sends SYSTem:ERRor? or STATus:QUEue? and reads the response. Call this routine after each command or group of commands.
3. SRQ mechanism: Program an error-reporting routine and use the Service Request (SRQ) Generation mechanism to interrupt the program and execute the routine when an error occurs (see section 3.14.4.2 in the PDF).
Example for method 1 or 2 (reading error):
er$ = SPACE$(60)
CALL Send(0, 8, "SYSTem:ERRor?", 1)
CALL Receive(0, 8, er$, 256)
PRINT "Response to error query = "; LEFT$(er$, IBCNT%-1) ' Assumes IBCNT% holds byte count
How do I acquire traces?
Trace acquisitions are started using the INITiate commands.
• For a single acquisition: Send a single INITiate command (or INITiate:IMMediate).
• For continuous acquisitions: Send the INITiate:CONTinuous ON command.
To read the acquired trace data from a source (e.g., input channel CH2 or memory register M2_3), use the TRACe? query.
Example: TRACe? CH2
You can specify the number of trace samples (acquisition length) using TRACe:POINts. Available points depend on standard or extended memory (e.g., 512, 2048, 4096, 8192, 16384, 32768).
Example: TRACe:POINts CH1, 8192
You can specify the data format (8 or 16 bits) using the FORMat command.
Example: FORMat INTeger, 16 ‘ Sets 16-bit integer format
What is the format of the trace response data?
The trace response data follows the IEEE 488.2 definite-length arbitrary block data format:
#nx..xfb.....bs
Where:
• #: Block data introducer.
• n: Single digit representing the number of subsequent digits (x..x).
• x..x: Digits specifying the number of data bytes (fbb…bbs) that follow.
• f: Trace data format byte (8 for 8-bit samples, 16 for 16-bit samples).
• b.....b: Trace sample data bytes.
– If f=8, each sample is one byte.
– If f=16, each sample is two bytes (most significant byte first, then least significant byte).
• s: Checksum byte calculated over all trace data bytes (fbb…bbs).
• : NewLine character (ASCII 10 decimal) marking the end of the data block.
Example: #41026<16>
This represents:
• #4: Introducer, followed by 4 digits for byte count.
• 1026: Number of data bytes (N) = 1026 (512 samples * 2 bytes/sample + 1 format byte + 1 checksum byte).
• <16>: Format byte (decimal 16) indicating 16-bit samples.
• : First 16-bit sample.
• ...
• : 512th 16-bit sample.
• : Checksum byte.
• <10>: NewLine terminator.
How do I acquire a single shot trace?
Preparations:
• Connect a probe to the desired input channel (e.g., channel 1).
• Be ready to trigger the acquisition (e.g., by touching the probe tip or striking the probe).
Procedure (Conceptual Steps based on Example):
1. Set the data format (e.g., 8-bit): FORMat INTeger, 8
2. Set the number of points: TRACe:POINts CH1, 8192
3. Set the trigger source: TRIGger:SOURce INTernal1
4. Set the trigger level: TRIGger:LEVel 0.1
5. Initiate the single acquisition: INITiate
6. Prompt the user or provide means to apply the trigger signal.
7. Wait for the acquisition to complete. You can use the *WAI command to pause the program until the instrument finishes pending operations like the acquisition initiated by INITiate.
Example: CALL Send(0, 8, "*WAI", 1)
8. Query the trace data: TRACe? CH1
Example: CALL Send(0, 8, "TRACe? CH1", 1)
9. Receive the trace data block.
Example: CALL Receive(0, 8, tracebuf$, 256)
10. Parse the received data block according to its format (see “What is the format of the trace response data?”).
How do I acquire repetitive traces?
Preparations:
• Connect a probe from a repetitive signal source (like the Probe Adjust signal) to the desired channel (e.g., channel 2).
Procedure (Conceptual Steps based on Example for 5 traces):
1. Reset the instrument (optional, sets defaults): *RST
2. Configure the channel (e.g., for AC coupling on CH2): CONFigure:AC (@2)
3. Ensure the channel is active (this might be done by CONFigure or explicitly): SENSe:FUNCtion 'XTIME:VOLTage2' (Switches CH2 on)
4. Prepare storage (e.g., open a file: OPEN "O", #1, "TRACE5.DAT")
5. Loop for the desired number of traces (e.g., FOR i=1 TO 5):
a. Initiate a single acquisition: INITiate
b. Wait for completion and query the trace: *WAI;TRACe? CH2 (The *WAI ensures INITiate finishes before TRACe? is processed)
Example: CALL Send(0, 8, "*WAI;TRACE? CH2", 1)
c. Receive the trace data block.
Example: CALL Receive(0, 8, tracebuf$, 256)
d. Store the received data (e.g., write to file: PRINT #1, LEFT$(tracebuf$, IBCNT%))
6. End loop (e.g., NEXT i)
7. Finalize storage (e.g., close file: CLOSE)
What are the different levels for making measurements?
Measurement instructions allow making complete measurements at different levels:
• Highest level (MEASure?): Easiest to use. Configures the instrument, initiates the trigger, fetches data, and returns the result in one step. Less flexible.
• Middle level (CONFigure + READ?): Offers more programming flexibility. CONFigure sets up the instrument for a specific measurement type. READ? initiates the trigger, fetches data, and returns the result. Equivalent to MEASure?.
• Lowest level (INITiate + FETCh?): Provides the most control, especially for acquiring multiple characteristics from one acquisition. INITiate starts the acquisition process. FETCh? retrieves a specific calculated characteristic from the acquired data. Equivalent to READ?.
The following table summarizes the tasks performed by each instruction:
| Task | MEASure? | CONFigure | READ? | INITiate | FETCh? |
|---|---|---|---|---|---|
| Configures the instrument | YES | YES | |||
| Initiates the trigger system | YES | YES | YES | ||
| Fetches the acquired data/result | YES | YES | YES |
How do I make a single shot measurement?
Use the MEASure? query for the simplest single-shot measurement. It performs configuration, acquisition, and result fetching.
Example: Measure AC-RMS on channel 1.
CALL Send (0, 8, "MEASure:AC? (@1)", 1)
CALL Receive (0, 8, response$, 256)
PRINT "AC-RMS value: "; LEFT$(response$, IBCNT% - 1)
To get other characteristics from the *same* acquisition triggered by MEASure?, you can use FETCh? queries immediately after.
Example: Fetch Peak-to-Peak after the AC measurement above.
CALL Send (0, 8, "FETCh:PTPeak?", 1)
CALL Receive (0, 8, response$, 256)
PRINT "Peak-To-Peak value: "; LEFT$(response$, IBCNT% - 1)
How do I make repeated measurements?
To make repeated measurements efficiently, use the CONFigure command once, followed by multiple READ? queries.
Procedure (Conceptual Steps based on Example for 5 AC measurements):
1. Configure the measurement type once: CONFigure:AC (@1)
Example: CALL Send (0, 8, "CONFigure:AC (@1)", 1)
2. Loop for the desired number of measurements (e.g., FOR i = 1 TO 5):
a. Initiate measurement and get the primary result using READ?:
Example: CALL Send (0, 8, "READ:AC?", 1)
Example: CALL Receive (0, 8, response$, 256)
Example: PRINT "AC-RMS: "; LEFT$(response$, IBCNT%-1);
b. (Optional) Fetch additional characteristics from the *same* acquisition using FETCh?:
Example: CALL Send (0, 8, "FETCh:PTPeak?", 1)
Example: CALL Receive (0, 8, response$, 256)
Example: PRINT " / Peak-To-Peak: "; LEFT$(response$, IBCNT%-1);
Example: CALL Send (0, 8, "FETCh:AMPLitude?", 1)
Example: CALL Receive (0, 8, response$, 256)
Example: PRINT " / Amplitude: "; LEFT$(response$, IBCNT%-1)
3. End loop (e.g., NEXT i)
What are the fundamental programming concepts for the CombiScope?
You can access the remote operation using four main concepts:
1. Using measurement instructions (MEASure?, CONFigure, READ?, FETCh?):
– Advantage: Easy to program, no deep instrument knowledge needed for basic measurements.
– Trade-off: Slower for single measurements as the instrument optimizes settings automatically.
– Example: MEASure:FREQuency?
2. Single function programming using the instrument model (INPut, SENSe, TRACe, CALCulate, TRIGger, DISPlay subsystems):
– Advantage: Fine control over individual instrument functions.
– Trade-off: Requires understanding the instrument’s remote operation and functions.
– Example: TRACe? CH1
3. Programming the complete instrument setup (*SAV, *RCL, SYSTem:SET?, SYSTem:SET):
– Advantage: Simple way to save/recall entire states, including non-programmable settings.
– Trade-off: Processes complete setups; individual settings must be programmed separately if needed.
– Example: *SAV 3, *RCL 3
4. Programming through front panel simulation (SYSTem:KEY, DISPlay:MENU):
– Advantage: Can access settings not directly available via other remote commands; matches front panel operation.
– Trade-off: Cumbersome, state-dependent, lacks feedback from the display, generally not recommended.
– Example: SYSTem:KEY 4
How does the SCPI instrument model structure the CombiScope functions?
The instrument model groups related functions into subsystems:
• INPut: Handles signal conditioning functions (coupling, impedance, etc.).
• SENSe: Contains the data acquisition functions where the analog signal is converted to digital values (averaging, sweep time, etc.).
• TRACe: Manages the memory where acquisition results (traces) are stored.
• CALCulate: Provides post-processing functions on acquired data (math, FFT, etc.).
• TRIGger: Controls the acquisition triggering process (source, level, slope, type, etc.).
• DISPlay: Handles the front panel display functions (brightness, menus, text, etc.).
Commands controlling functions within a subsystem start with the subsystem name (e.g., INPut:COUPling DC, TRIGger:LEVel 0.5).
How do I save and recall instrument setups?
You can save and recall complete instrument setups using internal memory or transfer them via the GPIB controller.
Using Internal Memory:
• To save the current setup to an internal memory location (e.g., location 3):
*SAV 3
• To recall a setup from an internal memory location (e.g., location 3):
*RCL 3
Using GPIB Controller (Transferring Setup Data):
• To query the instrument for its complete setup data (or a specific part/node):
SYSTem:SET? (for complete setup)
SYSTem:SET? 32 (for cursor settings, node 32)
• Read the response, which will be in a compact block data format ().
• To restore a previously read setup back to the instrument:
SYSTem:SET (where is the data read earlier)
How can I simulate front panel key presses?
Use the SYSTem:KEY command followed by a numeric code representing the key. This method allows remote operation to precisely match a front panel setup, especially for functions not directly programmable otherwise.
Caution: This method is generally not recommended as its effect depends entirely on the instrument’s state at the moment the command is received, and remote programming lacks the visual feedback of the front panel display.
Example: Simulate pressing softkey 4 (which might toggle noise rejection in the TRIGGER menu):
SYSTem:KEY 4
To activate a specific softkey menu first, use the DISPlay:MENU command.
Example: Activate the TRIGGER softkey menu:
DISPlay:MENU TRIGger
How can I customize measurement settings beyond the basic MEASure? query?
Use the CONFigure and READ? command sequence. This allows you to insert commands between CONFigure and READ? to modify specific settings vital to your application.
1. Use CONFigure to set up the basic measurement type.
Example: CONFigure:AC (Configures for AC RMS measurement on default channel)
2. Send commands to customize specific settings. These settings will be used by the subsequent READ?.
Example: SENSe:AVERage ON (Turn averaging on)
Example: SENSe:AVERage:COUNt 4 (Set averaging count to 4)
3. Use READ? to start the acquisition with the customized settings and return the result.
Example: READ:AC? (Reads the averaged AC RMS value)
Note: The READ? query should generally match the measurement type set by CONFigure. While requesting a different characteristic with READ? might be possible, the instrument configuration might not be optimal or valid for that request.
How do I measure multiple signal characteristics from a single acquisition?
To avoid re-acquiring the waveform for each characteristic, use the INITiate and FETCh? command sequence.
1. Configure the instrument if necessary (e.g., using CONFigure or individual setting commands).
2. Start a single acquisition using INITiate[:IMMediate].
Example: INITiate
3. Wait for the acquisition to complete (e.g., using *WAI or by checking status bits).
4. Use multiple FETCh? queries to retrieve different characteristics calculated from the waveform acquired in step 2.
Example: FETCh:AC? (Fetch AC RMS value)
Example: FETCh:FREQuency? (Fetch frequency)
Example: FETCh:RISE:TIME? (Fetch rise time)
Example: FETCh:PTPeak? (Fetch peak-to-peak value)
Important: Always explicitly specify the measurement function in the FETCh? query header (e.g., FETCh:AC?, not just FETCh?) when fetching multiple different characteristics.
How can I trigger a measurement via a GPIB command?
To synchronize a measurement start with other instruments via GPIB, use the INITiate and FETCh? concept combined with a GPIB trigger command (*TRG or GET – Group Execute Trigger).
1. Configure the measurement type.
Example: CONFigure:AC
2. Set the trigger source to BUS.
Example: TRIGger:SOURce BUS
3. Initiate the measurement process. The instrument will now wait for the GPIB trigger.
Example: INITiate
4. Send the GPIB trigger command when ready.
Example: Send *TRG command or issue a GET message.
5. Fetch the result after the triggered acquisition is complete.
Example: FETCh:AC?
Note: You cannot use MEASure? or READ? with TRIGger:SOURce BUS as these commands attempt immediate execution and would conflict with waiting for the bus trigger, likely causing a query error.
How can I measure characteristics from traces stored in memory?
Use the FETCh? query, specifying the memory trace element as the source in the channel list parameter.
Ensure valid waveform data is stored in the specified memory location before sending the FETCh? query.
Example: Fetch the rise time from the waveform stored in memory register 3, trace 4.
FETCh:RISE:TIME? (@M3_4)
Example: Fetch the period from the waveform stored in memory register 4, trace 1.
FETCh:PERiod? (@M4_1)
How is the acquisition process controlled?
The acquisition process involves several states and commands:
• IDLE state: The instrument is waiting to start an acquisition. Reached after power-on, *RST, ABORt, or completion of a single-shot acquisition.
• Initiation: Sending INITiate[:IMMediate] or setting INITiate:CONTinuous ON moves the instrument from IDLE to start the acquisition process.
• Waiting for Trigger: After initiation (unless trigger source is IMMediate or BUS), the instrument waits for the configured trigger conditions (level, slope, etc.) to be met.
• Acquiring: Once triggered (or immediately if IMMediate), the instrument acquires the waveform data.
• Completion:
– If INITiate:CONTinuous is OFF (single shot), the instrument returns to the IDLE state after acquisition.
– If INITiate:CONTinuous is ON, the instrument immediately starts another acquisition cycle without returning to IDLE.
• Aborting: Sending ABORt or *RST immediately stops any ongoing acquisition and returns the instrument to the IDLE state. *RST also resets settings, while ABORt does not.
• Trigger Conditions: Programmed using the TRIGger subsystem (SOURce, LEVel, SLOPe, TYPE, etc.).
• Operation Complete: The *OPC command or query can be used to check if the instrument has finished an acquisition and returned to the IDLE state (only applicable when INITiate:CONTinuous is OFF).
How do I configure basic triggering (Type, Source, Level, Slope)?
Use the commands within the TRIGger subsystem:
• Trigger Type: Selects the trigger mode.
– TRIGger:TYPE EDGE (Normal edge triggering, default after *RST)
– TRIGger:TYPE VIDeo (Video triggering)
– (Logic and Glitch types are mentioned but programming details are not provided for SCPI)
• Trigger Source: Selects the signal used for triggering.
– TRIGger:SOURce IMMediate (Triggers immediately, default after *RST)
– TRIGger:SOURce INTernal (Uses input channel n, e.g., INTernal1 for CH1)
– TRIGger:SOURce EXTernal (Uses external trigger input – CH4 on PM33x0A)
– TRIGger:SOURce LINE (Uses AC line voltage)
– TRIGger:SOURce BUS (Waits for GPIB *TRG or GET)
• Trigger Level: Sets the voltage level for edge triggering (only when source is INTernal).
– TRIGger:LEVel (e.g., TRIGger:LEVel 0.2). Programming the level automatically turns off level peak-peak auto-finding.
– TRIGger:LEVel:AUTO ON|OFF (Turns level peak-peak auto-finding on/off. Default is OFF after *RST, with level set to max).
• Trigger Slope: Defines the edge polarity for edge triggering.
– TRIGger:SLOPe POSitive (Triggers on rising edge, default after *RST)
– TRIGger:SLOPe NEGative (Triggers on falling edge)
– TRIGger:SLOPe EITHer (Triggers on either edge)
How do I configure trigger coupling?
Trigger coupling for the Main Time Base (MTB) is controlled using the Low-Pass (LPASs) and High-Pass (HPASs) filter commands within the TRIGger:FILTer subsystem. These are mutually exclusive with standard input coupling set via INPut.
• DC Coupling (0 Hz cutoff): Allows all frequencies, including DC, to pass to the trigger circuit.
– Command: TRIGger:FILTer:LPASs:STATe ON (Enables the low-pass filter path)
– Command: TRIGger:FILTer:LPASs:FREQuency 0 (Effectively sets cutoff to 0 Hz for DC coupling)
*After *RST, the default setting is AC coupling (10 Hz High-Pass).*
• AC Coupling (10 Hz cutoff, default): Blocks DC and low frequencies below approximately 10 Hz.
– Command: TRIGger:FILTer:LPASs:STATe ON
– Command: TRIGger:FILTer:LPASs:FREQuency 10 (This is the state after *RST)
• Low Frequency Reject (LF Reject, 30 kHz High-Pass): Blocks frequencies below approximately 30 kHz.
– Command: TRIGger:FILTer:LPASs:STATe ON
– Command: TRIGger:FILTer:LPASs:FREQuency 3E+4 (Sets 30 kHz cutoff)
• High Frequency Reject (HF Reject, 30 kHz Low-Pass): Blocks frequencies above approximately 30 kHz.
– Command: TRIGger:FILTer:HPASs:STATe ON (Enables the high-pass filter path, which acts as HF reject)
– (The cutoff for HPASs is implicitly 30kHz when enabled for HF reject)
Note: Activating LPASs deactivates HPASs, and vice versa. The INPut command (AC, DC, GND) sets the coupling for the signal path to the acquisition system, which is separate from the trigger coupling, although often set identically.
How do I configure video triggering?
1. Select Video Trigger Type:
TRIGger:TYPE VIDeo
2. Select Video Standard (Format):
– Using standard name: TRIGger:VIDeo:FORMat:TYPE (e.g., NTSC, PAL, SECAM)
Example: TRIGger:VIDeo:FORMat:TYPE PAL
– Using lines per frame (for HDTV): TRIGger:VIDeo:FORMat:LPFRame (e.g., 1050, 1125, 1250)
Example: TRIGger:VIDeo:FORMat:LPFRame 1125
3. Select Trigger Mode (Field or Line):
– Trigger on specific field: TRIGger:VIDeo:FIELd:SELect NUMBer
– Trigger on any line: TRIGger:VIDeo:FIELd:SELect ALL
4. Specify Field or Line Number:
– If triggering on field (FIELd:SELect NUMBer): TRIGger:VIDeo:FIELd:NUMBer <1|2>
Example: TRIGger:VIDeo:FIELd:NUMBer 2 (Selects field 2)
– Set trigger line number: TRIGger:VIDeo:LINE
Example: TRIGger:VIDeo:LINE 512
*Note: If field selection is NUMBer, setting a LINE number automatically switches to the corresponding field (e.g., for PAL 625 lines, line 123 selects field 1, line 325 selects field 2). If field selection is ALL, setting LINE just selects the line.*
5. Select Signal Polarity (Optional):
TRIGger:VIDeo:SSIGnal POSitive|NEGative
What are the different trigger modes available?
The trigger mode depends on the combination of INITiate:CONTinuous and TRIGger:SOURce settings:
| Trigger mode Description | INITiate :CONTinuous |
TRIGger :SOURce |
|---|---|---|
| Single-shot (Untriggered): Generates one sweep immediately, regardless of trigger settings (valid after *RST). | OFF | IMMediate |
| Single-shot (Triggered): Generates one sweep when triggered by the selected internal channel or LINE source. | OFF | INTernal |
| Single-shot (External Triggered): Generates one sweep when triggered externally via CH4 (PM33x0A only). | OFF | EXTernal |
| Auto Trigger: Generates continuous sweeps immediately, independent of trigger settings. | ON | IMMediate |
| Normal Trigger: Generates continuous sweeps, each triggered by the selected internal channel or LINE source. | ON | INTernal |
| Normal Trigger (External): Generates continuous sweeps, each triggered externally via CH4 (PM33x0A only). | ON | EXTernal |
| Single-Shot (GPIB Triggered): Generates one sweep when triggered by *TRG or GET command via GPIB, regardless of other trigger settings. | OFF (or ON initially, then BUS source selected) | BUS |
How can I check the acquisition status (armed, busy, ready)?
When using single-shot or multiple-shot modes (INITiate:CONTinuous OFF), you can check the OPERation status register bits and the standard Event Status Register (ESR) Operation Complete (OPC) bit.
Single-Shot Mode (TB MODE – single):
| STATE DESCRIPTION | OPER:Status Bit 5 (Wait for TRIG) | OPER:Status Bit 3 (SWEeping) | ESR Bit 0 (OPC) | Meaning |
|---|---|---|---|---|
| idle state (after *RST) | 0 | 0 | 0 | |
| Wait for trigger state (INIT received) | 1 | 0 | 0 | = armed |
| Wait for complete (triggered) | 1 | 0 | 0 | or busy |
| Finished with acquisition | 0 | 0 | 1 | = ready |
Multiple-Shot Mode (TB MODE – multi):
| STATE DESCRIPTION | OPER:Status Bit 5 (Wait for TRIG) | OPER:Status Bit 3 (SWEeping) | ESR Bit 0 (OPC) | Meaning |
|---|---|---|---|---|
| idle state (after *RST) | 0 | 0 | 0 | |
| Wait for trigger state (INIT received) | 1 | 0 | 0 | = armed |
| Wait for complete (triggered) | 0 | 1 | 0 | = busy |
| Finished with acquisition | 0 | 0 | 1 | = ready |
Query these registers using STATus:OPERation:CONDition? and *ESR? respectively.
How do I set pre- and post-triggering?
Use the SENSe:SWEep:OFFSet:TIME command to specify the time delay between the trigger event and the center of the acquisition window.
• Post-triggering: A positive time value shifts the acquisition window *after* the trigger event.
Example: SENSe:SWEep:OFFSet:TIME 0.001 (Sets a 1 ms post-trigger delay, trigger event appears near the left of the screen)
• Pre-triggering: A negative time value shifts the acquisition window to capture data *before* the trigger event.
Example: SENSe:SWEep:OFFSet:TIME -1E-3 (Sets a 1 ms pre-trigger delay, trigger event appears near the right of the screen)
• Zero Offset (Trigger at Center): SENSe:SWEep:OFFSet:TIME 0 (Places the trigger event at the center of the screen)
After a *RST, the offset time defaults to -0.005 (-5 ms). Since the default total acquisition time (SENS:SWEep:TIME) after reset is 10 ms, this places the trigger point exactly in the middle of the trace.
What are the conditions and limitations for external triggering?
External triggering is only possible for PM33x0A CombiScope instruments, using Channel 4 as the input.
Requirements/Possibilities:
• Select external trigger source: TRIGger:SOURce EXTernal.
• Attenuator positions 0.1 and 1 V/div are available (can be set via front panel AMP key simulation if needed).
• Trigger slope can be set to POSitive or NEGative (TRIGger:SLOPe).
• Trigger coupling can be set to AC or DC (TRIGger:FILTer... commands or front panel AC/DC key simulation).
Viewing External Trigger Signal:
• The view facility for the external trigger channel (CH4) can be switched on only if:
– EXTernal or INTernal4 is programmed as the trigger source.
– Peak detection acquisition mode is OFF.
• Use the command: SENSe:FUNCtion:ON "XTIMe:VOLTage4" or simulate the TRIG VIEW key (SYSTem:KEY 812).
Limitation:
• The amplitude of the external trigger signal must be high enough for the selected sensitivity (0.1 or 1 V/div).
• Autoset scans CH1, CH2, and the external trigger input. If a signal is present on the external input, Autoset selects it as the trigger source and activates the view facility.
How do I read acquired trace data?
After an acquisition completes, the resulting trace data is placed in the corresponding channel’s memory buffer within the TRACe subsystem (e.g., CH1 data goes to TRACe memory element CH1, CH2 data to CH2, etc.).
To read this data, use the TRACe[:DATA]? query, specifying the channel whose data you want to retrieve.
Example: Read the trace data last acquired on input channel 2.
TRACe? CH2
The instrument will respond with the trace data in the currently selected block data format (set by FORMat command, see “What is the format of the trace response data?”).
Important: New acquisitions overwrite the previous data in the CHx buffers. If you need to save a trace before the next acquisition, you must copy it to a memory register (e.g., M1_1, M2_3) using the TRACe:COPY command (refer to section 3.10.2 in the PDF).
How is trace data formatted and sent?
The trace data is sent as a block of binary codes. Trace samples can be formatted to consist of 8 bits (1 byte) or 16 bits (2 bytes) codes, which can be selected by the FORMat command. After *RST (reset), the samples are sent as 2-byte codes by default.
How are 16-bit trace samples sent?
When samples are formatted as two bytes (16 bits), the most significant byte (msb) is sent first, followed by the least significant byte (lsb).
How are trace sample values coded?
The sample values sent in the block are coded according to the two’s complement notation.
What is the relationship between screen position, trace sample value, and the decimal value of the binary code?
The value of the trace points relates to the vertical position of the corresponding sample on the screen. The relationship is as follows (values in parentheses apply to single-byte format):
| Screen position (Ps) | Trace sample value (Ts) | Decimal value of byte code |
|---|---|---|
| (Max positive limit) | 32767 (127) | 32767 (127) |
| top | 25600 (100) | 25600 (100) |
| 1 (1) | 1 (1) | |
| screen mid range | 0 (0) | 0 (0) |
| -1 (-1) | 65535 (255) | |
| bottom | -25600 (-100) | 39936 (156) |
| (Min negative limit) | -32768 (-128) | 32768 (128) |
For example, a 16-bit sample with value 25600 corresponds to the top position of the screen. Samples with values -25600 and 0 correspond to the bottom and mid-position respectively.
What is the dynamic trace range and screen range?
The Analog-to-Digital Converter (ADC) allows trace acquisitions somewhat outside the vertical screen boundaries, using the full dynamic range of the ADC. This results in a dynamic trace range of 65535 points (from -32768 to +32767), whereas the screen range is limited to 51200 points (from -25600 to +25600).
What is the format for a trace of 512 8-bit samples?
The format is as follows:
#3514 <8> <byte 1> … <byte 512> <checksum> <NL>
Where:
#3514: Header indicating 3 digits for the number of bytes (514).
<8>: Byte with decimal value 8, indicating 8-bit sample length.
<byte 1> … <byte 512>: The 512 trace sample bytes.
<checksum>: Checksum byte.
<NL>: Newline character (terminating LF, decimal 10).
Total number of trace bytes = 512 samples * 1 byte/sample = 512 bytes.
Total number of bytes in block = 512 (data) + 1 (length byte) + 1 (checksum) = 514 bytes.
How are 8-bit trace samples converted to integer values?
The conversion from a single byte value (representing an 8-bit sample in two’s complement) to an integer is done as follows:
If byte ≥ 128 then integer = byte – 256.
If byte < 128 then integer = byte.
Example: byte = 255 → integer = 255 – 256 = -1.
Example: byte = 100 → integer = 100.
What is the format for a trace of 512 16-bit samples?
The format is as follows:
#41026 <16> <msb 1> <lsb 1> … <msb 512> <lsb 512> <checksum> <NL>
Where:
#41026: Header indicating 4 digits for the number of bytes (1026).
<16>: Byte with decimal value 16, indicating 16-bit sample length.
<msb 1> <lsb 1>: Most significant byte and least significant byte for trace sample 1.
…
<msb 512> <lsb 512>: Most significant byte and least significant byte for trace sample 512.
<checksum>: Checksum byte.
<NL>: Newline character (terminating LF, decimal 10).
Total number of trace bytes = 512 samples * 2 bytes/sample = 1024 bytes.
Total number of bytes in block = 1024 (data) + 1 (length byte) + 1 (checksum) = 1026 bytes.
How are 16-bit trace samples (msb, lsb) converted to integer values?
The conversion from a double byte value (byte1 = msb, byte2 = lsb, representing a 16-bit sample in two’s complement) to an integer is done as follows:
If byte1 < 128 then integer = byte1 * 256 + byte2.
If byte1 ≥ 128 then integer = (byte1 – 256) * 256 + byte2.
Example: byte1 = 255 & byte2 = 32 → integer = (255 – 256) * 256 + 32 = -1 * 256 + 32 = -224.
Example: byte1 = 100 & byte2 = 0 → integer = 100 * 256 + 0 = 25600.
How are screen positions related to voltage values (Vs)?
Screen positions (Ps) correspond to voltage values (Vs). This relation is determined by the settings programmed by the SENSE:VOLTage:RANGE:PTPeak and SENSE:VOLTage:RANGE:OFFSet commands.
The relationship is expressed by the equations:
For 8-bit sample traces: Vs = (Ps * PTPeak) / 200 – OFFSet
For 16-bit sample traces: Vs = (Ps * PTPeak) / 51200 – OFFSet
Where:
Vs = Corresponding voltage amplitude
Ps = Screen position (e.g., -100% to +100% or equivalent scaling)
PTPeak = Programmed peak-to-peak voltage range for the screen
OFFSet = Programmed voltage offset
How is the screen position (Ps) related to the trace sample value (Ts)?
There is a direct relation between the screen position (Ps) and the value (Ts) of a trace sample. This relation is expressed by the equations:
For 8-bit sample traces: Ps = Ts (where Ts ranges from -100 to +100 for screen range)
For 16-bit sample traces: Ps = (Ts / 25600) * 100 = Ts / 256 (where Ts ranges from -25600 to +25600 for screen range, and Ps is scaled to -100% to +100%)
How can the voltage value (Vs) be calculated directly from a trace sample value (Ts)?
By eliminating the screen position (Ps) from the equations relating Vs to Ps and Ps to Ts, a direct relation between the voltage value (Vs) and the trace sample value (Ts) can be derived:
For 8-bit sample traces: Vs = (Ts / 200) * PTPeak – OFFSet
For 16-bit sample traces: Vs = (Ts / 51200) * PTPeak – OFFSet
Where:
Vs = Corresponding voltage amplitude
Ts = Value of the trace sample
PTPeak = Programmed peak-to-peak voltage range for the screen
OFFSet = Programmed voltage offset
How can a trace of samples be converted to an array of voltages?
A trace of samples (received as a data block) can be converted to an array of voltages using the following steps, as demonstrated in the program example EXCNVTRC.BAS:
1. Read the trace data block from the instrument (e.g., using TRACE? CH1).
2. Parse the response to determine the number of bytes, sample length (8 or 16 bits), and number of samples.
3. Query the instrument for the current Peak-to-Peak voltage range (SENSE:VOLTage:RANGE:PTPeak?) and store the value (ptpeak).
4. Query the instrument for the current Offset voltage (SENSE:VOLTage:RANGE:OFFSet?) and store the value (offset).
5. Iterate through each sample in the received data block:
a. Extract the byte(s) corresponding to the current sample.
b. Convert the byte(s) to an integer trace sample value (trace%) using the appropriate 8-bit or 16-bit conversion logic (two’s complement).
c. Calculate the voltage value (sample(i)) using the formula corresponding to the sample length:
– For 8-bit: sample(i) = trace% / 200 * ptpeak – offset
– For 16-bit: sample(i) = trace% / 51200 * ptpeak – offset
d. Store the calculated voltage value in an array.
6. The resulting array contains the voltage values corresponding to the trace samples.
How can acquired traces and measured signal characteristics be averaged?
Averaging can be enabled using the SENSE:AVERage[:STATe] ON command. When enabled, the instrument performs averaging according to the following formula:
AVG_n = (X_1 + … + X_n) / n
Where ‘n’ is the number of acquisitions to be averaged, and ‘X’ represents the acquisition result (trace or measurement).
How is the averaging function enabled and configured?
1. Set the number of acquisitions to average using the SENSE:AVERage:COUNt <n> command. For example, SENSE:AVERage:COUNt 16 sets the average count to 16.
2. Enable the averaging function using the SENSE:AVERage[:STATe] ON command.
What happens when SENSE:AVERage is ON and an acquisition is initiated?
When SENSE:AVERage is ON and an acquisition is initiated (e.g., with INITiate), the CombiScope instrument takes ‘n’ (the number set by SENSE:AVERage:COUNt) successive acquisitions. Only after sufficient acquisitions are taken is the final averaged result returned. Intermediate results cannot be queried.
What are the states of the acquisition process when averaging is on?
The acquisition process with averaging involves the following states:
1. IDLE state: The initial state after power-on, *RST, or ABORt.
2. INITiated state: Entered after an INITiate or INIT:CONT ON command. The instrument is waiting for the first trigger.
3. Wait for AVERage state: After the first acquisition completes, the instrument enters this state. It performs subsequent acquisitions (up to the SENSE:AVERage:COUNt value). In this state, it cycles between ‘Wait for trigger’ and ‘Wait for complete’ for each acquisition contributing to the average.
4. Return to INITiated state (if INIT:CONT ON) or IDLE state (if INIT) after the required number of acquisitions are averaged.
How are input channels switched on or off?
Input channels are switched on or off using the SENSE:FUNCtion[:ON] or SENSE:FUNCtion:OFF commands, specifying the channel using the “XTIME:VOLTage<n>” parameter, where <n> is the channel number (1, 2, 3, or 4).
Example ON: SENSE:FUNCtion:ON “XTIME:VOLTage2”
Example OFF: SENSE:FUNCtion:OFF “XTIME:VOLTage1”
After a *RST command, channel 1 is turned on, and the other channels are off.
How can the addition of two channels be selected?
The addition of two channels can be selected by specifying the “XTIME:VOLTage:SUM” parameter with the SENSE:FUNCtion[:ON] command:
Addition of CH1 and CH2: SENSE:FUNCtion “XTIME:VOLTage:SUM 1,2”
Addition of CH3 and CH4: SENSE:FUNCtion “XTIME:VOLTage:SUM 3,4”
What happens when enabling or disabling the addition of input channels?
Enabling the addition of input channels (e.g., CH3+CH4) automatically switches channel 3 and channel 4 on.
Disabling the addition of two channels (e.g., CH3+CH4) automatically switches channel 3 and channel 4 off, provided at least one channel remains on.
How can CH1+CH2 be turned off if it’s currently on and CH3/CH4 are off?
If CH1+CH2 is on and CH3/CH4 are off, you cannot program CH1+CH2 off directly using SENSE:FUNCtion:OFF “XTIME:VOLTage:SUM 1,2”. Instead, you must first turn on one of the individual channels (CH1 or CH2) to ensure at least one channel remains active. For example, send the command:
SENSE:FUNCtion:ON “XTIME:VOLTage2”
This sets CH2 on, which automatically turns CH1+CH2 off, while CH1 remains off (unless it was individually turned on previously).
How can the input coupling (AC, DC, Ground) be set for an input channel?
The INPut<n>:COUPling command allows you to set the vertical input coupling for each input channel <n> separately. The options are AC, DC, or GROund.
Example (Channel 1 AC coupled): INPut:COUPling AC
Example (Channel 2 Ground coupled): INPut2:COUPling GROund
What is the default input coupling after a *RST command?
After a *RST command, all input channels are DC coupled.
How is the common low-pass input filter turned on or off?
The common low-pass filter (bandwidth limiter, fixed at 20 MHz cutoff) for all input channels can be turned on or off using the INPut:FILTer command.
To turn ON: INPut:FILTer ON
To turn OFF: INPut:FILTer OFF (Default after *RST)
The filter frequency can be queried using: INPut:FILTer:FREQuency?
How is the input impedance (50 Ω or 1 MΩ) specified for a channel?
The input impedance for each input channel <n> can be specified separately using the INPut<n>:IMPedance command. Options are 50 (for 50 Ω) or 1E6 (or HIGH, for 1 MΩ).
Example (Channel 4, 50 Ω): INPut4:IMPedance 50
The default impedance after a *RST command is 1 MΩ.
How is the input polarity (Normal or Inverted) set for channels 2 and 4?
The polarity of the signal on input channels 2 and 4 can be set using the INPut<n>:POLarity command. The options are NORMal (default) or INVerted.
Example (Channel 2 Normal): INPut2:POLarity NORMal
Example (Channel 4 Inverted): INPut4:POLarity INVerted
How is the peak-to-peak voltage range specified for signal acquisition?
The peak-to-peak range of the signal acquisition over all 8 divisions of the display screen for each input channel <n> is specified using the SENSE:VOLTage<n>:RANGe:PTPeak command.
Example (Channel 2, 800 mV peak-to-peak): SENSE:VOLTage2:RANGe:PTPeak 0.8
After a *RST command, the peak-to-peak value for channel 1 is set at 1.6V.
How is the vertical sensitivity per division calculated from the peak-to-peak range?
The vertical sensitivity per division is calculated from the specified peak-to-peak value as follows:
<vertical_sensitivity> = <peak-to-peak> / 8
For example, if the peak-to-peak range is set to 800 mV, the vertical sensitivity is 800 mV / 8 = 100 mV/div.
How is the vertical offset specified for an input channel?
The vertical offset for each input channel <n> can be specified using the SENSE:VOLTage<n>:RANGe:OFFSet command.
Example (Channel 2, +100 mV offset): SENSE:VOLTage2:RANGe:OFFSet 0.1
After a *RST command, the vertical offset for each input channel is zero.
How does the AUTO RANGE function work for vertical input sensitivity?
The AUTO RANGE function, enabled by the SENSE:VOLTage<n>:RANGe:AUTO ON command for a specific channel <n>, automatically selects the vertical input sensitivity (attenuation) to keep the signal amplitude displayed between 2 and 6.4 divisions on the screen. Autoranging attenuators work independently on the available input channels (1-4 for PM33x4A, 1-2 for PM33x2A).
What happens to input coupling when auto attenuation is switched on?
When auto attenuation is switched on for an input channel <n>, the input signal for that channel is automatically forced to AC coupling. It is still possible to switch back to DC coupling using the INPut<n>:COUPling DC command, but proper operation of auto attenuation cannot be guaranteed in that case.
What is the limitation for auto attenuation?
Auto attenuation is limited to a minimum sensitivity of 50 mV per division. This minimum value is used as the noise level to prevent auto attenuation from trying to adjust noise on an open input channel.
How is the number of sample points (acquisition length) set?
The number of sample points, which is the total acquisition length for all traces, is set using the TRACE:POINts command, specifying a channel (e.g., CH1) and the desired number of points. The number of samples is limited to discrete values (refer to the command reference for details).
Example (Set acquisition length to 8192 points): TRACE:POINts CH1, 8192
After a *RST command, the number of samples is 512.
What happens if the number of samples is changed?
If the number of samples (acquisition length) is changed, the contents of all trace memories (acquisition and register traces) are cleared. All previously stored traces are lost.
How is the time base speed (sweep time) specified?
The time base speed, which is the time duration of one complete trace acquisition, is specified using the SENSE:SWEep:TIME command. In digital mode, the specified value is limited to permitted Main Time Base (MTB) values.
Example: SENSE:SWEep:TIME <time_value>
The command reference provides details on permitted values.
How is the Main Time Base (MTB) in seconds per division calculated?
The Main Time Base (MTB), expressed in seconds per division, is determined by the sweep time (SENSE:SWEep:TIME) and the number of trace points (TRACE:POINts). Since there are 50 points per division, the MTB can be calculated using the following equation:
MTB = 50 * SENSE:SWEep:TIME / (TRACE:POINts – 1)
How can the time value (Ts) associated with a specific trace sample point be calculated?
The time value (Ts) associated with a trace sample point can be calculated from its index within the trace, the total sweep time, and the number of points in the trace using the following expression:
Ts = <sample_index> * SENSE:SWEep:TIME / (TRACE:POINts – 1)
where <sample_index> is the point number of the sample in the trace (starting from 0 or 1 depending on convention, usually 0 for the first point).
How can real-time acquisition be guaranteed for fast traces?
To guarantee real-time acquisition (sampling within one acquisition period, not using random sampling techniques), the command SENSE:SWEep:REALtime[:STATe] must be set to ON.
Example: SENSE:SWEep:REALtime ON
After *RST, the :REALtime command is set to OFF.
What is the trade-off when SENSE:SWEep:REALtime is ON?
When real-time acquisition is enabled (SENSE:SWEep:REALtime ON), the random sampling techniques are disabled. The trade-off is that the SENSE:SWEep:TIME range is limited to 200 ns or slower. Faster time base settings are not available in guaranteed real-time mode.
What does the peak detection function do?
The “peak detection” function allows the Analog-to-Digital Converters (ADC) to operate at their highest speed, even when a lower time base speed is selected. This results in the detection of maximum and minimum peaks of the signal (oversampling) that might occur between the slower sample points dictated by the selected time base. This function can be switched on or off using the SENSE:SWEep:PDETection[:STATe] command.
Example ON: SENSE:SWEep:PDETection ON
How does the AUTO RANGE function work for the Main Time Base (MTB)?
The AUTO RANGE function for the Main Time Base (MTB), enabled by SENSE:SWEep:TIME:AUTO ON, automatically adjusts the time base so that two to six waveform periods are displayed on the screen. If the waveform doesn’t contain enough information to calculate its period, the time base is adjusted to acquire a minimum of two periods.
How is one period of a signal determined for autoranging the time base?
One period of a signal is determined by three successive crossings (X1, X2, X3) of the hysteresis band with the input signal. The period length is the time between the first (X1) and third (X3) crossings. The level of the hysteresis band can be set using the TRIGger:LEVel command.
What are the limitations when operating with autoranging time base?
When operating with an acquisition length of 512 points, the maximum input frequency for reliable autoranging is 25 MHz. For all other acquisition lengths, the maximum input frequency is 50 MHz. If the input frequency is greater than the maximum alias detection frequency, it is no longer possible to detect aliasing, which might affect autoranging accuracy.
How are the post-processing functions CALCulate1 and CALCulate2 used?
The CALCulate functions (which comply with front panel MATH1 and MATH2) are used as follows:
1. Select the source trace for the post-processing function using CALCulate<n>:FEED.
2. Specify the settings of the post-processing function (e.g., filter type, window width, mathematical operation).
3. Enable the post-processing function using the :STATe ON command for the specific function (e.g., CALCulate2:INTegral:STATe ON).
4. Check the result of the post-processing function, which is stored in specific trace memory locations (e.g., M1_n or M2_n) and can be read using TRACe?.
These functions work only in the digital mode.
How is the source trace selected for a CALCulate function?
The trace that is to be sourced (used as input) into the CALCulate function is selected by sending the CALCulate<n>:FEED command with the desired trace name.
Examples:
CALCulate2:FEED “CH3” (Channel 3 = source for CALC2)
CALCulate:FEED “M2_1” (Memory trace M2_1 = source for CALC1)
After a *RST command, CH1 becomes the input trace for both CALCulate functions.
What traces cannot be selected as source traces?
Empty traces may not be selected as input traces.
A memory register 1 location (M1_j) may not be specified as the source (feed) for CALCulate1.
A memory register 2 location (M2_j) may not be the source (feed) for CALCulate2.
For PM33x0A CombiScope instruments, CH3 and CH4 cannot be selected as a source.
What settings can be programmed for the post-processing function?
The following settings can be programmed:
– The filter type of the FFT function: RECTanguler | HAMMing | HANNing (e.g., CALCulate2:TRANsform:FREQuency:WINDow HAMMing)
– The width of the low-pass filter window: 3, 5, 7, …, 39, 41 points (e.g., CALCulate:FILTer:FREQuency:POINts 35)
– The width of the differential window: 3, 5, 7, …, 127, 129 points (e.g., CALCulate2:DERivative:POINts 35)
How is a desired post-processing function enabled?
A desired post-processing function is enabled by using the :STATe ON command of the specific function within the concerned calculate block (CALCulate1 or CALCulate2).
Example: CALCulate2:TRANsform:FREQuency:STATe ON (Enables FFT for CALCulate2)
What standard post-processing functions are available?
The standard available post-processing functions are:
– Mathematical calculations: :MATH
– Frequency filtering: :FILTer:FREQuency
– Frequency domain transformations (FFT): :TRANsform:FREQuency
What optional post-processing functions are available?
The optional post-processing functions are:
– Histogram transformation: :TRANsform:HISTogram
– Integrating traces: :INTegral
– Differentiating traces: :DERivative (alias :DIFFerential)
When is post-processing automatically executed?
Post-processing is automatically executed when a trace that is fed into the CALCulate function is changed. If a mathematical function is switched on, the other functions (Filter, FFT, etc.) are automatically switched off.
Where are the results of the MATH, FFT, and Histogram post-processing functions stored?
The results of the :MATH, :TRANsform:FREQuency (FFT), and :TRANsform:HISTogram functions are stored in M1_1 for CALCulate1 and in M2_1 for CALCulate2, regardless of the input (feed) trace.
Where are the results of the Filter, Integral, and Derivative post-processing functions stored?
The results of the :FILTer:FREQuency, :INTegral, and :DERivative (or :DIFFerential) functions are stored in M1_n or M2_n, depending on the input source. If CHn or Mi_n is the input trace for CALCulate1, the result is placed in M1_n (where n = 1, 2, 3, 4). If CHn or Mi_n is the input trace for CALCulate2, the result is placed in M2_n (n = 1, 2, 3, 4).
Example: If CALCulate2:FEED “CH3” and CALCulate2:INTegral:STATE ON are executed, the integral of the channel 3 trace is placed in M2_3.
What happens to other trace locations in the same memory register when a calculation result is saved?
When the result of a calculation is saved in a trace memory location (e.g., M1_2), the other trace locations of the same memory register (M1_1, M1_3, M1_4) are used by the calculate process. Data stored in these locations may be destroyed.
How can the result of a CALCulate function stored in trace memory be read?
The result of a CALCulate function that is stored in a trace memory location (e.g., M2_1) can be read into the controller by using the TRACe? query with the specific memory location.
Example: Send TRACe? M2_1, then read the response.
Can the result of a CALCulate block be used as a source for the other CALCulate block?
Yes, the result of a CALCulate block (e.g., M1_1 from CALCulate1) can be used as a source (feed) for the other CALCulate block (e.g., CALCulate2:FEED “M1_1”). However, the result cannot be used as a source for the same CALCulate block.
How are mathematical calculations (+, -, *) performed on two traces?
Mathematical calculations are performed using the CALCulate1:MATH and CALCulate2:MATH functions. These functions take an expression defining the operation and the two operand traces.
Example: CALCulate:MATH “(CH1+CH2)” performs CH1 + CH2.
Example: CALCulate2:MATH “(M1_1 – CH2)” performs M1_1 – CH2.
After defining the calculation, it must be enabled using CALCulate<n>:MATH:STATe ON.
The result is stored according to the rules described for post-processing results (e.g., result of CALCulate1:MATH is stored in M1_1).
How is the attenuation of the resulting trace set in mathematical calculations?
The attenuation of the resulting trace from a mathematical calculation is automatically set higher than the sum of the attenuations of the individual traces involved in the calculation.
How can the first argument in a mathematical expression be specified implicitly?
The first argument can be specified implicitly by using the keyword IMPLied in the expression. When IMPLied is used, the trace that is currently programmed as the input source via the CALCulate<n>:FEED command is used as the first argument. The second argument must always be specified explicitly by its trace name.
Example:
1. CALCulate:FEED “CH3” (Sets CH3 as the implicit source for CALC1)
2. CALCulate:MATH “(IMPLied+CH2)” (Defines the calculation as CH3 + CH2)
3. CALCulate:MATH:STATe ON (Enables the function)
The result (CH3 + CH2) will be stored in M1_1.
How does the INTegral function work?
The INTegral function performs a point-to-point integration on the input trace (selected via :FEED). The result is a trace where each point represents the integral (accumulation) up to the corresponding point in the original input trace. The function is enabled using CALCulate<n>:INTegral:STATe ON. Scaling can be adjusted via the MATHPLUS – PARAM menu option using front panel controls.
How does the DERivative (DIFFerential) function work?
The DERivative (or DIFFerential) function calculates the differential quotient (derivative) of the input trace points (selected via :FEED). Each point in the resulting trace is the derivative of the corresponding point in the original input trace, calculated over a specified window. The function is enabled using CALCulate<n>:DERivative:STATe ON. Scaling can be adjusted via the MATHPLUS – PARAM menu option using front panel controls.
How is the width of the differential window programmed?
The width of the differential window for the DERivative function can be programmed from 3 to 129 points in increments of 2 points using the CALCulate<n>:DERivative:POINts command.
Example: CALCulate2:DERivative:POINts 35
After a *RST command, the number of points is 5.
How is the result of an FFT calculation displayed?
The result of an FFT (Fast Fourier Transformation) calculation is displayed as a trace of amplitude values (vertically) versus frequency values (horizontally).
How can the vertical result type (Relative or Absolute) be selected for FFT?
The vertical result type for the FFT calculation can be selected using the CALCulate<n>:TRANsform:FREQuency:TYPE command. The options are RELative or ABSolute.
How can the calculated amplitude and frequency value be read from an FFT result?
The calculated amplitude and frequency values, typically associated with cursors placed on the FFT display, can be read using the DISPlay:WINDow:TEXT<n>:DATA? query, specifically with <n> = 60 (frequency) and <n> = 61 (amplitude).
What is a relative FFT calculation?
A relative FFT calculation results in a display consisting of frequency (Hz) and amplitude in decibels (dB), relative to the frequency component with the largest amplitude (which is assigned 0 dB).
What is an absolute FFT calculation?
An absolute FFT calculation results in a display consisting of frequency (Hz) and an absolute amplitude value. The amplitude units can be dBm (dB relative to 1 milliwatt), dBµV (dB relative to 1 microvolt), or Vrms (Volts RMS), as selected via the front panel CURSORS – READOUT softkey menu.
What FFT window functions can be selected and what do they do?
The following FFT window functions can be selected using the CALCulate<n>:TRANsform:FREQuency:WINDow command:
– RECTangular: Transforms a repetitive time amplitude trace into its power spectrum without applying any specific window. Best for signals perfectly periodic within the acquisition window.
– HAMMing / HANNing: Reduce side lobes in the frequency spectrum by applying a Hamming or Hanning window to the input time-domain signal. This improves the visibility of minor frequency components, especially if the signal is not perfectly periodic within the window or if there is significant spectral leakage.
How is the resulting FFT trace presented and scaled?
The resulting FFT trace is a MIN/MAX (envelope) trace, meaning each horizontal point represents both the minimum and maximum amplitude calculated for that frequency bin. The FFT trace points are scaled vertically between +4 and -4 divisions on the screen. However, the sample values returned by a TRACe? query are shifted 4 divisions upwards. The amplitude values typically range from -0 dB (top, corresponding to the strongest component or reference) to -80 dB (bottom).
What is the relationship between screen position and FFT value for 8-bit and 16-bit samples?
The relationship between the trace sample value (Ts) reported via TRACE:DATA? and the displayed FFT trace point value (in dB) is:
| Screen Position / Trace Point Value | Trace sample value (Ts) – 8-bits | Trace sample value (Ts) – 16-bits |
|---|---|---|
| top / 0 dB | 100 | 25600 |
| -10 dB | 75 | 19200 |
| -20 dB | 50 | 12800 |
| -30 dB | 25 | 6400 |
| mid / -40 dB | 0 | 0 |
| -50 dB | -25 | -6400 |
| -60 dB | -50 | -12800 |
| -70 dB | -75 | -19200 |
| bottom / -80 dB | -100 | -25600 |
Note: These Ts values reflect the shifted values returned by TRACE:DATA? for an FFT trace.
How can FFT trace sample values (Ts) be converted to FFT point values (Ps) in dB?
FFT trace sample values (Ts), as returned by the TRACE:DATA? query, can be converted to the actual FFT point value (Ps) in dB using the following steps:
1. Subtract the offset value for 4 divisions:
– For 8-bit samples: Subtract 100 (since 4 divisions * 25 units/division = 100)
– For 16-bit samples: Subtract 25600 (since 4 divisions * 6400 units/division = 25600)
2. Multiply the result by the correction factor:
– For 8-bit samples: Multiply by 0.4 (-10 dB / -25 units = 0.4 dB/unit)
– For 16-bit samples: Multiply by 0.0015625 (-10 dB / -6400 units = 0.0015625 dB/unit)
The equations are:
For 8-bit samples: Ps (dB) = (Ts – 100) * 0.4
For 16-bit samples: Ps (dB) = (Ts – 25600) * 0.0015625
(Note: Ts here refers to the raw sample value from TRACE:DATA?, not the general trace sample value definition from section 3.4.3).
What does the 0 dB level represent in a relative FFT calculation?
In a relative FFT calculation, the component with the highest amplitude is taken as the reference level, referred to as the 0 dB level. All other amplitude trace point values represent the strength of their frequency components relative to this reference.
What determines the amplitude trace point values in an absolute FFT calculation?
In an absolute FFT calculation, the amplitude trace point values depend on the absolute reference level selected via the CURSORS – READOUT front panel menu.
What are the possible absolute reference levels for absolute FFT?
The possible absolute reference levels that can be selected via the CURSORS – READOUT front panel menu are:
– dBm (reference = 1 mW) with REFerence IMPedance of 50Ω
– dBm (reference = 1 mW) with REFerence IMPedance of 600Ω
– dBµV (reference = 1 µV)
– Vrms (reference = RMS signal amplitude)
How is the reference level (top of screen) for absolute FFT amplitude display calculated?
The reference level for absolute FFT, corresponding to the top of the screen (0 dB relative level), is calculated based on the RMS value of a sine wave occupying 6.34 divisions peak-to-peak. This RMS value is 6.34 / (2 * sqrt(2)) ≈ 2.24 times the vertical sensitivity setting (mV/div). For any attenuator setting, the reference level can be calculated as:
Reference Level = 2.24 * <number of millivolts per division>
Examples:
At 20mV/div: Reference Level ≈ 2.24 * 20 = 44.8 mVrms
At 100mV/div: Reference Level ≈ 2.24 * 100 = 224 mVrms
This calculated level corresponds to the absolute value (e.g., Vrms, dBm, dBµV) displayed at the top of the FFT screen.
How is the Vrms offset voltage calculated for absolute FFT based on attenuator settings?
A signal of 1 mW at 50Ω impedance is used as a voltage reference, corresponding to the 100 mV/div setting. The RMS voltage for this signal is:
Urms = sqrt(P * R) = sqrt(1E-3 W * 50 Ω) ≈ 0.2236068 V
For a full screen display (assumed to be 10 divisions for this calculation, although FFT uses 8), this reference corresponds to Urms = 2.236068 V. The Vrms offset voltage for any attenuator setting is then calculated as:
Vrms offset = attenuation * Urms_reference (where Urms_reference = 0.2236068 V if attenuation is V/div, or 2.236068 V if attenuation is related to full screen)
Using the provided example for 0.5 V/div (which seems to relate attenuation to the 100mV/div reference implicitly):
Attenuation factor = 0.5 V/div / 0.1 V/div = 5 (relative to 100mV/div reference)
Vrms offset = 5 * 0.2236068 V ≈ 1.118034 V
Alternatively, using the 2.236068 V reference directly with the V/div setting:
Vrms offset = (Attenuator_setting_V_per_div / 0.1_V_per_div) * 0.2236068 V
Example for 0.5 V/div: Vrms offset = (0.5 / 0.1) * 0.2236068 = 5 * 0.2236068 ≈ 1.118034 V
This Vrms offset represents the absolute RMS voltage corresponding to the top of the screen at that specific attenuator setting.
How is the dBm-50Ω offset value calculated from the Vrms offset?
The dBm-50Ω offset value (absolute dBm value corresponding to the top of the screen) is calculated from the Vrms offset value using the reference voltage for 0 dBm at 50Ω (which is sqrt(1E-3 * 50) ≈ 0.2236068 V):
dBm-50Ω offset = 20 * log10 (Vrms offset / 0.2236068)
Example for attenuator setting 0.5 V/div (Vrms offset ≈ 1.118034 V):
dBm-50Ω offset = 20 * log10 (1.118034 / 0.2236068) = 20 * log10(5) ≈ 13.9794 dBm
How is the dBm-600Ω offset value calculated from the Vrms offset?
The dBm-600Ω offset value is calculated from the Vrms offset value using the reference voltage for 0 dBm at 600Ω (which is sqrt(1E-3 * 600) ≈ 0.7745967 V):
dBm-600Ω offset = 20 * log10 (Vrms offset / 0.7745967)
Example for attenuator setting 0.5 V/div (Vrms offset ≈ 1.118034 V):
dBm-600Ω offset = 20 * log10 (1.118034 / 0.7745967) ≈ 20 * log10(1.44338) ≈ 3.187587 dBm
How is the dBμV offset value calculated from the Vrms offset?
The dBμV offset value is calculated from the Vrms offset value using the reference voltage of 1 μV (1.0E-6 V):
dBμV offset = 20 * log10 (Vrms offset / 1.0E-6)
Example for attenuator setting 0.5 V/div (Vrms offset ≈ 1.118034 V):
dBμV offset = 20 * log10 (1.118034 / 1E-6) ≈ 20 * log10(1118034) ≈ 120.9691 dBμV
What are the calculated Vrms, dBm-50Ω, dBm-600Ω, and dBμV offset values for various attenuator settings?
The calculated offset values (corresponding to the top of the screen / 0 dB relative level) are summarized below:
| ATTENUATOR SETTING | Vrms | dBm-50Ω | dBm-600Ω | dBμV |
|---|---|---|---|---|
| 5 V/div | 11.18034 | +33.9794 | +23.187588 | +140.9691 |
| 2 V/div | 4.4721359 | +26.0206 | +15.228787 | +133.0103 |
| 1 V/div | 2.236068 | +20.0 | +9.2081872 | +126.9897 |
| 0.5 V/div | 1.118034 | +13.9794 | +3.1875874 | +120.9691 |
| 0.2 V/div | 0.4472136 | +6.0206 | -4.771213 | +113.0103 |
| 0.1 V/div | 0.2236068 | 0.0 | -10.791813 | +106.9897 |
| 50 mV/div | 0.1118034 | -6.0206 | -16.812413 | +100.9691 |
| 20 mV/div | 0.0447214 | -13.979392 | -24.771206 | +93.010308 |
| 10 mV/div | 0.0223607 | -20.0 | -30.791813 | +86.989708 |
| 5 mV/div | 0.0111803 | -26.020632 | -36.812444 | +80.96907 |
| 2 mV/div | 0.0044721 | -33.97947 | -44.771282 | +73.01023 |
How are the horizontal frequency values (Fs) calculated for each FFT trace point?
The horizontal frequency value (Fs) in Hz for each point in the FFT trace is calculated based on the sample index, the acquisition length (number of points), and the Main Time Base (MTB) using the following equation:
Fs = (<sample_index> * 1250) / (TRACE:POINts * MTB * 50)
Where:
<sample_index>: Point number of the sample in the trace (e.g., 0 to N-1).
TRACE:POINts: Acquisition length (total number of samples).
MTB: Main Time Base in seconds per division (calculated from SENSE:SWEep:TIME).
The constants 1250 and 50 likely relate to the FFT calculation span and the number of points per division.
What restriction applies when querying trace administration data (acquisition length, MTB) for FFT results?
Only trace sample data can be queried from trace memories (M1_n, M2_n) where FFT results are stored. No trace administration data, such as the acquisition length (TRACE:POINts) or MTB value (derived from SENSE:SWEep:TIME) used for the calculation, is stored with the FFT trace. This means that these values must be queried from the actual input channel signal (which was the source for the FFT process) *before* reading the FFT trace memory. Care must be taken not to change the acquisition length or MTB between activating the FFT post-processing function and reading the resulting trace memory, otherwise the frequency calculation will be incorrect.
How can a relative or absolute FFT trace be converted and printed?
To convert and print the frequency and amplitude values of an FFT trace (e.g., 512 samples, 1 or 2 bytes, result stored in M1_1 via MATH1):
1. **Set up FFT:** Use the front panel (or corresponding commands) to:
– Enable MATH1 and select “fft”.
– Select the desired FFT filter (“hamming”, “hanning”, “rectang”) via MATH – PARAM – FILTER.
– Select relative (“rel”) or absolute (“abs”) FFT via MATH – PARAM – READOUT.
– If absolute, select the desired units (“dBm + 50Ω”, “dBm + 600Ω”, “dBµV”, “Vrms”) via CURSORS – READOUT.
– Ensure the source channel (e.g., CH1) has the signal of interest.
2. **Query Necessary Values:**
– Get acquisition length: `TRACE:POINts? CH1`
– Get sweep time: `SENSE:SWEep:TIME?`
– Calculate MTB: `MTB = (sweep_time * 50) / (acquisition_length – 1)`
– Calculate frequency factor: `calc = 1250 / (acquisition_length * MTB * 50)`
– If absolute FFT, get peak-to-peak voltage for attenuation: `SENSE:VOLTage:RANGE:PTPeak? CH1` (Calculate Attenuation = peak-to-peak / 8)
– Get FFT type (Absolute/Relative): `CALCulate:TRANsform:FREQuency:TYPE?`
3. **Read FFT Trace:**
– `TRACe? M1_1` (Read the FFT result stored in M1_1)
4. **Convert and Print:**
– Parse the received trace data block (handle header, checksum).
– Loop through each sample point (index `i` from 0 to N-1):
– Calculate Frequency: `Fs = i * calc`
– Extract amplitude sample value (Ts) (handle 1 or 2 bytes).
– Convert Ts to Amplitude (Ps) in dB using the formulas from section 3.19:
– `Ps = (Ts – offset) * factor` (offset/factor depend on 8/16 bits)
– If absolute FFT, add the appropriate calculated offset (dBm, dBµV, or convert Vrms) based on the queried attenuation and selected units.
– Print the calculated Frequency (Fs) and Amplitude (Ps) for each point.
Note: The program example EXFFTTRC.BAS implements this process.
How does the Histogram function calculate and display amplitude distribution?
The HISTogram function (CALCulate<n>:TRANsform:HISTogram) calculates an amplitude distribution of the incoming trace (selected via :FEED). The result is a histogram trace with 512 points. Each point in the histogram specifies the number of times that a data point from the input trace falls within one of 512 specific amplitude belts. The function is enabled using :STATE ON.
How is the range of amplitude belts determined for a histogram?
The total range covered by the 512 amplitude belts is determined by the selected peak-to-peak range (SENSE:VOLTage<n>:RANGe:PTPeak) of the input channel. The width of each amplitude belt is calculated as:
amplitude belt = peak-to-peak range / 512
How is the histogram displayed on the screen?
The histogram is displayed on the screen in the area between +3 and -2 divisions vertically, and between the third and the seventh division horizontally. The horizontal axis represents the amplitude in volts (corresponding to the amplitude belts). The vertical axis represents the number of occurrences of an amplitude within each belt, displayed in percent.
How does the FILTer function perform low-pass filtering?
The FILTer function (CALCulate<n>:FILTer:FREQuency) performs digital low-pass filtering on the input trace (selected via :FEED) to suppress undesired frequency noise. The filtering is based on a window averaging technique. The function is enabled using :STATE ON.
How is the width of the filter window programmed?
The width of the filter window for the FILTer function can be programmed from 3 to 41 points in increments of 2 points using the CALCulate<n>:FILTer:FREQuency:POINts command.
Example: CALCulate:FILTer:FREQuency:POINts 35
After a *RST command, the number of points is 19.
What types of traces are stored in the trace memory?
The trace memory stores:
– Channel acquisition traces: CH1 to CH4 (capturing live input signals).
– Memory register traces: M1 to M8 (standard memory) or M1 to M50 (extended memory). These can store copies of acquisition traces, results of post-processing, or user-defined constant traces.
How does the amount of memory register space depend on the instrument configuration?
The amount of memory register space depends on whether the CombiScope instrument is equipped with standard or extended memory:
– Standard memory: 8 memory registers available (M1 to M8).
– Extended memory: 50 memory registers available (M1 to M50).
The available registers also depend on the selected acquisition length (TRACE:POINts).
What are the only programmable trace acquisition lengths?
The following trace acquisition lengths can be programmed using TRACE:POINts:
– 512
– 2024 (2K)
– 4096 (4K)
– 8192 (8K)
– 16384 (16K)
– 32768 (32K)
What happens when a different acquisition length is programmed?
If a different acquisition length is programmed using TRACE:POINts, the contents of all acquisition and register trace space are cleared. All previously stored traces are lost.
Where are the results of post-processing functions stored?
The resulting traces of the post-processing functions are always stored in specific memory registers:
– CALCulate1 function results are stored in memory register 1 locations (e.g., M1_1, M1_n).
– CALCulate2 function results are stored in memory register 2 locations (e.g., M2_1, M2_n).
Can CH3 and CH4 be selected as a source for PM33x0A instruments?
No, for the PM33x0A CombiScope instruments, CH3 and CH4 cannot be selected as the source for post-processing or copying. Instead, the external channel (e.g., M1_E representing the external input) can be selected where applicable.
What is the relationship between trace acquisition length, available channels, and available memory registers?
The following table shows the relationship (PM33x0A channels shown in parentheses):
| TRACE:POINts | Available CHANNELS | Available MEMORY REGISTERS |
|---|---|---|
| STANDARD MEMORY | ||
| 512 | 4 (2+EXT) | M1 .. M8 |
| 2K | 4 (2+EXT) | M1 .. M2 |
| 4K | 2 (2) | M1 .. M2 |
| 8K | 1 (none) | M1 .. M2 (Not applicable for PM33x0A) |
| EXTENDED MEMORY | ||
| 512 | 4 (2+EXT) | M1 .. M50 |
| 8k | 4 (2+EXT) | M1 .. M2 |
| 16K | 2 (2) | M1 .. M2 |
| 32K | 1 (none) | M1 .. M2 (Not applicable for PM33x0A) |
Can Delayed Time Base (DTB) acquisition traces be saved in memory registers?
Delayed Time Base (DTB) acquisition traces are only saved in the CH1 to CH4 memory (acquisition space), and only when the acquisition length is 512 samples. DTB acquisitions can only be defined via front panel operations, not directly via SCPI commands covered here.
How can the resolution (8 or 16 bits) of trace sample values be formatted?
The resolution of trace sample values for all trace acquisitions can be formatted using the FORMat command, specifically with the INTeger parameter.
To format as 16 bits (2 bytes): FORMat INTeger, 16 (This is the default after *RST)
To format as 8 bits (1 byte): FORMat INTeger, 8
Is the acquisition and register space cleared when the trace format is changed?
No, the contents of the acquisition and register space are not cleared when a different trace format (8 or 16 bits) is programmed using the FORMat command.
How can the contents of an acquisition trace from an input channel be copied to a memory register?
Use the TRACE:COPY command, specifying the destination memory register trace and the source channel.
Example: TRACE:COPY M1_2, CH2 (Copies acquisition trace from CH2 to memory register trace M1_2)
What happens to other traces in the destination memory register when copying from an input channel?
When copying from an input channel (e.g., CH2 to M1_2), the acquisition traces of any other currently active channels (CHn that are ON) are also copied into the corresponding locations in the destination register (e.g., CH1 to M1_1, CH3 to M1_3, if they are ON). All previously stored traces in the entire destination memory register (e.g., M1) are lost.
How can a previously stored trace be copied from one memory register to another?
Use the TRACE:COPY command, specifying the destination memory register trace and the source memory register trace.
Example: TRACE:COPY M2_2, M1_2 (Copies the trace stored in M1_2 to M2_2)
What happens to other traces in the destination memory register when copying from another memory register?
When copying from one memory register trace to another (e.g., M1_2 to M2_2), all other stored traces within the source memory register (M1_n) are also copied to the corresponding locations in the destination memory register (M2_n), provided a trace was previously stored in that M1_n location. All previously stored traces in the entire destination memory register (e.g., M2) are lost.
How can a previously read trace block be written back to a memory register?
To write a previously read trace block (obtained using TRACE? query) back into a memory register (Mi_n), use the TRACe command:
1. Read the trace block: Send TRACE? CH3, then Read <trace block>
2. Write the trace block: Send TRACe M2_3,<trace block>
Programming Note: The fixed command part (TRACe M2_3,) and the variable <trace block> must be sent separately without any EOI (End Or Identify) detection in between. The <trace block> must also be sent without EOI detection and without detection of the EOL (End Of Line) code, as the block itself might contain the EOL character code.
How can a trace memory register be filled with identical constant values?
Use the TRACe command specifying the target memory register trace (Mi_n) and the desired constant value. The constant value should be within the range -32767 to 32767.
Example: TRACe M2_4, 1028
This command fills all locations of memory register trace M2_4 with the constant value 1028 (which is 0404 hexadecimal). If the trace format is 16-bit, it uses 0404h; if 8-bit, it uses 04h.
Can data be written to acquisition space (CHn)?
No, a trace can only be written to memory register space (Mi_n) and not to acquisition space (CHn).
How can the contents of trace memory registers be read?
The contents of trace memory registers can be read using the TRACe? query, specifying the desired trace location.
What types of traces can be read using the TRACe? query?
The TRACe? query allows you to read the contents from:
– An acquisition trace from one of the input channels (CH1 to CH4).
– Previously stored trace data from one of the memory registers (M1 to M8 or M1 to M50). This can be a copied acquisition trace or a trace of constant values.
– The result of a post-processing function stored in M1 (for CALCulate1) or M2 (for CALCulate2).
Example: TRACe? CH1 (Reads acquisition trace CH1)
Example: TRACe? M5_2 (Reads trace stored in M5_2)
Example: TRACe? M1_1 (Reads result of CALCulate1 function)
How is the brightness of the trace(s) displayed on the screen controlled?
The brightness of the trace(s) displayed on the screen is controlled using the DISPlay:BRIGhtness command. The brightness is set on a scale from 0.0 (low) to 1.0 (high).
Example: DISPlay:BRIGhtness 0.3 (Sets brightness to 0.3)
After a *RST command, the brightness intensity is 0.18.
What are the different display areas (WINDow1, WINDow2, MENU) used for?
The display screen is divided into areas controlled by specific commands:
– WINDow[1]: The main upper area used by front panel functions like MEAS1/MEAS2, CURSORS, and MATH-FFT to display measurement data readout. Data can be queried using DISPlay:WINDow[1]:TEXT:DATA?.
– WINDow2: An area below WINDow1 used for writing user-defined text using DISPlay:WINDow2:TEXT commands.
– MENU: The area typically at the right or bottom used to display softkey menus, controlled by DISPlay:MENU commands.
How can measured data displayed on the upper line(s) of the screen be acquired?
Measured data displayed on the upper line(s) of the screen (WINDow[1]) can be acquired using the DISPlay:WINDow[1]:TEXT<n>:DATA? query. The number <n> specifies which measured data value to retrieve. The corresponding front panel functions (MEAS1, MEAS2, CURSORS, MATH-FFT) must be enabled and selected for data to be available.
What measured data values can be selected using the TEXT<n>:DATA? query?
The following measured data values can be selected by specifying <n>:
– 1, 2: MEAS1, MEAS2 data
– 10, 11, 12, 13, 20, 21, 30, 40, 51, 52: CURSORS data
– 60, 61: MATH – FFT frequency, amplitude
What is the format of the response string for measured data?
The format of a response string from DISPlay:WINDow[1]:TEXT<n>:DATA? is:
<meas_type>,<meas_value>,<suffix_unit>
What measurement types (DESCRIPTION, <meas_type>, <suffix_unit>) are available?
| DESCRIPTION | <meas_type> | <suffix_unit> |
|---|---|---|
| DC voltage | dc | V |
| AC-RMS voltage | rms | V |
| minimum voltage | min | V |
| maximum voltage | max | V |
| peak-to-peak voltage | pkpk | V |
| low level voltage | low | V |
| high level voltage | high | V |
| overshoot percentage | over | % |
| preshoot percentage | pre | % |
| frequency | freq | Hz |
| period time | T | s |
| pulse width | puls | s |
| rise time | rise | s |
| fall time | fall | s |
| duty cycle percentage | duty | % |
| delay time between 2 channels | del | s |
What CURSORS data readouts are available via the TEXT<n>:DATA? query?
| <n>: | TYPE: | UNIT: | DESCRIPTION: |
|---|---|---|---|
| 10 | dV | V | Voltage difference (delta-V) between the cursors. |
| dY | U | Vertical voltage (X-deflection on). | |
| 11 | V1 | V | Absolute voltage of cursor 1 to ground. |
| 12 | V2 | V | Absolute voltage of cursor 2 to ground. |
| 13 | Vdc | V | DC voltage |
| 20 | dT | s | Time difference (delta-T) between the cursors. |
| 21 | F | Hz | Frequency (1/dT) in Hertz. |
| 30 | dX | U | Horizontal voltage (X-deflection on). |
| 40 | phase | * | The phase between two channels in degrees Celsius. (* stands for degrees sign) |
| 51 | T1-trg | s | The time between cursor 1 and the trigger event. |
| 52 | T2-trg | s | The time between cursor 2 and the trigger event. |
What MATH – FFT data readouts are available via the TEXT<n>:DATA? query?
| <n>: | TYPE: | UNIT: | DESCRIPTION: |
|---|---|---|---|
| 60 | FFT-freq | Hz | FFT frequency in Hertz. |
| 61 | FFT-ampl | variable | FFT amplitude in: – Relative FFT selected: dB – Absolute FFT selected: dBm, dBµV, V (Vrms) |
How can user-defined text be defined and cleared on the screen (WINDow2)?
User-defined text can be displayed in the WINDow2 area using the following commands:
– Enable display: DISPlay:WINDow2:TEXT:STATe ON (Display is off after *RST)
– Write text (string): DISPlay:WINDow2:TEXT:DATA ‘<string>’
– Write text (block data): DISPlay:WINDow2:TEXT:DATA #<n><digits><data>
– Clear text area: DISPlay:WINDow2:TEXT:CLEar
Note: The ASCII character 25 is displayed as Ω.
How can softkey menus be selected and enabled for display?
A softkey menu can be selected and automatically enabled for display using the DISPlay:MENU command, followed by the menu name.
Example: DISPlay:MENU CURSors (Selects and displays the CURSORS menu)
After a *RST command, the display of softkey menus is turned off.
How are displayed softkey menus turned off?
The display of any currently shown softkey menu can be turned off using the command:
DISPlay:MENU:STATe OFF
How is a hardcopy device selected?
A hardcopy device is selected using the HCOPY:DEVice <TYPE> command, where <TYPE> is one of the supported device types.
Example: HCOPY:DEVice PM8277
After a *RST command, the selected device is “plotter; HPGL”.
What hardcopy device types can be selected?
| DEVICE: | TYPE: | NOTE: |
|---|---|---|
| Plotter | HPGL | HPGL plot data format |
| Plotter | HP7440 | |
| Plotter | HP7550 | |
| Plotter | HP7475A | |
| Plotter | HP7470A | |
| Plotter | PM8277 | |
| Plotter | PM8278 | |
| Printer | FX80 | Epson FX80 compatibles (9 points) |
| Printer | HP2225 | ThinkJet |
| Printer | LQ1500 | Epson LQ150 compatibles (24 points) |
| Printer | HPLASER | HP LaserJet series II & III |
| Generator | DUMP_M1 | Trace dump to PM5138, PM5139, or PM5150 arbitrary waveform generators. |
How can a hardcopy of the screen picture be requested?
A hardcopy of the picture on the screen can be requested using the HCOPY:DATA? query. The instrument will respond with the hardcopy data formatted according to the currently selected printer/plotter options (set via HCOPY:DEVice or front panel UTILITY menu).
How should the response data from HCOPY:DATA? be handled before sending to a plotter/printer?
The response data to an HCOPY:DATA? query is sent as block data of indefinite length. This means it is preceded by a preamble “#0” (two bytes: ‘#’ and ‘0’). This preamble must be removed from the beginning of the block data before sending the remaining data to the connected plotter or printer device.
What are the steps to send a hardcopy of the screen to a printer/plotter via GPIB?
1. Send the query HCOPY:DATA? to the instrument (DSO) via GPIB.
2. Read the block response data from the instrument via GPIB into a buffer in the controller.
3. Remove the first two bytes (“#0”) from the received data buffer.
4. Send the remaining part of the data buffer (the actual print/plot data) to the printer/plotter device at its GPIB address.
How are the current time and date set?
The current time (in 24-hour format) is set using the SYSTem:TIME command:
SYSTem:TIME <hours>,<minutes>,<seconds>
Example: SYSTem:TIME 14,25,36 (Sets time to 14:25:36)
The current date is set using the SYSTem:DATE command:
SYSTem:DATE <year>,<month>,<day>
Example: SYSTem:DATE 1993,12,15 (Sets date to 15 December 1993)
The date and time are stamped on acquired waveforms.
How is the instrument data calibrated automatically?
The instrument data is calibrated automatically by sending either the *CAL? query or the CALibration? query. Calibration is only possible when the instrument is warmed up.
How long does internal calibration take and what results are returned?
The internal calibration lasts several minutes. The response to the *CAL? or CALibration? query is only returned after the calibration has completed.
– A “0” result is returned after correct calibration.
– A “1” result is returned if the calibration failed.
How is the calibration status indicated during the process?
During the calibration process, bit 0 (“Calibrating”) is set in the operation status condition register. However, this bit cannot be read during the execution of the sequential *CAL? or CALibration? queries. It can be read after sending the overlapped CALibration command (without the query ‘?’).
How is the completion and success/failure of calibration reported?
Completion of the CALibration command (overlapped) is reported by setting bit 0 (OPC – Operation Complete) in the Standard Event Status Register (ESR). When the calibration is finished, bit 8 (“CALibration”) in the QUEStionable status register reports a possible calibration error (it is set to 1 if an error occurred).
When should auto calibration be executed?
Execute calibration only when it is needed, for example, when a message on the screen of the CombiScope instrument requests you to do so, or if the temperature has changed significantly since the last calibration (indicated by Questionable Status bit 4).
How can the completion of calibration be detected using Service Request (SRQ)?
To use SRQ to detect calibration completion:
1. Define an SRQ handler routine (e.g., ON PEN GOSUB ServReq).
2. Enable SRQ generation (e.g., PEN ON).
3. Configure the Operation Status register to report the transition of bit 0 (Calibration) from 1 to 0 (completion): Send STATus:OPERation:NTRansition 1.
4. Enable bit 0 in the Operation Status Enable register to allow it to be reported in the Status Byte: Send STATus:OPERation:ENABle 1.
5. Enable bit 7 (OPER summary bit) in the Service Request Enable (SRE) register to allow an SRQ to be generated when the Operation Status summary bit becomes true: Send *SRE 128.
6. Reset the instrument (*RST) and clear status registers (*CLS).
7. Start the calibration using the overlapped command: Send CALibration.
8. The program can perform other tasks while waiting.
9. When calibration finishes, bit 0 goes low, triggering the NTR filter, setting the summary bit, which propagates through the enabled SRE bit to generate an SRQ, causing the SRQ handler routine to be called.
What status data applies to the CombiScope instruments?
The following status data applies:
– The meaning of the bits of the OPERation status is described in section 3.15.1.1.
– The meaning of the bits of the QUEStionable status is described in section 3.15.1.2.
– The meaning of the bits of the standard Event Status Register (ESR) is described in the command reference for the *ESR? query.
– The message output queue can contain about 250 data bytes.
– The error/event queue can contain 20 error messages before it overflows.
What is the structure of the Operation Status register?
The Operation Status register group consists of:
– CONDition register: Reflects the current state of the instrument.
– EVENt register: Latches state changes based on filters.
– ENABle register: Controls which bits contribute to the summary.
– PTRansition filter: Configures detection of 0-to-1 transitions.
– NTRansition filter: Configures detection of 1-to-0 transitions.
These can be queried using commands like STATus:OPERation:CONDition?, STATus:OPERation:EVENt?, STATus:OPERation:ENABle?, etc.
What do the different bits in the Operation Status Condition register mean?
| BIT | MEANING | Description |
|---|---|---|
| 0 | CALibrating | Set during the time the instrument is performing a calibration. |
| 2 | RANGing | Set during the time the instrument is autoranging (autosetting). |
| 3 | SWEeping | Set when a sweep (data acquisition) is in progress. Reset when finished (OPC bit is set in ESR). Valid for multiple-shot mode (INIT:CONT OFF). |
| 5 | Waiting for TRIGger | Set when the trigger system is initiated (INITiate) and waiting for a trigger. Reset when triggered. Valid for single-shot and multiple-shot modes (INIT:CONT OFF). |
| 8 | Digital mode | Set when the CombiScope instrument is in the digital mode. |
| 9 | Pass/Fail valid | Set when the pass/fail status at bit 10 is valid. |
| 10 | Pass/Fail status | Set if the pass/fail test has failed. If bit 9=1 and bit 10=0, test passed. If bit 9=1 and bit 10=1, test failed. |
(Bits 1, 4, 6, 7, 11-15 are not defined or always 0 in the condition register)
What is the structure of the Questionable Status register?
Similar to the Operation Status, the Questionable Status register group consists of CONDition, EVENt, ENABle, PTRansition, and NTRansition registers. These can be queried using commands like STATus:QUEStionable:CONDition?, etc.
What do the different bits in the Questionable Status Condition register mean?
| BIT | MEANING | Description |
|---|---|---|
| 0 | VOLTage | Set if a digital sample value is clipped (max/min) during a FETCh? query, or if a FETCh? query failed due to waveform shape mismatch (e.g., FETCh:FREQuency? on half sine). |
| 4 | TEMPerature | Set if the current internal temperature differs significantly from the temperature at the last calibration, indicating calibration may be needed. Sensed ~half hour after power on. Reset by power on/calibration. |
| 8 | CALibration | Set if an internal calibration did not complete successfully. Reset by power on/successful calibration. |
| 9 | Overload 50Ω | Set if any 50Ω input terminator is overloaded. Reset by power on or if no terminators are overloaded. |
(Bits 1-3, 5-7, 10-15 are not defined or always 0 in the condition register)
How can status data structures (event registers, error queue) be cleared?
The *CLS (Clear Status) command is used to clear specific status data structures.
What does the *CLS command clear?
The *CLS command clears the following:
– All event status registers (Standard Event Status Register – ESR, operation event register, questionable event register).
– The Status Byte register (STB), except for the MAV bit (bit 4).
– The Error/event queue.
Note: It does *not* clear enable registers, filters, or output queues.
What does the STATus:PRESet command do?
The STATus:PRESet command presets the filters (PTRansition, NTRansition) and enable registers (ENABle) of the Operation and Questionable status data structures in such a way that device-dependent events (i.e., bits becoming true in the condition registers) are reported upwards towards the Status Byte register.
What are the preset values for the Operation and Questionable status register filters and enable registers after STATus:PRESet?
| STATUS REGISTER | DATA STRUCTURE | PRESET VALUE |
|---|---|---|
| OPERation | ENABle register | 0000 hex. |
| PTRansition filter | 7FFF hex. (All bits enabled for 0->1) | |
| NTRansition filter | 0000 hex. (No bits enabled for 1->0) | |
| QUEStionable | ENABle register | 0000 hex. |
| PTRansition filter | 7FFF hex. (All bits enabled for 0->1) | |
| NTRansition filter | 0000 hex. (No bits enabled for 1->0) |
Note: With Enable registers set to 0000, no status bits will actually propagate to the status byte summary bits after a preset, unless the enable registers are explicitly set afterwards.
How can the standard Status Byte (STB) be used to check if an operation is completed?
You can use the Status Byte (STB) polling method:
1. Enable the OPC (Operation Complete) bit in the Standard Event Status Enable register (*ESE 1). OPC corresponds to bit 0.
2. Send the command(s) whose completion you want to detect (e.g., CONFigure:AC, INITiate).
3. Append the *OPC command. This command forces the instrument to set the OPC bit in the ESR *after* all preceding commands have finished.
4. Repeatedly poll the Status Byte register using the *STB? query.
5. Check bit 5 (ESB – Event Status Bit) of the returned status byte. When bit 5 becomes 1, it indicates that at least one enabled bit in the ESR (in this case, the OPC bit) has become true, meaning the operation is complete.
Example logic: Read STB value; IF (STB_value AND 32) THEN OperationCompleted = True.
How can the Service Request (SRQ) mechanism be used to signal that an operation is completed?
You can use the Service Request (SRQ) interrupt method:
1. Define an SRQ handler routine in your controller program (e.g., ON PEN GOSUB ServReq).
2. Enable SRQ generation in the controller (e.g., PEN ON).
3. Enable the OPC (Operation Complete) bit in the Standard Event Status Enable register (*ESE 1).
4. Enable the ESB (Event Status Bit, bit 5) in the Service Request Enable register (*SRE 32). This allows an SRQ to be generated when the ESB summary bit in the Status Byte becomes true.
5. Send the command(s) whose completion you want to detect (e.g., CONFigure:AC, INITiate).
6. Append the *OPC command.
7. The controller can perform other tasks.
8. When the preceding operations finish, the OPC bit is set in the ESR, causing the ESB bit (bit 5) in the Status Byte to become true. Since bit 5 is enabled in the SRE register, an SRQ is generated, interrupting the controller and executing the SRQ handler routine.
9. The SRQ handler routine should typically read the Status Byte (via serial poll) to clear the SRQ and read the ESR (*ESR?) to clear the OPC bit.
How can instrument errors be reported?
Instrument errors (usually programming or setting errors) can be reported by querying the instrument’s error queue. This is done by sending the SYSTem:ERRor? query or the STATus:QUEue? query to the instrument, followed by reading the response message. The instrument maintains a queue of errors; repeated queries will retrieve errors one by one until the queue is empty (indicated by a “0, ‘No error'” response).
What are the recommended approaches for querying errors?
Querying for errors after every single command can be impractical. Recommended approaches are:
1. Query after groups of commands: Send the SYSTem:ERRor? query and read the response after sending a group of commands that functionally belong together.
2. Use an error-reporting routine: Program a subroutine that sends SYSTem:ERRor? and reads the response. Call this subroutine after each command or group of commands.
3. Use SRQ for error reporting: Program an error-reporting routine and use the SRQ mechanism (triggered by error bits in status registers) to interrupt the program and execute the error-reporting routine when an error occurs.
How can an error-reporting routine be called after commands?
Create a subroutine (e.g., `ErrorCheck`) that performs the error query and reads the response. Call this subroutine after relevant commands or command groups.
Example Subroutine (BASIC-like):
“`basic
ErrorCheck:
CALL Send(0, 8, “SYSTem:ERRor?”, 1) ‘ Queries for a system error
CALL Receive(0, 8, response$, 256) ‘ Reads the instrument error
IF LEFT$(response$, 1) <> “0” THEN ‘ Check if error code is not 0
PRINT “Error: “; response$ ‘ Prints the instrument error
‘ Add error handling logic here if needed
END IF
RETURN
“`
Then, in the main code:
“`basic
CALL Send(0, 8, “READ:AC?”, 1)
CALL Receive(0, 8, response$, 256)
PRINT “AC-RMS: “; response$
GOSUB ErrorCheck ‘ Call the error checking routine
“`
How can an error-reporting routine be triggered using the Service Request (SRQ) mechanism?
1. **Enable Error Reporting:** Configure the Standard Event Status Register (ESR) and Service Request Enable (SRE) register to generate an SRQ when an error occurs. Typically, you would enable command error, execution error, or query error bits in the *ESE register and enable the ESB bit in the *SRE register.
2. **Define SRQ Handler:** Create an SRQ handler routine (e.g., `ON PEN GOSUB ErrorCheck`) that will be executed when an SRQ occurs.
3. **Error Check Subroutine:** Implement the `ErrorCheck` subroutine to repeatedly query `SYSTem:ERRor?` until it returns “0, ‘No error'”, printing each error found. This ensures the error queue is cleared.
Example Subroutine (BASIC-like):
“`basic
SUB ErrorCheck
DIM er$ AS STRING * 60
DO
CALL Send(0, 8, “SYSTem:ERRor?”, 1) ‘ Sends error query
CALL Receive(0, 8, er$, 256) ‘ Reads error string
IF LEFT$(er$, 1) <> “0” THEN
PRINT “Error = “; er$ ‘ Displays error string
END IF
LOOP WHILE LEFT$(er$, 1) <> “0” ‘ Loop until 0, ‘No error’
END SUB
“`
4. **Enable SRQ:** Turn on SRQ handling in the controller (e.g., `PEN ON`).
When an error occurs and the status system is configured correctly, an SRQ will be generated, triggering the `ErrorCheck` routine to read and display all errors from the queue.
How can initial instrument settings be restored?
Send the *RST command to the instrument. This resets the instrument-specific functions to their default state and selects the digital mode.
How can complete instrument setups be saved to and recalled from internal memory?
Complete instrument setups can be stored in and recalled from internal recall memories 1 through 10 (memory 0 contains the initial settings).
– To save the current setup to memory location <n> (1-10): Send *SAV <n>
– To recall a setup from memory location <n> (0-10): Send *RCL <n>
Example (Save to memory 3): *SAV 3
Example (Recall from memory 3): *RCL 3
How can complete or partial instrument setups be stored to and recalled from an external controller via GPIB?
Complete or partial instrument setups (nodes) can be transferred between the instrument and an external controller’s memory:
– To store (query) a setup from the instrument to the controller: Send the SYSTem:SET? [<node>] query. Read the response string containing the setup data.
– To recall (send) a setup from the controller to the instrument: Send the SYSTem:SET [<node>] command, followed by the setup data string.
Example (Store complete setup):
1. Send SYSTem:SET?
2. Read settings$
Example (Recall complete setup):
1. Send SYSTem:SET <setup_data> (Send header SYSTem:SET separately if needed for EOI handling)
How can the pressing of a front panel key be simulated?
The pressing of a front panel key can be simulated using the SYSTem:KEY command, followed by the key’s number code according to the defined matrix.
Example: SYSTem:KEY 101 (Simulates pressing the key at row 1, column 1, often Autoset)
Example: SYSTem:KEY 2 (Simulates pressing softkey 2)
How can it be detected if a key has been pressed?
Whether a key has been pressed can be detected via bit 6 (URQ – User Request) of the Standard Event Status Register (ESR). The specific key that was last pressed can be queried using the SYSTem:KEY? query.
How is the front panel key numbering organized?
The front panel keys (excluding rotary knobs) are roughly numbered based on a row and column matrix. Softkeys are numbered 1 to 6.
| Column: | 1 | 2 | 3 | … | 13 |
|---|---|---|---|---|---|
| row 1 | 101 | 102 | 103 | … | 113 |
| row 2 | 201 | 202 | 203 | … | 213 |
| row 3 | 1 (Softkey) | 302 | 303 | … | 313 |
| row 4 | 2 (Softkey) | 402 | 404 | … | 413 |
| … | … | … | … | … | … |
| row 7 | 6 (Softkey) | 702 | 703 | … | 713 |
| row 8 | 801 | 802 | 803 | … | 813 |
(Note: Softkey positions 1 to 6 correspond to keys 1, 2, 3, 4, 5, 6 respectively in the SYSTem:KEY command).
How can Autoset be simulated?
Autoset can be simulated by sending the command corresponding to the Autoset key number, which is typically 101.
Example: SYSTem:KEY 101
How can the operation of a softkey menu be simulated?
Simulating a softkey menu operation involves:
1. Enabling the desired main menu using DISPlay:MENU <menu_name> (e.g., DISPlay:MENU UTIL for Utility menu).
2. Sending SYSTem:KEY <n> commands, where <n> is 1 to 6, to simulate pressing the corresponding softkeys required to navigate the menu and select the desired option.
3. Optionally, disable the menu display afterwards using DISPlay:MENU:STATe OFF or by enabling another menu.
Example (Set probe correction for CH1 to 10:1 via UTILITY menu):
“`basic
CALL Send(0, 8, “DISPlay:MENU UTIL”, 1) ‘ Enable UTILITY menu
CALL Send(0, 8, “SYSTem:KEY 2;KEY 5;KEY 4”, 1) ‘ Simulate pressing softkeys 2(PROBE), 5(CORR), 4(10:1)
CALL Send(0, 8, “DISPlay:MENU:STATE OFF”, 1) ‘ Disable UTILITY menu display
“`
Which functions are not individually programmable with SCPI commands but can be accessed using SYSTem:SET and *SAV/*RCL?
Not all front panel functions are individually programmable with SCPI commands. However, the SYSTem:SET and *SAV/*RCL commands can be used to access the following functions:
Cursor functions: see CURSORS menu (appendix B.2.2)
Logic Triggering: see TRIGGER menu (appendix B.2.10)
Event functions: see TB MODE menu (appendix B.2.9)
DTB functions: see DTB (DEL’D TB) menu (appendix B.2.6)
X pos: see X POS button
Display menu functions: see DISPLAY menu (appendix B.2.3)
Pass/Fail functions: see MATHPLUS MATH menu (appendix A5 and B.2.4.)
Which functions and keys are not individually programmable but accessible using the SYSTem:KEY command?
Other functions and keys that are not individually programmable with SCPI commands are accessible using the SYSTem:KEY command. They are:
Roll mode: DISPlay:MENU TBMode;:SYSTem:KEY 3 toggles on/off
Trigger noise: DISPlay:MENU TRIGger;:SYSTem:KEY 4 toggles on/off
TEXT OFF key: SYSTem:KEY 801 selects next option
STATUS key: SYSTem:KEY 201 toggles on/off
MAGNIFY keys: SYSTem:KEY 210/211 selects previous/next step
ENVELOPE: DISPlay:MENU ACQuire;:SYSTem:KEY 3 toggles on/off
MULTiple-shot: DISPlay:MENU TBMode;:SYSTem:KEY 1 (up)or 2 (down) (after INITiate:CONTinuous OFF)
What are the common commands, their parameters, and notes?
The following table summarizes the common commands:
| COMMAND: | PARAMETERS: | NOTES: |
|---|---|---|
| *CAL? | query only response = 0 | 1 |
|
| *CLS | no query | |
| *ESE | range = 0 .. 255 | |
| *ESR? | query only | |
| *IDN? | query only | |
| *OPC | response to *OPC? is always 1 | |
| *OPT? | query only | |
| *RCL | range = 0 .. 10 | |
| *RST | no query | |
| *SAV | range = 1 .. 10 | |
| *SRE | range = 0 .. 255 | |
| *STB? | query only | |
| *TRG | no query | |
| *TST? | query only | |
| *WAI | no query |
What are the ABORT, CALCulate, CALibration, and CONFigure commands, their parameters, and notes?
| COMMAND: | PARAMETERS: | NOTES: |
|---|---|---|
| ABORT | no query | |
| CALCulate :DERivative :POINTS :STATE :FEED |
“ |
alias :DIFFerential range = 3, 5,.., 129 n = 1 .. 4 i = 1 .. 8 (standard memory) i = 9 .. 50 (extended memory) |
| :FILTer [:GATE] :FREQuency :POINts :STATE |
range = 3, 5, .., 41 |
|
| :INTegral :STATE |
||
| :MATH [:EXPRession] :STATE |
( |
|
| :TRANsform :FREQuency :STATE :TYPE :WINDow |
ABSolute | RELative RECTangular | HAMMing | HANNing |
|
| :HISTogram :STATE |
||
| CALibration [:ALL] |
response = 0 | 1 | |
| CONFigure [:VOLTage] |
[[(< [, |
see Note 1, 2, and 3 |
Note: Notes 1, 2, and 3 refer to details described elsewhere in the PDF regarding voltage parameters, measure parameters, and channel lists.
What are the DISPlay, FETCH, FORMat, HCOPY, and INITiate commands, their parameters, and notes?
| COMMAND: | PARAMETERS: | NOTES: |
|---|---|---|
| DISPlay :BRIGhtness |
||
| :MENU [:NAME] :STATE |
TBMode | TRIGger | DMODe | SETups | CURSors | ACQuire | DISPlay | MATH | MEASure | SAVE | RECall | UTIL | VERTical |
|
| :WINDow[1] :TEXT |
||
| :DATA? | query only | |
| :WINDow2 :TEXT[1] :CLEAR :DATA :STATE |
no query |
|
| FETCH [:VOLTage] |
[[(< [, |
see Note 1, 2, 3, and 4 response = |
| FORMat [:DATA] |
INTeger,8 (for 8-bit samples) INTeger,16 (for 16-bit samples) |
|
| HCOPY :DATA? |
query only response = |
|
| :DEVice | HPGL | HP7440 | HP7550 | HP7475A| HP7470A | PM8277 | PM8278 | FX80 | LQ1500 | HP2225 | HPLASER | DUMP_M1 |
|
| INITiate [:IMMediate] :CONTinuous |
no query |
Note: Notes 1, 2, 3, and 4 refer to details described elsewhere in the PDF regarding voltage parameters, measure parameters, channel lists and trace lists.
What are the INPut, INSTrument, MEASure, and READ commands, their parameters, and notes?
| COMMAND: | PARAMETERS: | NOTES: |
|---|---|---|
| INPut :COUPling :FILTer [:LPASS] [:STATE] :FREQuency? |
AC | DC | GROund |
query only response = 2E+7 |
| :IMPedance :POLarity |
NORMal | INVerted |
|
| INSTrument :NSELect [:SELect] |
DIGital | ANALog |
|
| MEASure [:VOLTage] |
[[(< [, |
see Note 1, 2, and 3 response = |
| READ [:VOLTage] |
[[(< [, |
see Note 1, 2, and 3 response = |
Note: Notes 1, 2, and 3 refer to details described elsewhere in the PDF regarding voltage parameters, measure parameters, and channel lists.
What are the SENSE and STATUS commands, their parameters, and notes?
| COMMAND: | PARAMETERS: | NOTES: |
|---|---|---|
| SENSE :AVERage [:STATE] :COUNT :TYPE? |
response = SCAL |
|
| :FUNCtion [:ON] :OFF :STATE? |
“XTIMe:VOLTage<...>“ “XTIMe:VOLTage<...>“ “XTIMe:VOLTage<...>“ |
no query no query query only <...> = [1] | 2 | 3 | 4 <...> = :SUM 1,2 <...> = :SUM 3,4 |
| :SWEep :OFFSet :TIME |
+ = post-trigger delay time – = pre-trigger view time |
|
| :PDETection :REALtime [:STATE] :TIME :AUTO |
over 10 divisions |
|
| :VOLTage [:DC] :RANGE :AUTO :OFFSet :PTPeak |
over 8 divisions |
|
| STATUS :OPERation [:EVENT]? :CONDition? |
query only query only |
|
| :ENABIe :NTRansition :PTRansition |
range = 0 .. 32767 range = 0 .. 32767 range = 0 .. 32767 |
|
| :PRESet | no query | |
| :QUEStionable [:EVENT]? :CONDition? |
query only query only |
|
| :ENABIe :NTRansition :PTRansition |
range = 0 .. 32767 range = 0 .. 32767 range = 0 .. 32767 |
|
| :QUEue [:NEXT]? |
query only |
What are the SYSTem and TRACe commands, their parameters, and notes?
| COMMAND: | PARAMETERS: | NOTES: |
|---|---|---|
| SYSTem :BEEPer :STATE |
||
| :COMMunicate :SERial :CONTrol :DTR :RTS [:RECeive] | TRANsmit :BAUD |
ON | STANdard ON | STANdard |
75 | 110 | 150 | 300 | 600 | 1200 | 2400 | 4800 | 9600 | 19200 | 38400 |
| :BITS :PACE :PARity [:TYPE] |
XON | NONE EVEN | ODD | NONE |
7 | 8 |
| :DATE | ||
| :ERRor? | query only | |
| :KEY | ||
| :SET | ||
| :SET? | response = |
|
| :TIME | ||
| :VERSion? | query only | |
| TRACE :COPY |
alias = DATA n = 1.. 4, E i = 1.. 8 (standard) i = 1.. 50 (extended) |
|
| [:DATA] :POINts |
[ |
What is the TRIGger command, its parameters, and notes?
| COMMAND: | PARAMETERS: | NOTES: |
|---|---|---|
| TRIGger [:SEQuence[1] | STARt] |
||
| :FILTer :HPASS :FREQuency :STATE |
3E4 |
30 KHz = HF-reject |
| :LPASS :FREQuency :STATE |
0 | 10 | 3E4 |
0 = DC coupling 10 = AC coupling 30000 = LF-reject |
| :HOLDoff | ||
| :LEVel | ||
| :AUTO | ||
| :SLOPE | POSitive | NEGative | EITHer | |
| :SOURce | IMMediate | INTernal LINE | BUS | EXTernal |
|
| :TYPE | EDGE | VIDeo | LOGic | GLITch | |
| :VIDeo :FIELD [:NUMBer] :SELect :FORMat [:TYPE] :LPFRame :LINE :SSIGnal |
1 | 2 ALL | NUMBer PAL | SECAM | NTSC | HDTV 525 | 625 | 1050 | 1125 | 1250 POSitive | NEGative |
1/2 = field1/field2 ALL = lines triggering NUMBer = field triggering video standard number of lines per frame from 1 to 1250 signal polarity |
What are the key programming notes to consider when sending commands?
It is advised to send the commands *RST and *CLS first, before executing the programming examples in this chapter. In this way the oscilloscope is reset to default settings (*RST) and the status data cleared (*CLS).
Be aware of coupled commands during command execution. Coupling information is described in the command descriptions. Coupling means that an instrument may change other functions or values, which are not directly programmed by sending this command. Example: The vertical sensitivity is derived from the programmed peak-to-peak value (SENSE:VOLTage:RANGE:PTPeak). The programmed trigger level (TRIGger:LEVel) is adapted to the vertical sensitivity to keep the signal display on the screen.
In the remote state the front panel keys will have no effect on programmed settings. Local front panel control can be obtained by pressing the LOCAL key, provided the instrument is not programmed Locally Locked Out (LLO). After power on the oscilloscope is in its local state, i.e., controlled via the front panel.
All commands and queries are sequential commands, except the INITiate, INITiate:CONTinuous, and CALibration command (overlapped commands).
Note: Overlapped commands are commands that can be executed in overlap with other commands. Sequential commands are commands that are completed first, before a next command is executed.
How does the *CAL? query work and what are its limitations?
Syntax: *CAL?
Response: 0 | 1 (0 = Calibration okay, 1 = Calibration not okay)
Description: This query performs an automatic internal self-calibration and reports the result. No external means or operator interface is needed. The response indicates whether the self-calibration completed without error. A possible calibration error is also reported via bit 8 in the QUEStionable status register. The *CAL? query is the equivalent of the CALibration[:ALL]? query.
Limitation: The calibration process will last a couple of minutes. During this time, bit 0 in the OPERation status is set, indicating calibration is busy (this status can only be requested if calibration was started via the front panel). Because *CAL? is a sequential command, a next command or query in the same program message is not executed until the calibration process is completed. Until then, no response to a next query is obtained.
Example:
Send → *CAL?
Read
IF
Front panel compliance: The *CAL? query is the remote equivalent of the front panel CAL key.
What does the *CLS command do?
Syntax: *CLS
Description: The *CLS command clears the following status data structures:
1. Clears all Event Status Registers, such as:
– Standard Event Status Register (*ESR?)
– Status Byte Register (*STB?)
– Operation Event Status register (STATus:OPERation:EVENT)
– Questionable Event Status Register (STATus:QUEStionable:EVENT)
2. Clears the Error/Event Queue.
3. Cancels the effect of the *OPC command and the *OPC? query; any request for the OPC flag is cancelled.
Note: When the *CLS command is entered as the first command in a new program message, it also clears the Output Queue and as a consequence, the MAV-bit in the Status Byte Register.
Example:
Send → *CLS (Clears the status data)
How do the *ESE command and *ESE? query function?
Syntax: *ESE
Query form: *ESE?
Response:
Description: The command sets and the query reports the contents of the standard Event Status Enable register (ESE). The range is 0 to 255 decimal. The ESE register determines which bits in the standard Event Status Register (ESR) are enabled to be summarized in the Status Byte Register (STB). The ESE register is cleared at Power on.
Example:
Send → *ESE 17 (Enables the EXE (Execution Error, bit 4) and the OPC (Operation Complete, bit 0) bits to be summarized in the Status Byte Register. Alternative commands *ESE #B10001 and *ESE #H11.)
Send → *ESE?
Read ← 17 (Indicates bits 4 and 0 are set.)
What does the *ESR? query report and what do the bits mean?
Syntax: *ESR?
Response:
Description: The *ESR? query reports the contents of the standard Event Status Register (ESR) and clears it. The range is 0 to 255 decimal.
Bit Meanings (ESR):
- Bit 7: PON = Power ON
- Bit 6: URQ = User Request
- Bit 5: CME = Command Error
- Bit 4: EXE = Execution Error
- Bit 3: DDE = Device Dependent Error
- Bit 2: QYE = Query Error
- Bit 1: RQC = Request Control (Not used, always 0)
- Bit 0: OPC = Operation Complete
Notes:
- PON indicates power cycle since last read/clear (always set true at power on).
- URQ indicates user request for attention (e.g., return to local).
- OPC indicates completion of all previously started actions.
Example:
Send → *ESR?
Read ← 28 (Binary #B11100, decimal 16+8+4). This means bits 4 (EXE), 3 (DDE), and 2 (QYE) are set, indicating an execution error, a device-dependent error, and a query error occurred since the last read.
What information does the *IDN? query provide?
Syntax: *IDN?
Response:
Where:
: E.g., FLUKE : E.g., PM3392A : Always 0 : : : : Firmware ID (Type e.g., SW3394AIM, Version e.g., V1.0, Date e.g., year-month-day) : Mask ID (e.g., UHM V1.0) : UFO ID (e.g., UFO V2.0)
Description: Reports the identification of the instrument in Arbitrary ASCII Response Data format. This implies *IDN? must be the last query in a program message unit (terminated by New Line). It identifies firmware type/version/date, Universal Host Mask processor software version, and Universal Front processor software version.
Example:
Send → *IDN?
Read ← FLUKE,PM3384A,0,SW3394AIM V2.0 1994-09-15:UHM V1.0:UFO V2.0
Front panel compliance: Equivalent to the Maintenance option of the UTILITY menu.
How do the *OPC command and *OPC? query work for operation completion?
Syntax: *OPC
Query form: *OPC?
Response: 1
Description:
- The *OPC command causes the instrument to set the operation complete bit (OPC, bit 0) in the standard Event Status Register (ESR) when all pending operations have finished.
- The *OPC? query places the ASCII character ‘1’ in the output queue when all pending operations are finished. The instrument holds off the GPIB handshake (if addressed as talker) as long as there are pending operations.
The OPC bit is cleared, along with other *ESR bits, when *ESR? is executed.
Note: The *RST command, the *CLS command, and power on cancel the effect of an *OPC command or an *OPC? query.
Restrictions: Be careful with GPIB controller timeouts. Ensure the timeout period is long enough to cover the operation time of the instrument, especially for operations that never complete (like INITiate:CONTinuous ON).
Example:
Send → *RST; *CLS (Resets instrument, clears status)
Send → INITiate:CONTinuous ON (Continuous initiation)
Send → *OPC; *ESR? (Request OPC notification, query ESR)
Read ← 0 (Instrument is busy sweeping, OPC bit not yet set)
Send → INITiate:CONTinuous OFF (Stop initiation)
Send → *OPC; *ESR? (Request OPC notification, query ESR)
Read ← 1 (Instrument has finished sweeping, OPC bit was set)
How can installed options be identified using the *OPT? query?
Syntax: *OPT?
Response:
Where
: IEEE | EXT | EM | MP : Always 0 : Always 0
Description: The *OPT? query reports which options are present.
- IEEE:0:0: IEEE-488.2/SCPI option installed.
- EXT:0:0: EXTernal trigger option installed.
- EM:0:0: Extended Memory available.
- MP:0:0: Math Plus option installed.
Example:
Send → *OPT?
Read ← IEEE:0:0,MP:0:0 (The IEEE and MathPlus options are available.)
Front panel compliance: Equivalent to the Maintenance option of the UTILITY menu.
How is the *RCL command used to recall instrument setups?
Syntax: *RCL
Description: The *RCL command restores instrument settings from one of the internal memory registers 0..10.
- Register 0: Contains standard settings (recall only).
- Registers 1-10: Contain user-programmable settings (saved via *SAV command).
After power on, the settings from just before power off are restored (saved in non-volatile memory).
Example:
Send → *SAV 2 (Stores the actual instrument settings into memory register 2.)
Send → *RCL 2 (Restores the instrument settings from memory register 2.)
Front panel compliance: Equivalent to the front panel softkey operation via the SETUPS/RECALL menu. Standard settings in memory 0 can be changed via the front panel FRONT SETUPS menu.
What does the *RST command do?
Syntax: *RST
Description: The *RST command resets the instrument. The hardware and software are initialized without affecting any IEEE interface conditions. The instrument turns into a fixed setup optimized for remote operation. This fixed setup is different from the setup recalled via the front panel SETUPS menu (optimized for local control).
What are the default settings applied by the *RST command?
The *RST command sets the following instrument settings, independent of the past history:
| FUNCTION: | DEFAULT SETTING(S): |
|---|---|
| Digital mode | ON |
| X-deflection (X vs Y) | OFF |
| Delayed Time Base | OFF |
| Main Time Base | Sweep time 10 ms (total acquisition) Autoranging OFF |
| X-magnify factor | x1 |
| Channel 1 ON | 200 mV/div DC coupled Position centred Impedance 1 MΩ (without probe) |
| Channels 2, 3 and 4 | OFF Polarity NORMal (INV OFF) add1+2 (CH1+CH2) OFF add3+4 (CH3+CH4) OFF |
| Trigger | Type EDGE Source IMMediate Slope POSitive Level-pp OFF Noise ON Level MAXimum (1.64 V) DC signal coupling Video mode ALL (lines) Video signal polarity POSitive 625 video lines per frame Video line/field = 1/1 Hold-off time = 0 Low-pass filter ON Low-pass cutoff frequency 0 Hz (DC coupling) High-pass filter OFF High-pass cutoff frequency bandwidth (100/200 MHz) |
| TB mode | Single shot Roll mode OFF Realtime only OFF Event delay OFF |
| Acquire | Acquisition length 512 (samples of 16 bits) Trigger Level MAX Averaging OFF Peak detection OFF Envelope OFF Autoranging attenuators OFF |
| Acquisition | Locked |
| Pre-trigger view | 50% of MTB (-5 ms) |
| Bandwidth limiter | OFF |
| Measure 1 & 2 | OFF |
| Math 1 & 2 | OFF |
| Cursors | OFF |
| Trace intensity | 0.18 |
| User text | Data cleared |
| Display | OFF |
| Beeper | ON |
| Hardcopy PRINT & PLOT | Plotter; HPGL |
| Pass/Fail testing | OFF |
What actions are cancelled or aborted by the *RST command?
The *RST command performs the following actions:
Cancels or aborts any instrument-dependent action.
Cancels the effect of the *OPC command and the *OPC? query.
Sets the TRIGger subsystem into its IDLE state.
What settings or states are NOT affected by the *RST command?
The *RST command does not affect the following:
State of the IEEE 488.1 interface.
GPIB (IEEE 488.1) address of the instrument.
Contents of the Output Queue.
Contents of the Error/Event Queue.
Service Request Enable setting in the SRE register.
Transition filters in the status subsystem.
Event registers in the status subsystem.
Event enable registers in the status subsystem.
Calibration data that affects the device specifications.
Version number set by the SYSTem:VERSion command.
Contents of the internal memory registers (*SAV/*RCL).
How is the *SAV command used to save instrument setups?
Syntax: *SAV
Description: The *SAV command saves the current instrument settings into one of the internal memory registers 1..10. Settings in memory register 0 are standard settings and cannot be saved to, only recalled. Settings saved in registers 1 through 10 can be recalled using the *RCL command.
Example:
Send → *SAV 2 (Stores the actual instrument settings into memory register 2.)
Send → *RCL 2 (Restores the instrument settings from memory register 2.)
Front panel compliance: Equivalent to the front panel softkey operation via the SETUPS/RECALL menu. Standard settings in memory 0 can be changed via the front panel FRONT SETUPS menu.
How do the *SRE command and *SRE? query control the Service Request Enable register?
Syntax: *SRE
Query form: *SRE?
Response:
Description: The command sets and the query reports the contents of the Service Request Enable (SRE) register. The range is 0 to 255 decimal, but bit 6 (value 64) is ignored and always reported as zero (real range 0-63 and 128-191). The bits in the SRE register determine:
1. Which corresponding bits in the Status Byte register (STB) cause a service request (SRQ) from the instrument.
2. Which corresponding bits in the STB are summarized in the Master Summary Status (MSS) bit within the *STB register.
A bit value of 1 enables the condition, 0 disables it. The SRQ line is activated only when a *new* enabled reason for service occurs. The Status Byte is not updated after an SRQ until a serial poll is done or the reason for service no longer exists.
Example:
Send → *SRE #B100000 (This sets bit 5 (ESB – Event Summary Bit) in the Service Request Enable Register.)
What does the *STB? query report and what do the Status Byte bits mean?
Syntax: *STB?
Response:
Description: The *STB? query reports the contents of the Status Byte register (STB). The range is 0 to 255 decimal. The STB contains the summary status of all overlaying status registers and queues.
Bit Meanings (STB):
- Bit 7 (OPER): OPERation status. Contains the summary of the OPERation status register structure.
- Bit 6 (RQS/MSS): RQS (Requested Service) / MSS (Master Summary Status).
- RQS: Indicates the device requests service (SRQ=1 on GPIB). Cleared after a serial poll. Set true again only when a *new* event occurs that requires service. Read by Serial Poll.
- MSS: Indicates there is an event causing the device to request service. Cleared when the event(s) in the overlaying status structure that caused the Service Request are cleared. Read by *STB?.
- Bit 5 (ESB): Event Summary Bit. Contains the summary of the Standard Event Status register structure.
- Bit 4 (MAV): Message Available. Indicates whether the Output Queue contains at least one message (bit=1) or is empty (bit=0).
- Bit 3 (QUES): QUEStionable status. Contains the summary of the QUEStionable status register structure.
- Bit 2: Error/Event queue bit. Indicates whether the Error/Event queue contains at least one message (bit=1) or is empty (bit=0).
- Bit 1: Device Dependent Status bit (not used).
- Bit 0: Device Dependent Status bit (not used).
Example:
Send → *STB?
Read ← 4 (Binary #B100). This means bit 2 is set, indicating there is an error message in the Error/Event Queue.
How is the *TRG command used to trigger the instrument?
Syntax: *TRG
Description: The *TRG command triggers the instrument by generating a Group Execute Trigger (GET) code. This is typically used when the trigger source is set to BUS.
Example:
Send → *RST (Resets the instrument)
Send → TRIGger:SOURce BUS (GPIB becomes trigger source)
Send → INITiate (Initiates the instrument once, arming the trigger)
Send → *TRG (Triggers the instrument via GPIB)
Send → FETCh:FREQuency? (Fetches a measurement result, e.g., frequency)
Read ←
How does the *TST? query perform a self-test?
Syntax: *TST?
Response: 0 | 1
- 0: Self-test okay.
- 1: Self-test not okay.
Description: The *TST? query initiates a RAM/ROM test in the instrument and returns the result. A result of 0 indicates the test completed without detecting any error. A result of 1 indicates the self-test failed. Upon successful completion of *TST?, the instrument settings are restored to their values prior to the execution of *TST?.
Example:
Send → *TST?
Read ←
IF
What is the function of the *WAI command and what are its restrictions?
Syntax: *WAI
Description: The *WAI (Wait-to-continue) command prevents the instrument from executing any further commands until all previous commands and queries have been completed. It is used to force sequential execution of commands by the instrument. On receipt of *WAI, the instrument executes all pending commands and queries before it executes the next command or query.
Restrictions: Be careful with GPIB controller timeouts. Verify first whether the timeout period is long enough to cover the operation time of the instrument, as the controller might interrupt the program if the wait time exceeds the timeout.
Example:
Send → *RST (Resets the instrument)
Send → INITiate (First initiation of the trigger system)
Send → *WAI (Wait for the first initiation to complete)
Send → INITiate (Second initiation of the trigger system)
Notice that the second initiation is only executed when the actions of the first initiation have been completed.
Note: The *OPC? query can also be used to achieve sequential execution of the first and the second INITiation.
How does the ABORT command reset the trigger system?
Syntax: ABORT
Description: The ABORt command resets the trigger system and places it in the “IDLE” state. Pending actions that were already started are finished immediately. The ABORT command is not finished until the pending actions have been terminated.
Note: The commands *RST and ABORt have the same effect on the trigger functions, except that ABORt does not affect the state of the INITiate:CONTinuous command. So, when an ABORt command is sent while the INITiate:CONTinuous is ON, the trigger system will leave the IDLE state at once.
Example:
Send → ABORT (Aborts the current acquisition)
Send → CONFigure:AC (Configures for AC-RMS value)
Send → READ:AC? (Initiates and reads the AC-RMS value)
Read ←
How are the width and state of the differentiate window controlled using CALCulate:DERivative commands?
Commands:
- CALCulate
:DERivative:POINts | MAXimum | MINimum - CALCulate
:DERivative:STATE
Where
Alias: :DERivative can be written as :DIFFerential.
Parameters:
for POINts: 3, 5, 7, …, 127, 129 (odd number of points). for STATE: 0 (OFF) or 1 (ON).
Description:
- The :POINts command specifies the width (number of points) of the differentiate window.
- The :STATE command switches the differentiate function on or off.
The result is stored in M1_n (for CALCulate1) or M2_n (for CALCulate2) based on the input source (CHn or Mi_n). After *RST, the window width is 5 points and the function is off.
Example:
Send → CALCulate1:DERivative:POINts 21 (The width for MATH1 becomes 21 points)
Send → CALCulate1:DERivative:STATE ON (Switches the MATH1 differentiate function on)
Front panel compliance: Corresponds to MATH1 and MATH2 features.
How is the source for a calculate function set using CALCulate:FEED?
Syntax: CALCulate
Where
Parameter:
- “
“: A predefined acquisition trace (CH1|CH2|CH3|CH4) or memory trace (Mi_1|Mi_2|Mi_3|Mi_4). Note: i=1..8 (standard memory), i=9..50 (extended memory). This is string data and can use single quotes (‘ ‘) as well.
Query form: CALCulate
Response: “CHn” | “Mi_n”
Description: This command controls the source for the specified calculate function (CALCulate1 or CALCulate2). The trace specified by
Limitations:
- A channel must be ON before it can be selected.
- An empty trace may not be used as a source.
- M1_i is not allowed as source for a CALCulate1 command.
- M2_i is not allowed as source for a CALCulate2 command.
Example:
Send → CALCulate2:FEED “CH3” (Channel 3 becomes the source for MATH2)
Send → CALCulate1:FEED ‘M8_4’ (Memory trace M8_4 becomes the source for MATH1)
Front panel compliance: Corresponds to MATH1 and MATH2 features.
How are the width and state of the filter window controlled using CALCulate:FILTer commands?
Commands:
- CALCulate
:FILTer[:GATE]:FREQuency:POINts | MAXimum | MINimum - CALCulate
:FILTer[:GATE]:FREQuency:STATE
Where
Parameters:
for POINts: 3, 5, 7, …, 39, 41 (odd number of points). for STATE: 0 (OFF) or 1 (ON).
Description:
- The :POINts command specifies the width (number of points) of the filter window.
- The :STATE command switches the calculate function FILTer on or off.
The result is stored in M1_n (for CALCulate1) or M2_n (for CALCulate2) based on the input source (CHn or Mi_n). After *RST, the filter window width is 19 points and the function is off.
Example:
Send → CALCulate1:FILTer:FREQuency:POINts 21 (The width for MATH1 filter becomes 21 points)
Send → CALCulate1:FILTer:FREQuency:STATE ON (Switches the MATH1 filter function on)
Front panel compliance: Corresponds to MATH1 and MATH2 features.
How is the integrate function switched on or off using CALCulate:INTegral:STATE?
Syntax: CALCulate
Where
Parameter:
Query form: CALCulate
Response: 0 | 1
Description: This command switches the integrate function on or off for the specified calculate block (CALCulate1 or CALCulate2). The result is stored in M1_n or M2_n depending on the input source (CHn or Mi_n). After a *RST command, the integrate function is turned off.
Example:
Send → CALCulate1:INTegral:STATE ON (Switches the MATH1 integrate function on)
Front panel compliance: Corresponds to MATH1 and MATH2 features.
How is the mathematical expression for the MATH function specified using CALCulate:MATH[:EXPRession]?
Syntax: CALCulate
Where
Parameters:
: A predefined acquisition trace (CH1|CH2|CH3|CH4) or memory trace (Mi_1|Mi_2|Mi_3|Mi_4). Note: i=1..8 (standard), i=9..50 (extended). : + | – | * (add, subtract, or multiply).
Query form: CALCulate
Response: (
Description: This command specifies the mathematical expression for the MATH function (MATH1 or MATH2). It selects the two source traces and the operation (+, -, *). This command does not switch the function on; use CALCulate:MATH:STATE for that.
Note: The first trace name can be substituted by the keyword IMPLied. In that case, the trace name defined by CALCulate:FEED is applicable.
Limitations:
- Both source traces must not be empty.
- For PM33x0A instruments, CH3, CH4, Mi_3, and Mi_4 cannot be used in an expression.
Example:
Send → CALCulate2:MATH (CH1+CH2) (Selects MATH2 channel 1 + 2)
Send → CALCulate2:MATH:STATE ON (Switches MATH2 function on)
Front panel compliance: Corresponds to MATH1 and MATH2 features.
How is the mathematics function switched on or off using CALCulate:MATH:STATE?
Syntax: CALCulate
Where
Parameter:
Query form: CALCulate
Response: 0 | 1
Description: This command switches the specified mathematics function (MATH1 or MATH2) on or off. If switched on, the internal scale and offset are reset to initial values. The result is stored in M1_1 for CALCulate1 and in M2_1 for CALCulate2. After a *RST command, the mathematics function is turned off.
Example:
Send → CALCulate1:MATH (CH1-CH2) (Selects MATH1 channel 1 – 2)
Send → CALCulate1:MATH:STATE ON (Switches MATH1 function on)
Front panel compliance: Corresponds to MATH1 and MATH2 features.
How are the FFT state, type (Absolute/Relative), and window (Rectangular/Hamming/Hanning) controlled using CALCulate:TRANsform:FREQuency commands?
Commands:
- CALCulate
:TRANsform:FREQuency:STATE - CALCulate
:TRANsform:FREQuency:TYPE ABSolute | RELative - CALCulate
:TRANsform:FREQuency:WINDow RECTangular | HAMMing | HANNing
Where
Description:
- STATE: Switches the FFT function on (1) or off (0).
- TYPE: Selects between RELative and ABSolute FFT calculation.
- WINDow: Defines the window type used with the FFT function.
- RECTangular: Transforms a repetitive time amplitude trace into its power spectrum (amplitude vs. frequency).
- HAMMing / HANNing: Reduce side lobes by applying a window to the input signal, improving visibility of minor frequency components (especially if MATH1/MATH2 – FFT – PARAM “limited area” function is not accurately selected).
The result of the FFT function is stored in M1_1 (for CALCulate1) or M2_1 (for CALCulate2). After a *RST command, the FFT type is RELative, the FFT window is RECTangular, and the FFT functions are switched OFF.
Example:
Send → CALCulate2:TRANsform:FREQuency:TYPE RELative (Selects relative MATH2-FFT calculation)
Send → CALCulate2:TRANsform:FREQuency:WINDow HANNing (Selects MATH2-FFT-HANNing window)
Send → CALCulate2:TRANsform:FREQuency:STATE ON (Switches MATH2-FFT on)
Front panel compliance: Corresponds to MATH1 and MATH2 features.
How is the histogram function switched on or off using CALCulate:TRANsform:HISTogram:STATe?
Syntax: CALCulate
Where
Parameter:
Query form: CALCulate
Response: 0 | 1
Description: This command switches the HISTogram function on or off for the specified calculate block (CALCulate1 or CALCulate2). The result is stored in M1_1 or M2_1. After a *RST command, the histogram function is turned off.
Example:
Send → CALCulate1:TRANsform:HISTogram:STATE ON (Switches the MATH1 histogram function on)
Front panel compliance: Corresponds to MATH1 and MATH2 features.
How does the CALibration[:ALL] command perform self-calibration, and what is its limitation?
Syntax: CALibration[:ALL]
Query form: CALibration[:ALL]?
Response (for query): 0 | 1 (0 = OK, 1 = Not OK)
Description:
- The CALibration command performs an automatic internal self-calibration. No external means or operator interface is needed. It is an overlapped command, meaning other operations can potentially run concurrently. During calibration, the “Calibrating” bit (0) in the OPERation status register can be read to check status (1 = busy, 0 = finished).
- The CALibration? query performs the self-calibration and reports the result (0 or 1). It is equivalent to the *CAL? query. A possible error is also reported via bit 8 in the QUEStionable status register (0=OK, 1=Wrong).
Limitation: The calibration process lasts a couple of minutes. During this time, bit 0 in the OPERation status is set (indicating busy). This status can only be requested if the calibration was started via the CALibration command (not the query), because the CALibration? query is a sequential command. A sequential command means the next command/query in the same program message is not executed until the calibration process is completed. Until then, no response to the next query is obtained.
Example (using overlapped command and status check):
Send → *RST (Resets the instrument)
Send → CALibration (Starts auto calibration – overlapped)
Send → STATUS:OPERation:CONDition? (Requests for oper. conditions)
Read ←
WHILE (bit 0 of
Send → STATUS:OPERation:CONDition? (Requests for oper. conditions)
Read ←
LOOP WHILE
Send → STATUS:QUEStionable:CONDition? (Requests for questionable conditions)
Read ←
IF (bit 8 of
ELSE (bit 8 of
END_IF
Front panel compliance: The CALibration command/query is the remote equivalent of the front panel CAL key.
What is the purpose of the CONFigure command and what are its restrictions?
Syntax: CONFigure[:VOLTage]
Description: The CONFigure command is part of the measurement instruction set. It sets up the instrument to perform the measurement specified by
The CONFigure command only sets up the instrument; it does not start the acquisition or return a result. It must be followed by a READ? query (or INITiate and FETCh?). Executing CONFigure and READ? is equivalent to executing a MEASure? query.
The default :VOLTage node specifies the measurement relates to a voltage signal (e.g., AC component, rise time).
Restrictions:
- A CONFigure command may be executed only when the oscilloscope is in the digital mode (INStrument:SELect DIGital). Digital mode is selected after *RST.
- Executing this query in analog mode generates execution error -221, “Settings conflict; Digital mode required”.
Example 1:
Send → CONFigure:VOLTage:AC 0.6, (@2) (Configures AC-RMS on channel 2, expected voltage 600 mV)
Send → INPut2:COUPling AC (Ensure channel 2 AC coupled)
Send → READ:AC? (@2) (Initiates + fetches AC-RMS value for channel 2)
Read ←
Example 2:
Send → CONFigure:VOLTage:RISE:TIME (0.5),20,80,1E-2,(@2) (‘Configures rise time on channel 2: expected V=0.5V, LOW ref=20%, HIGH ref=80%, expected time=0.01s)
Send → INPut2:COUPling DC (Ensure channel 2 DC coupled)
Send → READ:RISE:TIME? (@2) (Initiates + fetches rise time for channel 2)
Read ←
Send → FETCh:FALL:TIME? (@2) (Fetches fall time for channel 2 from same acquisition)
Read ←
How is the trace display brightness controlled using DISPlay:BRIGhtness?
Syntax: DISPlay:BRIGhtness
Parameters:
: 0.0 .. 1.0 - MINimum: Equals 0.0 (Trace display is fully blanked)
- MAXimum: Equals 1.0 (Trace display has full intensity)
Query form: DISPlay:BRIGhtness? [MINimum | MAXimum]
Response:
Description: This command sets, and the query returns, the brightness of the trace display. The number 0.0 gives the lowest brightness, and 1.0 gives the highest. Note that the intensity of text display is not controlled with this command. After a *RST command, the brightness is set to 0.18 (1.80E-01).
Example:
Send → DISPlay:BRIGhtness 0.5 (Sets trace brightness at 0.5)
Front panel compliance: This command is the remote equivalent of the front panel TRACE INTENSITY knob.
How can a specific softkey menu be selected and displayed using the DISPlay:MENU[:NAME] command?
Syntax: DISPlay:MENU[:NAME]
Parameter
| FRONT PANEL SOFTKEY NAME | Note | |
|---|---|---|
| TBMode | TB MODE | (main time base) |
| TRIGger | TRIGGER | |
| DMODe | DTB | (delayed time base) |
| SETups | SETUPS | |
| CURSors | CURSORS | |
| ACQuire | ACQUIRE | |
| DISPlay | DISPLAY | |
| MATH | MATH | |
| MEASure | MEASURE | |
| SAVE | SAVE | |
| RECall | RECALL | |
| UTIL | UTILITY | |
| VERTical | VERT MENU |
Description: The DISPlay:MENU command selects a softkey menu by specifying its predefined name. Additionally, the display of the softkey menu field is switched ON (coupled to DISPlay:MENU:STATE ON). Menus ACQuire, DISPlay, MATH, MEASure, SAVE, and RECall are available only in digital mode; specifying them in analog mode generates error -221. After a *RST command, the mode is set to TBMode without displaying the TB MODE softkey menu field.
Example:
Send → DISPlay:MENU TBMode (Selects and displays the TB MODE softkey menu)
Front panel compliance: This command is the remote equivalent of the front panel menu buttons (TB MODE, TRIGGER, DTB, SETUPS, CURSORS, ACQUIRE, DISPLAY, MATH, MEASURE, SAVE, RECALL, UTILITY, and VERT MENU).
How is the display of the softkey menu field switched on or off using DISPlay:MENU:STATE?
Syntax: DISPlay:MENU:STATE
Parameter:
Query form: DISPlay:MENU:STATE?
Response: 0 | 1
Description: This command switches the display of the softkey menu field on or off. After a *RST command, the display is turned off.
Example:
Send → *RST (Selects TB MODE menu with display off by default)
Send → DISPlay:MENU:STATE ON (Switches TB MODE menu display on)
Front panel compliance: This command remotely enables the display of one of the front panel menus (TB MODE, TRIGGER, DTB, SETUPS, CURSORS, ACQUIRE, DISPLAY, MATH, MEASURE, SAVE, RECALL, UTILITY or VERT MENU).
How can measured data displayed in the upper line(s) of the screen be queried using DISPlay:WINDow[1]:TEXT:DATA??
Syntax: DISPlay:WINDow[1]:TEXT
Parameters:
- [1]: Indicates the measurement result field is window 1.
: Specifies which measurement result to return: - 1: MEAS1 result
- 2: MEAS2 result
- 10: Delta-V/Delta-Y (depends on X-deflection/X vs Y state)
TYPE: ANALOG MODE: DIGITAL MODE: Delta-V X-deflection off X versus Y off Delta-Y X-deflection on X versus Y on - 11: V1
- 12: V2
- 13: DC voltage (VDC)
- 20: Delta-T (X-deflection off / X versus Y off)
- 21: Frequency (1 / delta-T)
- 30: Delta-X (X-deflection on / X versus Y on)
- 40: Phase between 2 channels
- 51: T1-trg
- 52: T2-trg
- 60: FFT frequency (Hz)
- 61: FFT amplitude (dB relative, or dBm, dbµV, Vrms absolute)
Response:
Description: This query returns the measured data as displayed on the upper line(s) of the CombiScope instrument screen, corresponding to the selected measurement
Example:
Send → DISPlay:WINDow[1]:TEXT1:DATA? (Query MEAS1 result)
Read ← pkpk,6084E-04,V (Response indicates a peak-peak value of 608.4 mV for MEAS1)
How can I query measurement data values?
The measurement data functions must be enabled first, or the error message -221 “Settings conflict” is generated. If the oscilloscope is in the analog mode, the error message -221 “Settings conflict; Digital mode required” is generated.
The following measurement data values can be selected by specifying the number `
| NUMBER ` |
MEASUREMENT VALUE: |
|---|---|
| 1, 2 | MEAS1, MEAS2 data |
| 10, 11, 12, 13, 20, 21, 30, 40, 51, 52 | CURSORS data |
| 60, 61 | MATH – FFT frequency, amplitude |
Note:
MEAS1 and MEAS2 data measurement functions can only be selected and enabled via the front panel MEASURE key and softkey menu.
CURSORS data measurement functions can only be selected and enabled via the front panel CURSORS key and softkey menu.
MATH – FFT data measurement functions can be selected and enabled via the front panel MATH/CURSORS keys and softkey menus, or by programming using commands like:
CALCulate:TRANsform:FREQuency:TYPE ABSolute (Selects abs. values)
CALCulate:TRANsform:FREQuency:TYPE RELative (Selects rel. values)
CALCulate:TRANsform:FREQuency:STATE ON (Enables MATH1 – FFT)
The result of an FFT can be expressed as a relative or an absolute amplitude value. A relative FFT calculation consists of a frequency (Hz) and an amplitude in (dB). An absolute FFT calculation consists of a frequency (Hz) and an amplitude in dBm (dB with respect to 1 milliwatt), dBμV (dB with respect to 1 microvolt), or Vrms (Volt RMS) as selected via the front panel CURSORS – READOUT softkey menu.
Example: Query MEAS1 result
Send→ DISPlay:MENU MEASure ‘ Switches MEASURE menu display on.
‘ Enable and define the MEAS1 function via the front panel MEASURE menu.
Send → DISPlay:WINDOW:TEXT1:DATA? ‘ Queries MEAS1 result.
Read ←
PRINT
Front panel compliance: The DISPlay:WINDow[1]:TEXT query is the remote equivalent of the front panel CURSORS, MATH, and MEASURE keys and softkey menus.
How do I clear the user text field in window 2?
Use the command DISPlay:WINDow2:TEXT[1]:CLEar.
This command clears the contents of the user text field (window 2) from the screen of the oscilloscope, making it no longer displayed.
Example:
Send → DISPlay:WINDOW2:TEXT:STATE ON ‘ Enables display of text.
Send → DISPlay:WINDOW2:TEXT:CLEar ‘ Clears all user text.
Front panel compliance: This command is the remote equivalent of the “delete user text” option of the front panel DISPLAY – TEXT menu.
How do I write data to the user text field in window 2?
Use the command DISPlay:WINDow2:TEXT[1]:DATA .
This command writes data into the user text field (window 2). The data is displayed on the two text lines of the screen. The first character/byte is positioned at the start of the first text line, and the 64th character/byte is on the last position of the second text line.
Keyboard characters (directly entered via your controller’s keyboard) can be sent as (maximum 64 characters, enclosed in quotes like “this is a string” or ‘this also’).
Non-keyboard characters must be sent as (maximum 64 data bytes). Refer to the character set table for codes.
Example 1: Displaying text
Send → DISPlay:WINDow2:TEXT:STATE ON ‘ Enables display of text.
Send → DISPlay:WINDow2:TEXT:DATA "Remote control via PC" ‘ Displays the text.
Example 2: Displaying text with special characters (1.25 kΩ (CH1))
Send → DISPlay:WINDow2:TEXT:STATE ON ‘ Enables display of text.
Send → DISPlay:WINDow2:TEXT:DATA #01.25 k ‘ Sends header + 1.25 k as text (using indefinite length block data format #0).
Send → ‘ Sends 25 decimal (= Ω symbol) as a single character byte.
Send → ' (CH1)' ‘ Sends space, followed by (CH1).
Front panel compliance: This command is the remote equivalent of the “insert user text” option of the front panel DISPLAY – TEXT menu.
What is the display character set for CombiScope instruments?
The following table shows the character set:
| dec | sym | dec | sym | dec | sym | dec | sym | dec | sym | dec | sym | dec | sym | dec | sym |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 16 | 32 | 48 | 0 | 64 | @ | 80 | P | 96 | ` | 112 | p | |||
| 1 | 17 | 33 | ! | 49 | 1 | 65 | A | 81 | Q | 97 | a | 113 | q | ||
| 2 | 18 | 34 | “ | 50 | 2 | 66 | B | 82 | R | 98 | b | 114 | r | ||
| 3 | : | 19 | X | 35 | # | 51 | 3 | 67 | C | 83 | S | 99 | c | 115 | s |
| 4 | . | 20 | X | 36 | $ | 52 | 4 | 68 | D | 84 | T | 100 | d | 116 | t |
| 5 | | | 21 | 37 | % | 53 | 5 | 69 | E | 85 | U | 101 | e | 117 | u | |
| 6 | _ | 22 | ° | 38 | & | 54 | 6 | 70 | F | 86 | V | 102 | f | 118 | v |
| 7 | | | 23 | µ | 39 | ‘ | 55 | 7 | 71 | G | 87 | W | 103 | g | 119 | w |
| 8 | ∫ | 24 | 40 | ( | 56 | 8 | 72 | H | 88 | X | 104 | h | 120 | x | |
| 9 | | | 25 | Ω | 41 | ) | 57 | 9 | 73 | I | 89 | Y | 105 | i | 121 | y |
| 10 | _ | 26 | ↑ | 42 | * | 58 | : | 74 | J | 90 | Z | 106 | j | 122 | z |
| 11 | 27 | ↓ | 43 | + | 59 | ; | 75 | K | 91 | [ | 107 | k | 123 | { | |
| 12 | | | 28 | ~ | 44 | , | 60 | < | 76 | L | 92 | \ | 108 | l | 124 | | |
| 13 | 29 | 45 | – | 61 | = | 77 | M | 93 | ] | 109 | m | 125 | ▲ | ||
| 14 | ¨ | 30 | ◎ | 46 | . | 62 | > | 78 | N | 94 | ^ | 110 | n | 126 | ▼ |
| 15 | ƒ | 31 | 47 | / | 63 | ? | 79 | O | 95 | _ | 111 | o | 127 | ↔ |
Notes:
The left value (dec) is the decimal value of the code and the right value (sym) is the oscilloscope symbol.
The displayed symbol for the decimal values 128 to 255 is equal to the symbol display for the decimal values 0 to 127. Example: Decimal value 200 = decimal value 72 (200-128) = symbol H.
For the PM33x0A CombiScope instruments the $ symbol (dec. 36) is replaced by the ET symbol (External Trigger).
How do I turn the user text display in window 2 on or off?
Use the command DISPlay:WINDow2:TEXT[1]:STATE .
Set to 1 or ON to turn the display on.
Set to 0 or OFF to turn the display off.
To query the current state, use DISPlay:WINDow2:TEXT[1]:STATE?. The response will be 1 (on) or 0 (off).
After a *RST command, the display of user text is turned off by default.
Example:
Send → DISPlay:WINDOW2:TEXT:STATE OFF ‘ Turns off the display of the user text.
Front panel compliance: This command is the remote equivalent of the “user text on/off” option of the front panel DISPLAY – TEXT menu.
How do I use the FETCH? query?
The FETCH? queries are part of the measurement instruction set. They return the signal characteristic from the last initiated measurement, as specified by the part of the query header.
Syntax: FETCH[:VOLTage]
An INITiate command (or READ?, MEASure?) must precede a FETCH? query. The response becomes available only after the acquisition is completed. Execution of INITiate[:IMMediate] followed by FETCH? is equivalent to executing a READ? query.
A FETCH? query can also return a signal characteristic from a valid acquisition result stored in a TRACe memory element using the parameter (e.g., FETCH:AC? (@M2_3) fetches AC-RMS of the M2_3 trace).
Trace list format: (@
Trace name format:
Acquisition trace names: CH1 | CH2 | CH3 | CH4 (Note: CH3 and CH4 not available for PM33x0A).
Memory trace names: M_
FETCH? allows the same parameter sets as MEASure? and CONFigure but only specifies the desired result without affecting instrument settings.
If the is defaulted, the characteristic from the last executed FETCH?, READ?, or MEASure? query is returned. If none were executed since power-on, VOLTage:DC is assumed.
The default :VOLTage node specifies the characteristic relates to the voltage component (e.g., rise time, frequency).
Restrictions:
1. Requires digital mode (INStrument:SELect DIGital). Error -221 if in analog mode.
2. Cannot operate on a TRACe memory element modified since the last acquisition command (INITiate, READ?, MEASure?). Error -230 “Data corrupt or stale”.
Errors:
1. Error -230 “Data corrupt or stale” if executed when no valid acquisition data is available or pending.
2. Error -230 “Data corrupt or stale” if querying a TRACe memory element with invalid data.
Example 1:
Send → MEASure:VOLTage:AC? 0.6,(@2) ‘ Measures AC-RMS on channel 2.
Read ←
Send → FETCH:DC? (@2) ‘ Fetches the DC component from the same acquisition.
Read ←
Send → FETCH:AMPLitude? (@2) ‘ Fetches the waveform amplitude.
Read ←
Example 2 (using BUS trigger):
Send → CONFigure:AC ‘ Configures for AC-RMS.
Send → TRIGger:SOURCE BUS ‘ Trigger source GPIB.
Send → SENSE:VOLTage:RANGE:OFFSet .25 ‘ 250 millivolt offset.
Send → INITiate ‘ Initiates trigger system.
Send → *TRG ‘ Triggers (GET) via GPIB.
Send → FETCH:AC? ‘ Fetches AC-RMS value.
Read ←
Note: When using BUS (GPIB) trigger source, the GET (Group Execute Trigger) code (*TRG) must be sent after INITiate and before FETCH? to trigger the acquisition.
How do I set the data format (number of bits) for trace points?
Use the command FORMat[:DATA] INTeger[, 8|16].
Specify INTeger,8 for 8 bits (one byte) per trace point.
Specify INTeger,16 for 16 bits (two bytes) per trace point.
To query the current format, use FORMat[:DATA]?. The response will be INT,8 or INT,16.
The oscilloscope must be in digital mode; otherwise, error -221 “Settings conflict; Digital mode required” is generated.
After a *RST command, the number of bits defaults to 16.
Example:
Send → FORMat INTeger, 8 ‘ Programs the resolution to 8 bits.
Send → TRACE? M1_4 ‘ Queries for trace 4 in memory register 1.
Read ← ‘ Each trace point consists of 8 bits.
Note: This command (specifically querying a stored trace like M1-4) only works if the trace was stored previously in M1-4.
How do I get a hardcopy data block of the screen display?
Use the query HCOPY:DATA?.
This query returns a data block of indefinite length (response format: #0) containing a hardcopy of the oscilloscope display picture.
The format of the data block depends on the currently selected printer/plotter device, set using the HCOPY:DEVice command or the front panel UTILITY – PRINT & PLOT menu.
The received data block can be sent to a supported plotter or printer via the IEEE bus or EIA-232-D (RS-232-C) interface.
The oscilloscope must be in digital mode; otherwise, error -221 “Settings conflict; Digital mode required” is generated.
Special Device Selections:
HPGL: If selected (default after *RST), a plotter-independent HPGL data block is sent, suitable for applications like Desktop Publishing.
DUMP_M1: Selects a special trace dump for PM5138/PM5139/PM5150 generators connected via GPIB. This option can ONLY be started by pressing the PLOT key on the front panel, not by sending the HCOPY:DATA? query. The controller must be disconnected from GPIB, and the generator must be in “listen only” (LO) mode.
Example (HPGL):
Send → *RST ‘ Resets instrument, selects HPGL-plotter.
Send → HCOPY:DATA? ‘ Queries for screen hardcopy data.
Read ← ‘ Reads the hardcopy data block (e.g., #0
Send → ‘ Sends the hardcopy data block (without the #0 preamble) to the connected HPGL plotter.
Front panel compliance: The HCOPY:DATA? query is the remote equivalent of the PLOT key on the front panel.
How do I select the hardcopy device and format?
Use the command HCOPY:DEVice .
This command selects a hardcopy device by specifying the device type. This selection determines the format of the hardcopy data returned by the HCOPY:DATA? query.
Supported `
HPGL: HPGL plot data format.
HP7440, HP7550, HP7475A, HP7470A, PM8277, PM8278: Specific Plotters.
FX80, HP2225, LQ1500, HPLASER: Specific Printers.
DUMP_M1: Trace dump data format for arbitrary waveform generators (PM5138, PM5139, PM5150).
To query the currently selected device, use HCOPY:DEVice?.
After a *RST command, the hardcopy device selection defaults to HPGL.
Example:
Send → *RST ‘ Resets the instrument.
Send → HCOPY:DEVice PM8277 ‘ Selects the PM8277 plotter.
Send → HCOPY:DATA? ‘ Requests screen hardcopy data in PM8277 plot format.
Read ← ‘ Reads the hardcopy data block (consisting of: #0
Send → ‘ Sends the hardcopy data (without #0) to the connected PM8277 plotter.
Front panel compliance: This command is the remote equivalent of the front panel UTILITY – PRINT/PLOT softkey menu.
How do I control continuous trigger initiation?
Use the command INITiate:CONTinuous .
Set to 1 or ON to enable continuous automatic initiation.
Set to 0 or OFF to disable continuous initiation (trigger system waits for a single initiation via INITiate[:IMMediate]).
When ON, the trigger system continuously initiates acquisitions. This can only be stopped by setting INITiate:CONTinuous to OFF or by sending *RST. The ABORt command stops the current acquisition but doesn’t affect the continuous setting, so new acquisitions will initiate immediately.
To query the current state, use INITiate:CONTinuous?. The response will be 1 (ON) or 0 (OFF).
After a *RST command, INITiate:CONTinuous is OFF.
Programming Notes:
During INITiate:CONTinuous ON, the trigger system remains initiated and does not return to the IDLE state. Consequently, an *OPC command’s bit 0 in the ESR will never be set, and the response to an *OPC? query will never be generated, causing a potential hang-up.
After receiving INITiate or INITiate:CONTinuous ON, the oscilloscope checks *RST trigger settings (X-deflection, Del’d TB, Trigger type, Level-PP, X vs Y, Roll mode, Event delay, Peak detection – all should be OFF or Edge trigger). If there’s a settings conflict, the command is ignored, and error -221 is reported. To avoid this, send a *RST command before sending an INITiate command.
Example:
Send → *RST ‘ Resets the instrument.
Send → CONFigure:AC (@1) ‘ Configures for AC on channel 1.
Send → INITiate:CONTinuous ON ‘ Enables continuous initiation.
Send → FETCH:AC? ‘ Fetches AC-RMS value (will wait for acquisition).
Read ← ‘ Reads AC-RMS voltage.
How do I initiate a single acquisition cycle?
Use the command INITiate[:IMMediate].
This command causes the trigger system to be initiated once. The actual acquisition starts when all trigger conditions have been met. After the acquisition is completed, the trigger system returns to the IDLE state.
Note: The OPERation status bits 3 (SWEeping) and 5 (Waiting for TRIGger) are valid indicators when INITiate:CONTinuous is OFF and the trigger mode is single-shot (TB MODE – single) or multiple-shot (TB MODE – multi).
Example:
Send → *RST ‘ Resets the instrument.
Send → TRIGger:SOURCE INTernal1 ‘ Trigger source becomes channel 1.
Send → TRIGger:LEVel .2 ‘ Trigger level becomes 0.2V.
Send → INITiate ‘ Initiates a single shot acquisition.
Send → TRACE? CH1 ‘ Queries channel 1 trace (after acquisition completes).
Read ←
Note for Averaging: For single-shot averaged acquisitions, the trigger source must be one of the input channels (INTernal), not IMMediate (software automatic trigger).
Errors: If an INITiate command is given while the trigger system is not in the IDLE state, the message -213, “Init ignored” is generated.
How do I set the input coupling for a channel?
Use the command INPut, where is the channel number (1, 2, 3, or 4) and is one of the following:
AC: AC coupling (DC offset is excluded).DC: DC coupling (DC offset is included). This is the default after *RST.GROund: Grounds the input (AC value is zeroed).
To query the current coupling, use INPut. The response will be AC, DC, or GRO.
Restrictions:
For PM3382A and PM3392A instruments, channels 3 and 4 can only be set to AC or DC.
For PM33x0A instruments, channel 3 is not applicable, and channel 4 can only be set to AC or DC.
Example:
Send → *RST ‘ Resets the instrument (DC coupled).
Send → CONFigure:AC (@2) ‘ Configures for channel 2 AC-RMS.
Send → SENSE:FUNCtion "XTIME:VOLTage2" ‘ Sets channel 2 ON.
Send → READ:AC? (@2) ‘ Reads AC-RMS on channel 2.
Read ←
Send → INPut2:COUPling AC ‘ Couples true AC-RMS.
Send → READ:AC? (@2) ‘ Reads AC-RMS on channel 2.
Read ←
Send → INPut2:COUPling GROund ‘ Couples to ground.
Send → READ:AC? (@2) ‘ Reads AC-RMS on channel 2.
Read ←
Front panel compliance: This command is the remote equivalent of the front panel AC/DC/GND key.
How do I control the common low-pass filter (Bandwidth Limit)?
Use the command INPut[ to turn the filter ON or OFF.
Set to 1 or ON to turn the filter on.
Set to 0 or OFF to turn the filter off.
This command affects all input channels simultaneously, regardless of the optional specified. The filter is a common low-pass filter with a fixed cutoff frequency of 20 MHz (not programmable).
To query the current state, use INPut. The response will be 0 (off) or 1 (on).
To query the filter frequency, use INPut. The response is always 2.00E+07 (20 MHz).
After a *RST command, the filter is turned OFF.
Note: For PM33x0A instruments, Channel 3 is not applicable.
Example:
Send → INPut:FILTer ON ‘ Turns the filter ON.
Front panel compliance: This command is the remote equivalent of the front panel BW LIMIT option in the VERT MENU menu.
How do I set the input impedance for a channel?
Use the command INPut, where is the channel number (1, 2, 3, or 4) and is one of the following:
50or5.00E+01orMINimum: Sets impedance to 50 Ω (low).1E6or1.00E+06orMAXimum: Sets impedance to 1 MΩ (high). This is the default after *RST.
To query the current impedance, use INPut. The response will be 5.00E+01 or 1.00E+06.
Restrictions: The impedance is fixed at 1 MΩ and cannot be changed for:
All channels of the PM3382A and PM3384A CombiScopes instruments.
Channels 3 and 4 of the PM3392A CombiScope instrument.
Channel 4 of the PM33x0A CombiScope instruments.
Note: For PM33x0A instruments, Channel 3 is not applicable.
Example:
Send → INPut2:IMPedance 50 ‘ Selects 50Ω input impedance for channel 2.
Front panel compliance: This command is the remote equivalent of the front panel 50Ω option in the VERT MENU menu.
How do I invert the signal polarity for channels 2 or 4?
Use the command INPut, where is 2 or 4, and is one of the following:
NORMal: Sets normal polarity (default after *RST).INVerted: Sets inverted polarity (inverts the signal).
To query the current polarity, use INPut (where n=2 or 4). The response will be NORM or INV.
Note: Input 4 is not applicable for PM33x0A instruments.
Example:
Send → *RST ‘ Resets the instrument.
Send → CONFigure:AC (@2) ‘ Configures channel 2.
Send → SENSE:FUNCtion "XTIME:VOLTage2" ‘ Sets channel 2 ON.
Send → INPut2:COUPling DC ‘ Sets DC input coupling on.
Send → INPut2:POLarity INVerted ‘ Sets INV CH2 on.
Send → READ:DC? (@2) ‘ Requests DC channel 2.
Read ← ‘ Reads inverted DC value.
Front panel compliance: This command is the remote equivalent of the front panel INV keys.
How do I switch between Analog and Digital (DSO) modes?
You can use either the NSELect or SELect command variant:
Using NSELect:
INSTrument:NSELect where is:
1orMINimum: Activates the digital mode (DSO).2orMAXimum: Activates the analog mode.
Query with INSTrument:NSELect? [MINimum | MAXimum]. Response is 1 or 2.
Using SELect:
INSTrument[:SELect] where is:
DIGital: Activates the digital mode (DSO).ANALog: Activates the analog mode.
Query with INSTrument[:SELect]?. Response is DIG or ANAL.
Selecting one mode automatically deactivates the other mode.
After a *RST command, the digital mode (DSO) is selected by default.
Example:
Send → INSTrument:NSELect 2 ‘ Analog mode is selected.
Send → INSTrument DIGital ‘ Digital mode is selected.
Front panel compliance: These commands are the remote equivalent of the front panel ANALOG key.
What measurement functions are available with MEASure? and READ? queries?
The following measurement functions can be specified as the part of MEASure? and READ? queries. Most relate to the [:VOLTage] node by default.
:AC: Measures the RMS value of the AC component (volts). No parameters.
:AMPLitude: Measures the amplitude of a waveform (HIGH – LOW) (volts). No parameters.
[:DC]: Measures the DC component (volts). No parameters.
:FALL:OVERshoot: Measures falling edge overshoot (% of Amplitude). No parameters.
:FALL:PREShoot: Measures falling edge preshoot (% of Amplitude). No parameters.
:FALL:TIME (Alias: FTIMe): Measures fall time (seconds). Requires
,.:FREQuency: Measures frequency (hertz). Optional
,.:HIGH: Measures the HIGH value of the waveform (volts). No parameters.
:LOW: Measures the LOW value of the waveform (volts). No parameters.
:MAXimum: Measures the maximum instantaneous voltage (volt). No parameters.
:MINimum: Measures the minimum instantaneous voltage (volt). No parameters.
:NDUTycycle: Measures negative duty cycle (%). Requires
.:NWIDth: Measures negative pulse width (seconds). Requires
.:PDUTycycle (Alias: DCYCle): Measures positive duty cycle (%). Requires
.:PERiod: Measures period (seconds). Optional
,.:PTPeak: Measures peak-to-peak value (MAXimum – MINimum) (volts). No parameters.
:PWIDth: Measures positive pulse width (seconds). Requires
.:TMAXimum: Measures time of first occurrence of MAXimum voltage (seconds). No parameters.
:TMINimum: Measures time of first occurrence of MINimum voltage (seconds). No parameters.
:RISE:OVERshoot: Measures rising edge overshoot (% of Amplitude). No parameters.
:RISE:PREShoot: Measures rising edge preshoot (% of Amplitude). No parameters.
:RISE:TIME (Alias: RTIMe): Measures rise time (seconds). Requires
,.
Measurement Parameters:
: % of HIGH value (0-100, default 10). Unit: volt.: % of HIGH value (0-100, default 90). Unit: volt.: % of HIGH value (0-100, default 50). Unit: volt.: Optional hint for expected value (time, frequency, period).<..._resolution>: Optional hint for desired resolution (time, frequency, period).
Response Format: Numerical result in NR3 format (e.g., <1.25E-01> which equals 0.125).
What are the limitations for Rise/Fall Time and Duty Cycle measurements?
The oscilloscope can only calculate rise and fall time characteristics if the and parameters are limited relative to the signal’s peak-to-peak value (PTPeak) to avoid noise.
The limit is effectively 1/8 division (0.125 divisions) from the minimum (0%) and maximum (100%) levels.
The specific percentage limits depend on the PTPeak value relative to the screen divisions:
| Condition | Limit Calculation | Allowed | Allowed |
|---|---|---|---|
| If PTPeak < 1 div. | 0.125 * 100% | >= 12.5% | <= 87.5% |
| If PTPeak < 2 div. | (0.125 / 2) * 100% | >= 6.25% | <= 93.75% |
| If PTPeak < 3 div. | (0.125 / 3) * 100% | >= 4.16% | <= 95.84% |
| If PTPeak < 4 div. | (0.125 / 4) * 100% | >= 3.125% | <= 96.87% |
| If PTPeak < 5 div. | (0.125 / 5) * 100% | >= 2.5% | <= 97.5% |
| If PTPeak < 6 div. | (0.125 / 6) * 100% | >= 2.08% | <= 97.92% |
| If PTPeak < 7 div. | (0.125 / 7) * 100% | >= 1.78% | <= 98.22% |
| If PTPeak < 8 div. | (0.125 / 8) * 100% | >= 1.56% | <= 98.44% |
| If PTPeak < 9 div. | (0.125 / 9) * 100% | >= 1.38% | <= 98.62% |
| If PTPeak < 10 div. | (0.125 / 10) * 100% | >= 1.25% | <= 98.75% |
These same limits are also applicable for the parameter used in frequency, delay, period, and duty cycle calculations.
Note: A MEASure? query is always executed over the whole acquisition length of 512 samples and is not limited by cursors.
What is the difference between MEASure?, READ?, CONFigure, and FETCH? commands?
MEASure?: Performs a complete measurement cycle in one command. It configures the instrument based on the query and parameters (or defaults), initiates an acquisition, and returns the measured result. It aborts any pending operation and leaves instrument settings undefined afterward.
CONFigure: Sets up the instrument for a specific measurement task, similar to how MEASure? would configure it, but does *not* initiate an acquisition or return a result. It defines the settings for subsequent READ? or INITiate commands.
READ?: Initiates an acquisition based on the *current* instrument settings (presumably set by a prior CONFigure command) and returns the measured result specified in the query header. It aborts any pending acquisition but does *not* change the instrument settings.
INITiate: Initiates the trigger system for an acquisition based on current settings. It does *not* configure the instrument or return a result. It requires a subsequent FETCH? command to retrieve the result after the acquisition completes.
FETCH?: Retrieves the result from the *last initiated* acquisition (initiated by INITiate, READ?, or MEASure?) or from a specified trace memory. It does *not* configure the instrument or initiate an acquisition. It requires a preceding acquisition initiation.
Equivalences:
CONFigurefollowed immediately byREAD?is equivalent toMEASure?.INITiatefollowed by waiting for completion and thenFETCH?is equivalent toREAD?.
Restrictions: MEASure?, READ?, and FETCH? require the oscilloscope to be in digital mode. MEASure? and READ? can cause a “Trigger deadlock” error (-214) if the trigger source is BUS.
How do I enable or disable signal averaging?
Use the command SENSE:AVERage[:STATE] .
Set to 1 or ON to switch the preprocessing AVERAGE function on.
Set to 0 or OFF to switch it off.
When switched on, measurement values and acquisition traces are averaged according to the average count factor set by SENSE:AVERage:COUnt. Averaging helps suppress noise in repetitive signals without losing bandwidth.
To query the current state, use SENSE:AVERage[:STATe]?. The response is 0 (off) or 1 (on).
Averaging requires the oscilloscope to be in digital mode; error -221 “Settings conflict; Digital mode required” is generated if in analog mode.
After a *RST command, the AVERAGE function is switched off.
Example:
Send → *RST
Send → CONFigure:AC ‘ Configures for AC-RMS.
Send → TRIGger:INTernal1 ‘ Makes channel 1 the trigger source.
Send → SENSE:AVERage:COUNt 16 ‘ Average count factor becomes 16.
Send → SENSE:AVERage ON ‘ Switches average function on.
Send → READ:AC? ‘ Starts averaging AC-RMS.
Read ←
Note: For single-shot averaged acquisitions, the trigger source must be an input channel (INTernal), not IMMediate.
Front panel compliance: This command is the remote equivalent of the front panel AVERAGE key.
How do I set the number of averages (average count factor)?
Use the command SENSE:AVERage:COUNT .
The count factor must be a power of 2, ranging from 2 up to 4096 (e.g., 2, 4, 8, 16, …, 2048, 4096).
This command sets the number of acquisitions that will be averaged together when the AVERAGE function is enabled (SENSE:AVERage[:STATE] ON).
To query the current count factor, use SENSE:AVERage:COUNT?. Use MINimum or MAXimum options to get the range limits (2 and 4096).
The averaging type used is Scalar (returned by SENSE:AVERage:TYPE?).
Averaging requires the oscilloscope to be in digital mode; error -221 “Settings conflict; Digital mode required” is generated if in analog mode.
After a *RST command, the average count factor defaults to 8.
Example:
Send → *RST ‘ Resets the instrument.
Send → CONFigure:AC ‘ Configures for AC-RMS.
Send → SENSE:AVERage:COUNt 16 ‘ Average count factor becomes 16.
Send → SENSE:AVERage ON ‘ Switches average function on.
Send → INITiate ‘ Initiates trace averaging.
Send → *WAI ‘ Waits for INITiate to finish.
Send → TRACE? CH1 ‘ Queries channel 1 trace.
Read ←
Front panel compliance: This command is the remote equivalent of the front panel AVERAGE count option of the ACQUIRE menu.
How do I switch input channels or channel additions ON or OFF?
Use the SENSE:FUNCtion commands with specific string parameters:
To switch ON:
Single channel:
SENSE:FUNCtion[:ON] "XTIME:VOLTage(e.g., `”XTIME:VOLTage2″`)" Channel addition:
SENSE:FUNCtion[:ON] "XTIME:VOLTage:SUM "(e.g., `”XTIME:VOLTage:SUM 1,2″`)
To switch OFF:
Single channel:
SENSE:FUNCtion:OFF "XTIME:VOLTage" Channel addition:
SENSE:FUNCtion:OFF "XTIME:VOLTage:SUM "
Where = 1, 2, 3, 4 and = 1,2 or 3,4.
To query the state (ON or OFF), use SENSE:FUNCtion:STATe? "parameter". The response is 1 (ON) or 0 (OFF).
Behavior:
Switching a SUM (e.g., CH1+CH2) ON automatically switches the individual channels (CH1, CH2) OFF in digital mode.
Switching a SUM OFF automatically switches the individual channels ON in digital mode.
In analog mode, switching a SUM ON displays both the SUM trace and the individual channel traces.
Execution error -221 (“Settings conflict”) occurs if a command attempts to turn off the last active input channel or channel addition.
Default after *RST: Channel 1 is ON, all other channels and additions are OFF.
Limitations (PM33x0A):
Channel 3 is not applicable.
Channel 4 is the external trigger view channel.
Channel 4 can be switched ON only if it’s the trigger source (
TRIGger:SOURce EXTernal) AND Channel 1 or 2 is also ON.SUM 3,4 is not applicable.
Example:
Send → *RST ‘ Switches channel 1 on, and the others off.
Send → SENSE:FUNCtion:ON 'XTIME:VOLTage2' ‘ Switches channel 2 on. (Result: channels 1 and 2 are on)
Send → SENSE:FUNCtion:ON 'XTIME:VOLTage:SUM 1,2' ‘ Switches CH1+CH2 on. (Result: addition CH1+CH2 is on, CH1 and CH2 are off)
Front panel compliance: The SENSE:FUNCtion command is the remote equivalent of the front panel ON, CH1+CH2, and CH3+CH4 keys.
How do I set the trigger delay (pre-trigger or post-trigger view)?
Use the command SENSE:SWEep:OFFSet:TIME .
specifies the trigger delay time for the Main Time Base (MTB) sweep in seconds (NRf format).
A negative value causes a pre-trigger view time (allows viewing data before the trigger event).
A positive value causes a post-trigger delay time (delays data acquisition after the trigger).
You can also use MINimum (selects maximum possible pre-trigger time) or MAXimum (selects maximum possible post-trigger time).
To query the current setting, use SENSE:SWEep:OFFSet:TIME? [MINimum | MAXimum]. The response is the delay time in seconds (NR3 format) or the corresponding MIN/MAX value.
This requires the oscilloscope to be in digital mode; error -221 “Setting conflict; Digital mode required” is generated if in analog mode.
After a *RST command, the trigger delay is set to -5 milliseconds pre-trigger. Since the default sweep time after *RST is 10ms, this positions the trigger point in the middle of the acquisition (5ms / (10ms / 10div) = 5 divisions before the end).
Example:
Send → *RST ‘ Resets the instrument.
Send → SENSE:SWEep:TIME 5E-3 ‘ The sweep time becomes 5 ms; MTB = 0.5 ms/div.
Send → SENSE:SWEep:OFFSet:TIME -0.001 ‘ The pre-trigger view time becomes 1 ms (-2 div).
Send → SENSE:SWEep:OFFSet:TIME 0.001 ‘ The post-trigger delay time becomes 1 ms (+2 div).
Front panel compliance: This command is the remote equivalent of the front panel TRIGGER POSITION key.
How do I enable or disable Peak Detection?
Use the command SENSE:SWEep:PDETection[:STATE] .
Set to 1 or ON to switch peak detection on.
Set to 0 or OFF to switch it off.
When peak detection is switched on, the Main Time Base (MTB) range is limited to sequential sampling speeds, from 250 nanoseconds per division through 200 seconds per division. Refer to the Operating Guide for limitations on detectable glitch widths.
To query the current state, use SENSE:SWEep:PDETection[:STATE]?. The response is 0 (off) or 1 (on).
Peak detection requires the oscilloscope to be in digital mode; error -221 “Settings conflict; Digital mode required” is generated if in analog mode.
After a *RST command, peak detection is switched off.
Example:
Send → CONFigure:PTPeak ‘ Configures for Peak-To-Peak.
Send → INITiate:CONTinuous ON ‘ Sets Auto run mode.
Send → DISPlay:MENU MEASure ‘ Displays MEASURE menu.
Send → SYSTEM:KEY 2 ‘ Sets MEAS1 on (assuming MEASURE menu is active).
Send → SENSE:SWEep:PDETection ON ‘ Sets peak detection on.
Send → DISPlay:WINDow:TEXT1:DATA? ‘ Queries MEAS1 data.
Read ← ‘ Example reading
Front panel compliance: This command is the remote equivalent of the front panel ACQUIRE – PEAK DET on/off softkey menu.
How do I enable or disable Real-Time sampling mode?
Use the command SENSE:SWEep:REALtime[:STATE] .
Set to 1 or ON to switch the ‘real-time’ mode on.
Set to 0 or OFF to switch it off.
When the ‘real-time’ sampling mode is switched on, the Main Time Base (MTB) range is limited to sequential sampling speeds, from 250 nanoseconds per division through 200 seconds per division.
To query the current state, use SENSE:SWEep:REALtime[:STATE]?. The response is 0 (off) or 1 (on).
Real-time mode requires the oscilloscope to be in digital mode; error -221 “Settings conflict; Digital mode required” is generated if in analog mode.
After a *RST command, the ‘real-time’ mode is switched off.
Example:
Send → *RST ‘ Resets the instrument.
Send → SENSE:SWEep:REALtime ON ‘ Sets real-time sampling on.
Send → TRIGger:SOURCE INTernal1; LEVel .1; SLOPE EITHer ‘ Sets trigger: src=Ch1, lvl=0.1V, slope=either.
Send → INITiate ‘ Initiates a single acquisition.
Send → READ:AC? ‘ Reads AC-RMS (waits for acquisition).
Read ←
Front panel compliance: This command is the remote equivalent of the front panel REALTIME ONLY option of the TB MODE menu.
How do I set the sweep time (time base)?
Use the command SENSE:SWEep:TIME .
specifies the sweep time in seconds (NRf format), which is the time duration of one complete trace acquisition for all input channels. You can also use MINimum or MAXimum to select the limits.
The sweep time, together with the number of trace points (TRACE:POINts), determines the Main Time Base (MTB) setting (seconds per division). The MTB is calculated as:
MTB = 50 * SENSE:SWEep:TIME / (TRACE:POINts - 1)
(Since there are 50 points per division horizontally).
To query the current sweep time, use SENSE:SWEep:TIME? [MINimum | MAXimum]. The response is the sweep time in seconds (NR3 format) or the MIN/MAX value.
Mode Differences:
Analog Mode: Setting the sweep time puts the main time base into the variable (VAR) mode.
Digital Mode: Sweep times are limited by the permitted MTB values according to the table below. Due to rounding to permitted MTB values, the actual sweep time set might differ slightly from the requested value.
Permitted MTB values in Digital Mode (s/div):
| s | ms | µs | ns | Notes |
|---|---|---|---|---|
| 500 | 500 | 500 | ||
| 250 | Not applicable for PM33x0A | |||
| 200 | 200 | 200 | 200 | |
| 100 | 100 | 100 | 100 | |
| 50 | 50 | 50 | 50 | Not valid in the real time mode |
| 20 | 20 | 20 | 20 | |
| 10 | 10 | 10 | 10 | |
| 5 | 5 | 5 | 5 | |
| 2 | 2 | 2 | 2 | |
| 1 | 1 | 1 |
Notes/Limitations:
The 2 ns/div MTB value is not possible for PM33x0A instruments.
If
SENSE:SWEep:REALtimeis ON, the MTB range is 200 s/div to 250 ns/div, and sequential sampling is not guaranteed.If 2 or more channels are switched on in real-time mode, the time base range is limited to 10 µs/div or slower (non-alternating time base).
Changing the number of trace points (
TRACE:POINts) will cause the sweep time to change proportionally.
Default after *RST: Sweep time is 10 milliseconds.
Example Calculation:
Send → SENSE:SWEep:TIME? ‘ Requests sweep time
Read ←
Send → TRACE:POINts? CH1 ‘ Requests nr of trace points
Read ←
MTB = 50 * ‘ Calculates the MTB
PRINT "Main Time Base="; MTB; "s/div" ‘ Prints the MTB
Front panel compliance: This command is the remote equivalent of the front panel TB MODE “s VAR ns” keys.
How do I enable or disable Main Time Base (MTB) autoranging?
Use the command SENSE:SWEep:TIME:AUTO .
Set to 1 or ON to switch MTB autoranging on.
Set to 0 or OFF to switch it off.
To query the current state, use SENSE:SWEep:TIME:AUTO?. The response is 0 (off) or 1 (on).
Autoranging requires the oscilloscope to be in digital mode; error -221 “Settings conflict; Digital mode required” is generated if in analog mode.
The MTB autoranging function is automatically switched OFF when:
A specific time base value is programmed using
SENSE:SWEep:TIME.A channel
is selected as the trigger source (TRIGger:SOURce INTernal) while that channelis switched off (SENSE:FUNCtion:STATe?returns 0).The Main Time Base (MTB) is switched off (e.g., using delayed timebase only).
After a *RST command, autoranging MTB is switched off.
Example:
Send → *RST ‘ Resets the instrument.
Send → INITiate:CONTinuous ON ‘ Sets Auto run mode.
Send → TRIGger:SOURCE INTernal1 ‘ Sets trigger source CH1.
Send → SENSE:SWEep:TIME:AUTO ON ‘ Sets autoranging MTB on.
Send → SENSE:SWEep:TIME 0.5 ‘ Sets sweep time at 500 ms; MTB becomes 50ms (autoranging automatically turns off).
Front panel compliance: This command is the remote equivalent of the front panel AUTO RANGE (MTB) key.
How do I enable or disable attenuator autoranging for a channel?
Use the command SENSE:VOLTage.
Where is the channel number (1, 2, 3, or 4).
Set to 1 or ON to switch attenuator autoranging on for channel .
Set to 0 or OFF to switch it off.
To query the current state, use SENSE:VOLTage. The response is 0 (off) or 1 (on).
Autoranging requires the oscilloscope to be in digital mode; error -221 “Settings conflict; Digital mode required” is generated if in analog mode.
The autoranging attenuator function for channel is automatically switched OFF when:
A specific attenuation value (vertical sensitivity) is programmed using
SENSE:VOLTage.:RANGE:PTPeak Channel
is switched off (SENSE:FUNCtion:OFF "XTIME:VOLTage)." The Main Time Base (MTB) is switched off.
The applicable channel addition function involving channel
(e.g., CH1+CH2 for n=1 or n=2) is switched on (SENSE:FUNCtion:ON "XTIMe:VOLTage:SUM ...").
Note: Switching the autoranging attenuator ON for a channel automatically sets the input signal coupling for that channel to AC (INPut). It also switches the main timebase from variable (VAR) into 1-2-5 step mode.
After a *RST command, autoranging attenuation for all channels is switched on by default.
Note: For PM33x0A instruments, Channel 3 and 4 are not applicable for this command.
Example:
Send → *RST ‘ Switches CH1 on, Autoranging ON for all channels.
Send → SENSE:FUNCtion:ON 'XTIME:VOLTage2' ‘ Switches CH2 on.
Send → INITiate:CONTinuous ON ‘ Sets Auto run mode.
Send → SENSE:VOLTage2:RANGE:AUTO ON ‘ Ensures Autoranging CH2 is ON (already default).
Send → SENSE:FUNCtion:ON 'XTIME:VOLTage:SUM 1,2' ‘ Switches CH1+CH2 on. (Result: addition on, autoranging for channel 2 automatically switched off).
Front panel compliance: This command is the remote equivalent of the four front panel AUTO RANGE keys (one for each channel).
How do I set the vertical offset for a channel?
Use the command SENSE:VOLTage.
Where is the channel number (1, 2, 3, or 4).
specifies the vertical offset in volts (NRf format). You can also use MINimum or MAXimum to select the limits of the possible offset range.
This command controls the vertical offset for the specified input channel. If a detectable probe is attached, the offset value is considered to be at the probe tip; otherwise, it’s at the BNC plug.
To query the current offset, use SENSE:VOLTage. The response is the offset in volts (NR3 format) or the MIN/MAX value.
After a *RST command, the vertical offset for each channel is zero.
Coupled Values: The range of the allowable offset value is directly coupled to the range of the vertical sensitivity per division (set by SENSE:VOLTage).
Note: For PM33x0A instruments, Channel 3 and 4 are not applicable.
Example:
Send → SENSE:VOLTage2:RANGE:OFFSet 1E-1 ‘ Sets 100 mV offset for channel 2.
Front panel compliance: This command is the remote equivalent of the front panel POS knobs.
How do I set the vertical sensitivity (attenuation) for a channel?
Use the command SENSE:VOLTage.
Where is the channel number (1, 2, 3, or 4).
specifies the vertical sensitivity in peak-to-peak volts (NRf format), expressed over the full scale of 8 divisions. You can also use MINimum or MAXimum to select the limits.
This command controls the vertical sensitivity (attenuator setting) for the specified input channel. If a detectable probe is attached, the value is considered to be at the probe tip; otherwise, it’s at the BNC plug.
To query the current setting, use SENSE:VOLTage. The response is the peak-to-peak voltage for 8 divisions (NR3 format) or the MIN/MAX value.
Default Values after *RST:
Channel 1: 1.6V (200 mV/div)
Channel 2: 0.4V (50 mV/div)
For PM3382A/PM3392A: Channels 3 & 4: 4V (500 mV/div)
For PM3384A/PM3394A: Channels 3 & 4: 8V (1 V/div)
For PM33x0A: Channel 4: 8V (1 V/div)
Note: If a 10:1 probe is connected, the effective peak-to-peak value is 10 times higher (e.g., 80V instead of 8V).
Coupled Values: Programming the attenuator (vertical sensitivity) is coupled with the trigger level. If the attenuator is changed, the trigger level is also adapted to keep the signal display stable. Tip: Program the attenuator (PTPeak) first, then set the trigger level (TRIGger:LEVel).
Limitations:
PM3382A/PM3392A: Channels 3 & 4 can only be set to 0.8V or 4V.
PM33x0A: Channel 4 can only be set to 0.8V or 8V. Channel 3 is not applicable.
Example:
Send → *RST ‘ Resets the instrument.
Send → SENSE:VOLTage2:RANGE:PTPeak 0.8 ‘ Sets Peak-to-peak = 0.8V; sensitivity = 0.8/8 = 100 mV/div.
Send → TRIGger:SOURCE INTernal2; LEVel .2 ‘ Trigger source = channel 2; level = 0.2V.
Send → SENSE:FUNCtion "XTIME:VOLTage2" ‘ Switches channel 2 ON.
Send → INITiate:CONTinuous ON ‘ Initiates continuous acquisitions.
Front panel compliance: This command is the remote equivalent of the front panel AMPL “mV VAR V” keys.
How do I use the Status System (OPERation and QUEStionable registers)?
The status system uses register sets (like OPERation and QUEStionable) to report instrument conditions and events. Each set typically includes:
CONDition Register: Reflects the current state of various conditions (read-only).
EVENT Register: Latches transitions detected by the transition filters (read clears).
ENABle Register: Masks which bits in the EVENT register contribute to the summary bit in the Status Byte Register.
PTRansition Register: Filter to detect positive (0->1) transitions in the CONDition register.
NTRansition Register: Filter to detect negative (1->0) transitions in the CONDition register.
Common Commands (replace `GROUP` with `OPERation` or `QUEStionable`):
STATus:GROUP:CONDition?: Reads the current condition bits (returns decimal sum).STATus:GROUP:EVENT?: Reads and clears the event bits (returns decimal sum of bits that were set).STATus:GROUP:ENABle: Sets the enable mask (0-32767).STATus:GROUP:ENABle?: Reads the enable mask.STATus:GROUP:PTRansition: Sets the positive transition filter mask (0-32767).STATus:GROUP:PTRansition?: Reads the positive transition filter mask.STATus:GROUP:NTRansition: Sets the negative transition filter mask (0-32767).STATus:GROUP:NTRansition?: Reads the negative transition filter mask.
STATUS:PRESet Command:
The STATUS:PRESet command initializes the status registers to a state where device-dependent events are reported upwards. It affects only the enable and transition registers, setting them as follows:
OPERation: ENABle=0000, PTRansition=7FFF, NTRansition=0000 (hex).
QUEStionable: ENABle=0000, PTRansition=7FFF, NTRansition=0000 (hex).
It does *not* clear the EVENT registers.
Register Bit Meanings:
OPERation Register Bits:
| BIT | DECIMAL VALUE | MEANING |
|---|---|---|
| 0 | 1 | CALibrating (performing a calibration) |
| 2 | 4 | RANGing (currently autoranging, autosetting) |
| 3 | 8 | SWEeping (busy with acquisition) |
| 5 | 32 | Waiting for TRIGger (INITiated) |
| 8 | 256 | Instrument is in the digital mode |
| 9 | 512 | Pass/Fail status (bit 10) is valid |
| 10 | 1024 | Pass/Fail status; 1 = test has failed |
| other | — | Not used. Zero is returned |
QUEStionable Register Bits:
| BIT | DECIMAL VALUE | MEANING |
|---|---|---|
| 0 | 1 | Digital sample value is clipped at max. or min. during VOLTage calculation |
| 4 | 16 | TEMPerature too high or too low |
| 8 | 256 | Calibration is not successfully completed |
| 9 | 512 | A 50Ω input terminator is overloaded |
| 14 | 16384 | Unexpected parameter in measurement instruction |
| other | — | Not used. Zero is returned |
Example (OPERation Register):
Send → STATUS:OPERation:CONDition? ‘ Requests operational condition.
Read ← 4 ‘ The returned value 4 equals bit 2 set (instrument is currently autoranging).
Send → STATUS:OPERation:ENABle 4 ‘ Enables report of bit 2 (RANGing) in operational event register.
Send → STATUS:OPERation:NTRansition 0 ‘ Disables all bit reports from 1 to 0.
Send → STATUS:OPERation:PTRansition 4 ‘ Enables report of “Autoranging started” (0 -> 1).
Send → STATUS:OPERation:EVENT? ‘ Requests for operational event.
Read ← 4 ‘ The returned value 4 equals bit 2 set (instrument has started autoranging).
Send → STATUS:OPERation:PTRansition 0 ‘ Disables all bit reports from 0 to 1.
Send → STATUS:OPERation:NTRansition 4 ‘ Enables report of “Autoranging stopped” (1 -> 0).
Send → STATUS:OPERation:EVENT? ‘ Requests for operational event.
Read ← 4 ‘ The returned value 4 equals bit 2 set (instrument has stopped autoranging).
How do I read errors from the error queue?
Use the query STATUS:QUEue[:NEXT]? or its alias SYSTem:ERRor?.
This query reports the next event/error from the error/event queue and removes it from the queue. The queue follows a “First-In First-Out” (FIFO) order, so the query returns the oldest error.
The response format is: .
If the queue is empty, the response is:
0,"No error".If an error exists, it returns the error number and a short description, e.g.,
-222,"Data out of range".
The error queue has space for 20 messages. If more messages occur than the queue can hold, it overflows. The oldest messages remain, the most recent message is discarded, and the last position in the queue is set to indicate the overflow: -350,"Queue overflow".
The error/event queue is cleared automatically:
After power on.
When a
*CLS(Clear Status) command is received.When the last error in the queue has been read.
Example:
Send → STATUS:QUEue?
Read ← -222,"Data out of range" ‘ Reads error -222.
How do I control the instrument beeper?
There are two commands related to the beeper:
1. SYSTem:BEEPer:
This command causes the instrument to generate a beep of about 1 second duration immediately.
It works even if the automatic beeper state is turned OFF.
2. SYSTem:BEEPer:STATe :
This command enables or disables the automatic beeper function.
Set
to1orONto enable the beeper (instrument will beep on certain conditions like errors).Set
to0orOFFto disable the beeper (no condition will cause an automatic beep).To query the state, use
SYSTem:BEEPer:STATe?. Response is0(disabled) or1(enabled).After a
*RSTcommand, the beeper state is turned ON.
Example: Beep on error
Send → SYSTem:ERRor? ‘ Reads the error queue.
Read ← error_number,"error_description"
IF error_number <> 0 THEN ‘ Check if an error occurred (number is not 0)
send → SYSTem:BEEPer ‘ Beeps on error.
END IF
Example: Disable automatic beep, generate manual beep
Send → SYSTem:BEEPer:STATe OFF ‘ Turns automatic beeper off.
Send → SYSTem:BEEPer ‘ Generates a beep manually.
Front panel compliance: The SYSTem:BEEPer:STATe command is the remote equivalent of the front panel BEEP ON OFF option of the UTILITY menu.
How do I configure the RS-232 DTR/RTS control (3-wire vs 7-wire)?
Use the command SYSTem:COMMunicate:SERial:CONTrol:, where is DTR or RTS, and is:
ON: Selects the “3 wire” option. The DTR or RTS line is always asserted.STANdard: Selects the “7 wire” option (standard handshake).
The RTS control is coupled to the DTR control, meaning setting one affects the other identically.
To query the current setting, use SYSTem:COMMunicate:SERial:CONTrol:DTR? or ...:RTS?. The response is ON or STAN.
After a *RST command, the DTR/RTS control setting remains unchanged.
After power on, the oscilloscope is in its local state, controlled via the front panel.
Example:
Send → SYSTem:COMMunicate:SERial:CONTrol:DTR ON ‘ Selects the “3 wire” control.
Front panel compliance: This command is the remote equivalent of the front panel REMOTE SETUP – RS232 SETUP option of the UTILITY menu.
How do I configure RS-232 communication parameters (Baud, Bits, Pace, Parity)?
Use the following commands to set the parameters for the serial (RS-232) interface. Note that Receive (:RECeive) and Transmit (:TRANsmit) paths can be configured separately, although they often share the same settings.
Baud Rate:
Set:
SYSTem:COMMunicate:SERial[:RECeive|:TRANsmit]:BAUDQuery:
SYSTem:COMMunicate:SERial[:RECeive|:TRANsmit]:BAUD? [MIN|MAX]values: 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, MIN (75), MAX (38400).
Data Bits:
Set:
SYSTem:COMMunicate:SERial[:RECeive|:TRANsmit]:BITSQuery:
SYSTem:COMMunicate:SERial[:RECeive|:TRANsmit]:BITS?values: 7 or 8.
Pacing (Flow Control):
Set:
SYSTem:COMMunicate:SERial[:RECeive|:TRANsmit]:PACEQuery:
SYSTem:COMMunicate:SERial[:RECeive|:TRANsmit]:PACE?values:XON(enables X-on/X-off handshake) orNONE(disables handshake).
Parity:
Set:
SYSTem:COMMunicate:SERial[:RECeive|:TRANsmit]:PARity[:TYPE]Query:
SYSTem:COMMunicate:SERial[:RECeive|:TRANsmit]:PARity[:TYPE]?values:EVEN,ODD, orNONE.
How do I query the serial communication pacing (handshake) setting?
Use the following query forms:
SYSTem:COMMunicate:SERial[:RECeive]:PACE?
SYSTem:COMMunicate:SERial:TRANsmit:PACE?
The instrument will respond with:
XON | NONE
- XON: X-on/X-off handshake enabled.
- NONE: No X-on/X-off handshaking.
How do I query the serial communication parity setting?
Use the following query forms:
SYSTem:COMMunicate:SERial[:RECeive]:PARity[:TYPE]?
SYSTem:COMMunicate:SERial:TRANsmit:PARity[:TYPE]?
The instrument will respond with:
EVEN | ODD | NONE
What do the SYSTem:COMMunicate:SERial commands control?
These commands control the settings of the EIA-232-D (RS-232-C) interface for both the receive and transmit channels.
- BAUD: Sets the baud rate.
- BITS: Sets the number of data bits. You can specify 7 (or MINimum) or 8 (or MAXimum). The number of stop bits is always one. An execution error is reported if 7 data bits are specified and the parity type is NONE.
- PACE: Sets pacing (XON-XOFF) or no pacing (NONE).
- PARity: Sets the parity type to even (EVEN), odd (ODD), or no parity (NONE). An execution error is reported if the parity type is NONE and the number of data bits is 7.
After a *RST command, the interface settings remain unchanged.
Can you provide examples of setting serial communication parameters?
Send → SYSTem:COMMunicate:SERial:BAUD 1200(Baudrate becomes 1200)Send → SYSTem:COMMunicate:SERial:BITS 8(Number of data bits becomes 8)Send → SYSTem:COMMunicate:SERial:PACE XON(XON becomes true)Send → SYSTem:COMMunicate:SERial:PARity EVEN(Parity type becomes EVEN)
How do the SYSTem:COMMunicate:SERial commands relate to the front panel?
The SYSTem:COMMunicate:SERial commands are the remote equivalent of the front panel REMOTE SETUP – RS232 SETUP option of the UTILITY menu.
How do I set the system date?
Use the syntax:
SYSTem:DATE <year>,<month>,<day>
Parameters:
<year>: <NRf> | MINimum | MAXimum. Range from 1992 to 2091. Must be a four-digit number (e.g., 1994).<month>: <NRf> | MINimum | MAXimum. Range from 1 to 12.<day>: <NRf> | MINimum | MAXimum. Range from 1 to 31.
The date values are rounded to the nearest integer value.
What are the valid ranges for year, month, and day in the SYSTem:DATE command?
- Year: 1992 to 2091
- Month: 1 to 12
- Day: 1 to 31
How do I query the system date or its minimum/maximum possible values?
Use the query form:
SYSTem:DATE? [MINimum | MAXimum, MINimum | MAXimum, MINimum | MAXimum]
The instrument will respond with:
<year>,<month>,<day>
The date values returned are of type <NR1>. If MINimum was specified, the lowest possible value is returned. If MAXimum was specified, the highest possible value is returned.
What does the SYSTem:DATE command do?
The SYSTem:DATE command programs the date of the instrument by specifying the year, month, and day.
The date values are rounded to the nearest integer value.
The <year> parameter consists of a four-digit number, e.g., 1994.
The current date is not changed after a *RST command.
Can you show an example of setting and querying the system date?
Send → SYSTem:DATE 1994,4,5(Sets the system date to April 5, 1994)Send → SYSTem:DATE? MAX,MAX,MAX(Queries for the max values possible)Read ← 2091,12,31(Reads December 31 of the year 2091)
How does the SYSTem:DATE command relate to the front panel?
The SYSTem:DATE command is the remote equivalent of the UTILITY – CLOCK – yy:mm:dd softkey menu.
How do I query for errors in the error/event queue?
Use the syntax:
SYSTem:ERRor?
The instrument will respond with:
<error_number>,"<error_description>"
What information is returned by the SYSTem:ERRor? query?
<error_number>: A predefined number. If 0 (zero) is returned, there are no errors in the queue.<error_description>: A short description of the error. When there are no errors in the queue, the description is “No error”.
How does the error/event queue work?
The SYSTem:ERRor? query reports the next event from the error/event queue and removes this event from the queue. The error queue is a “First-In First-Out” (FIFO) queue, returning the oldest error first. Once an error is read, it is removed, making the next error message available.
SYSTem:ERRor? is an alias of the STATus:QUEue? query.
If the queue is empty, the instrument responds with: 0,"No error"
The error/event queue has space for 20 messages. If it overflows (more than 20 messages), the oldest messages remain, the most recent message is discarded, and the last position in the queue is set to: -350,"Queue overflow"
When is the error/event queue cleared?
The error/event queue is cleared:
• After power on.
• When *CLS is received.
• When the last error in the queue is read.
Can you give an example of using the SYSTem:ERRor? query?
Send → SYSTem:ERRor?
Read ← -222,"Data out of range"
The error number is -222 and the meaning is “Data out of range”.
How do I simulate pressing a front panel key remotely?
Use the syntax:
SYSTem:KEY <NRf> | MINimum | MAXimum
Where <NRf> is the reference number for the key. MINimum specifies the smallest key number, and MAXimum specifies the largest key number.
What are the reference numbers (<NRf>) for the front panel keys?
The reference numbers map to front panel keys as follows:
| FRONT PANEL KEY | <NR1> | FRONT PANEL KEY | <NR1> | EXCEPTIONS |
|---|---|---|---|---|
| Softkey 1 (top) | 1 | VERT MENU | 504 | EXT TRIG for PM33x0A |
| Softkey 2 | 2 | AVERAGE | 507 | |
| Softkey 3 | 3 | TRIG 1 | 604 | |
| Softkey 4 | 4 | TRIG 2 | 607 | |
| Softkey 5 | 5 | TRIG 3 | 610 | |
| Softkey 6 (bottom) | 6 | TRIG 4 | 613 | |
| AUTOSET | 101 | AMPL mv (▲) CH1 | 702 | |
| CAL (no effect) | 102 | AUTO RANGE CH1 | 703 | |
| SETUPS | 103 | CH1 + CH2 | 704 | |
| UTILITY | 104 | AMPL mv (▲) CH2 | 705 | |
| ANALOG | 106 | AUTO RANGE CH2 | 706 | |
| ACQUIRE | 107 | INV CH2 | 707 | |
| SAVE | 108 | AMPL mv (▲) CH3 | 708 | only for PM3384A-94A |
| RECALL | 109 | AUTO RANGE CH3 | 709 | AMPL for PM3382A-92A and PM33x0A |
| MEASURE | 110 | CH3 + CH4 | 710 | only for PM3384A-94A |
| MATH | 111 | AMPL mv (▲) CH4 | 711 | AMPL for PM3382A-92A |
| DISPLAY | 112 | AUTO RANGE CH4 | 712 | |
| HARD COPY | 113 | INV CH4 | 713 | |
| STATUS (LOCAL) | 201 | TEXT OFF | 801 | |
| CURSORS | 204 | AMPL v (▼) CH1 | 802 | |
| TRIGGER | 209 | ON CH1 | 803 | |
| MAGNIFY ▶ | 210 | AC/DC/GND CH1 | 804 | |
| MAGNIFY ◀ | 211 | AMPL v (▼) CH2 | 805 | |
| RUN/STOP | 309 | ON CH2 | 806 | |
| AUTO RANGE | 310 | AC/DC/GND CH2 | 807 | |
| SINGLE_ARMED | 311 | AMPL v (▼) CH3 | 808 | only for PM3384A-94A |
| DTB | 402 | ON CH3 | 809 | |
| DTB TIME/DIV s (◀) | 403 | AC/DC/GND CH3 | 810 | AC/DC for PM3382A-92A |
| DTB TIME/DIV ns (▶) | 404 | AMPL v (▼) CH4 | 811 | only for PM3384A-94A |
| TB MODE | 409 | ON CH4 | 812 | TRIG VIEW for PM33x0A |
| TIME/DIV VAR s (◀) | 410 | AC/DC/GND CH4 | 813 | AC/DC for PM3382A-92A and PM33x0A |
| TIME/DIV VAR ns (▶) | 411 |
Key Numbering Scheme:
- 1-6: Softkeys 1 (top) to 6 (bottom)
- 101, 102, 103, etc.: Top row of keys (left to right)
- …
- 801, 802, 803, etc.: Bottom row of keys (left to right)
How do I query which key was last pressed (or simulated)?
Use the query form:
SYSTem:KEY? [MINimum | MAXimum]
The instrument will respond with:
<NR1>
Where <NR1> is the reference number of the last key for which pressing was simulated. If MINimum was specified, the minimum possible key number is returned. If MAXimum was specified, the maximum possible key number is returned. A value of -1 indicates that no key was pressed since power on or after a *RST command.
What does the SYSTem:KEY command simulate?
The SYSTem:KEY command simulates the action of pressing a front panel key, specified by the rounded integer value of the key number.
If the URQ (user request) bit in the standard Event Status Register (ESR) is set, it indicates a key on the front panel has been pressed. This URQ bit can be used to signal the event of pressing a front panel key to the controller.
The query SYSTem:KEY? returns the key number corresponding to the last key that was pressed. A value of -1 indicates that no key was pressed since power on or after a *RST command.
Are there any limitations or notes for the SYSTem:KEY command?
Yes, please note the following:
- This command simulates pressing one key at a time. A combination, e.g., STATUS + TEXT OFF at the same time, cannot be simulated.
- The command execution finishes directly. However, the actions resulting from the key press can last longer.
- A SYSTem:KEY command cannot be synchronized by sending a *WAI or *OPC? immediately thereafter. For example:
SYSTem:KEY 101; *WAIcontinues program execution immediately (*WAI ignored), although the AUTOSET (= key 101) still continues for a few seconds. - Simulation of pressing the CAL key (102) is not useful, because calibration is only done when pressed for 2 seconds.
- Simulation of pressing the HARD COPY key (113) is only useful when the RS-232-C interface is selected as the output connection.
- Channel 3 (CH3) is not applicable for PM33x0A instruments.
Can you provide examples of using the SYSTem:KEY command?
Example 1:
Send → SYSTem:KEY 101(Simulates the pressing of AUTOSET)Send → SYSTem:KEY?Read ← 101(Returns the last key simulation)
Example 2: Set probe correction factor for channel 1 to 10:1 using the UTILITY menu.
Send → *RST(Resets the instrument)Send → DISPlay:MENU UTIL(Enables UTILITY softkey menu)Send → SYSTem:KEY 2;KEY 5;KEY 4(Selects the options PROBE, PROBE CORR, 10:1)Send → DISPlay:MENU:STATE OFF(Disables UTILITY softkey menu)
How does the SYSTem:KEY command relate to the front panel?
The SYSTem:KEY command is the remote equivalent of pressing all front panel keys.
How do I program the instrument with a complete or partial setup using SYSTem:SET?
Use the syntax:
SYSTem:SET <indefinite_block>
The <indefinite_block> contains the instrument settings, typically retrieved previously using the SYSTem:SET? query. The settings are binary (bits and bytes) and may be interdependent across different nodes. Do not change settings individually within the block. Appendix E of the PDF summarizes which settings belong to which node.
How do I query the instrument settings using SYSTem:SET??
Use the query form:
SYSTem:SET? [<node_nr> | MINimum | MAXimum]
Where <node_nr> specifies which node settings to retrieve. If omitted, all settings are retrieved. MINimum or MAXimum can be used to retrieve the settings corresponding to the minimum or maximum node number, respectively.
What are the node numbers (<node_nr>) supported by SYSTem:SET and SYSTem:SET??
The following nodes are supported:
- 0: End node indicator
- 1/2/3/4: Channel 1 (MINimum)/2/3/4 settings
- 14: Probe scale settings
- 15: Common vertical settings
- 16: Horizontal settings
- 17: Main timebase settings
- 18: Delayed time base settings
- 19: Event trigger delay settings
- 20: SCPI trigger source
- 32: Cursor settings
- 33: Cursor autosearch settings
- 49/50: MEASurement 1/2 settings
- 51: Pass/Fail test settings
- 65/66: MATH1/2 settings
- 80: Display settings
- 81: Trace intensity settings
- 82: Display trace position settings
- 96: Setup label text
- 112: Autorange settings
- 128: Real-time clock settings
- 240: Service (factory) settings (MAXimum)
What is the format of the response from SYSTem:SET??
The response is an <indefinite_block> containing binary instrument settings.
A node within the block is structured as follows:
<node_nr> <node_length> <first_byte> ... <last_byte>
The second byte, <node_length>, indicates the number of setting bytes that follow for that node.
What does the SYSTem:SET command do?
The SYSTem:SET command programs the instrument to a complete or partial instrument setup (defined by a node number if specified in the query used to retrieve the settings) using the instrument settings provided in the <indefinite_block>. These settings are typically retrieved first with the SYSTem:SET? query.
The instrument settings are binary (bits and bytes) and can change dynamically. Various settings are interdependent, even across different nodes. For these reasons, instrument settings must not be changed individually within the block.
If the <node_nr> within the block data doesn’t exist, the error message -222, “Data out of range; reserved for future use” is generated.
If the <node_nr> is not applicable for the specific instrument model, the error message -222, “Data out of range; reserved for combi instrument” is generated.
Refer to Appendix E of the PDF for a summary of which instrument settings belong to which node.
Are there limitations for the SYSTem:SET command on PM33x0A instruments?
Yes, for the PM33x0A CombiScope instruments:
- Input channel 3 (CH3) is not applicable.
- Input channel 4 (CH4) is limited to external trigger view.
Can you give an example of using SYSTem:SET and SYSTem:SET??
Send → SYSTem:SET? 32(Queries for cursor instrument settings, node 32)Read ← <curs_setup>(Reads cursor instrument settings block)Send → SYSTem:SET?(Queries for all instrument settings)Read ← <settings>(Reads all instrument settings block)Send → SYSTem:SETSP(Sends the header plus a space without message termination, EOI off)Send → <settings>(Sends all instrument settings retrieved earlier, plus message termination, EOI on)
How can I determine the number of bytes to read for instrument settings?
The number of settings bytes can be determined from the returned <settings> information itself. A node is always built up as:
<node_nr> <node_length> <first_byte> ... <last_byte>
The second byte, <node_length>, indicates the number of bytes to follow for that specific node.
If no <node_nr> was specified in the query (meaning all settings are returned), the total number of bytes must be determined while reading the <settings>, potentially by parsing the length bytes of each node sequentially until the end is reached.
How does the SYSTem:SET/SET? command relate to the front panel?
The SYSTem:SET? query followed by the SYSTem:SET command provides a remote capability to save and recall complete or partial instrument setups, similar to the save/recall functions available through the front panel menus.
How do I set the system time?
Use the syntax:
SYSTem:TIME <hour>,<minute>,<second>
Parameters:
<hour>: <NRf> | MINimum | MAXimum. Range from 0 to 23.<minute>: <NRf> | MINimum | MAXimum. Range from 0 to 59.<second>: <NRf> | MINimum | MAXimum. Range from 0 to 59.
Only a 24-hour time format is supported.
What are the valid ranges for hour, minute, and second in the SYSTem:TIME command?
- Hour: 0 to 23
- Minute: 0 to 59
- Second: 0 to 59
How do I query the system time or its minimum/maximum possible values?
Use the query form:
SYSTem:TIME? [MINimum | MAXimum, MINimum | MAXimum, MINimum | MAXimum]
The instrument will respond with:
<hour>,<minute>,<second>
The time values returned are of type <NR1>. If MINimum was specified, the lowest possible value is returned (0,0,0). If MAXimum was specified, the highest possible value is returned (23,59,59).
What does the SYSTem:TIME command do?
The SYSTem:TIME command programs the real-time clock of the instrument by specifying the hour, minute, and second. Only a 24-hour time format is supported.
The current time is not changed after a *RST command.
Can you show an example of setting and querying the system time?
Send → SYSTem:TIME 11,22,33(Sets the system time to 11:22:33)Send → SYSTem:TIME? MAX,MAX,MAX(Queries for the max values possible)Read ← 23,59,59(Reads 23 hours, 59 minutes, 59 seconds)
How does the SYSTem:TIME command relate to the front panel?
The SYSTem:TIME command is the remote equivalent of the UTILITY – CLOCK – hh:mm:ss softkey menu.
How do I query the SCPI version the instrument complies with?
Use the syntax:
SYSTem:VERSion?
The instrument will respond with:
YYYY.V
- YYYY: The year number of the SCPI version.
- V: The approved revision number within the year.
What does the SYSTem:VERSion? query report?
This query reports the version of the SCPI command set to which your instrument complies. The year and revision number within that year is returned, e.g., 1992.0.
The *RST command doesn’t change the current SCPI version.
Can you give an example of using the SYSTem:VERSion? query?
Send → SYSTem:VERSion?
Read ← 1992.0
How do I copy a trace from one memory location to another?
Use the syntax:
TRACE:COPY <destination_trace>,<source_trace>
Or the alias:
DATA:COPY <destination_trace>,<source_trace>
What are the valid source and destination traces for TRACE:COPY?
<source_trace>: CHn | Mi_n- n = 1..4 (Input channels)
- i = 1..8 (Standard memory registers M1_1 to M1_8)
- i = 1..50 (Extended memory registers M1_1 to M1_50)
<destination_trace>: Mi_n- i = 1..8 (Standard memory registers M1_1 to M1_8)
- i = 1..50 (Extended memory registers M1_1 to M1_50)
Note limitations for PM33x0A instruments.
What does the TRACE:COPY command do?
This command copies a trace from one trace memory (source) to another (destination). The contents of the <source_trace>, including the trace administration data, are copied to the <destination_trace>.
If the oscilloscope is in analog mode, error -221 “Settings conflict; Digital mode required” is generated.
What happens if the source trace is being built during a TRACE:COPY command?
If the <source> trace is being built, the copy action takes place after the completion of the source trace.
Are there limitations for the TRACE:COPY command on PM33x0A instruments?
Yes, for the PM33x0A CombiScope instruments:
- CH3 and Mi_3 are not applicable.
- CH4 is the external trigger view channel.
- EXTernal is the alias for CH4.
- Mi_E is the alias for Mi_4.
Can you provide an example of using the TRACE:COPY command?
Send → *RST (Resets the instrument)
Send → SENSE:FUNCtion "XTIME:VOLTage2" (Switches channel 2 on)
Send → TRACE:COPY M1_1,CH1 (Copies the trace memory of channel 1 to M1_1. Depending on instrument configuration, CH2 might also be copied to M1_2 simultaneously if linked)
How does the TRACE:COPY command relate to the front panel?
The TRACE:COPY command is the remote equivalent of the front panel COPY option of the SAVE menu.
How do I write trace data (binary block or constant value) to a register memory?
Use the syntax:
TRACe[:DATA] <destination_trace>, <NRf> | <definite_block>
Or the alias:
DATA[:DATA] <destination_trace>, <NRf> | <definite_block>
Parameters:
<destination_trace>: Mi_n (n=1..4, i=1..8 standard, i=1..50 extended. Check PM33x0A limitations).<NRf>: A constant value. The rounded signed constant value is copied to all trace points in the register memory.- Range: -128 to +127 (for 8-bit trace points)
- Range: -32768 to +32767 (for 16-bit trace points)
<definite_block>: Binary trace data block.
What is the format of the definite block data for TRACe[:DATA]?
The format of the block data is as follows:
#nx..xfb.....bs<NL>
#: Block data identifier.n: Number of digits specifying the length (x..x).x..x: Number of trace bytes that follow (fbb…bbs).f: Trace data format byte.- If f=8 decimal, each trace sample is one byte (8 bits).
- If f=16 decimal, each trace sample is two bytes (16 bits): most significant byte (msb) + least significant byte (lsb).
b...b: Trace sample data bytes.s: Checksum over all trace sample data bytes (calculated as SUM = (SUM + byte N) MOD 256).<NL>: NewLine code (terminator).
Example format for 512 “16-bit” samples:
#41026<16><msb 1><lsb 1>...<msb 512><lsb 512><checksum><NL>
- #4: Indicates 4 digits follow for the length.
- 1026: Number of trace bytes (512 samples * 2 bytes/sample = 1024 bytes) + 1 format byte + 1 checksum byte.
- <16>: Byte with decimal value 16 indicating 16-bit samples.
- <msb 1><lsb 1>: First trace sample (2 bytes).
- …
- <msb 512><lsb 512>: Last trace sample (2 bytes).
- <checksum>: Checksum byte.
- <NL>: NewLine code.
How do I query trace data from acquisition or register memory?
Use the query form:
TRACe[:DATA]? <source_trace>
Or the alias:
DATA[:DATA]? <source_trace>
What are the valid sources for the TRACe[:DATA]? query?
<source_trace> can be:
- CHn: Channel acquisition memory (n=1..4)
- Mi_n: Register memory (n=1..4, i=1..8 standard, i=1..50 extended)
Note limitations for PM33x0A instruments.
What is the format of the response from TRACe[:DATA]??
The response is a <definite_block> containing the binary trace data in the format described previously (including header, format byte, data bytes, checksum, and terminator).
What does the TRACe[:DATA] / TRACe[:DATA]? command do?
The TRACe? query reads a binary trace block from channel acquisition memory (CH1 to CH4) or from register memory (M1 to M8/M50).
The TRACe command writes a binary trace block or a constant value to register memory (M1 to M8/M50).
Trace data can only be read when the trace memory is not empty.
The internal trace administration data is not affected by these commands.
If the length of the written trace block doesn’t match the destination register length:
- If the destination is longer, the remainder of the destination is not affected.
- If the destination is shorter, the remainder of the trace block is ignored.
No error is reported in either length mismatch case.
If the oscilloscope is in analog mode, error -221 “Settings conflict; Digital mode required” is generated.
What happens if the queried trace is being built during a TRACe[:DATA]? query?
If the queried trace is being built, the query action will take place after completion of the building process. To cancel running acquisitions, use the ABORt command.
Are there limitations for the TRACe[:DATA] command on PM33x0A instruments?
Yes, for the PM33x0A CombiScope instruments:
- CH3 and Mi_3 are not applicable.
- CH4 is the external trigger view channel.
- EXTernal is the alias for CH4.
- Mi_E is the alias for Mi_4.
Can you provide examples of using the TRACe[:DATA] command and query?
Example 1: Reading and Converting Trace Data
This example reads a trace from CH1 and converts it to voltage values (refer to section 3.4.3 of the PDF for full conversion details).
Send → *WAI (Waits for end of acquisition if running)
Send → TRACe? CH1 (Requests channel 1 trace)
Read ← <block_data> (Reads channel 1 trace block)
(Determine number of samples from <block_data>)
Send → SENSE:VOLTage:RANGE:PTPeak? (Queries peak-to-peak)
Read ← <peak-to-peak> (Reads peak-to-peak)
Send → SENSE:VOLTage:RANGE:OFFSet? (Queries offset)
Read ← <offset> (Reads offset)
(Process <block_data> based on whether samples are 1 byte or 2 bytes, applying scaling using <peak-to-peak> and <offset> to get voltage values ‘sample(i)’)
Example 2: Writing Constant Values to Trace Memory
Send → FORMat INTeger,8 (Number of trace point bits becomes 8)
Send → TRACe M1_2,5 (All trace points of trace 2 of memory register 1 are set to the value 5 (binary 00000101))
Send → FORMat INTeger,16 (Number of trace point bits becomes 16)
Send → TRACe M2_3,1025 (All trace points of trace 3 of memory register 2 are set to the value 1025 (binary 0000010000000001))
How does the TRACe[:DATA] / TRACe[:DATA]? command relate to the front panel?
The TRACe command is the remote equivalent of the front panel SAVE ACQ TO MEMORY option of the SAVE menu.
The TRACe? query is the remote equivalent of the front panel RECALL REGISTER MEMORY option of the SAVE menu.
How do I set the trace length (acquisition length)?
Use the syntax:
TRACE:POINts <source_trace> [,<acquisition_length>]
Or the alias:
DATA:POINts <source_trace> [,<acquisition_length>]
If the <acquisition_length> parameter is omitted, the default value of 512 is assumed.
What are the valid sources and acquisition lengths for the TRACE:POINts command?
<source_trace>: CHn | Mi_n- n = 1..4
- i = 1..8 (standard memory)
- i = 1..50 (extended memory)
- Note PM33x0A limitations.
<acquisition_length>: <NRf> | MINimum | MAXimum<NRf>(Standard memory): 512 | 2048 | 4096 | 8192<NRf>(Extended memory): 512 | 8192 | 16384 | 32768- MINimum: Length becomes 512 points.
- MAXimum: Length becomes 8192 (standard) or 32768 (extended), if available.
- Notes: 512 is the default. 8192 (standard) and 32768 (extended) are not applicable for PM33x0A.
How do I query the current trace length?
Use the query form:
TRACE:POINts? <source_trace> [,MINimum | MAXimum]
Or the alias:
DATA:POINts? <source_trace> [,MINimum | MAXimum]
The instrument responds with:
<acquisition_length>
If MINimum was specified, the minimum possible trace length (512) is returned. If MAXimum was specified, the maximum possible trace length (e.g., 8192 or 32768) is returned.
What does the TRACE:POINts command do?
This command defines the trace length (number of trace points) for all traces. The acquisition length and the length of all internal traces are programmed to the specified value.
If the oscilloscope is in analog mode, error -221 “Settings conflict; Digital mode required” is generated.
Are there limitations for the TRACE:POINts command on PM33x0A instruments?
Yes, for the PM33x0A CombiScope instruments:
- CH3 and Mi_3 are not applicable.
- CH4 is the external trigger view channel.
- EXTernal is the alias for CH4.
- Mi_E is the alias for Mi_4.
- Acquisition lengths 8192 (standard) and 32768 (extended) are not applicable.
Are there coupled values associated with TRACE:POINts?
Yes, there is a coupling between programming the number of trace points (acquisition length) and the sweep time. The coupling is one way: the sweep time changes if the acquisition length changes.
Example:
Initial trace points = 2048.
Send → SENSE:SWEep:TIME .04 (Sweep time becomes 40.9 ms)
Send → TRACE:POINts M1_1,4096 (Number of trace points becomes 4096)
Send → SENSE:SWEep:TIME?
Read ← 819E-04 (Sweep time was doubled to 81.9 ms)
What is the caution associated with changing the acquisition length?
CAUTION: If the acquisition length is programmed to a different value, all acquisition and register trace memories are cleared. So, all previously defined traces are lost!
Can you provide an example of using the TRACE:POINts command?
Send → TRACE:POINts CH1,8192 (Number of trace points for all trace memories becomes 8192)
Send → TRACE? M2_3 (Requests M2_3 trace)
Read ← <block_data> (Reads M2_3 trace – note that M2_3 would have been cleared by the previous command)
How does the TRACE:POINts command relate to the front panel?
The TRACE:POINts command is the remote equivalent of the front panel ACQ LENGTH option of the TB MODE menu.
How do I set or query the frequency for the main time base (MTB) high-pass trigger filter (HF-reject)?
Set Frequency:
TRIGger[:SEQuence[1]]:FILTer:HPASs:FREQuency <NRf> | MINimum | MAXimum
Alias: TRIGger[:STARt]:FILTer:HPASs:FREQuency <NRf> | MINimum | MAXimum
Note: The command always sets the cutoff frequency to the fixed value of 30000 Hz (30 KHz). <NRf> values are rounded to 30 KHz. MINimum sets 30 KHz. MAXimum sets the instrument’s bandwidth (100 MHz or 200 MHz, representing the high-frequency limit when the filter is OFF).
Query Frequency:
TRIGger[:SEQuence[1]]:FILTer:HPASs:FREQuency? [MINimum | MAXimum]
Alias: TRIGger[:STARt]:FILTer:HPASs:FREQuency? [MINimum | MAXimum]
Response: 3.00E+04 | 1.00E+08 | 2.00E+08
- 3.00E+04: Fixed cutoff frequency of 30 KHz (returned if MINimum is specified or when filter is ON).
- 1.00E+08: Bandwidth of 100 MHz (MAXimum for PM338xA, returned when filter is OFF).
- 2.00E+08: Bandwidth of 200 MHz (MAXimum for PM339xA, returned when filter is OFF).
How do I enable or disable the main time base (MTB) high-pass trigger filter (HF-reject)?
Set State:
TRIGger[:SEQuence[1]]:FILTer:HPASs:STATe <Boolean>
Alias: TRIGger[:STARt]:FILTer:HPASs:STATe <Boolean>
<Boolean>:- 0 | OFF: Sets high-pass filter off (deactivates HF-reject, activates low-pass).
- 1 | ON: Sets high-pass filter on (activates HF-reject, deactivates low-pass).
Query State:
TRIGger[:SEQuence[1]]:FILTer:HPASs:STATe?
Alias: TRIGger[:STARt]:FILTer:HPASs:STATe?
Response: 0 | 1
- 0: Low-pass filter active (High-pass is OFF).
- 1: High-pass filter active (HF-reject is ON).
What do the TRIGger:…:HPASs commands control?
The TRIGger:FILTer:HPASs:FREQuency command sets the MTB high-pass cutoff frequency, which is always fixed at 30 KHz when the filter is active.
The TRIGger:FILTer:HPASs:STATe command activates (ON) or deactivates (OFF) the MTB high-pass filter (HF-reject).
Activating the MTB high-pass filter (ON):
- Automatically deactivates the MTB low-pass filter.
- Sets the high-pass cutoff frequency to 30 KHz (HF-reject).
- Sets the low-pass cutoff frequency to 0 Hz (DC coupling equivalent when HP filter is active).
Deactivating the MTB high-pass filter (OFF):
- Automatically activates the MTB low-pass filter.
- Sets the high-pass cutoff frequency effectively to the instrument’s bandwidth (100/200 MHz).
- Sets the low-pass cutoff frequency to 0 Hz (DC coupling by default for the LP filter).
After a *RST command, the high-pass filter is OFF.
What coupling exists when programming the trigger filter cutoff frequency and state?
The following coupling exists between programming the cutoff frequency and activating/deactivating the low-pass or high-pass filter:
| FREQUENCY | FILTER | |
|---|---|---|
| LOW-PASS ON | HIGH-PASS ON | |
| 0 Hz | DC coupling | HF-reject |
| 10 Hz | AC coupling | HF-reject |
| 30 KHz | LF-reject | HF-reject |
Activating one filter type (e.g., HIGH-PASS ON) automatically deactivates the other (LOW-PASS OFF) and adjusts the coupling/frequency settings accordingly.
Can you give an example of using the TRIGger:…:HPASs:STATe command?
Send → TRIGger:FILTer:HPASs:STATe ON
This command sets the High-Pass filter on (activates HF-reject) and automatically switches the Low-Pass filter off.
How do the TRIGger:…:HPASs commands relate to the front panel?
The TRIGger:FILTer:HPASs commands are the remote equivalent of the front panel TRIGGER MAIN TB – ac, dc, lf-rej, hf-rej softkey menu options, specifically controlling the hf-rej (high-pass) setting.
How do I set or query the frequency for the main time base (MTB) low-pass trigger filter (DC/AC/LF-reject)?
Set Frequency:
TRIGger[:SEQuence[1]]:FILTer:LPASs:FREQuency <NRf> | MINimum | MAXimum
Alias: TRIGger[:STARt]:FILTer:LPASs:FREQuency <NRf> | MINimum | MAXimum
<NRf> is the cutoff frequency in Hertz. Possible values and their interpretations (after rounding):
- 0 (or MINimum): Defines trigger DC coupling. (Actual range 0 – 4.99 Hz)
- 10: Defines trigger AC coupling. (Actual range 5 – 4999.99 Hz)
- 30000 (or MAXimum): Defines LF-reject. (Actual range >= 15000 Hz)
Query Frequency:
TRIGger[:SEQuence[1]]:FILTer:LPASs:FREQuency? [MINimum | MAXimum]
Alias: TRIGger[:STARt]:FILTer:LPASs:FREQuency? [MINimum | MAXimum]
Response: 0.00E+00 | 1.00E+01 | 3.0E+04
- 0.00E+00: DC coupling (returned if MINimum specified).
- 1.00E+01: AC coupling.
- 3.0E+04: LF-reject (30 KHz) (returned if MAXimum specified).
How do I enable or disable the main time base (MTB) low-pass trigger filter?
Set State:
TRIGger[:SEQuence[1]]:FILTer:LPASs:STATe <Boolean>
Alias: TRIGger[:STARt]:FILTer:LPASs:STATe <Boolean>
<Boolean>:- 0 | OFF: Sets low-pass filter off (activates high-pass/HF-reject).
- 1 | ON: Sets low-pass filter on (deactivates high-pass/HF-reject).
Query State:
TRIGger[:SEQuence[1]]:FILTer:LPASs:STATe?
Alias: TRIGger[:STARt]:FILTer:LPASs:STATe?
Response: 0 | 1
- 0: High-pass filter active (HF-reject) (Low-pass is OFF).
- 1: Low-pass filter active (Low-pass is ON).
What do the TRIGger:…:LPASs commands control?
The TRIGger:FILTer:LPASs:FREQuency command sets the MTB low-pass cutoff frequency, which defines the trigger coupling (DC, AC, or LF-reject).
The TRIGger:FILTer:LPASs:STATe command activates (ON) or deactivates (OFF) the MTB low-pass filter.
Activating the MTB low-pass filter (ON):
- Automatically deactivates the MTB high-pass filter.
- Sets the high-pass cutoff frequency to bandwidth (100/200 MHz).
- Sets the low-pass cutoff frequency based on the last :FREQ setting (default 0 Hz / DC coupling).
Deactivating the MTB low-pass filter (OFF):
- Automatically activates the MTB high-pass filter.
- Sets the high-pass cutoff frequency to 30 KHz.
- Sets the low-pass cutoff frequency to 0 Hz.
After a *RST command, the low-pass filter is ON and the cutoff frequency is 0 Hz (DC coupling).
Can you give an example of using the TRIGger:…:LPASs commands?
Send → TRIGger:FILTer:LPASs:STATe ON
(Sets Low-Pass filter on. Assumes default or previous frequency setting, e.g., 0 Hz / DC coupling. Automatically switches High-Pass filter off.)
Send → TRIGger:FILTer:LPASs:FREQuency 3E+4
(Sets cutoff frequency to 30 KHz (LF-reject). Low-pass filter remains ON.)
How do the TRIGger:…:LPASs commands relate to the front panel?
The TRIGger:FILTer:LPASs commands are the remote equivalent of the front panel TRIGGER MAIN TB – ac, dc, lf-rej, hf-rej softkey menu options, specifically controlling the ac, dc, and lf-rej (low-pass) settings.
How do I set or query the trigger hold-off value?
Set Hold-off:
TRIGger[:SEQuence[1]]:HOLDoff <NRf> | MINimum | MAXimum
Alias: TRIGger[:STARt]:HOLDoff <NRf> | MINimum | MAXimum
<NRf>: The hold-off value expressed in percent. Range from 0.00 (MINimum = 0 %) to 1.00 (MAXimum = 100 %).
Query Hold-off:
TRIGger[:SEQuence[1]]:HOLDoff? [MINimum | MAXimum]
Alias: TRIGger[:STARt]:HOLDoff? [MINimum | MAXimum]
Response: <NR3> (The hold-off value in percent)
What does the TRIGger:HOLDoff command specify?
The hold-off value specifies the hold-off time after each Main Time Base (MTB) sweep, during which the MTB event detector is inhibited from acting on any new trigger.
For specific minimum and maximum hold-off times, refer to the instrument’s Reference Manual.
In digital mode, the hold-off time is used to process previously captured data.
After a *RST command, the hold-off value is 0 %.
Can you provide an example of setting the trigger hold-off?
Send → TRIGger:HOLDoff 0.5
This sets the hold-off to 50%.
How does the TRIGger:HOLDoff command relate to the front panel?
The TRIGger:HOLDoff command is the remote equivalent of the front panel HOLD OFF knob.
How do I set or query the trigger level in volts?
Set Level:
TRIGger[:SEQuence[1]]:LEVel <NRf> | MINimum | MAXimum
Alias: TRIGger[:STARt]:LEVel <NRf> | MINimum | MAXimum
<NRf>: The trigger level expressed in volts.- MINimum: Selects the minimum possible trigger level.
- MAXimum: Selects the maximum possible trigger level.
Setting the level automatically switches the “level-pp” function off.
Query Level:
TRIGger[:SEQuence[1]]:LEVel? [MINimum | MAXimum]
Alias: TRIGger[:STARt]:LEVel? [MINimum | MAXimum]
Response: <NR3> (The trigger level in volts)
How do I enable or disable the trigger level peak-peak function?
Set Auto Level State:
TRIGger[:SEQuence[1]]:LEVel:AUTO <Boolean>
Alias: TRIGger[:STARt]:LEVel:AUTO <Boolean>
<Boolean>:- 0 | OFF: Level peak-peak off (trigger level setting is reactivated).
- 1 | ON: Level peak-peak on (trigger level setting is deactivated, level range clamped within signal peaks).
Query Auto Level State:
TRIGger[:SEQuence[1]]:LEVel:AUTO?
Alias: TRIGger[:STARt]:LEVel:AUTO?
Response: 0 | 1
- 0: Level peak-peak off.
- 1: Level peak-peak on.
What does the TRIGger:LEVel command control?
The TRIGger:LEVel command controls the trigger level. This level is effective only if the trigger source is INTernal 1, 2, 3, or 4.
Using this command automatically switches the instrument function “level-pp” (peak-peak level) off.
If the trigger source is LINE, execution error -221, “Settings conflict” is generated upon receiving the :LEVel command.
Execution error -221 is also generated if the instrument cannot report the unit in volts upon receipt of the :LEVel? query.
What does the TRIGger:LEVel:AUTO command do?
The TRIGger:LEVel:AUTO command switches the level peak-peak function on or off.
- If level peak-peak is switched off (AUTO 0), the trigger level set by TRIGger:LEVel is automatically reactivated.
- If level peak-peak is switched on (AUTO 1), the trigger level set by TRIGger:LEVel is automatically deactivated, and the level range is clamped within the peaks of the signal.
What happens to the trigger level after a *RST command?
After a *RST command, the trigger level is set to MAXimum, and the auto level peak-peak function (level-pp) is switched off.
Is there coupling between the attenuator setting and the trigger level?
Yes, there is a coupling between programming the attenuator (vertical sensitivity) and the trigger level. If the attenuator setting is changed, the trigger level is also adapted to keep the signal display on the screen.
What is the programming tip for setting trigger level?
First program the attenuator (e.g., using SENSE:VOLTage:RANGe:PTPeak), and then program the trigger level (TRIGger:LEVel).
Can you give an example of using the TRIGger:LEVel and TRIGger:LEVel:AUTO commands?
Send → *RST (Resets the instrument)
Send → TRIGger:SOURce INTernal1 (Trigger source becomes channel 1)
Send → INITiate:CONTinuous ON (Continuous initiation)
Send → SENSE:VOLTage:RANGe:PTPeak 8 (Sets sensitivity to 1 V/div range, assuming PTPeak 8 corresponds to 8 divisions)
Send → TRIGger:LEVel 0.2 (Trigger level becomes 0.2 V. Level peak-peak is also switched off)
Send → TRIGger:LEVel:AUTO ON (Switches level peak-peak on and deactivates the trigger level setting)
How do the TRIGger:LEVel commands relate to the front panel?
The TRIGger:LEVel command is the remote equivalent of the front panel TRIGGER LEVEL knob.
The TRIGger:LEVel:AUTO command is the remote equivalent of the front panel TRIGGER MAIN TB – level-pp on/off softkey menu.
How do I set or query the trigger slope (edge)?
Set Slope:
TRIGger[:SEQuence[1]]:SLOPE POSitive | NEGative | EITHer
Alias: TRIGger[:STARt]:SLOPE POSitive | NEGative | EITHer
- POSitive: Positive trigger edge (rising).
- NEGative: Negative trigger edge (falling).
- EITHer: Triggering is done at both positive and negative edges.
Query Slope:
TRIGger[:SEQuence[1]]:SLOPe?
Alias: TRIGger[:STARt]:SLOPe?
Response: POS | NEG | EITH
- POS: Positive trigger edge selected.
- NEG: Negative trigger edge selected.
- EITH: Trigger edge is both positive and negative.
What does the TRIGger:SLOPE command control?
This command controls the trigger edge (slope) to be detected. The command sets the trigger slope, and the query returns the current trigger slope setting.
When is the dual slope mode (EITHer) possible?
The dual slope mode (EITHer) is only possible if the following selections are valid:
• The digital mode: INSTrument DIGital
• The real-time mode: SENSE:SWEep:REALtime ON
• The ‘single-shot’ mode: INITiate:CONTinuous OFF
• The trigger source is INTernal: TRIGger:SOURce INTernal1|2|3|4
What is the trigger slope after a *RST command?
After a *RST command, the trigger slope is POSitive.
Can you give an example of using the TRIGger:SLOPE command?
Send → CONFigure:AC (@2) (Configures AC-RMS CH2)
Send → SENSE:SWEep:REALtime ON (Sets real-time mode on)
Send → TRIGger:SOURce INTernal2 (Trigger source becomes channel 2)
Send → TRIGger:LEVel .02 (Trigger level becomes 20 mV)
Send → TRIGger:SLOPE EITHer (Triggering is done at positive (rising) and negative (falling) trigger edges)
Send → INITiate (Initiates acquisition)
Send → FETch:AC? (@2) (Fetches AC-RMS value)
Read ← <AC-RMS voltage> (Reads AC-RMS value)
How does the TRIGger:SLOPE command relate to the front panel?
The TRIGger:SLOPe command is the remote equivalent of the front panel TRIG1, TRIG2, TRIG3, and TRIG4 keys (for selecting the slope associated with the channel) and the TRIGGER MAIN TB edge option of the TRIGGER menu.
How do I set or query the trigger source?
Set Source:
TRIGger[:SEQuence[1]]:SOURce IMMediate | INTernal<n> | EXTernal | LINE | BUS
Alias: TRIGger[:STARt]:SOURce IMMediate | INTernal<n> | EXTernal | LINE | BUS
- IMMediate: Immediate sweeping (no waiting for a trigger).
- INTernal<n>: Input channel <n> is used as trigger source (<n> = 1, 2, 3 or 4).
- EXTernal: Input channel 4 is used as external trigger source (only for PM33x0A).
- LINE: The source signal is determined from the AC line voltage.
- BUS: Triggering is done by a *TRG command or GET code via the GPIB.
Query Source:
TRIGger[:SEQuence[1]]:SOURce?
Alias: TRIGger[:STARt]:SOURce?
Response: IMM | INT<n> | EXT | LINE | BUS
- IMM: Immediate sweeping (no waiting for a trigger).
- INT<n>: Input channel <n> used as trigger source (<n> = 1, 2, 3 or 4).
- EXT: Input channel 4 used as external trigger source (only for PM33x0A).
- LINE: The source signal determined from the AC line voltage.
- BUS: Triggering done by a *TRG command or GET code via the GPIB.
What does the TRIGger:SOURce command control?
This command controls the trigger source. The command selects the source, and the query returns the source that triggers the acquisition.
If a trigger source other than IMMediate, INTernal<n>, LINE, or BUS is active when the query is received, execution error -221 is generated.
The dual slope selection (EITHer using TRIGger:SLOPE) is only possible if the trigger source is INTernal<n> and the instrument is in the “real time” mode (SENSE:SWEep:REALtime ON).
If the trigger source becomes BUS, LINE, or IMMediate, the trigger slope selection (TRIGger:SLOPE) is changed to POSitive.
What is the trigger source after a *RST command?
After a *RST command:
- For PM3382A-84A-92A-94A: The trigger source is IMMediate.
- For PM33x0A CombiScope instruments: The trigger source is EXTernal (if a signal is available at the external trigger input channel).
Can you give an example of setting the trigger source?
Send → CONFigure:AC (@1) (Configures AC-RMS CH1)
Send → TRIGger:SOURce INTernal1 (Input channel 1 becomes the trigger source)
Send → TRIGger:LEVel 0.2 (Trigger level becomes 0.2V)
Send → TRIGger:SOURce BUS (The GPIB becomes the trigger source)
Send → INITiate (Single initiation)
Send → *TRG (Triggering via the GPIB)
Send → FETch:AC? (Fetches AC-RMS values)
Read ← <AC-RMS voltage> (Reads AC-RMS value)
How does the TRIGger:SOURce command relate to the front panel?
The TRIGger:SOURce command is the remote equivalent of the front panel TRIGGER MAIN TB – chn/line option of the TRIGGER menu.
What is the programming tip for trigger source in single-shot measurements?
For single-shot measurements, the trigger source must be one of the input channels <n> (INTernal<n>), instead of IMMediate (software automatic trigger).
How do I set or query the trigger type (Edge, Video, Logic, Glitch)?
Set Type:
TRIGger[:SEQuence[1]]:TYPE EDGE | VIDeo | LOGic | GLITch
Alias: TRIGger[:STARt]:TYPE EDGE | VIDeo | LOGic | GLITch
- EDGE: Selects edge triggering.
- VIDeo: Selects TV video triggering.
- LOGic: Selects logic triggering (only for PM3382A-84A-92A-94A).
- GLITch: Selects glitch triggering (only for PM33x0A).
Query Type:
TRIGger[:SEQuence[1]]:TYPE?
Alias: TRIGger[:STARt]:TYPE?
Response: EDGE | VID | LOG
What does the TRIGger:TYPE command control?
The TRIGger:TYPE command controls the type of triggering used by the instrument.
After a *RST command, the trigger type is EDGE (normal triggering).
Can you provide an example of setting the trigger type?
Send → TRIGger:TYPE VIDeo
This command selects TV video triggering.
How does the TRIGger:TYPE command relate to the front panel?
The TRIGger:TYPE command is the remote equivalent of the front panel TRIGGER MAIN TB -edge/tv/logic softkey menu.
How do I select between field 1 and field 2 for video triggering?
Set Field Number:
TRIGger[:SEQuence[1]]:VIDeo:FIELd[:NUMBer] <NRf> | MINimum | MAXimum
Alias: TRIGger[:STARt]:VIDeo:FIELd[:NUMBer] <NRf> | MINimum | MAXimum
<NRf>:- 1 | MINimum: Selects field1 triggering.
- 2 | MAXimum: Selects field2 triggering.
Query Field Number:
TRIGger[:SEQuence[1]]:VIDeo:FIELd[:NUMBer]? [MINimum | MAXimum]
Alias: TRIGger[:STARt]:VIDeo:FIELd[:NUMBer]? [MINimum | MAXimum]
Response: 1 | 2
- 1: Field1 triggering selected.
- 2: Field2 triggering selected.
How do I select between field triggering and lines triggering for video?
Set Field Selection Mode:
TRIGger[:SEQuence[1]]:VIDeo:FIELd:SELect ALL | NUMBer
Alias: TRIGger[:STARt]:VIDeo:FIELd:SELect ALL | NUMBer
- ALL: Selects lines triggering.
- NUMBer: Selects field triggering (using the field number set by :NUMBer).
Query Field Selection Mode:
TRIGger[:SEQuence[1]]:VIDeo:FIELd:SELect?
Alias: TRIGger[:STARt]:VIDeo:FIELd:SELect?
Response: ALL | NUMB
- ALL: Lines triggering selected.
- NUMB: Field triggering selected.
What do the TRIGger:VIDeo:FIELd commands control?
The TRIGger:VIDeo:FIELd:SELect command programs the video trigger mode to “field” (NUMBer) or “lines” (ALL).
The TRIGger:VIDeo:FIELd[:NUMBer] command selects between “field1” and “field2” when field triggering is active (SELect NUMBer).
After a *RST command, lines triggering (ALL) and field number 1 is selected.
Is there coupling between selecting the video field and selecting the video line number?
Yes, there is coupling between selecting field1/field2 (using :FIELD[:NUMBer]) and selecting the line number (using TRIGger:VIDeo:LINE).
- Programming the line number automatically sets the field1/2 triggering based on the line number (e.g., lines 1-312 might default to field1, 313-625 to field2 for a 625-line system).
- Programming field1/2 recalculates the selected line number as follows (example for 625 lines):
- From field1 (1..312) to field2:
line_nr = line_nr + 625/2 - From field2 (313..625) to field1:
line_nr = line_nr - 625/2
- From field1 (1..312) to field2:
Can you provide examples of using the TRIGger:VIDeo:FIELd commands?
Send → TRIGger:TYPE VIDeo (Selects TV video triggering)
Send → TRIGger:VIDeo:FIELd:SELect ALL (Selects video lines trigger mode)
Send → TRIGger:VIDeo:LINE 123 (Selects video line number 123. Field 1 is implicitly selected)
Send → TRIGger:VIDeo:FIELd:SELect NUMBer (Selects video field triggering. Line 123 selects field1)
Send → TRIGger:VIDeo:FIELd:NUMBer 2 (Selects video field2 trigger mode. Video line number automatically switched to 435 = 123 + 625/2)
Send → TRIGger:VIDeo:LINE 325 (Selects video line number 325. Field 2 is implicitly selected)
Send → TRIGger:VIDeo:FIELd:NUMBer 1 (Selects the video field1 trigger mode. Video line number automatically switched to 13 = 325 – 625/2)
How do the TRIGger:VIDeo:FIELd commands relate to the front panel?
The TRIGger:VIDeo:FIELd:SELect and TRIGger:VIDeo:FIELd[:NUMBer] commands are the remote equivalent of the front panel TRIGGER MAIN TB – tv – field1/field2/lines softkey menu.
How do I set or query the video format by specifying lines per frame (LPFRame)?
Set Lines Per Frame:
TRIGger[:SEQuence[1]]:VIDeo:FORMat[:TYPE]:LPFRame <NRf> | MINimum | MAXimum
Alias: TRIGger[:STARt]:VIDeo:FORMat[:TYPE]:LPFRame <NRf> | MINimum | MAXimum
<NRf>: 525 | 625 | 1050 | 1125 | 1250- 525 | MINimum: Selects 525 lines per frame (NTSC).
- 625: Selects 625 lines per frame (PAL or SECAM).
- 1050: Selects 1050 lines per frame (HDTV).
- 1125: Selects 1125 lines per frame (HDTV).
- 1250 | MAXimum: Selects 1250 lines per frame (HDTV).
The number specified is rounded to select a standard:
- 0 – 575 → 525 (NTSC)
- 576 – 837 → 625 (PAL/SECAM, PAL default)
- 838 – 1087 → 1050 (HDTV)
- 1088 – 1187 → 1125 (HDTV)
- >= 1188 → 1250 (HDTV)
Query Lines Per Frame:
TRIGger[:SEQuence[1]]:VIDeo:FORMat[:TYPE]:LPFRame? [MINimum | MAXimum]
Alias: TRIGger[:STARt]:VIDeo:FORMat[:TYPE]:LPFRame? [MINimum | MAXimum]
Response: 525 | 625 | 1050 | 1125 | 1250
How do I set or query the video format by specifying the standard (PAL, SCAM, NTSC, HDTV)?
Set Format Standard:
TRIGger[:SEQuence[1]]:VIDeo:FORMat[:TYPE] PAL | SCAM | SECAM | NTSC | HDTV
Alias: TRIGger[:STARt]:VIDeo:FORMat[:TYPE] PAL | SCAM | SECAM | NTSC | HDTV
- PAL: Selects PAL standard (625 lines/frame).
- SCAM | SECAM: Selects SECAM standard (625 lines/frame).
- NTSC: Selects NTSC standard (525 lines/frame).
- HDTV: Selects HDTV standard (1050/1125/1250 lines/frame based on previous or default).
Query Format Standard:
TRIGger[:SEQuence[1]]:VIDeo:FORMat[:TYPE]?
Alias: TRIGger[:STARt]:VIDeo:FORMat[:TYPE]?
Response: PAL | SCAM | NTSC | HDTV
What do the TRIGger:VIDeo:FORMat commands control?
These commands select the standard video system for triggering.
The TRIGger:VIDeo:FORMat[:TYPE] command selects the standard directly by name (PAL, NTSC, etc.).
The TRIGger:VIDeo:FORMat:LPFRame command does the same by specifying the number of video lines per frame, which also results in the selection of a video standard based on rounding rules.
After a *RST command, lines triggering (ALL using :FIELD:SELect) and field number 1 (using :FIELD:NUMBer) are selected, and the video format defaults to PAL (625 lines).
Can you provide examples of setting the video format?
Send → TRIGger:VIDeo:FORMat NTSC(Selects NTSC, 525 lines/frame)Send → TRIGger:VIDeo:FORMat PAL(Selects PAL, 625 lines/frame)Send → TRIGger:VIDeo:FORMat SECAM(Selects SECAM, 625 lines/frame)Send → TRIGger:VIDeo:FORMat:LPFRame 1050(Selects HDTV, 1050 lines/frame)Send → TRIGger:VIDeo:FORMat:LPFRame 1125(Selects HDTV, 1125 lines/frame)Send → TRIGger:VIDeo:FORMat:LPFRame 1250(Selects HDTV, 1250 lines/frame)
How do the TRIGger:VIDeo:FORMat commands relate to the front panel?
The TRIGger:VIDeo:FORMat:… commands are the remote equivalent of the front panel TRIGGER MAIN TB – VIDEO SYSTEM – hdtv/ntsc/pal/secam softkey menu.
How do I set or query the video line number for triggering?
Set Line Number:
TRIGger[:SEQuence[1]]:VIDeo:LINE <NRf> | MINimum | MAXimum
Alias: TRIGger[:STARt]:VIDeo:LINE <NRf> | MINimum | MAXimum
<NRf>: 1 .. 1250. The valid range depends on the video system selected:- NTSC: 1 to 525
- PAL or SECAM: 1 to 625
- HDTV: 1 to 1250
- MINimum: Selects video line 1.
- MAXimum: Selects the maximum line number for the current standard (e.g., 1250 for HDTV).
Query Line Number:
TRIGger[:SEQuence[1]]:VIDeo:LINE? [MINimum | MAXimum]
Alias: TRIGger[:STARt]:VIDeo:LINE? [MINimum | MAXimum]
Response: 1 .. 1250 (Returns the selected line number)
How do I set or query the video signal polarity for triggering?
Set Polarity:
TRIGger[:SEQuence[1]]:VIDeo:SSIGnal[:POLarity] POSitive | NEGative
Alias: TRIGger[:STARt]:VIDeo:SSIGnal[:POLarity] POSitive | NEGative
- POSitive: Selects positive video signal polarity.
- NEGative: Selects negative video signal polarity.
Query Polarity:
TRIGger[:SEQuence[1]]:VIDeo:SSIGnal[:POLarity]?
Alias: TRIGger[:STARt]:VIDeo:SSIGnal[:POLarity]?
Response: POS | NEG
- POS: Positive video signal polarity selected.
- NEG: Negative video signal polarity selected.
What do the TRIGger:VIDeo:LINE and SSIGnal commands control?
The TRIGger:VIDeo:LINE command selects the video line number for triggering. The valid range depends on the selected video system (NTSC, PAL/SECAM, HDTV).
The TRIGger:VIDeo:SSIGnal command selects the video signal polarity (Positive or Negative) for triggering.
After a *RST command, video line number 1 and signal polarity POSitive are selected.
Can you provide an example of setting the video line and signal polarity?
Send → TRIGger:TYPE VIDeo (Selects TV video triggering)
Send → TRIGger:VIDeo:LINE 123 (Selects video line number 123)
Send → TRIGger:VIDeo:SSIGnal NEGative (Selects negative video signal polarity)
How do the TRIGger:VIDeo:LINE and SSIGnal commands relate to the front panel?
The TRIGger:VIDeo:LINE command is the remote equivalent of the front panel TRIGGER MAIN TB – LINE NBR softkey menu.
The TRIGger:VIDeo:SSIGnal command is the remote equivalent of the front panel TRIGGER MAIN TB – pos/neg softkey menu.
What are the main categories of application examples provided in Appendix A?
A.1 Measuring Signal Characteristics
A.1.1 Making automatic measurements
A.1.2 Making programmed measurements
A.1.3 Reading measurement values
A.2 Acquiring Waveform Traces
A.3 Saving/Recalling Instrument Setups
A.3.1 Save/recall settings to/from internal memory
A.3.2 Save/recall settings to/from computer disk memory
A.4 Making a Hardcopy of the Screen
A.5 Pass/Fail Testing
A.5.1 Saving a pass/fail test setup
A.5.2 Restoring a pass/fail test setup
A.5.3 Running a pass/fail test
Is there a standard error handling routine used in the application examples?
Yes, the examples use a subroutine (e.g., `errorcheck`) that reads all errors from the error queue until it’s empty. It does this by repeatedly sending the `SYSTem:ERRor?` query and reading the response. If the returned error number is not “0”, it prints the error number and description.
Error reporting is invoked in the main program code by calling this subroutine, for example: `CALL errorcheck`.
How are command forms indicated in the example command strings?
In the command strings within the examples, the “short form” commands are specified in capital letters. The additional characters shown in lower case complete the “long form” commands.
Example: `CONFigure:VOLTage:FREQuency` (Long form) vs `CONF:VOLT:FREQ` (Implied short form using capitals only)
How can I perform automatic measurements of signal characteristics?
Example A.1.1 demonstrates automatic measurements:
1. Connect a 10:1 probe to channel 1 and the Probe Adjust signal (e.g., 2000 Hz, 600 mV).
2. Configure the instrument for the expected signal using: `CONFigure:VOLTage:FREQuency (0.6),2000,(@1)`
3. Initiate and fetch the first measurement (e.g., frequency) using: `READ:FREQuency?`
4. Fetch subsequent measurements for the same acquisition using FETCH commands:
`FETCH:AMPLitude?`
`FETCH:PERiod?`
`FETCH:PWIDth?` (Positive pulse width)
`FETCH:NWIDth?` (Negative pulse width)
5. Repeat steps 3 & 4 as needed (e.g., in a loop).
6. Print or process the received measurement values.
How can I perform programmed measurements, like rise time overshoot?
Example A.1.2 shows how to measure rise time overshoot:
1. Connect a 10:1 probe to channel 1 and the Probe Adjust signal.
2. Program input conditions for a stable display in RUN mode:
Set AC input coupling.
Enable continuous trigger initiation: `INITiate:CONTinuous ON`
Set trigger source to channel 1: `TRIGger:SOURce INTernal1`
Set trigger level to zero: `TRIGger:LEVel 0`
Set sweep time (e.g., 1 ms): `SENSe:SWEep:TIME 1E-3`
Set vertical sensitivity (e.g., 0.2 V/div for 1.6V peak-to-peak): Adjust using `SENSe:VOLTage:RANGe:PTPeak`.
3. Optionally, stop the program execution to allow manual adjustment of the probe to introduce overshoot.
4. Perform single-shot measurements:
Measure peak-to-peak voltage: `MEASure:VOLTage:PTPeak?` (or use CONFigure/READ)
Measure rise time overshoot percentage: `MEASure:RISetime:OVERshoot?`
5. Calculate the overshoot voltage: `Overshoot_Voltage = (PTPeak * RISE_Overshoot_Percent) / 100`
6. Print or process the results.
How can I read measurement values calculated by the front panel MEAS features?
Example A.1.3 demonstrates reading values set up via the front panel MEAS1/MEAS2 features:
1. Configure the instrument for a basic measurement type, e.g., AC-RMS: `CONFigure:AC`
2. Initiate a single-shot acquisition: `INITiate`
3. Stop program execution (e.g., using an INPUT statement or breakpoint) to allow manual setup of MEAS1 and MEAS2 via the front panel MEASURE menu (e.g., MEAS1=volt-dc, MEAS2=time-frequency).
4. Resume program execution.
5. Query the results displayed in the MEAS text areas. The specific node number depends on the MEAS display configuration (refer to `DISPlay:WINDow:TEXT#:FUNCtion?` or documentation). Assuming MEAS1 is TEXT1 and MEAS2 is TEXT2:
`DISPlay:WINDow:TEXT1:DATA?` (Reads MEAS1 value)
`DISPlay:WINDow:TEXT2:DATA?` (Reads MEAS2 value)
6. Print the results.
7. Optionally, stop execution again to select different MEAS1/MEAS2 functions, then resume and query again.
How can I acquire waveform traces and convert them to voltage values?
Example A.2 outlines the process:
1. Acquire a trace (ensure acquisition is complete, e.g., after `INITiate;*OPC?` or `*WAI`).
2. Read the binary trace data for the desired channel: `TRACe? CH1` (Replace CH1 as needed).
3. Read the vertical scaling factors:
`SENSe:VOLTage:RANGe:PTPeak?` (Query peak-to-peak range represented on screen)
`SENSe:VOLTage:RANGe:OFFSet?` (Query vertical offset)
4. Parse the binary trace block received from `TRACe?`:
Determine if samples are 1 byte or 2 bytes from the format byte in the block header.
Extract the integer sample values (handle signed conversion for 1-byte or 2-byte values).
5. Convert integer samples to voltage values using the PTPeak range and Offset. The formula depends on the number of bits per sample (refer to section 3.4.3 of the PDF):
For 1 byte (8 bits, range -128 to +127, typically scaled over +/- 4 divs or 200 LSBs):
`Voltage = (IntegerSample / 200) * PTPeak_Range – Offset` (Adjust formula based on specific scaling details)
For 2 bytes (16 bits, range -32768 to +32767, typically scaled over +/- 4 divs or 51200 LSBs):
`Voltage = (IntegerSample / 51200) * PTPeak_Range – Offset` (Adjust formula based on specific scaling details)
6. Print or process the resulting voltage values.
How can I save and recall instrument setups using internal memory?
Example A.3.1 shows how to use internal memory locations:
Prerequisites:
1. Manually create the desired instrument setup (e.g., a cursor measurement setup) using the front panel.
Program Steps:
1. Enable SRQ generation on Operation Complete (OPC): Set the appropriate bit in the *ESE register and enable SRQ generation via the STB register (e.g., `*ESE 1; *SRE 32`).
2. Save (Optional):
Prompt the user if they want to save the current setup (Y/N).
If Yes: Prompt for an internal memory location number (<n>, 1 to 10).
Send the save command: `*SAV <n>`
3. Recall (Optional):
Prompt the user if they want to recall a setup (Y/N).
If Yes: Prompt for the internal memory location number (<n>, 0 to 10).
Send the recall command: `*RCL <n>`
4. Perform Measurement:
Initiate a single acquisition and request OPC notification: `INITiate:CONTinuous OFF; INITiate; *OPC`
5. Wait for SRQ: Wait for the instrument to signal Operation Complete via SRQ.
6. Handle SRQ:
Perform a serial poll to identify the requesting device and clear the SRQ line.
Read the Event Status Register (ESR) to confirm OPC occurred and clear the bit: `*ESR?`
7. Read Result: Query the specific measurement result (e.g., dT cursor value): `DISPlay:WINDow:TEXT20:DATA?` (Assuming dT is in text area 20).
8. Print the result.
9. Optionally, loop back to step 4 or prompt to stop.
How can I save and recall instrument setups using computer disk memory?
Example A.3.2 demonstrates saving/recalling setups to/from disk files:
Prerequisites:
1. Manually create the desired instrument setup (e.g., a cursor measurement setup) using the front panel.
Program Steps:
1. Enable SRQ generation on Operation Complete (OPC) as described for internal memory save/recall.
2. Save (Optional):
Prompt the user if they want to save the current setup (Y/N).
If Yes: Prompt for a file path/name.
Query the complete instrument setup: `SYSTem:SET?`
Read the returned indefinite block data (`<setupin$>`).
Write the `<setupin$>` data to the specified file.
3. Recall (Optional):
Prompt the user if they want to recall a setup (Y/N).
If Yes: Prompt for the file path/name containing a previously saved setup.
Read the setup data (`<setupout$>`) from the specified file.
Send the setup data to the instrument: `SYSTem:SET <setupout$>`
4. Perform Measurement, Wait for SRQ, Handle SRQ, Read Result: Follow steps 4-8 as described for internal memory save/recall.
5. Optionally, loop back or prompt to stop.
How can I make a hardcopy of the instrument screen using an HPGL plotter?
Example A.4 shows the procedure:
1. Connect an HPGL plotter to the computer via the GPIB interface.
2. Power OFF the HPGL plotter initially to prevent plotting during data transfer.
3. On the instrument, create the desired screen image (waveforms, text, etc.). Ensure the instrument is in its digital mode (DSO).
4. Select the HPGL format for hardcopy output: `HCOPy:DEVice HPGL`
5. Request the hardcopy data from the instrument: `HCOPy:DATA?`
6. Read the response from the instrument. It will be in the format `#0<hardcopy data>`, where `<hardcopy data>` is the HPGL data stream.
7. Stop program execution (e.g., prompt user) to allow time to power ON the HPGL plotter.
8. Resume program execution.
9. Send the extracted `<hardcopy data>` (without the `#0` header) to the HPGL plotter via the GPIB interface.
10. The plotter will then print the screen image.
How do I set up and save a Pass/Fail test configuration to disk?
Example A.5.1 describes saving a Pass/Fail setup:
Prerequisites (Manual Front Panel Setup):
1. Generate the signal to be tested.
2. Create a Pass/Fail envelope and store it in a memory register (e.g., M2_1): `MEASURE > PASS/FAIL > TEST (envel) > …`
3. Define the action for passing/failing waveforms (e.g., save failing to M3_1): `MEASURE > PASS/FAIL > ACTION (save) > …`
Program Steps (Saving):
1. Prompt the user for a file path/name to save the setup.
2. Open the specified file for output.
3. Save Instrument Settings:
Query the complete instrument settings: `SYSTem:SET?`
Read the response (`<setupin$>`).
Write the length and data of `<setupin$>` to the file.
4. Save Reference Envelope:
Prompt the user for the memory register containing the envelope (e.g., 2_1 for M2_1).
Query the envelope trace data: `TRACe? M2_1` (Use the entered register).
Read the response (`<envelope$>`).
Write the envelope register identifier (e.g., “2_1”), length, and data of `<envelope$>` to the file.
5. Close the file.
The file layout will be: <number of system bytes><system bytes><envelope register ID><number of envelope bytes><envelope bytes>.
How do I restore a Pass/Fail test configuration from disk?
Example A.5.2 describes restoring a Pass/Fail setup:
Program Steps (Restoring):
1. Prompt the user for the file path/name containing the saved setup.
2. Open the specified file for input.
3. Restore Instrument Settings:
Read the length of the system settings data from the file.
Read the system settings data byte-by-byte (`<setupout$>`).
Send the settings to the instrument: `SYSTem:SET <setupout$>`
4. Restore Reference Envelope:
Read the envelope register identifier (e.g., “2_1” -> `envreg$`).
Read the length of the envelope data from the file.
Read the envelope data byte-by-byte (`<envelope$>`).
Send the envelope data to the correct register: `TRACE M<envreg$>, <envelope$>` (e.g., `TRACE M2_1, <envelope$>`)
5. Close the file.
How do I run and monitor a Pass/Fail test, saving failing waveforms?
Example A.5.3 demonstrates running a test and handling failures:
Prerequisites: Restore a Pass/Fail test setup (e.g., using steps from A.5.2) that includes an envelope (e.g., in M2_1) and an action to save failing waveforms (e.g., to M3_1).
Program Steps (Running):
1. Enable Status Reporting:
Enable the Pass/Fail status bit (bit 10 = 1024) in the OPERation status register: `STATus:OPERation:ENABle 1024`
Enable the OPERation status summary bit (bit 7 = 128) in the Standard Status Byte (STB) to generate SRQ: `*SRE 128`
2. Enable the SRQ interrupt mechanism in your control program.
3. Open a file (e.g., FAILTRAC.DAT) to store failing waveforms.
4. Start Pass/Fail Check: Use `SYSTem:KEY` commands to navigate the front panel menu and start the test:
`DISPlay:MENU MEASure`
`SYSTem:KEY 6` (Selects PASS/FAIL)
`SYSTem:KEY 5` (Sets PASS/FAIL to run)
`DISPlay:MENU:STATe OFF`
5. Wait for an SRQ (indicating a failing waveform based on the enabled status bits).
6. Handle SRQ (Failing Waveform):
Perform a serial poll to clear the SRQ.
Read the OPERation event register to clear the FAIL bit: `STATus:OPERation:EVENt?`
Stop Pass/Fail Check Temporarily:
`DISPlay:MENU MEASure`
`SYSTem:KEY 6` (Selects PASS/FAIL)
`SYSTem:KEY 5` (Sets PASS/FAIL to stop)
Read the failing waveform (assuming it was saved to M3_1 by the P/F action): `TRACe? M3_1`
Read the trace data response.
Write the trace data to FAILTRAC.DAT.
Restart Pass/Fail Check:
`SYSTem:KEY 5` (Sets PASS/FAIL to run again)
`DISPlay:MENU:STATe OFF`
7. Repeat steps 5 and 6 for a desired number of failures (e.g., 5 times).
8. Close the FAILTRAC.DAT file.
Can SCPI commands be used to simulate front panel key presses and access functions?
Yes, SCPI commands provide comprehensive remote control, including simulation of front panel operations and direct access to instrument functions.
- The `SYSTem:KEY <NRf>` command simulates pressing the front panel key corresponding to the reference number `<NRf>` (refer to Table 4.3 in the PDF for key numbers).
- Many other SCPI commands directly control specific settings shown on the front panel diagram (Appendix B.1), such as trigger level (`TRIGger:LEVel`), trigger hold-off (`TRIGger:HOLDoff`), sweep time (`SENSe:SWEep:TIME`), vertical coupling (`INPut#:COUPling`), etc.
- Softkey menus can often be navigated using a combination of `DISPlay:MENU` commands to select the menu and `SYSTem:KEY 1` through `SYSTem:KEY 6` to simulate pressing the corresponding softkeys.
How can I configure the ACQUIRE menu settings using SCPI commands?
You can use the following SCPI commands to configure the ACQUIRE menu:
AVERAGE: Set the number of averages using `SENS:AVER:COUN` (e.g., `SENS:AVER:COUN 256`).
PEAK DET: Turn Peak Detect on or off using `SENS:SWE:PDET` (e.g., `SENS:SWE:PDET ON`).
BW LIMIT: Turn the Bandwidth Limit filter on or off using `INP:FILT` (e.g., `INP:FILT ON`).
How can I query CURSOR READOUT values using SCPI commands?
You can query specific cursor readout values using variations of the `DISP:WIND:TEXT
Time/Phase Readouts (Window TEXT40): Query values like ΔT, 1/ΔT, ΔT-ratio, ph T-trg, ΔT=360° using `DISP:WIND:TEXT40:DATA?`.
Voltage Readouts (Window TEXT11): Query values like ΔV, V1, V2, ΔV-ratio, ΔV=100% using `DISP:WIND:TEXT11:DATA?`.
Amplitude Readouts (Window TEXT60): Query values like dBm, dBµV, Vrms using `DISP:WIND:TEXT60:DATA?`.
Note: The specific index `
How can I control the DISPLAY menu settings in Digital Mode using SCPI commands?
You can control various DISPLAY settings in Digital Mode with these SCPI commands:
USER TEXT:
Set the user text string: `DISP:WIND2:TEXT:DATA “
Clear the user text: `DISP:WIND2:TEXT:CLE`
Turn user text display on/off: `DISP:WIND2:TEXT:STAT ON|OFF`
Other display settings like Trigger Indicator (TRIG IND), Ground Indicator (GND IND), X vs Y mode, Vertical Magnify, and Text display style (dots, linear, sine) can often be controlled via `SYST:SET` combined with saving/recalling setups (*SAV/*RCL).
Note: For PM33x0A models, ch3 is not applicable, and ‘ext’ is used instead of ch4.
How are MATHPLUS MATH menu functions controlled via SCPI?
You can control MATHPLUS MATH functions using the following CALCulate subsystem commands:
MATH1/MATH2 State (ON/OFF): `CALC:MATH:STAT ON|OFF`
Filter Frequency Stat: `CALC:FILT:FREQ:STAT`
Integrate Stat: `CALC2:INT:STAT`
Differentiate Stat: `CALC2:DIFF:STAT`
Transform Frequency Stat: `CALC:TRAN:FREQ:STAT`
Transform Histogram Stat: `CALC:TRAN:HIST:STAT`
Filter Frequency Points: `CALC2:FILT:FREQ:POIN`
Differentiate Points: `CALC2:DIFF:POIN`
Transform Frequency Window: `CALC2:TRAN:FREQ:WIND RECT|HAMM|HANN`
Transform Frequency Type: `CALC:TRAN:FREQ:TYPE ABS|REL`
Other functions like scale and offset settings within specific math operations are typically controlled through related commands within the CALCulate subsystem or saved/recalled using `*RCL/*SAV` and `SYST:SET`.
How can I define and execute mathematical expressions (MATH n) using SCPI commands?
You can define mathematical expressions using the `CALC1:MATH[:EXPR]` command structure. Specify the operation (add, sub, mul, filter, int, dif, his) and the operands (e.g., ch1, ch2).
Example: `CALC1:MATH:EXPR “ADD(CH1, CH2)”`
To control the input feed for post-processing functions like differentiation or integration, use `CALC:FEED`.
Specific parameters for operations like FFT, Integration (INTEGR), Differentiation (DIF), and AREA calculations (e.g., window samples, limits, filter types) are set using dedicated commands within the `CALCulate` subsystem (e.g., `CALCulate[1|2]:FFT:`, `CALCulate[1|2]:INTegral:`, `CALCulate[1|2]:DERivative:`, `CALCulate[1|2]:AREA:`).
How do I query MEASURE menu results using SCPI commands?
You can query the results displayed in the MEASURE menu readouts using the following SCPI commands:
Query MEAS2 readout: `DISP:WIND:TEXT2:DATA?`
Query MEAS1 readout: `DISP:WIND:TEXT1:DATA?`
These commands return the current value shown in the respective measurement display area on the screen.
Note: For PM33x0A models, ch3 is not applicable, and ‘ext’ is used instead of ch4.
How can I save and recall trace data using SCPI commands?
Use the `TRACe` subsystem commands:
Save Acquisition to Memory: `TRAC:DATA
Recall Trace Data from Memory/Register: `TRAC:DATA?
Copy Trace Data: `TRAC:COPY
Clear/Protect Memory: Commands like `TRAC:MEM:PROT ON|OFF
Display control for recalled traces (ON/OFF, Y-pos, X-pos) is typically managed via the `DISPlay` subsystem or setup recall (`*RCL`/`SYST:SET`).
How do I control the Time Base (TB) Mode settings using SCPI commands?
You can control TB Mode settings using the following commands:
Initiate Continuous Acquisition: `INIT:CONT ON|OFF`
Select Trigger Mode (Auto/Trig/Single): This is usually set via `INITiate` commands combined with trigger source settings. `INIT:CONT ON` often implies Auto or Trig depending on source. `INIT:IMM` corresponds to Single.
Enable/Disable Real-Time Only Mode (Digital): `SENS:SWE:REAL ON|OFF`
Set Acquisition Length (Digital): `TRAC:POIN
Roll Mode (Digital): Settings like `ROLL on off`, `STOP ON TRIGGER yes no` are typically part of the `SENSe:SWEep` or `ACQuire` subsystems, or controlled via `SYST:SET`.
Event Delay: Control event delay settings using commands in the `TRIGger:EVENt` subsystem or via `SYST:SET`.
How can I configure the TRIGGER settings using SCPI commands?
Use the `TRIGger` subsystem commands:
Trigger Type: `TRIG:TYPE EDGE|TV|LOGIC|GLITch|STATE|PATTern` etc.
Trigger Source: `TRIG:SOUR CH1|CH2|CH3|CH4|EXT|LINE|INT3` etc.
Trigger Level Auto: `TRIG:LEV:AUTO ON|OFF`
Trigger Slope: `TRIG:SLOP POS|NEG|EITH`
Trigger Coupling (Analog/Digital Edge): `TRIG:COUP AC|DC|HF|LF`
Noise Reject (Analog/Digital Edge): Often part of coupling or a separate command like `TRIG:NREJ ON|OFF`.
TV Trigger Settings (Lines, Line Number, Field, System):
`TRIG:VID:LINE
`TRIG:VID:FIEL <1|2>`
`TRIG:VID:FORM[:TYPE] PAL|NTSC|SECAM|HDTV` etc.
`TRIG:VID:SSIG POS|NEG`
Logic/State/Pattern/Glitch Settings: Use specific commands within `TRIGger:LOGic`, `TRIGger:STATe`, `TRIGger:PATTern`, `TRIGger:GLITch`.
HF/LF Reject Filters: `TRIG:FILT:LPAS:FREQ`/`STAT`, `TRIG:FILT:HPAS:FREQ`/`STAT`
Notes:
ch3/ch4/ext applicability varies by model (e.g., PM33x0A).
`GLITch` might be programmed as `TRIGger:TYPE` instead of `LOGic` on some models.
How do I configure UTILITY menu settings like Probe, Remote Setup, and Print/Plot/Clock using SCPI?
Use the `SYSTem` and other relevant subsystem commands:
Probe Settings: Probe correction factors and units are typically set via `INPut
Remote Setup (RS232):
Baud Rate: `SYST:COMM:SER:BAUD
Data Bits: `SYST:COMM:SER:BITS <7|8>`
Parity: `SYST:COMM:SER:PAR NONE|ODD|EVEN`
Flow Control (RTS/DTR, PACE): `SYST:COMM:SER:CONT:RTSDTR`, `SYST:COMM:SER:PACE XON|HARD|NONE`
Remote Control Interface Selection (IEEE/RS232): `SYST:COMM:RLST IEEE|SER` (or similar command)
Print/Plot/Clock Settings:
Hardcopy Device: `HCOP:DEV
Date: `SYST:DATE
Time: `SYST:TIME
Notes: ch3/ch4/ext applicability varies by model (e.g., PM33x0A).
How can I control Autoset behavior and Screen/Sound settings via SCPI?
Use the following commands:
Autoset Control: While a direct `AUTOSet` command exists (`SYSTem:KEY 101`), finer control over which channels/parameters are affected (Probe Unaffect, Vertical Channels, Trigger settings) is usually managed by configuring the Autoset options in the UTILITY menu and saving the setup (`*SAV`/`SYST:SET`), or potentially through specific `AUTOSet:` subsystem commands if available.
Screen & Sound Settings:
Trigger Indicator On/Off: Controlled via `DISPlay` subsystem commands or `SYST:SET`.
Beep On/Off: `SYST:BEEP ON|OFF` or `SYST:BEEP:STAT ON|OFF`
Click Sound On/Off: Often controlled similarly to the beep, e.g., `SYST:CLICk:STAT ON|OFF` (command may vary).
User Text Edit/Display: `DISP:WIND2:TEXT:DATA`, `DISP:WIND2:TEXT:CLE`, `DISP:WIND2:TEXT:STAT`
How do I set the Vertical Input Impedance and Bandwidth Limit using SCPI?
Use the `INPut
Input Impedance (CH1-CH4): `INP
Bandwidth Limit: `INP:FILT ON|OFF` (This applies the limit selected in the menu, often 20MHz).
Replace `
What SCPI commands correspond to setting the Acquisition Length?
Setting the acquisition length (number of points per trace) is primarily done using the `TRACE:POINts` command.
Example: `TRACE:POINts 1024`
You can also access the relevant menu using `SYSTem:KEY 409` (TB MODE key) and `DISPlay:MENU TBMode`, then potentially using `SYSTem:KEY n` to select specific length softkeys (n=1..6).
Querying the trace length (number of points) is done with `TRACE:POINts?`.
Querying the trace point length (bytes per point) is done with `FORMat[:DATA]?`.
How can I perform Add/Invert operations using SCPI?
Add Channels:
CH1+CH2: `SENSE:FUNCtion:ON “XTIME:VOLTage:SUM 1,2″`
CH3+CH4: `SENSE:FUNCtion:ON “XTIME:VOLTage:SUM 3,4″`
Invert Channel:
Invert CH2: `INPut2:POLarity INVerted`
Invert CH4: `INPut4:POLarity INVerted`
To turn off the function, use `SENSE:FUNCtion:OFF “
What are the SCPI commands for controlling MATH functions (Add, Math On/Off)?
Access MATH Menu: `SYSTem:KEY 111` or `DISPlay:MENU MATH`
Turn MATH1 or MATH2 On/Off: `CALCulate[1|2]:MATH:STATe ON|OFF`
Define an Addition Expression: `CALCulate[1|2]:MATH[:EXPRession] “ADD(Source1, Source2)”` (e.g., `”ADD(CH1, CH2)”`)
Use `SYSTem:KEY n` (n=1..6) to simulate softkey presses within the MATH menu.
How do I switch between Analog and Digital modes using SCPI?
Use the `INSTrument:NSELect` or `INSTrument[:SELect]` command:
Select Analog Mode: `INSTrument:NSELect ANALog` or `INSTrument[:SELect] 2`
Select Digital Mode: `INSTrument:NSELect DIGital` or `INSTrument[:SELect] 1`
You can also simulate pressing the ANALOG key using `SYSTem:KEY 106`.
What SCPI commands control Auto Range for timebase and channels?
Auto Range Main Time Base (MTB): `SENSE:SWEep:TIME:AUTO ON`
Auto Range Channels (CH1-CH4): `SENSE:VOLTage
To turn Auto Range off, send `OFF` instead of `ON`.
How can I perform an Autoset using SCPI?
You can trigger an Autoset operation by simulating the AUTOSET key press:
`SYSTem:KEY 101`
Configuration of the Autoset behavior (e.g., Userprog, Probe unaffect) is done via the UTILITY menu (`SYSTem:KEY 104`, `DISPlay:MENU UTIL`) and associated softkeys (`SYSTem:KEY n`).
What are the SCPI commands for controlling Averaging?
Enable/Disable Averaging: `SENSE:AVERage[:STATe] ON|OFF`
Set Average Count: `SENSE:AVERage:COUNt
Query Averaging Type: `SENSE:AVERage:TYPE?`
You can access the ACQUIRE menu where averaging is set using `SYSTem:KEY 107` or `DISPlay:MENU ACQuire`.
How do I control the Bandwidth Limiter using SCPI?
Enable/Disable Bandwidth Limit per Channel: `INPut[
Query Bandwidth Limit Frequency: `INPut[
You can access the VERTICAL menu using `SYSTem:KEY 504` or `DISPlay:MENU VERTical`.
How can I initiate an Autocalibration using SCPI?
To initiate the automatic calibration routine, use the `CALibration[:ALL]` command:
`CALibration[:ALL]`
To query the calibration status, use the `*CAL?` query.
Simulating the CAL key press: `SYSTem:KEY ???` (Key code not listed, use `CALibration[:ALL]`).
What are the SCPI commands for selecting channels or traces?
Selecting a channel usually means turning its display ON or making it active for adjustments.
Turn Channel Display ON/OFF:
CH1: `SYSTem:KEY 803`
CH2: `SYSTem:KEY 806`
CH3: `SYSTem:KEY 809`
CH4: `SYSTem:KEY 812`
Select Channel for Measurement/Function: `SENSE:FUNCtion … “XTIMe:VOLTage
Select Trace Register (in Recall Menu): Access the Recall menu (`SYSTem:KEY 109`, `DISPlay:MENU RECall`) and use `SYSTem:KEY n` to select the desired trace register softkey.
How can I perform a Confidence Check using SCPI?
You can initiate the instrument’s self-test or confidence check using the standard `*TST?` query:
`*TST?`
The instrument will perform its internal checks and return a result code (typically 0 for success, non-zero for failure).
How are Cursors controlled using SCPI?
Controlling cursors involves commands typically within the `MARKer` or `CURSor` subsystem (though not explicitly listed here, common SCPI practice) and querying readouts via the `DISPlay` subsystem.
Access CURSORS Menu: `SYSTem:KEY 204` or `DISPlay:MENU CURSors`
Query Cursor Readouts: `DISPlay:WINDow[1]:TEXT
Cursor Control (Position, Type, Source): Specific commands like `MARKer:X1:POSition`, `MARKer:Y1:POSition`, `MARKer:SOURce`, `MARKer:FUNCtion` would typically be used. Settings might also be part of the setup recall: `SYSTem:SET? 32`
How can I set a Trigger Delay using SCPI?
Setting a trigger delay (offsetting the trigger point relative to the acquired waveform) is typically done using the timebase offset command:
`SENSE:SWEep:OFFSet:TIME
You can also configure delay via the Event Delay settings in the TB MODE menu (`DISPlay:MENU TBMode`, use `SYSTem:KEY n` for softkeys) and control the trigger slope using `TRIGger:SLOPE POS|NEG`.
What SCPI commands relate to Delay Measurements?
Delay measurements are typically performed using the `MEASure` subsystem.
Access MEASURE Menu: `SYSTem:KEY 110` or `DISPlay:MENU MEASure`
Perform/Query Delay Measurement: A specific command like `MEASure:DELay?` or configuring the measurement type via `CONFigure:DELay` followed by `READ?` would be used. The exact command depends on the instrument’s SCPI implementation for specific measurements like phase delay or time delay between events.
Use `SYSTem:KEY n` to select the delay measurement softkey within the MEASURE menu.
How do I control the Delayed Timebase (DEL’D TB) using SCPI?
Access DEL’D TB Menu/Mode: `SYSTem:KEY 404` (DTB key) or `DISPlay:MENU DMODE`
Set Delayed Timebase Scale: Use `SYSTem:KEY 402` (TIME/DIV s) or `SYSTem:KEY 403` (TIME/DIV ns) to simulate key presses, or potentially a command like `SENSe:SWEep:DTB:TIME
Control Settings via Setup: `SYSTem:SET? 18` retrieves settings related to the delayed timebase.
Use `SYSTem:KEY n` to select softkeys within the DEL’D TB menu.
How can I perform Differentiation (MATHPLUS) using SCPI?
Access MATH Menu: `SYSTem:KEY 111` or `DISPlay:MENU MATH`
Enable/Disable Differentiation on MATH1/2: `CALCulate[1|2]:DERivative:STATe ON|OFF`
Set Differentiation Window Samples (Points): `CALCulate[1|2]:DERivative:POINts
Use `SYSTem:KEY n` to select softkeys within the MATH menu.
How do I control the Display Menu and User Text via SCPI?
Access DISPLAY Menu: `SYSTem:KEY 112` or `DISPlay:MENU DISPlay`
Control User Text (Window 2):
Set Text: `DISPlay:WINDow2:TEXT[1] “
Clear Text: `DISPlay:WINDow2:TEXT:CLEar`
Show/Hide Text: `DISPlay:WINDow2:TEXT:STATe ON|OFF`
Use `SYSTem:KEY n` to select softkeys within the DISPLAY menu.
How is the Envelope function controlled using SCPI?
Access ACQUIRE Menu: `SYSTem:KEY 107` or `DISPlay:MENU ACQuire`
Enable/Disable Envelope Mode: This is typically controlled within the ACQuire subsystem, potentially `ACQuire:MODE ENVelope` or `SENSE:ENVelope:STATe ON|OFF`. The exact command may vary.
Use `SYSTem:KEY n` to select the ENVELOPE softkey within the ACQUIRE menu.
How are SCPI Errors and Events handled?
Error and event handling uses the standard SCPI status reporting system:
Query Last Error: `SYSTem:ERRor?` (Retrieves one error from the queue)
Clear Status: `*CLS` (Clears status registers and error queue)
Status Byte Query: `*STB?` (Reads the status byte)
Service Request Enable: `*SRE
Event Status Register Query: `*ESR?` (Reads the standard event status register)
Event Status Enable: `*ESE
Operation/Questionable Status: Use commands within `STATus:OPERation` and `STATus:QUEStionable` subsystems to read condition registers, set enable registers, and configure transitions (PTR/NTR).
How do I perform FFT (Fast Fourier Transformation) using SCPI?
Access MATH Menu: `SYSTem:KEY 111` or `DISPlay:MENU MATH`
Enable/Disable FFT on MATH1/2: `CALCulate[1|2]:TRANsform:FREQuency:STATe ON|OFF`
Select FFT Window: `CALCulate[1|2]:TRANsform:FREQuency:WINDow RECTangular|HAMMing|HANNing`
Select Absolute/Relative FFT Readout: `CALCulate[1|2]:TRANsform:FREQuency:TYPE ABSolute|RELative`
Read FFT Amplitude/Frequency Values: Query the corresponding cursor readouts using `DISPlay:WINDow[1]:TEXT
How are Mathematical Filters controlled via SCPI?
Access MATH Menu: `SYSTem:KEY 111` or `DISPlay:MENU MATH`
Enable/Disable Filter on MATH1/2: `CALCulate[1|2]:FILTer:FREQuency:STATe ON|OFF`
Set Filter Window Samples (Points): `CALCulate[1|2]:FILTer:FREQuency:POINts
How can I configure Glitch Triggering using SCPI?
Set the trigger type to Glitch:
`TRIGger:TYPE GLITch`
Further parameters like glitch polarity, width condition (>, <, range), and time values are set using specific commands within the `TRIGger:GLITch` subsystem.
How do I perform Histogram (MATHPLUS) using SCPI?
Access MATH Menu: `SYSTem:KEY 111` or `DISPlay:MENU MATH`
Enable/Disable Histogram on MATH1/2: `CALCulate[1|2]:TRANsform:HISTogram:STATe ON|OFF`
Additional parameters like histogram source and boundaries are configured using related commands within the `CALCulate[1|2]:TRANsform:HISTogram` subsystem.
How is Trigger Hold Off controlled using SCPI?
Set the trigger holdoff time using:
`TRIGger:HOLDoff
Where `
How can I query the instrument’s Identification using SCPI?
Use the standard SCPI identification queries:
Get Manufacturer, Model, Serial, Firmware: `*IDN?`
Get Installed Options: `*OPT?`
Get System Version Information: `SYSTem:VERSion?`
How do I control the Input Attenuator (Amplitude/Vertical Scale) using SCPI?
The vertical scale is controlled using the `SENSe:VOLTage` range commands:
Set Vertical Scale (Range): `SENSe:VOLTage
Set Vertical Scale per Division (if supported): Some instruments use `SENSe:VOLTage
Enable Auto Range (Peak-to-Peak): `SENSE:VOLTage
Enable Auto Range (General): `SENSE:VOLTage
You can also simulate pressing the AMPL keys using `SYSTem:KEY` codes:
CH1 mV(▲): 702, V(▼): 802
CH2 mV(▲): 705, V(▼): 805
CH3 mV(▲): 708, V(▼): 808 (PM3394A-84A)
CH4 mV(▲): 711, V(▼): 811 (PM3394A-84A)
EXT(CH4) AMPL: 712 (PM33x0A)
What are the SCPI commands for setting Input Coupling?
Set Input Coupling per Channel: `INPut[
You can also simulate pressing the AC/DC/GND keys using `SYSTem:KEY` codes:
CH1: 804
CH2: 807
CH3: 810
CH4: 813
EXT (PM33x0A) uses CH4 keys: 813 (AC/DC/GND), 712 (AMPL).
How do I set Input Impedance using SCPI?
Set Input Impedance per Channel: `INPut
You access the menu containing this setting using `SYSTem:KEY 504` (VERT MENU) or `DISPlay:MENU VERTical`.
How can I perform Integration (MATHPLUS) using SCPI?
Access MATH Menu: `SYSTem:KEY 111` or `DISPlay:MENU MATH`
Enable/Disable Integration on MATH1/2: `CALCulate[1|2]:INTegral:STATe ON|OFF`
Use `SYSTem:KEY n` to select the integrate softkey within the MATH menu.
How do I configure Logic Triggering using SCPI?
Set Trigger Type to Logic: `TRIGger:TYPE LOGic`
Access TRIGGER Menu: `SYSTem:KEY 209` or `DISPlay:MENU TRIGger`
Set Logic Trigger Slope: `TRIGger:SLOPE POS|NEG|EITH` (Depends on logic function)
Set Logic Trigger Source: `TRIGger:SOURce
Detailed logic conditions (Pattern, State, combination) are set using commands within the `TRIGger:LOGic` subsystem.
How is Horizontal Magnification (Zoom) controlled via SCPI?
Horizontal magnification is usually controlled by adjusting the timebase scale or using dedicated zoom commands.
Simulate Magnify Keys:
Magnify Left (◄): `SYSTem:KEY 210`
Magnify Right (►): `SYSTem:KEY 211`
Alternatively, setting a faster timebase scale effectively zooms in horizontally. You might also use delayed timebase (`DISPlay:MENU DMODE`) for zoom.
How is Vertical Magnification controlled via SCPI?
Vertical magnification involves adjusting the vertical scale (volts/div).
Access DISPLAY Menu: `SYSTem:KEY 112` or `DISPlay:MENU DISPlay`
Enable/Disable Vertical Magnify Mode: Control is often via softkeys in the DISPLAY menu (`SYSTem:KEY n`) or implicitly by setting a sensitive vertical range using `SENSe:VOLTage
How do I set the Main Time Base using SCPI?
Set Main Time Base Scale: `SENSE:SWEep:TIME
Simulate Time/Div Keys:
TIME/DIV VAR s (◄): `SYSTem:KEY 410`
TIME/DIV VAR ns (►): `SYSTem:KEY 411`
Enable Auto Range for Time Base: `SENSE:SWEep:TIME:AUTO ON`
How are general Mathematics functions controlled using SCPI?
General control uses the `CALCulate` subsystem.
Access MATH Menu: `SYSTem:KEY 111` or `DISPlay:MENU MATH`
Select Math Operation: Define expressions using `CALCulate[1|2]:MATH[:EXPRession] “
Turn MATH On/Off: `CALCulate[1|2]:MATH:STATe ON|OFF`
Use `SYSTem:KEY n` to select softkeys within the MATH menu.
How can I access the Measure Menu and query results using SCPI?
Access MEASURE Menu: `SYSTem:KEY 110` or `DISPlay:MENU MEASure`
Perform and Query a Measurement Immediately: `MEASure:
Configure, Initiate, Fetch Measurement:
`CONFigure:
`READ?` (Initiates and fetches the configured measurement)
`INITiate` (Start acquisition for measurement)
`FETCh?` (Retrieve result of initiated measurement)
Query Displayed Measurement Readouts (MEAS 1 & MEAS 2): `DISPlay:WINDow[1]:TEXT<1|2>:DATA?`
How do I perform Multiplication (MATHEMATICS) using SCPI?
Access MATH Menu: `SYSTem:KEY 111` or `DISPlay:MENU MATH`
Define Multiplication Expression: `CALCulate[1|2]:MATH[:EXPRession] “MULT(Source1, Source2)”` (e.g., `”MULT(CH1, CH2)”`)
Turn MATH On/Off: `CALCulate[1|2]:MATH:STATe ON|OFF`
Use `SYSTem:KEY n` to select the multiply softkey within the MATH menu.
How is Pass/Fail Testing (MATHPLUS) configured and controlled using SCPI?
Pass/Fail testing involves defining limits and checking if a source signal (measurement or waveform) falls within them. Control is likely via the `CALCulate` or a dedicated `PASSFail` subsystem.
Save/Recall Pass/Fail Setups: Use `*SAV`, `*RCL`, or `SYSTem:SET? 51` queries/commands related to Pass/Fail node settings.
Specific commands would define the source (`CALC:PFAI:SOUR`), limits (`CALC:PFAI:LIM:UPP`, `CALC:PFAI:LIM:LOW`), condition (`CALC:PFAI:COND`), and enable the test (`CALC:PFAI:STAT ON`). Exact commands may vary.
How do I control Peak Detection using SCPI?
Access ACQUIRE Menu: `SYSTem:KEY 107` or `DISPlay:MENU ACQuire`
Enable/Disable Peak Detection: `SENSe:SWEep:PDETection ON|OFF`
How is trace Position (Vertical/Horizontal Offset) controlled using SCPI?
Vertical Position (Offset) per Channel: `SENSe:VOLTage[
Horizontal Position (Delay/Offset): `SENSe:SWEep:OFFSet:TIME
Fine control using knobs has no direct SCPI equivalent; set the desired offset value directly.
How is the instrument Power Supply controlled?
The main power supply ON/OFF is controlled by the physical power switch on the instrument. There is no SCPI command to turn the instrument’s main power on or off.
How can I initiate Printing or Plotting using SCPI?
Initiate Hardcopy: `HCOPy:IMMediate` or simulate HARD COPY key press `SYSTem:KEY 113`.
Get Hardcopy Data: `HCOPy:DATA?`
Select Hardcopy Device: `HCOPy:DEVice
Set Real-Time Clock for Plotting:
`SYSTem:DATE
`SYSTem:TIME
Access the Print & Plot menu via `SYSTem:KEY 104` (UTILITY) then `DISPlay:MENU UTIL` and select using `SYSTem:KEY n`.
How is Probe Scaling (MATHPLUS) handled via SCPI?
Probe scaling factors are typically applied automatically when the correct probe is selected or manually configured.
Set Probe Attenuation Factor: `INPut
Probe scaling settings might also be saved and recalled as part of instrument setups using `*SAV`, `*RCL`, or `SYSTem:SET`.
How are Probe Utilities managed using SCPI?
Access UTILITY Menu: `SYSTem:KEY 104` or `DISPlay:MENU UTIL`
Select PROBE Softkey: Use `SYSTem:KEY n` to navigate to the probe settings/utilities within the UTILITY menu.
Specific probe utilities like correction or setup are controlled by dedicated commands (e.g., `INPut
How is Remote Control via IEEE-488.2 managed?
Toggle Status/Local: `SYSTem:KEY 201` (simulates key press)
Access Remote Setup Menu: `SYSTem:KEY 104` (UTILITY) -> `DISPlay:MENU UTIL` -> navigate with `SYSTem:KEY n`.
Set GPIB Address: This is usually set via the instrument’s front panel menu or rear panel switches, but might be available via `SYST:COMM:GPIB:ADDR
Ensure the correct interface is selected (see UTILITY menu SCPI commands).
How is Remote Control via RS-232 managed?
Toggle Status/Local: `SYSTem:KEY 201`
Access Remote Setup Menu: `SYSTem:KEY 104` (UTILITY) -> `DISPlay:MENU UTIL` -> navigate with `SYSTem:KEY n`.
Configure RS-232 Parameters:
Baud Rate: `SYSTem:COMMunicate:SERial:BAUD
Data Bits: `SYSTem:COMMunicate:SERial:BITS <7|8>`
Parity: `SYSTem:COMMunicate:SERial:PARity NONE|ODD|EVEN`
Flow Control: `SYSTem:COMMunicate:SERial:PACE XON|HARDware|NONE`
How do I control Run/Stop mode using SCPI?
Start Continuous Acquisition (Run): `INITiate:CONTinuous ON`
Stop Acquisition (Stop): `INITiate:CONTinuous OFF` or `ABORt`
Simulate RUN/STOP Key: `SYSTem:KEY 309`
How are Screen Controls and Graticule settings adjusted?
Direct SCPI control for analog knobs like Trace Intensity, Text Intensity, Trace Rotation, Focus, and Graticule Illumination is generally not available.
Trace/Text Brightness: May be controllable via `DISPlay:BRIGhtness
Other settings are typically adjusted manually using the front panel knobs.
How can I Save and Recall instrument Setups using SCPI?
Access SETUPS Menu: `SYSTem:KEY 103` or `DISPlay:MENU SETups`
Save Current Setup to Memory Location: `*SAV
Recall Setup from Memory Location: `*RCL
Use `SYSTem:KEY n` to select softkeys (save/recall locations) within the SETUPS menu.
How is the Setups Sequence managed using SCPI?
Managing setup sequences likely involves saving/recalling specific setup files or configurations.
Access UTILITY Menu (where sequences might be managed): `SYSTem:KEY 104` or `DISPlay:MENU UTIL`
Control Status Display: `SYSTem:KEY 201` (STATUS/LOCAL)
Turn Text Off: `SYSTem:KEY 801`
Specific sequence control would depend on whether the instrument supports sequence files and has dedicated SCPI commands for loading or stepping through them.
How do I perform a Standard Front Panel Reset using SCPI?
Use the standard SCPI reset command:
`*RST`
This command resets the instrument to a defined default state. You can also recall the default setup via the SETUPS menu (`SYSTem:KEY 103`, `DISPlay:MENU SETups`).
Alternatively, use `SYSTem:SET` to recall node 0, which represents the default settings.
How can I monitor instrument Status using SCPI?
Use the SCPI status model commands:
Read Status Byte: `*STB?`
Read Standard Event Status Register: `*ESR?`
Read Operation Status Register: `STATus:OPERation[:EVENt]?`
Read Operation Condition Register: `STATus:OPERation:CONDition?`
Read Questionable Status Register: `STATus:QUEStionable[:EVENt]?`
Read Questionable Condition Register: `STATus:QUEStionable:CONDition?`
Read Error Queue: `SYSTem:ERRor?`
Configure enable registers (`*SRE`, `*ESE`, `STATus:OPERation:ENABle`, `STATus:QUEStionable:ENABle`) and transition filters (`STATus:OPERation:PTRansition`, `STATus:OPERation:NTRansition`, etc.) to customize status reporting.
How do I access the Status Screen using SCPI?
Simulate pressing the STATUS/LOCAL key:
`SYSTem:KEY 201`
This will toggle the display between the normal waveform view and the status screen.
How can I perform Subtraction (MATHEMATICS) using SCPI?
Access MATH Menu: `SYSTem:KEY 111` or `DISPlay:MENU MATH`
Define Subtraction Expression: `CALCulate[1|2]:MATH[:EXPRession] “SUB(Source1, Source2)”` (e.g., `”SUB(CH1, CH2)”`)
Turn MATH On/Off: `CALCulate[1|2]:MATH:STATe ON|OFF`
Use `SYSTem:KEY n` to select the subtract softkey within the MATH menu.
How can I synchronize controller-instrument operations using SCPI?
Use the standard SCPI synchronization commands:
Operation Complete Command: `*OPC` (Sets the OPC bit in the ESR when all previous commands are finished)
Operation Complete Query: `*OPC?` (Returns ‘1’ when all previous commands are finished; blocks controller until completion)
Wait-to-Continue Command: `*WAI` (Prevents processing of subsequent commands until all previous commands are finished)
How do I turn the Text display Off using SCPI?
Simulate pressing the TEXT OFF key:
`SYSTem:KEY 801`
Alternatively, control specific text elements (like User Text or Menu State) via `DISPlay` subsystem commands:
`DISPlay:MENU:STATe OFF`
`DISPlay:WINDow2:TEXT:STATe OFF`
How are Timebase Modes (Auto, Trig, Single, Multi, Roll, Real-Time) set using SCPI?
Control is primarily through the `INITiate` and `TRIGger:SOURce` commands:
Access TB MODE Menu: `SYSTem:KEY 409` or `DISPlay:MENU TBMode`
AUTO Mode: `INITiate:CONTinuous ON` with `TRIGger:SOURce IMMediate`
TRIGgered Mode: `INITiate:CONTinuous ON` with `TRIGger:SOURce INTernal
SINGLE Shot Mode: `INITiate[:IMMediate]` (requires a valid trigger source)
MULTI Mode: No direct single command, typically involves setting up multiple acquisitions, possibly using `ACQuire:COUNt`. `SYSTem:KEY 311` simulates the SINGLE_ARM’D indicator/key if applicable.
ROLL Mode: `ACQuire:MODE ROLL` or a similar command within `SENSe:SWEep` or `ACQuire` subsystem. Settings like `STOP ON TRIGGER` are configured within Roll mode options.
REAL-TIME ONLY Mode: `SENSe:SWEep:REALtime[:STATe] ON|OFF`
How can I perform Time Measurements using SCPI?
Use the `MEASure` subsystem:
Access MEASURE Menu: `SYSTem:KEY 110` or `DISPlay:MENU MEASure`
Perform and Query Specific Time Measurement:
Frequency: `MEASure:FREQuency?`
Period: `MEASure:PERiod?`
Negative Pulse Width: `MEASure:NWIDth?`
Positive Pulse Width: `MEASure:PWIDth?`
Rise Time: `MEASure:RISE:TIME?`
Fall Time: `MEASure:FALL:TIME?`
Negative Duty Cycle: `MEASure:NDUTycycle?`
Positive Duty Cycle: `MEASure:PDUTycycle?`
Time of First Max Value: `MEASure:TMAXimum?`
Time of First Min Value: `MEASure:TMINimum?`
Note: `MEASure?` can often be replaced by `CONFigure` + `READ?` or `CONFigure` + `INITiate` + `FETCH?`.
Query Displayed Readouts (MEAS 1/2): `DISPlay:WINDow[1]:TEXT<1|2>:DATA?`
How is the Touch, Hold & Measure™ feature controlled?
This feature likely relates to probe utilities or specific measurement modes.
Access UTILITY Menu: `SYSTem:KEY 104` or `DISPlay:MENU UTIL`
Navigate to the PROBE section using `SYSTem:KEY n`.
Specific SCPI commands would depend on the exact implementation of this feature, possibly involving `MEASure`, `CALCulate`, or probe-specific commands.
How is Trace data handled using SCPI?
Use the `TRACe` and `FORMat` subsystems:
Set Trace Length (Number of Points): `TRACe:POINts
Set Data Format (for transfer): `FORMat[:DATA] ASCii|REAL[,
Query Trace Data: `TRACe[:DATA]?
Copy Trace Data: `TRACe:COPY
How can I initiate or abort Triggering of Sweeps using SCPI?
Initiate Trigger System Continuously (Run): `INITiate:CONTinuous ON`
Initiate Trigger System Once (Single): `INITiate[:IMMediate]`
Abort Trigger System (Stop): `ABORt` or `INITiate:CONTinuous OFF`
Send GET Code (Group Execute Trigger): `*TRG` (Used in specific synchronized triggering scenarios)
How is Trigger Coupling controlled using SCPI?
Set Trigger Coupling: `TRIGger:COUPling AC|DC|LFR|HFR` (LFR=LF Reject, HFR=HF Reject)
Access the menu via `SYSTem:KEY 209` (TRIGGER) or `SYSTem:KEY 402` (DTB) and navigate using `SYSTem:KEY n`.
How do I control the Trigger for the Delayed Time Base (Del’d TB) using SCPI?
Access DEL’D TB Menu: `SYSTem:KEY 402` or `DISPlay:MENU DMODE`
Control for the delayed timebase trigger (source, level, slope, coupling) uses commands specific to the delayed sweep, often structured like `TRIGger:B:…` or within the `SENSe:SWEep:DTB` subsystem. Check the instrument’s specific SCPI command set.
Use `SYSTem:KEY n` to navigate the DTB menu softkeys.
How is the Trigger Level set using SCPI?
Set Trigger Level: `TRIGger:LEVel
Enable Auto Trigger Level (Peak-Peak): `TRIGger:LEVel:AUTO ON` (if applicable) or use menu navigation (`SYSTem:KEY 409` or `SYSTem:KEY 402`, then `SYSTem:KEY n`).
Configure Trigger Filters (AC/DC/LF/HF Reject):
Coupling: `TRIGger:COUPling AC|DC`
LF Reject State: `TRIGger:FILTer:LPASs:STATe ON|OFF`
LF Reject Frequency: `TRIGger:FILTer:LPASs:FREQuency
HF Reject State: `TRIGger:FILTer:HPASs:STATe ON|OFF`
HF Reject Frequency: `TRIGger:FILTer:HPASs:FREQuency
How do I configure the Trigger for the Main Time Base (Main TB) using SCPI?
Use the main `TRIGger` subsystem commands:
Access TRIGGER Menu: `SYSTem:KEY 209` or `DISPlay:MENU TRIGger`
Set Trigger Source: `TRIGger:SOURce CH1|CH2|CH3|CH4|EXT|LINE` (Simulate TRIG 1-4/EXT keys with `SYSTem:KEY 604, 607, 610, 613`)
Set Trigger Edge/Slope: `TRIGger:SLOPe POSitive|NEGative|EITHer`
Refer to other trigger questions for Type, Level, Coupling, Holdoff etc.
How is TV Triggering configured using SCPI?
Set Trigger Type to TV: `TRIGger:TYPE VIDeo`
Access TRIGGER Menu: `SYSTem:KEY 209` or `DISPlay:MENU TRIGger`
Configure TV Trigger Parameters:
Select Field: `TRIGger:VIDeo:FIELd[:NUMBer] <1|2>` or `TRIGger:VIDeo:FIELd:SELect FIELd1|FIELd2|LINEs`
Select Line Number: `TRIGger:VIDeo:LINE
Select Signal Polarity: `TRIGger:VIDeo:SSIGnal POSitive|NEGative`
Select Video Standard (System): `TRIGger:VIDeo:FORMat[:TYPE] PAL|NTSC|SECAM|HDTV…`
Set Lines Per Frame (for specific standards): `TRIGger:VIDeo:FORMat[:TYPE]:LPFRame
How can I set or query User Text using SCPI?
Use commands related to Display Window 2:
Access UTILITY Menu: `SYSTem:KEY 104` or `DISPlay:MENU UTIL`
Set User Text: `DISPlay:WINDow2:TEXT:DATA “
Clear User Text: `DISPlay:WINDow2:TEXT:CLEar`
Show/Hide User Text: `DISPlay:WINDow2:TEXT:STATe ON|OFF`
Use `SYSTem:KEY n` to navigate within the UTILITY menu to the USER TEXT option.
How do I access Utility Maintenance functions like Calibration using SCPI?
Initiate Autocalibration: `CALibration[:ALL]?`
Query Calibration Status: `*CAL?`
Simulate pressing the CAL key if its code is known, otherwise use the `CALibration` commands.
How can I access the Utility Menu using SCPI?
Simulate UTILITY Key Press: `SYSTem:KEY 104`
Display UTILITY Menu Structure: `DISPlay:MENU UTIL`
Use `SYSTem:KEY n` (n=1..6) to select softkeys within the displayed Utility Menu.
How do I control Utility Screen & Sound settings (Beep/Click) using SCPI?
Access UTILITY Menu: `SYSTem:KEY 104` or `DISPlay:MENU UTIL`
Control Beeper:
Enable/Disable Beep: `SYSTem:BEEPer:STATe ON|OFF`
Generate Immediate Beep: `SYSTem:BEEPer`
Control Key Click: Command may vary, possibly `SYSTem:CLICk:STATe ON|OFF`.
Use `SYSTem:KEY n` to navigate to the SCREEN & SOUND submenu within the Utility Menu.
How can I perform Voltage Measurements using SCPI?
Use the `MEASure` subsystem:
Access MEASURE Menu: `SYSTem:KEY 110` or `DISPlay:MENU MEASure`
Perform and Query Specific Voltage Measurement:
DC Voltage: `MEASure[:VOLTage][:DC]?`
RMS Voltage: `MEASure:VOLTage:AC?` or `MEASure:VRMS?`
Amplitude Voltage: `MEASure:AMPLitude?`
Max Voltage: `MEASure:MAXimum?`
Min Voltage: `MEASure:MINimum?`
Peak-to-Peak Voltage: `MEASure:PTPeak?`
High Level Voltage: `MEASure:HIGH?`
Low Level Voltage: `MEASure:LOW?`
Falling Overshoot: `MEASure:FALL:OVERshoot?`
Falling Preshoot: `MEASure:FALL:PREShoot?`
Rising Overshoot: `MEASure:RISE:OVERshoot?`
Rising Preshoot: `MEASure:RISE:PREShoot?`
Note: `MEASure?` can often be replaced by `CONFigure` + `READ?` or `CONFigure` + `INITiate` + `FETCH?`.
Query Displayed Readouts (MEAS 1/2): `DISPlay:WINDow[1]:TEXT<1|2>:DATA?`
How is X-Deflection (X-DEFL, X vs Y) controlled using SCPI?
Control is typically via the DISPLAY menu settings:
Access DISPLAY Menu: `SYSTem:KEY ???` (Key code for DISPLAY not listed, use menu command) or `DISPlay:MENU DISPlay`
Enable/Disable X vs Y Mode: This is likely controlled via a softkey in the DISPLAY menu (`SYSTem:KEY n`) or a specific command like `DISPlay:MODE XY`.
Select X Source for X vs Y Mode: Configured via softkeys or potentially `DISPlay:XY:XSOURce CH1|CH2|…`
Note: Channel 3 not applicable, Channel 4 used as external trigger input on PM33x0A.
What are the SCPI conformance exceptions or specific implementations?
The instrument complies with SCPI 1994.0 with the following exceptions/implementations:
* *RST Condition for SENSE:VOLTage:RANGE:AUTO: After *RST, autoranging for MTB (Main Time Base) is switched off (exception to voltage autoranging command context).
* *RST Condition for SENSE:SWEep:TIME:AUTO: After *RST, autoranging attenuators (CH1-CH4) are switched off (exception to timebase autoranging command context).
* HCOPY:DEVice
* Implemented Command: CALCulate:TRANsform:FREQuency:TYPE ABSolute|RELative: Allows selection of absolute or relative FFT calculation.
* Implemented Command: TRIGger[:SEQuence[1]|START]:VIDeo:FORMat[:TYPE]
* Implemented Query: SYSTem:SET?
What are the implemented IEEE-488.2 Syntactical Elements?
The following IEEE-488.2 elements are used:
What system settings are grouped under Node 0?
Node 0 represents the End node settings (zero).
Length: 1 byte
Recalling Node 0 typically restores the instrument to its default factory settings.
What system settings are grouped under Nodes 1, 2, 3, 4?
Nodes 1, 2, 3, and 4 represent the settings for Channels 1, 2, 3, and 4 respectively.
Length: 8 bytes
Settings include:
– Attenuation
– Channel on/off
– Input coupling (DC/AC/grounded)
– Invert on/off
– Input impedance (50Ω/1MΩ)
– Attenuation mode (continuous/discrete)
– Y_offset_position
What system settings are grouped under Node 14?
Node 14 represents the Probe scale settings.
Length: 24 bytes
Settings include:
– Probe_correction_factors CH1/2/3/4
– Probe_scale bits
– Probe_unit CH1/2/3/4
– Probe_scale_factors CH1/2/3/4
What system settings are grouped under Node 15?
Node 15 represents the Common vertical settings.
Length: 6 bytes
Settings include:
– Add CH1+CH2
– Add CH3+CH4
– Display mode (alternate/chopped)
– Automatic display on/off
– Bandwidth limiter on/off
– Averaging on/off
– Envelope mode on/off
– Averaging factor
– Vertical magnify factor
What system settings are grouped under Node 16?
Node 16 represents the Horizontal settings.
Length: 9 bytes
Settings include:
– X-deflection on/off
– Reset on/off
– Acquisition lock on/off
– Scope mode (digital/analog)
– Peak detection on/off
– Horizontal mode (auto, triggered, single-shot, multiple-shot)
– X-deflection source (CH1/2/3/4/line)
– Digital magnify factor + analog magnify on/off
– Acquisition length factor
– X-position
What system settings are grouped under Node 17?
Node 17 represents the Main timebase settings.
Length: 26 bytes
Settings include:
– Timebase
– Trigger mode (edge, TV, pattern, state, glitch)
– Intensified on/off
– Main timebase on/off
– Trigger slope (pos/neg)
– TV trig mode (field1/field2/line)
– Noise suppression on/off
– MTB mode (continuous (var. steps)/discrete (1-2-5 steps))
– Peak-peak trig on/off
– Triggered on/off
– Armed on/off
– Vpp trig slope
– Roll mode (stop on trig/continuous)
– Autoset trigger gap on/off
– Roll mode on/off
– Real-time only on/off
– Dual slope triggering on/off
– Trigger level
– Trigger source (CH1/2/3/4, composite, line, external)
– Trigger delay value
– Trigger coupling (AC, DC, LF reject, HF reject)
– TV-system (PAL, HDTV, NTSC, SECAM)
– Pattern glitch condition (ENTER, EXIT, RANGE, >T1, – Trigger pattern CH1/2/3/4 – TV line number – Pattern/glitch trigger time T1/2
What system settings are grouped under Node 18?
Node 18 represents the Delayed timebase settings.
Length: 13 bytes
Settings include:
– Delayed timebase
– Trigger mode (edge, TV)
– Trigger level
– Delayed timebase on/off
– Trigger slope (pos/neg)
– Noise suppression on/off
– Trigger source (CH1/2/3/4, mtb)
– Trigger delay
– Trigger coupling (AC, DC, LF reject, HF reject)
What system settings are grouped under Node 19?
Node 19 represents the Event trigger delay settings.
Length: 9 bytes
Settings include:
– Event counter
– Event trigger level
– Event trigger source (CH1/2/3/4)
– Event triggering on/off
– Event trigger slope (pos/neg)
– Event trigger coupling (AC, DC)
What system settings are grouped under Node 20?
Node 20 represents the SCPI trigger source settings.
Length: 4 bytes
Settings include:
– SCPI_trigger_source (IEEE-bus, immediate, CH1/2/3/4)
What system settings are grouped under Node 32?
Node 32 represents the Cursor settings.
Length: 33 bytes
Settings include:
– Voltage/time cursors on/off
– Rise time on/off
– Cursor control (volt/time)
– Vpp on/off
– Rise time (10-90%/20-80%)
– Voltage readout (Vpp/Vp-Vp+)
– Readout on/off (delta-V, absolute V1&V2, voltage ratio, delta-T, 1/delta-T, time ratio, time phase, Vdc)
– X cursor 1/2
– Y cursor 1/2
– X/Y ratio
– Cursor source (CH1/2/3/4)
– Track & delta control
– Ref. & delta control
– Degrees cursors horizontal and vertical selection
– V1&V2 readout
– dBm/dBuV/ Vrms readout
– FFT ref. impedance (50Ω/600Ω)
– Digital source cursor 1/2 (CHn, Mi_j)
– Magnify factor delta-X/Y ratio
What system settings are grouped under Node 33?
Node 33 represents the Cursor autosearch settings.
Length: 18 bytes
Settings include:
– Autosearch cursors on/off
– Edge1/2
– Cursor display reference
– Absolute/relative readout
– Cas_level cursor 1/2
– Cas_reference cursor 1/2 (min, max, low, high, gnd, abs)
– Cas_upper/lower_level cursor 1/2
What system settings are grouped under Nodes 49 and 50?
Nodes 49 and 50 represent the MEASurement 1 and MEASurement 2 settings respectively.
Length: 10 bytes for MEAS1, 8 bytes for MEAS2 (Bytes 9+10 not used for MEAS2)
Settings include:
– Measurement on/off
– Slope first + second source pos/neg
– Measure type (dc, rms, peak-up, peak-down, peak-to-peak, histogram top, histogram bottom, overshoot, preshoot, delay, frequency, period, pulse, rise time, fall time, duty cycle)
– MEAS1/2 source (CHn, Mi_j)
What system settings are grouped under Node 51?
Node 51 represents the Pass/Fail test settings.
Length: 20 bytes
Settings include:
– Pft on/off
– Envelope, meas1, meas2, cursor (as source)
– Action on fail (no action, beep, stop, save source)
– Start hardcopy at fail
– Draw upper/lower range
– Pft cursor define
– Pft test range type (delta_V, V1, delta-T, 1/delta-T, greater than, lower than, range test)
– Pft_source/destination/save_register
– Pft_higher/lower_limit
– Pft_vertical/horizontal_draw_position
What system settings are grouped under Nodes 65 and 66?
Nodes 65 and 66 represent the MATH1 and MATH2 settings respectively.
Length: 22 bytes
Settings include:
– MATH1/2 selection
– Limited on/off
– FFT filter (Hamming/Hanning/Rectangle)
– Adjustify scale/offset
– Source1/source2
– Y-cursors/X-cursors
– Mathematics type (add, subtract, multiply, filter, integrate, differentiate, fast fourier, histogram)
– Source MATH1/2 (CHn, Mi_j)
– Scale, offset
– Filter window width
– Differentiate window width
– FFT area left/right border
– Y-offset integrate limited area
– FFT absolute/relative readout
What system settings are grouped under Node 80?
Node 80 represents the Display settings.
Length: 27 bytes
Settings include:
– Settings display on/off
– Ground and trigger level indication on/off
– Dots join on/off
– X versus Y on/off
– Status view on/off
– Window on/off
– Menu number
– Menu on/off
– Hold-off time
– Trace separation
– X source (X versus Y mode)
– Display_trace definition 1 to 8
– Sine wave interpolation on/off
What system settings are grouped under Node 81?
Node 81 represents the Trace intensity settings.
Length: 5 bytes
Settings include:
– Analog trace intensity
– MTB/DTB intensity ratio
What system settings are grouped under Node 82?
Node 82 represents the Display trace position settings.
Length: 34 bytes
Settings include:
– Display_y_pos trace 1 to 8
– Display_x_pos trace 1 to 8
What system settings are grouped under Node 96?
Node 96 represents the Setup label text.
Length: 24 bytes
Settings include:
– Setup label text characters (22 characters)
What system settings are grouped under Node 112?
Node 112 represents the Autorange settings.
Length: 8 bytes
Settings include:
– Auto time base on/off
– Auto attenuation CH1/2/3/4 on/off
– Degrees mode on/off
– 4-stroke/normal mode
– Auto time base degrees/time factors
What system settings are grouped under Node 128?
Node 128 represents the Real-time clock settings.
Length: 3 bytes
Settings include:
– Clock format selection
What system settings are grouped under Node 240?
Node 240 represents the Service (factory) settings.
Length: 5 bytes
Settings include:
– Auto/manual_cal adjustments
What abbreviations are used in the PDF?
A
ADC = Analog to Digital Convertor
AH = Acceptor Handshake
ANSI = American National Standards Institute
ASCII = American Standard Code for Information Interchange
C
C = Controller
CAL = Calibration
CLS = Clear Status
CME = Command Error
CR = Carriage Return
D
DC(L) = Device Clear
DDE = Device Dependent Error
dec = decimal
DSO = Digital Storage Oscilloscope
DT = Device Trigger
E
EBNF = Extended Backus Nauer Format
e.g. = exempli gratia (for example)
EOI = End Or Identify
EOL = End Of Line
ESB = Event Status Bit
ESC = Escape
ESE = Event Status Enable
ESR = Event Status Register
EXT = External
F
FIFO = First In First Out
G
GET = Group Execute Trigger
GL = Go to Local
GTL = Go To Local
GP = General Purpose
GPIB = General Purpose Interface Bus
GR = Go to Remote
H
HDTV = High Definition Television
Hex = Hexadecimal
HPGL = Hewlett Packard Graphics Language
I
IDY = Identify
IDN = Identification
IEC = International Electrotechnical Commission
IEEE = Institute of Electrical and Electronic Engineers
i.e. = id est (that is)
IFC = Interface Clear
INT = Internal
I/O = Input/Output
ISO = International Standards Organization
L
L = Listener
LF = Line Feed
LLO = Local Lockout
LO = Listen Only
M
MAX = Maximum
MAV = Message Available
MIN = Minimum
MLA = My Listen Address
MSS = Master Summary Status
MTA = My Talk Address
MTB = Main Time Base
N
NL = New Line (equal to LF)
NRf = Numeric format
NTF = Negative Transition Filter
NTR = Negative Transition Register
NTSC = National Television System Committee
O
OPC = Operation Complete
OPER = Operation
OPT = Optional
OSC = Oscilloscope
P
PAL = Phase Alternating Line
phs = program header separator
pmt = program message terminator
pmu = program message unit
PON = Power ON
PP = Parallel Poll
PTF = Positive Transition Filter
PTR = Positive Transition Register
Q
QUES = Questionable
R
RAM = Random Access Memory
RCL = Recall
REN = Remote Enable
RL = Remote Local
rms = root mean square
rmt = response message terminator
rmu = response message unit
RQC = Request Control
RQS = Request Service
RST = Reset
rtl = return to local
S
SAV = Save
SCPI = Standard Commands for Programmable Instruments
SDC = Selected Device Clear
SECAM = Sequentielle Couleurs à Mémoire
SH = Source Handshake
SPD = Serial Poll Disable
SPE = Serial Poll Enable
SRE = Service Request Enable
SR(Q) = Service Request
STB = Status Byte
Std = Standard
T
T = Talker
T&M = Test & Measurement
TRG = Trigger
TST = Test
TTL = Transistor-Transistor Logic
U
UNL = Unlisten
UNT = Untalk
URQ = User Request
W
WAI = Wait to continue
What do the symbols used in the PDF mean?
Units/Prefixes:
µV = micro voltage (1E-6)
dB = decibel
dBm = decibel with respect to 1 mW
dBµV = decibel with respect to 1 µV
Vrms = RMS voltage (Peak / √2)
Hz = Hertz
m = meter
Mbyte = Megabyte
ms = milliseconds
mw = milliwatt (1E-3)
s = seconds
% = percentage
Syntax/Notation:
[…] = Optional program message part (Default part)
{…} = Program message part repeatable zero or more times
| = Choice indicator (… or …)
^ = Control key indicator (e.g., ^END = Ctrl + END)
+ = Logical OR symbol (… or …)
& = Logical AND symbol (… and …)
List of Tables
| Reference | Description |
|---|---|
| Table 3.1 | The TRIGger modes (section 3.4.1.3) |
| Table 3.2 | Relation between acquisition length and available trace memory (section 3.10) |
| Table 3.3 | The Operation Status bits (section 3.15.1.1) |
| Table 3.4 | The Questionable Status bits (section 3.15.1.2) |
| Section 4.2 | Command summary |
| Table 4.1 | Display character set for CombiScope instruments (DISPlay:WINDow2:..) |
| Table 4.2 | MTB values in the digital mode (SENSE:SWEep:TIME) |
| Table 4.3 | Reference numbers for front panel keys (SYSTem:KEY) |
| Appendix B.3 | Cross reference functions/commands |
| Appendix E | Summary of instrument settings per node. |
List of Figures
| Reference | Description |
|---|---|
| Figure 3.1 | The instrument model for CombiScope instruments |
| Figure 3.2 | Pulse characteristics |
| Figure 3.3 | The trigger model for acquisitions |
| Figure 3.4 | DC Coupling |
| Figure 3.5 | AC Coupling |
| Figure 3.6 | LF Reject |
| Figure 3.7 | HF Reject |
| Figure 3.8 | Pre-triggering |
| Figure 3.9 | Post-triggering |
| Figure 3.10 | The trace acquisition flow |
| Figure 3.11 | Relation between screen position and trace value |
| Figure 3.12 | Relation between screen position and amplitude value |
| Figure 3.13 | The Trigger Model during acquisition averaging |
| Figure 3.14 | Input channel control |
| Figure 3.15 | Signal conditioning |
| Figure 3.16 | Definition of a signal period |
| Figure 3.17 | Post processing control |
| Figure 3.18 | Post processing feed definition |
| Figure 3.19 | Relation between screen position and FFT value |
| Figure 3.20 | Trace memory control |
| Figure 3.21 | Screen layout of display functions |
| Figure 3.22 | Hardcopy of screen on printer/plotter |
| Figure 3.23 | The status reporting model for CombiScope instruments |
| Figure 3.24 | The Operation Status structure |
| Figure 3.25 | The Questionable Status structure |
| Figure 4.1 | Local/remote control (SYSTem:COMMunicatie:SERial:…) |
| Appendix B.1 | Cross reference front panel keys/commands |
| Appendix B.2 | Cross reference softkey menus/commands |
CLICK HERE TO DOWNLOAD FLUKE AUTORANGING COMBISCOPE PM3382A (01) PDF MANUAL