Agilent Technologies 86038A User Manual page 170

Optical dispersion analyzer
Table of Contents

Advertisement

Remote Operation
170
Example 1: Simple Application for Controlling the ODA
End Sub
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As Sys-
tem.ComponentModel.CancelEventArgs) Handles MyBase.Closing
odaClient.Connectivity.Disconnect()
odaClient.Connectivity.TerminateSession()
End Sub
Private Sub odaClient_NewStatus(ByVal Message As String, ByVal
MessageType As Agilent.LWD.Ag86038x.InstrumentObjects.ODACom-
mon.eEventLogType) Handles odaClient.NewStatus
' Let the user know something happened
lblStatus.Text = Message
End Sub
Private Sub pbSweep_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles pbSweep.Click
' Don't do anything if not connected to ODA
If odaClient.Connectivity.IsConnected = False Then
MessageBox.Show("Can't take a measurement yet - not con-
nected.")
Return
End If
' Change the center wavelength. Read existing start and stop
wavelength to get
' span, use new center to recalculate start and stop
Dim centerWavel, startWavel, stopWavel, span, oldCenter As Dou-
ble
startWavel = odaClient.MeasurementRange.XStart
stopWavel = odaClient.MeasurementRange.XStop
span = stopWavel - startWavel
centerWavel = CDbl(txtCenter.text)
If centerWavel < 1400 Or centerWavel > 1700 Then
MessageBox.Show("Wavelength out of range, defaulted to
1550")
centerWavel = 1550
txtCenter.Text = "1550"
End If
odaClient.MeasurementRange.XStart = centerWavel - span / 2
odaClient.MeasurementRange.XStop = centerWavel + span / 2
' Now trigger the measurement
odaClient.Measure()
End Sub
Private Sub odaClient_TriggerProgress(ByVal progress As Agi-
lent.LWD.Ag86038x.InstrumentObjects.ODACommon.enumStatus, ByVal
eTriggerMode As Agilent.LWD.Ag86038x.InstrumentObjects.ODACom-
mon.enumAcquisitionMode) Handles odaClient.TriggerProgress
' Only do something if this is a measurement
If eTriggerMode = Agilent.LWD.Ag86038x.InstrumentObjects.ODA-
Common.enumAcquisitionMode.eMeasurement Then
' Only do something if the measurement is complete
If progress = Agilent.LWD.Ag86038x.InstrumentObjects.ODA-
Common.enumStatus.COMPLETE Then
' Write the data to disk
sendDataToFile("c:\mydata.txt")
End If
End If
End Sub
Private Sub sendDataToFile(ByVal fileName As String)
Dim gainData() As Double
Dim xStart As Double
Dim xStop As Double
Agilent 86038A Optical Dispersion Analyzer, Third Edition

Advertisement

Table of Contents
loading

Table of Contents