User manual
Table Of Contents
- Introduction
- Resources
- Notational Conventions
- Part 1: Making the Remote Connection
- Understanding Remote Control Layers
- Software Tools for Remote Control
- Connecting via ENET
- Connecting via USBTMC
- Connecting via GPIB
- Connecting via LSIB
- Configuring DCOM Connections
- Testing the Remote Connection
- Remote Control Assistant
- ActiveDSO
- VISA
- WaveStudio
- Part 2: Automation Programming Reference
- Automation Overview
- XStreamBrowser
- Viewing XStreamDSO Objects
- VBS Command
- Approach 1: Control from XStreamBrowser
- Approach 2: Program in VBS
- Approach 3: Program Using ActiveDSO
- Approach 4: Program Using VISA
- Control Variables
- Result Interfaces
- Synchronization
- Application Interactions
- Early and Late Binding
- Automation Programming Conventions
- Using Programming Variables
- Automation in MATLAB
- Automation in Python
- Automation in C#
- Part 3: Automation Control Variable Reference
- app
- app.Acquisition
- app.Acquisition.Cn
- app.Acquisition.Trigger
- app.Cursors
- app.CustomDSO
- app.Display
- app.Hardcopy
- app.History
- app.LabNotebook
- app.LogicAnalyzer
- app.Math
- app.Math.Fn and app.Math.XY
- app.Measure
- app.Measure.Pn
- app.Memory
- app.Memory.Mn
- app.PassFail
- app.PassFail.Qn
- app.Preferences
- app.ProbesCal
- app.SpecAnalyzer
- app.SaveRecall
- app.SaveRecall.Remote
- app.SaveRecall.Setup
- app.SaveRecall.Table
- app.SaveRecall.Utilities
- app.SaveRecall.Waveform
- app.TriggerScan
- app.Utility
- app.WaveScan
- app.WebEditor
- app.Zoom
- Part 4: Automation Result Interface Reference
- Base
- BinPopulations
- Bins
- BinWidth
- BusName
- CellType
- CellValue
- Columns
- DataArray
- ExtendedStatus
- FirstEventTime
- FirstPopulatedBin
- HorizontalFrameStart
- HorizontalFrameStop
- HorizontalOffset
- HorizontalPerColumn
- HorizontalPerStep
- HorizontalResolution
- HorizontalUnits
- HorizontalVarianceArray
- HorizontalVariances
- IndexOfFirstSampleInFrame
- LastEventTime
- LastPopulatedBin
- Levels
- LineAliasName
- LineName
- Lines
- Max
- MaxPopulation
- MaxPopulationBin
- MaxPopulationInRectangle
- Mean
- Min
- NumFrameDimensions
- NumSamplesInFrame
- OffsetAtLeftEdge
- Peaks
- PeakInfo
- PopulationInside
- PopulationOfRectangle
- PopulationOver
- PopulationUnder
- RMS
- Rows
- Samples
- Sdev
- Status
- StatusDescription
- Sweeps
- Top
- UniformInterval
- UpdateTime
- Value
- ValueArray
- VerticalFrameStart
- VerticalFrameStop
- VerticalMaxPossible
- VerticalMinPossible
- VerticalOffset
- VerticalPerRow
- VerticalPerStep
- VerticalResolution
- VerticalUnits
- XFrameStart
- XFrameStop
- XMaxPossible
- XMinPossible
- XOffset
- XPerStep
- XResolution
- XUnits
- YFrameStart
- YFrameStop
- YMaxPossible
- YMinPossible
- YOffset
- YPerStep
- YResolution
- YUnits
- Part 5: IEEE 488.2 Programming Reference
- GPIB Overview
- Interface Definitions
- IEEE 488.1 Standard Messages
- Program Message Format
- Data Types
- Response Messages
- I/O Buffers
- Making Service Requests
- Taking Instrument Polls
- Timing and Synchronization
- Waveform Transfer
- Part 6: IEEE 488.2 Command Reference
- Commands and Queries by Short Form
- Commands and Queries by Subsystem
- ACQUISITION Commands and Queries
- ARM_ACQUISITION, ARM
- AUTO_SETUP, ASET
- ATTENUATION, ATTN
- BANDWIDTH_LIMIT, BWL
- COMBINE_CHANNELS, COMB
- COUPLING, CPL
- FORCE_TRIGGER, FRTR
- INTERLEAVED, ILVD
- MEMORY_SIZE, MSIZ
- OFFSET, OFST
- REFERENCE_CLOCK, RCLK
- SAMPLE_CLOCK, SCLK
- SEQUENCE, SEQ
- STOP
- TIME_DIV, TDIV
- TRIG_COUPLING, TRCP
- TRIG_DELAY, TRDL
- *TRG
- TRIG_LEVEL, TRLV
- TRIG_MODE, TRMD
- TRIG_PATTERN, TRPA
- TRIG_SELECT, TRSE
- TRIG_SLOPE, TRSL
- VOLT_DIV, VDIV
- WAIT
- AUTOMATION Commands and Queries
- COMMUNICATION Commands and Queries
- CURSOR Commands and Queries
- DISPLAY Commands and Queries
- FUNCTION Commands and Queries
- HARDCOPY Commands and Queries
- MISCELLANEOUS Commands and Queries
- PROBE Commands
- SAVE/RECALL SETUP Commands and Queries
- STATUS Commands and Queries
- STORAGE Commands and Queries
- WAVEFORM TRANSFER Commands and Queries
- DISK DRIVE ANALYSIS (Option) Commands and Queries
- DD_ANALOG_COMP_THRESH, DACT
- DD_ANALYZE_REGION_DISABLE, DARD
- DD_ANALYZE_REGION_LENGTH, DARL
- DD_ANALYZE_REGION_START, DARS
- DD_BITCELL, DBIT
- DD_BYTE_OFFSET, DBYT
- DD_BYTE_OFFSET_SEGMENT, DSEG
- DD_CTAF_3DB, D3D
- DD_CTAF_BOOST, DBST
- DD_CTAF_FC, DDFC
- DD_CTAF_GROUP_DELAY, DFGD
- DD_ENCODING, DENC
- DD_ERR_INFO?, DERI?
- DD_ERR_NUM, DERR
- DD_FIND_BITCELL?, DFBIT?
- DD_FIND_ERROR, DFER
- DD_FIND_METHOD, DDFM
- DD_FIR, DFIR
- DD_FIR_ENABLE, DFEN
- DD_HEADSIGNAL_CHANNEL, DHSC
- DD_IGNORE_SAMPLES, DIGS
- DD_ML_MIN_SPACING, DRLM
- DD_ML_RUN_LENGTH_LIMIT, DRLE
- DD_NUM_ERRORS?, DNER?
- DD_OVERLAP_REF, DOVL
- DD_PES_ANALYSIS, DPA
- DD_PES_DATA?, DPD?
- DD_PES_SUMMARY_DATA?, DPSD?
- DD_READ_GATE_POLARITY, DRGP
- DD_READCLOCK_CHANNEL, DRCC
- DD_READGATE_CHANNEL, DRGC
- DD_RESET_AVERAGE, DRAV
- DD_SAM_THRESH, DST
- DD_SAMPLE_PHASE, DSPH
- DD_SHOW_FILTERED, DSF
- DD_SHOW_LEVELS, DSLV
- DD_SHOW_ML, DSML
- DD_SHOW_SAMPLE_TIMES, DSST
- DD_SIGNAL_INPUT, DDSI
- DD_SIGNAL_TYPE, DSIG
- DD_START_AVERAGING, DSAV
- DD_STORE_REFERENCE, DSTR
- DD_TRAIN_FILTER?, DTF?
- DD_VCO_SYNCH_PATTERN, DVSP
- DD_VCOSYNCH_TO_DATA, DVTD
- ET-PMT (Option) Commands and Queries
- Blank Page

