VB:
'****************************************************************************
' Copyright © 2010 Agilent Technologies Inc. All rights
' reserved.
'
' You have a royalty-free right to use, modify, reproduce and distribute
' the Sample Application Files (and/or any modified version) in any way
' you find useful, provided that you agree that Agilent has no
' warranty, obligations or liability for any Sample Application Files.
'
' Agilent Technologies provides programming examples for illustration only,
' This sample program assumes that you are familiar with the programming
' language being demonstrated and the tools used to create and debug
' procedures. Agilent support engineers can help explain the
' functionality of Agilent software components and associated
' commands, but they will not modify these samples to provide added
' functionality or construct procedures to meet your specific needs.
'****************************************************************************
'****************************************************************************
'This sample program is intended to use with Microsoft Visual studio 6.0
'and Agilent Visa Object library.
'
'Sample program execution requires VISA library installation as pre requisites.
'
'Add below libraries in project reference in Project\reference menu prior to execution of sample 'program:
'VISA COM 3.0 Type Library, Location:\VisaCom\GlobMgr.dll
'VISA COM 488.2 Formatted I/O 1.0, Location:\VisaCom\BasFrmIO.dll
'VISA COM Resource Manager 1.0, Location:\bin\AgtRM.dll
' ****************************************************************************
Private Sub Command1_Click()
' """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
'Amplitude Modulation is a sample program enable a Amplitude modulation output on first channel of 3352XA instrument with following signal specification
'
'Carrier Frequency: Sin wave, 1 Mhz, 5 VPP
'Amplitude Modulated carrier with Double Sideband Suppressed Carrier
'
'Modulating Frequency: Sin Wave, 1 KHz
'AM Depth 100%
' """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Dim io_mgr As VisaComLib.ResourceManager
Dim mfIo As VisaComLib.FormattedIO488
Set io_mgr = New AgilentRMLib.SRMCls
Set mfIo = New FormattedIO488
Set mfIo.IO = io_mgr.Open(Text1.Text, NO_LOCK, 2000, "")
On Error GoTo MyError
' This program sets up a waveform by selecting the waveshape
' and adjusting the frequency, amplitude, and offset.
With mfIo
'Reset and clear instrument
.WriteString "*RST"
.IO.Clear
'Configure the carrier waveform
.WriteString "SOURCE1:FUNC SIN"
.WriteString "SOURCE1:FREQ 10E5"
.WriteString "SOURCE1:VOLT:UNIT VPP"
.WriteString "SOURCE1:VOLT 5"
'Select the mode of Amplitude Modulation
.WriteString "SOURCE1:AM:DSSC ON"
'Select the modulation source
.WriteString "SOURCE1:AM:SOURCE INT"
'Select the shape of the modulating waveform
.WriteString "SOURCE1:AM:INT:FUNC SIN"
'Set the modulating frequency
.WriteString "SOURCE1:AM:INT:FREQ 1000"
'Set the modulation depth
.WriteString "SOURCE1:AM:DEPTH 100"
'Enable AM Modulation
.WriteString "SOURCE1:AM:STATE ON"
'Enable output.
.WriteString "OUTPUT1 ON"
End With
Text2.Text = "Amplitude modulation output enabled"
Exit Sub
MyError:
Text2 = Err.Description
Resume Next
End Sub
Private Sub Form_Load()
Text2.Text = ""
End Sub
'****************************************************************************
' Copyright © 2010 Agilent Technologies Inc. All rights
' reserved.
'
' You have a royalty-free right to use, modify, reproduce and distribute
' the Sample Application Files (and/or any modified version) in any way
' you find useful, provided that you agree that Agilent has no
' warranty, obligations or liability for any Sample Application Files.
'
' Agilent Technologies provides programming examples for illustration only,
' This sample program assumes that you are familiar with the programming
' language being demonstrated and the tools used to create and debug
' procedures. Agilent support engineers can help explain the
' functionality of Agilent software components and associated
' commands, but they will not modify these samples to provide added
' functionality or construct procedures to meet your specific needs.
'****************************************************************************
'****************************************************************************
'This sample program is intended to use with Microsoft Visual studio 6.0
'and Agilent Visa Object library.
'
'Sample program execution requires VISA library installation as pre requisites.
'
'Add below libraries in project reference in Project\reference menu prior to execution of sample 'program:
'VISA COM 3.0 Type Library, Location:
'VISA COM 488.2 Formatted I/O 1.0, Location:
'VISA COM Resource Manager 1.0, Location:
' ****************************************************************************
Private Sub Command1_Click()
' """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
'Amplitude Modulation is a sample program enable a Amplitude modulation output on first channel of 3352XA instrument with following signal specification
'
'Carrier Frequency: Sin wave, 1 Mhz, 5 VPP
'Amplitude Modulated carrier with Double Sideband Suppressed Carrier
'
'Modulating Frequency: Sin Wave, 1 KHz
'AM Depth 100%
' """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Dim io_mgr As VisaComLib.ResourceManager
Dim mfIo As VisaComLib.FormattedIO488
Set io_mgr = New AgilentRMLib.SRMCls
Set mfIo = New FormattedIO488
Set mfIo.IO = io_mgr.Open(Text1.Text, NO_LOCK, 2000, "")
On Error GoTo MyError
' This program sets up a waveform by selecting the waveshape
' and adjusting the frequency, amplitude, and offset.
With mfIo
'Reset and clear instrument
.WriteString "*RST"
.IO.Clear
'Configure the carrier waveform
.WriteString "SOURCE1:FUNC SIN"
.WriteString "SOURCE1:FREQ 10E5"
.WriteString "SOURCE1:VOLT:UNIT VPP"
.WriteString "SOURCE1:VOLT 5"
'Select the mode of Amplitude Modulation
.WriteString "SOURCE1:AM:DSSC ON"
'Select the modulation source
.WriteString "SOURCE1:AM:SOURCE INT"
'Select the shape of the modulating waveform
.WriteString "SOURCE1:AM:INT:FUNC SIN"
'Set the modulating frequency
.WriteString "SOURCE1:AM:INT:FREQ 1000"
'Set the modulation depth
.WriteString "SOURCE1:AM:DEPTH 100"
'Enable AM Modulation
.WriteString "SOURCE1:AM:STATE ON"
'Enable output.
.WriteString "OUTPUT1 ON"
End With
Text2.Text = "Amplitude modulation output enabled"
Exit Sub
MyError:
Text2 = Err.Description
Resume Next
End Sub
Private Sub Form_Load()
Text2.Text = ""
End Sub
/****************************************************************************
' Copyright © 2010 Agilent Technologies Inc. All rights
' reserved.
'
' You have a royalty-free right to use, modify, reproduce and distribute
' the Sample Application Files (and/or any modified version) in any way
' you find useful, provided that you agree that Agilent has no
' warranty, obligations or liability for any Sample Application Files.
'
' Agilent Technologies provides programming examples for illustration only,
' This sample program assumes that you are familiar with the programming
' language being demonstrated and the tools used to create and debug
' procedures. Agilent support engineers can help explain the
' functionality of Agilent software components and associated
' commands, but they will not modify these samples to provide added
' functionality or construct procedures to meet your specific needs.
****************************************************************************/
/****************************************************************************
'This sample program is intended for use with Microsoft Visual C++ 2005
'and Agilent Visa Object library.
'
'Sample program execution requires VISA library installation.
'
'The header file
'at the VISA install location, and the user must point to the file
'if it is not detected automatically. Add the directory containing the
'header file as and additional dependency for C/C++ project compilation.
'
'Add the visa32.lib library reference as and additional dependencies for the linker
'in this project. This library can be located at
'
****************************************************************************/
/*
Amplitude Modulation is a sample program that enables an Amplitude modulation output on channel 1
of a 33500 Series instrument with the following signal characteristics:
Baseband Signal:
Wave Shape: Sine Wave
Frequency: 1 KHz
Carrier Signal:
Wave Shape: Sine Wave
Frequency: 1 MHz
Modulation
Type: Amplitude Modulation
DSSC: ON (with double sideband supressed carrier)
AM Depth: 100%
*/
#include
#include
#include
void main ()
{
ViSession oRM, MFio;
char strResult[256] = {0};
char noErrString[256] = {"+0,\"No error\"\n"};
char buf [256] = {0};
// Enter VISA address of instrument to access
char InstAdd[] = "TCPIP0::146.223.123.106::inst0::INSTR";
/* Open session for above address */
viOpenDefaultRM (&oRM);
viOpen (oRM, InstAdd, VI_NULL,VI_NULL, &MFio);
/* Send an *IDN? string to the device */
viPrintf (MFio, "*IDN?\n");
/* Read results */
viScanf (MFio, "%t", &buf);
/* Print results */
printf ("Instrument identification string: %s\n", buf);
//Set up Amplitude modulation output.
//Clear and reset instrument
viPrintf(oMIO,"*CLS\n");
viPrintf(MFio,"*RST\n");
//Configure the carrier waveform
viPrintf(MFio,"SOURCE1:FUNC SIN\n");
viPrintf(MFio,"SOURCE1:FREQ 10E5\n");
viPrintf(MFio,"SOURCE1:VOLT 5\n");
//Select the mode of Amplitude Modulation
viPrintf(MFio,"SOURCE1:AM:DSSC ON\n");
//Select the modulation source
viPrintf(MFio,"SOURCE1:AM:SOURCE INT\n");
//Select the shape of the modulating waveform:
viPrintf(MFio,"SOURCE1:AM:INT:FUNC SIN\n");
//Set the modulating frequency
viPrintf(MFio,"SOURCE1:AM:INT:FREQ 1000\n");
//Set the modulation depth
viPrintf(MFio,"SOURCE1:AM:DEPTH 100\n");
//Enable AM Modulation
viPrintf(MFio,"SOURCE1:AM:STATE ON\n");
//Enable Channel output
viPrintf(MFio,"OUTP1 ON\n");
//Read Error
viQueryf(MFio,"SYST:ERR?\n","%t",&strResult);
if(!(strcmp(strResult,noErrString)))
{
printf("Amplitude Modulation waveform generated without any error\n");
}
else
{
printf("Error reported: %s",strResult);
}
//Exit
printf("\nPress [Enter] to exit");
getchar();
/* Close session */
viClose (oRM);
viClose (MFio);
}