//
// Linear Sweep
//
printf ("Linear Sweep\n");
IOObj->Output("sweep:time 1");
IOObj->Output("freq:start 100");
IOObj->Output("freq:stop 20000");
IOObj->Output("sweep:stat on");
Check_Errors(IOObj);
Pause();
IOObj->Output("sweep:stat off");
//
// Pulse period with variable Edge Times
//
printf ("Pulse Waveform with variable Edge Times\n");
IOObj->Output("output:state off");
IOObj->Output("volt:low 0;:volt:high 0.75");
IOObj->Output("pulse:period 1e-3");
IOObj->Output("pulse:width 100e-6");
IOObj->Output("pulse:tran 10e-6");
IOObj->Output("func pulse");
IOObj->Output("output:state on");
for ( i = 0; i < 10; i++ ) {
sprintf(cmds, "puls:tran %f\n",0.00001+0.000001*float(i));
IOObj->Output(cmds);
SleepEx(300, 0);
}
Check_Errors(IOObj);
Pause();
//
// Triggered Burst
//
printf ("Triggered Burst\n");
IOObj->Output("output:state off");
IOObj->Output("output:sync off");
IOObj->Output("func square");
IOObj->Output("frequency 20e3");
IOObj->Output("volt 1;:volt:offset 0");
IOObj->Output("func:square:dcycle 20");
IOObj->Output("trig:sour bus");
IOObj->Output("burst:ncycles 3");
IOObj->Output("burst:state on");
IOObj->Output("output:state on");
IOObj->Output("output:sync on");
Check_Errors(IOObj);
6
for (int i = 1; i <= 20; i++)
{
IOObj->Output("*trg");
SleepEx(100, 0);
}
Pause();
Suite à la page suivante...
Chapitre 6 Programmes d'application
Exemple : Microsoft Visual C++ pour Windows
310
// 1 second sweep time
// Start frequency 100Hz
// Stop frequency 20kHz
// Turn ON sweeping
// Routine check for errors
// Turn OFF sweeping
// Disable Output BNC
// Low = 0V, High = 0.75V
// 1ms intervals
// 100us pulse width
// Edge time 10us
// Select Function Pulse
// Enable Output BNC
// Vary edge by 1usec steps
// Wait 300msec
// Routine check for errors
// Turn OFF Output BNC
// Disable Sync BNC
// Select square wave
// 20kHz
// 1Vpp and 0V offset
// 20% duty cycle
// Bus triggering
// Burst of 3 cycles
// Enable Burst
// Turn On Output BNC
// Enable Sync BNC
// Routine check for errors
// Send BUS trigger
// Wait 100msec