Example 2: Control From Excel - Agilent Technologies 86038A User Manual

Optical dispersion analyzer
Table of Contents

Advertisement

Example 1: Simple Application for Controlling the ODA
Agilent 86038A Optical Dispersion Analyzer, Third Edition

Example 2: Control from Excel

Complete Source Code
Option Explicit
Private WithEvents m_ODARemoteControl As RemoteClient.Communica-
tor
Public Sub initOdaLink()
Set m_ODARemoteControl = New RemoteClient.Communicator
End Sub
Public Sub closeOdaLink()
m_ODARemoteControl.Connectivity.Disconnect
End Sub
Private Sub GoButton_Click()
' Clear the previous data
Sheet1.Cells(9, 1).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Clear
If Sheet1.ChartObjects.Count > 0 Then
Sheet1.ChartObjects(1).Delete ' Delete last chart
End If
' Open session
m_ODARemoteControl.Connectivity.Connect (ODA_ID_Box.Value)
' Wait for ODA connection to come alive
DoEvents
Application.Wait (Now + TimeValue("0:00:01"))
DoEvents
While m_ODARemoteControl.Connectivity.IsConnected = False
Application.Wait (Now + TimeValue("0:00:01"))
DoEvents
Wend
' Read x axis info
Dim XStart As Double
Dim xinc As Double
Dim XData() As Double
XStart =
m_ODARemoteControl.Results.XStart(eMeasurementType_Gain)
xinc = m_ODARemoteControl.Results.Increment
'Get CD Data - Port One
Dim GDData() As Double
GDData =
m_ODARemoteControl.Results.YData(eMeasurementType_GD,
eODAPort_One)
'Get Gain Data - Port One
Dim GainData() As Double
GainData =
m_ODARemoteControl.Results.YData(eMeasurementType_Gain,
eODAPort_One)
' close session
m_ODARemoteControl.Connectivity.Disconnect
' write data to spreadsheet
Dim npoin As Integer
Dim cnt As Integer
npoin = UBound(GainData) - LBound(GainData) + 1
ReDim XData(npoin)
For cnt = 0 To npoin - 1
XData(cnt) = XStart + cnt * xinc
Next cnt
Remote Operation
183

Advertisement

Table of Contents
loading

Table of Contents