MAUI Oscilloscopes Remote Control and Automation Manual
Making Service Requests
When the oscilloscope is used in a remote application, events often occur asynchronously; meaning, at
unpredictable times for the host computer. The most common example of this is a trigger wait after the
oscilloscope is armed. In such a case, the controller must wait until the acquisition is finished before it can
read the acquired waveform.
The simplest way of checking if a certain event has occurred is by either continuously or periodically
reading the status bit associated with it until the required transition is detected.
A more efficient way of detecting events occurring in the oscilloscope is to use Service Request (SRQ).
This GPIB interrupt line can be used to interrupt program execution in the controller. The controller can
then execute other programs while waiting for the oscilloscope.
The SRQ bit is latched until the controller reads the Status Byte Register (STB). The action of reading the
STB with the command *STB? clears the register contents except the MAV bit (bit 4) until a new event
occurs. Service requesting can be disabled by clearing the SRE register with the *SRE 0 command.
Unfortunately, not all interface manufacturers support the programming of interrupt service routines. In
particular, National Instruments supports only the SRQ bit within the ISTA% status word. This requires you
to continuously or periodically check this word, either explicitly or with the function call IBWAIT.
Enabling SRQ
In the default state, SRQ is disabled. To enable SRQ, set the Service Request Enable register with the *SRE
command, specifying which event should generate an SRQ.
The oscilloscope then interrupts the controller when the selected event(s) occur by asserting the SRQ
interface line. If several devices are connected to the GPIB, you may be required to identify which
oscilloscope caused the interrupt by serial polling the various devices.
INR and INB
This event is tracked by the INR register, which is reflected in the SRE register as the INB summary bit in
position 0. Since bit position 0 has the value 1, the command *SRE 1 enables the generation of SRQ
whenever the INB summary bit is set.
In addition, the events of the INR register that may be summarized in the INB bit must be specified. The
event "new signal acquired" corresponds to INE bit 0 (value 1) while the event "return-to-local" is assigned
to INE bit 2 (value 4). The total sum is 1+4=5. So, the command INE 5 is needed:
CMD$ = "INE 5 ; *SRE 1" : CALL IBWRT (SCOPE%, CMD$)
5-10