Memory Subsystem ..................2-19 Output Subsystem ..................2-20 Read Function ....................2-20 Sense Command Subsystem ................2-20 Status Subsystem ..................2-21 System Subsystem ..................2-22 Test Subsystem..................... 2-23 Trigger Subsystem ..................2-23 Common Commands ..................2-27 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 6
Fast Measurements (Example #3)................USB Communication (Example #4) ............... Continuous Measurements (Example #5) ............... 4-11 Appendices Appendix A: Character Set ..................Appendix B: Default Command Settings ..............Appendix C: Instrument Settings After *RST..............Appendix D: Reserved Words.................. FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Preface This programmer manual covers the Tektronix FCA3000, FCA3100, and MCA3000 Series Timer/Counter/Analyzer instruments. It provides information on operating your instrument using the General Purpose Interface Bus (GPIB) or USB interface. The programmer manual contains the following sections: Getting Started. This section introduces you to the programming information and provides basic information about setting up your instrument for remote control.
Page 8
Preface FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Power button. Testing the Bus To test that the instrument is operational over the bus, send the *IDN? command to identify the instrument and the *OPT? command to identify which features are available. FCA3000, FCA3100, MCA3000 Series Programmer Manual...
DCL (Device clear) or SDC (Selective Device Clear). Device trigger function: You can start a new measurement from the controller by sending the interface message GET (Group Execute Trigger). Bus drivers: The GPIB interface has tri-state bus drivers. FCA3000, FCA3100, MCA3000 Series Programmer Manual...
The structure of the instrument identifier string is: “USB0::0x0699::0x3003::######::INSTR” Where: is the vendor identifier code for Tektronix instruments 0x0699 is the instrument model (based on the last four digits of the model 0x3003...
Page 14
Using the USB Interface FCA3000, FCA3100, MCA3000 Series Programmer Manual...
A command message is a command or query name followed by any information the instrument needs to execute the command or query. Command messages may contain five element types, defined in the following table. FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Clearing the Instrument You can clear the Output Queue and reset the instrument to accept a new command or query by using the selected Device Clear (DCL) function. FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Thus, for the most robust code, use the full spelling. Concatenating You can concatenate any combination of set commands and queries using a semicolon (;). The instrument executes concatenated commands in the order received. FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Enter these arguments as unquoted text words. Like key words, enumeration arguments follow the same convention where the portion indicated in uppercase is required and that in lowercase is optional. For example: INPUT:COUPLING DC FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 21
7. The maximum length of a quoted string returned from a query is 1000 characters. Here are some invalid strings: (quotes are not of the same type) "Invalid string argument' (termination character is embedded in the string) "test<EOI>" FCA3000, FCA3100, MCA3000 Series Programmer Manual...
However, there are some things you must keep in mind: Both double quote (“) and single quote (‘) can be used to identify the string data. If you use a controller language that uses double quotation marks to define strings FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 23
This example defines a macro called AUTOFILT that takes one Boolean argument such as ON or OFF for ($1). AUTOFILT OFF Turns off both the auto function and the analog lowpass filter on both input channels. FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 24
GMC? Get Macro Contents query. This query sets a response containing the definition of the macro you specified when sending the query. Example using the above defined macro: *GMC? ‘LIMITMON’ #292:CALC:STAT ON;:CALC:LIM:STAT ON; :CALC:LIM:LOW:DATA $1;STAT ON; :CALC:LIM:UPP:DATA $2;STAT ON’ FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 25
LMC? Learn Macro query. This query returns a response containing the labels of all the macros stored in the Timer/instrument. Example: *LMC? might return "MYINPSETTING","LIMITMON" Now there are two macros in memory, and they have the following labels: “MYINPSETTING” and “LIMITMON”. FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Note that the calculate subsystem is automatically enabled when limit FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-11...
Page 28
CALCulate:LIMit:UPPer Sets or returns the value of the upper limit. CALCulate:LIMit:UPPer:STATe Sets whether the measured value should be checked against the upper limit. CALCulate:MATH Defines the mathematical expression used for mathematical operations. 2-12 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Then send READ? to start the measurement and returns the result. CONFigure;INITiate;FETCh? The READ? command can be divided into the INITiate command, which starts the measurement, and the FETCh? command, which requests the instrument to return the measuring results to the controller. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-13...
Sets or queries the upper limit for FETCh:ARRay? FORMat:TINFormation Turns on/off the time stamping of measurements. Hard Copy Table 2-13: Hard copy command Command Description HCOPy:SDUMp:DATA? Returns block data containing a screen image in Windows BMP format. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-15...
Input Subsystem The Input subsystem performs all the signal conditioning of the input signal before it is converted into data by the Sense subsystem. The Input subsystem includes coupling, impedance, filtering, and so forth. 2-16 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Send the query MEASure:FREQ? 20 MHz,1, where: 20 MHz is the expected value, which can, of course, also be sent as 20E6, and 1 is the required resolution. (1Hz) Also the channel numbers can be specified, for example: MEASure:FREQ? (@3) or MEASure:FREQ? 20E6, 1,(@1) FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-17...
Page 34
Takes a negative duty cycle measurement. MEASure:NDUTycycle? Takes a negative pulse width measurement. MEASure:NWIDth? MEASure{:PDUTycycle|:DCYCle}? Takes a positive duty cycle measurement. MEASure:PERiod? Takes a period measurement. MEASure:PERiod:AVERage? Returns an average of multiple period measurements. 2-18 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
MEMory:DATA:RECord:SETTings? specified <Dataset> was saved. Deletes an individual macro. MEMory:DELete:MACRo MEMory:FREE:MACRo? Returns the bytes used and available for macros. MEMory:NSTates? Returns (one greater than) the number of available memory locations for instrument settings. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-19...
Switchbox. In automatic test systems, it is difficult to swap BNC cables when you need to measure on several measuring points. The FCA3000 series lets you switch between input A and B to take measurements directly without the need for external switching devices.
Table 2-22: Status commands Command Description STATus:DREGister0? Returns the contents of the Device Event Register. STATus:DREGister0:ENABle Sets the enable bit of the Device Register 0. STATus:OPERation? Returns the contents of the operation event status register. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-21...
Switches the time-out on or off. SYSTem:TOUT:AUTO Sets an automatic time out after the first start trigger. SYSTem:TOUT:TIME Sets or returns the time-out time. SYSTem:UNPRotect Unprotects the user data set or read by the *PUD command. 2-22 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Sourcing output signal Switching system ready The ARM-TRIG Trigger Configuration gives a typical trigger configuration, the ARM-TRIG model. The configuration contains two event-detection layers: the ‘Wait for ARM’ and ‘Wait for TRIG’ states. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-23...
Page 40
Command Groups This trigger configuration is sufficient for most instruments. More complex instruments, such as the FCA3000 and MCA3000 Series, have more ARM layers. The ‘Wait for TRIG’ event-detection layer is always the last to be crossed before instrument actions can take place.
Page 41
The *TRGand the GET commands have the same effect on the instrument. If the instrument is in idle (not parsing or executing any commands), GET will execute much faster than *TRG since the instrument must always parse *TRG. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-25...
Page 42
Sets or returns how many measurements the instrument should make for each arm condition. TRIGger:SOURce Enables or disables the sample rate control. TRIGger:TIMer Sets the sample rate fur use with the statistics functions. 2-26 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Saves the settings of the instrument in an internal nonvolatile memory. *SRE Sets or returns the service request enable register bits. *STB? Returns the value of the Status Byte. *TRG Starts the measurement and places the result in the output queue. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-27...
Page 44
*WAI Prevents the instrument from executing any further commands or queries until execution of all previous commands or queries is completed. 2-28 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
20 ns and sets 1000 s. <DECIMAL VALUE> Returns <Decimal value > 200 ms after SYST:PRES 10 ms after *RST ACQuisition:HOFF Sets the Hold Off function On or Off. Group Sense Syntax ACQuisition:HOFF <boolean> ACQuisition:HOFF? FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-29...
Page 46
Syntax ARM:COUNt <Numeric value>| MIN | MAX | INFinity ARM:COUNt? Arguments is an integer between 1 and 2,147,483,647 (2 -1). The <Numeric value> integer 1 switches the function OFF. sets 1. sets 2147483647. 2-30 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 47
The instrument generates an error if it receives this command when the trigger subsystem is not in the wait-for-bus-arm state. If the Arming source is set to Immediate, this command is ignored. Group Arming Syntax ARM:LAYer2 Examples ARM:LAYER2 FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-31...
Page 48
Sets the slope for the start arming condition. Group Arming Syntax ARM:SLOPe {POSitive | NEGative} ARM:SLOPe? Arguments Examples ARM:SLOPE NEG ARM:SOURce Selects START arming input or switches off the start arming function. When switched off the DELay is inactive. 2-32 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 49
ARM:STOP:SLOPe {POSitive | NEGative} ARM:STOP:SLOPe? Returns POS|NEG Examples ARM:STOP:SLOPE NEG ARM:STOP:SOURce Selects STOP arming input or switches off the STOP arming function. The FCA3100 Series has also a programmable timer that is accessible in Totalize mode. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-33...
Page 50
ARM:STOP:TIMer <Numeric value> | MIN | MAX ARM:STOP:TIMer? Arguments is a number between 20 * 10 and 2 s. <Numeric value> sets 20 * 10 sets 2 s. Returns <Numeric value> Examples ARM:STOP:TIMER 0.1 2-34 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 51
Sets the number of samples to use in statistics sampling. Group Calculate Syntax CALCulate:AVERage:COUNt <number of samples> CALCulate:AVERage:COUNt? Arguments is an integer in the range 2 to 2*10 <number of samples> Returns < number of samples> FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-35...
Page 52
<BOOLEAN> = ( 1| ON | 0 | OFF ) Returns NOTE. Statistics with array readouts cannot be combined. To store and fetch individual values in a block measurement, use the default command is OFF. CALCulate:AVERage:STATe 2-36 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 53
MAX | MIN | MEAN | SDEV | ADEV CALCulate:DATA? (Query Only) Returns data calculated in the post processing block. NOTE. Use this command to return the calculated result without making a new measurement. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-37...
Page 54
Calculate Syntax CALCulate:IMMediate CALCulate:IMMediate? Returns <Decimal data> Where: <Decimal data> is the recalculated data. Examples CALC:AVER:STAT ON;TYPES DEV;:INIT;*OPC CALCULATE:IMMEDIATE Wait for operation complete CALC:DATA? <VALUE OF STANDARD DEVIATION> CALC:AVER:TYPE MEAN CALC:IMM? <MEAN VALUE> 2-38 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 55
= ( 1 | ON | 0 | OFF ) <BOOLEAN> Returns 1 | 0 CALCulate:LIMit:CLEar (No Query Form) The command resets the instrument that reports its result using the CALCulate:LIMit:FCOunt? query. Group Calculate Syntax CALCulate:LIMit:CLEar FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-39...
Page 56
The command returns the total number of times the set lower and upper limits have been passed since the instrument was last reset by CALCulate:LIMit:CLEar or automatically by INITiate CALCulate:LIMit:CLEar:AUTO is set to ON. 2-40 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 57
The command returns the number of times the set upper limit was passed since the instrument was last reset by CALCulate:LIMit:CLEar or automatically by INITiate CALCulate:LIMit:CLEar:AUTO is set to ON. Group Calculate Syntax CALCulate:LIMit:FCOunt:UPPer? Returns <Number of counts> FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-41...
Page 58
The command returns the number of measurement results between the set lower and upper limits since the instrument was last reset by CALCulate:LIMit:CLEar or automatically by INITiate CALCulate:LIMit:CLEar:AUTO is set to ON. Group Calculate Syntax CALCulate:LIMit:PCOunt? 2-42 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 59
Arguments = ( 1/ON | 0/OFF ) <BOOLEAN> Returns 1| 0 CALCulate:MATH Defines the mathematical expression used for mathematical operations. NOTE. The data type <expression data> must be enclosed within parentheses. Group Calculate FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-43...
Page 60
Switching off mathematics, however, does not switch off the CALCulate subsystem. Group Calculate Syntax CALCulate:MATH:STATe <Boolean> CALCulate:MATH:STATe? Arguments = ( 1/ON | 0/OFF ) <BOOLEAN> Returns Examples CALCULATE:MATH:STATE This example switches on mathematics. 2-44 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 61
A - B to subtract the value in register B from AMINUSB the value in register A. selects the expression A / B to calculate the ratio of the contents in ADIVB registers A and B. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-45...
Page 62
A / B. CALCULATE:TOTALIZE:TYPE ADIVB CALibration:INTerpolator:AUTO The FCA3000, FCA3100, and MCA3000 Series are reciprocal instruments that use an interpolating technique to increase the measurement resolution. In time measurements, for example, interpolation increases the resolution from 10 ns to 0.1 ns.
Page 64
The CONFigure command controls the settings of the Input, Sense and Trigger subsystems in the instrument in order to make the best possible measurement. It also switches off any calculations with CALC:STATE OFF. 2-48 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 66
Set up the instrument for totalize on A, reset CONFIGURE:TOTALIZE[: CONTINUOUS] (@1) registers INIT:CONT ON Initiate the instrument continuously TOT:GATE ON Start totalizing FETC:ARR? -1 Read the most recent intermediate result without stopping the totalizing 2-50 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 67
Turns On/Off the updating of the screen. This can be used for security reasons or to improve the GPIB speed when the screen does not need to be updated. Group Display Syntax DISPlay:ENABle < Boolean > DISPlay:ENABle? FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-51...
Page 68
This command enables and disables expansion and execution of macros. If macros are disabled, the instrument will not recognize a macro although it is defined in the instrument. (The Enable Macro command takes a long time to execute.) Group Common 2-52 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 69
= the sum (between 0 and 255) of all bits that are true. <DEC.DATA> Table 2-29: Event status enable register (1 = enable) Weight Enables PON, Power-on occurred URQ, User Request CME, Command Error EXE, Execution Error FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-53...
Page 70
An array of measurements must first be made by the commands: INITiate, MEASure:ARRay:<MeasuringFunction>? CONFigure:ARRay: <MeasuringFunction>; READ:ARRay?. If the array size is set to a positive value, the first measurement made is the first result to be fetched. 2-54 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 71
If no new measurement was started, an error is returned. The optional SCALar means that one result is retrieved. Group Fetch FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-55...
Page 72
Arguments : Response data is sent with the MSB first and the LSB last (big-endian NORMAL order) : Response data is sent with the LSB first and the MSB last (little-endian SWAPPED order) 2-56 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 73
floating-point measured value followed by an eight-byte block containing the timestamp value expressed as a 64-bit integer (int64), the implicit unit being ps. When doing readouts in array form, with FETCh:ARRay?, READ:ARRay?, or MEASure:ARRay?, the response will consist of alternating measurement values. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-57...
Page 74
Sets the burst start delay (the time length between the burst start and the actual start of the burst measuring time). This parameter controls the point of time when a measurement sample is taken. 2-58 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 75
DBM | W The reference level 0 dBm is 1 mW in 50 Ω. Increasing the level by 3 dB means doubling the power. Decreasing the level by 3 dB means halving the power. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-59...
Page 76
Measurement time < 16 us: On is changed to Auto(Off) Measurement time > 2.5 s: Off is changed to Auto(On) External arming: On is changed to Auto(Off) An info box pops up explaining this. 2-60 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 77
The measuring function and the channels together form one <String> that must be placed within quotation marks. Table 2-31: Measuring functions and channels Measuring functions Available channels FREQuency 1|2|3|4|6 FREQuency:RATio 1|2|3,1|2|3 FREQuency:BURSt 1|2|3 FREQuency:PRF 1|2|3 NCYCles 1|2|3 FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-61...
Page 78
<Macro label> = the label of the macro for which you want to see the definition. (String data must be surrounded by or “ ”or ' ' as in the example below.) Returns <Block data> 2-62 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 79
Automatic Acquisition mode is entered, irrespective of the previous remote setting. Group Sense Syntax HF:ACQuisition[:STATe] <Boolean> HF:ACQuisition[:STATe]? Arguments <BOOLEAN> = {1 | ON} | {0 | OFF} Returns 1 | 0 FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-63...
Page 80
The trigger subsystem will continue to the other states, depending on programming. With the *RST setting, the trigger subsystem will bypass all its states and make a measurement, then return to idle state. (See page 2-23, Trigger Subsystem.) Group Initiate 2-64 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 81
1. Numeric values ≥5 or set the attenuation to 10. Returns 1.00000000000E+000|1.00000000000E+001 Examples sets the Input A attenuation to x10. INPUT:ATTENUATION 10 sets the Input B attenuation to x1. INPUT2:ATTENUATION MIN FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-65...
Page 82
= {1 | ON} | {0 | OFF} <BOOLEAN> Returns INPut{[1]|2}:FILTer:DIGital Switches on or off the digital low pass filter on input 1 (A) and/or input 2 (B). The cutoff frequency is set by the command: INPut{[1]|2}:FILTer:DIGital:FREQuency Group Input 2-66 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 83
filter to 1 Hz. sets the filter to 50 MHz. Returns <Numeric value> INPut{[1]|2}:IMPedance The impedance can be set to 50 Ω or 1 MΩ. Input Group Syntax INPut{[1]|2}:IMPedance {<Decimal data>| MAX | MIN } INPut{[1]|2}:IMPedance? FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-67...
Page 84
-50V and +50V if att = 10X. sets +5 V or +50 V and sets -5 V or -50 V, depending on the attenuator setting. Returns <Decimal data> Examples INPUT:LEVEL 0.01 INPUT2:LEVEL 2.0 2-68 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 85
The command itself does not switch on autotrigger, so if you want to set relative levels after having used absolute levels, you must also send the command INPut{[1]|2}:LEVel:AUTO, unless you have changed measurement function. Input Group FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-69...
Page 86
Input A. sets the instrument to trigger on a positive signal transition. sets the instrument to trigger on a negative signal transition. Returns POS | NEG Examples INPUT:SLOPE POS INPUT2:SLOPE NEG 2-70 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 87
The pacing parameter is not used in this case. Thus a series of consecutive frequency average measurements without dead time can be made in order to fulfil the requirements for correct calculation of Allan variance or deviation. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-71...
Page 88
FETCH:ARR? and READ:ARR? are defined for <MEASURING FUNCTION>, <PARAMETERS> <CHANNELS> each measuring function in the following table. Table 2-32: Measuring functions and parameters Measuring functions Parameters FREQuency [<expected value>[,<resolution>],][(@1|@2|@3|@4|@6)] FREQuency:BURSt [<expected value>[,<resolution>],][(@1|@2|@3)] FREQuency:POWer (@3) 2-72 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 89
For higher frequencies the average period time during the 4 μs or 8 μs observation time is stored. So, for higher frequencies the actual function is rather Period Average Back-to-Back. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-73...
Page 90
Therefore the TS values can only be used for relative time measurements. Measurement Group Syntax MEASure:ARRay:STSTamp? (<array size>)[,(@1)|(@2)] Arguments Array size is the number of TS. One TS can contain 1 or 2 numeric values depending on the state of the FORMat:TINFormation command. 2-74 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 91
TS is the time stamp value in seconds since a certain start event that is not available for external control. So the TS values can only be used for relative time measurements. Group Measurement Syntax MEASure:ARRay:TSTAmp? (<array size>)[,(@1)|(@2)] FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-75...
Page 92
<expected value> is the expected frequency, <resolution> is the required resolution. <(@{1|2|3|4|6})> is the channel to measure on, where: means input A (@1) means input B (@2) means input C (RF input option), (@3) 2-76 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 93
E (Rear panel arming input) (@4) If you omit the channel, the instrument measures on input A (@1) The prescaling factor for these channels can be set to 1 or 2 with the command FREQuency:BURSt:PREScaler[:STATe]. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-77...
Page 94
A (@1) means input B (@2) means input C (RF-input option) (@3) means input E (Rear panel arming input) (@4) If you omit the channel, the instrument measures on input A (@1) 2-78 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 95
*RST settings, except those specified as <parameters> and <channels> in the CONFigure command or query. MEASure:<MeasuringFunction>? You cannot use the query with MEASure:<MeasuringFunction>? CONFigure:TOTalize[:CONTinuous], since this function measures without stopping (continuously forever). FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-79...
Page 97
The equivalent command sequence is *RCL 1; READ?. The allowed range for <N> is 1 to 9. Use the somewhat slower MEASure:MEMory? command if you use memories 10 to 19. Group Measurement Syntax MEASure:MEMory<N>? Returns <measurement result> FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-81...
Page 98
50 percent of the signal. is the measurement channel: <(@{1|2})> means input A (@1) means input B. (@2) If you omit the channel, the instrument measures on input A. 2-82 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 99
[,<resolution>]][,<(@{1|2|3})>]] Arguments is the expected Period, <EXPECTED VALUE> is the required resolution, <RESOLUTION> is the measurement channel: <(@{1|2|3})> means input A (@1) means input B (@2) means input C (RF input option). (@3) FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-83...
Page 100
(@{1|2}) (@{1|2}) channel, means input A, means input B. (@1) (@2) If you omit the channel, the instrument measures between input A and input B. 2-84 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 101
Syntax MEASure{:RISE:TIME|:RTIM}?[ [<lower threshold> [,<upper threshold>[,<expected value>[,<resolution>]]]] [,(@1|@2)] Arguments <LOWER THRESHOLD> <UPPER THRESHOLD> <EXPECTED VALUE> are all ignored by the instrument. <RESOLUTION> is the measurement channel (input A or input B). <(@1)> <(@2) FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-85...
Page 102
MEASure[:VOLT]:MINimum? (Query Only) This command measures the negative peak voltage with the input DC coupled. Group Measurement Syntax MEASure[:VOLT]:MINimum?[ ({@1|@2})] Arguments is the measurement channel. means input A, means ({@1|@2}) (@1) (@2) input B. 2-86 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 103
A, means input (@{1|2}) (@1) (@2) MEASure[:VOLT]:PSLEwrate? (Query Only) This command measures the positive slew rate in V/s on either main input channel. Group Measurement Syntax MEASure[:VOLT]:PSLEwrate?[ (@1|@2)] FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-87...
Page 104
FLASH memory position 0-7. If no parameter is specified, a comma-separated list is returned, containing the number of samples in each of the eight FLASH memory positions 0-7. Group Memory Syntax MEMory:DATA:RECord:COUNt?[<Dataset Number>] 2-88 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 105
<Dataset Number>,<Number of Samples>|MAXimum MEMory:DATA:RECord:FETCh:STARt (No Query Form) The data pointer is set to the first sample in the Dataset entered as a number (0-7) in the command parameter <Dataset Number>. Group Memory FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-89...
Page 106
Group Memory Syntax MEMory:DATA:RECord:SAVE <Dataset Number>[,<Label>] MEMory:DATA:RECord:SETTings? (Query Only) The command returns the instrument settings used when the specified <Dataset> was saved. The format is the same as for SYSTem:SET. 2-90 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 107
The instrument responds with a value that is one greater than the maximum that can be sent as a parameter to the *SAV and *RCL commands. (States are numbered from 0 to max –1.) FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-91...
Page 108
? might return 1 to indicate that all pending OPC operations are finished. *OPC *OPT? (Query Only) Returns a list of all detectable options present in the instrument, with absent options represented by an ASCII '0'. Group Common Syntax *OPT? 2-92 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 109
The output amplitude is fixed at TTL levels into 50 Ω. OUTPut:TYPE The command controls the rear panel pulse output configuration. Group Output Syntax OUTPut:TYPE PULSe | GATE | ALARm | OFF OUTPut:TYPE? FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-93...
Page 110
Service request enable register (*SRE) Event status enable register (*ESE) Operation status enable register (:STAT:OPER:ENAB) Questionable data/signal enable register (:STAT:QUES:ENAB) Device enable registers (:STAT:DREG0:ENAB) NOTE. *RST does not affect this power-on status clear flag. 2-94 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 111
# means that <arbitrary block program data> will follow. 2 means that the two following digits will specify the length of the data block. 40 is the number of characters in this example. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-95...
Page 112
CONF:FREQ; INP:FILT ON; READ? standard frequency measurement with the 100kHz filter on. The instrument is triggered, and data from the measurement are read out with the query. READ? 2-96 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 113
10 standard measurements. The instrument is triggered and data from the first five measurements are read out with the READ? query. *RMC (No Query Form) This command removes an individual macro. Group Common FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-97...
Page 114
IEEE 488 bus. (See page C-1, Instrument Settings After *RST.) All previous commands are discarded, macros are disabled, and the instrument is prepared to start new operations. Group Common Syntax *RST Examples *RST 2-98 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 115
= a number between 2E-8 (20 ns) and 2 s, in 10 ns increments. <NUMERIC VALUE> SOURce:PULSe:WIDTh The pulse generator time parameters are activated when the output type is configured to pulse using the OUTPut:TYPE PULSe command. Group Output FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-99...
Page 116
EAV, Error Available Not used Device Status Returns , the sum of all bits that are sent. <Integer> Examples ? might return 16 to indicate that a message is available in the output queue. *SRE 2-100 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 117
<Decimal data> = the sum (between 0 and 6) of all bits that are true. See the following table. Bit number Weight Condition Enable monitoring of low limit Enable monitoring of high limit Returns <bit mask> FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-101...
Page 118
<Decimal data> = the sum (between 0 and 3953) of all bits that are true. See the following table. Bit number Weight Condition 2048 Computing statistics 1024 In limit Using internal reference Meas. stopped / Computing statistics (in compatibility mode) Waiting for bus arming 2-102 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 119
Register if the enabled event occurs. (See page 3-2, The Status Byte Register (SBR).) Power-on will clear this register if power-on clearing is enabled via *PSC. Group Status Syntax STATus:OPERation:ENABle <Decimal data> STATus:OPERation:ENABle? FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-103...
Page 120
All bits in the positive transition filters of Questionable Data and Operation status registers are 1. All bits in the negative transition filters of Questionable Data and Operation status registers are 0. Group Status Syntax STATus:PRESet 2-104 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 121
Reads out the contents of the status questionable condition register. Group Status Syntax STATus:QUEStionable:CONDition? Returns <Decimal data> = the sum (between 0 and 20324) of all bits that are true. See the following table. FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-105...
Page 122
<Decimal data> = the sum (between 0 and 20324) of all bits that are true. See the following table. Bit number Weight Condition 16384 Unexpected parameter 2048 Out of limit 1024 Measurement timeout / Out of limit (in compatibility mode) Overflow 2-106 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 123
<Integer> = the sum (between 0 and 255) of all bits that are true. See the following table. Table 2-35: Status Byte register (1 = true) Weight Name Condition Enabled operation status has occurred. Reason for requesting service FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-107...
Page 124
0 and 30. <NUMERIC VALUE> sets address 0. sets address 30. [,<Numeric value> | MAX | MIN ] sets a secondary address. This is accepted but not used in the FCA3000 Series. Returns <Numeric value> Examples SYSTEM:COMMUNICATE:GPIB:ADDRESS 12 This example sets the bus address to 12.
Page 125
This command recalls the same default settings that are entered when you push USER OPT > Save/Recall > Recall Setup > Default. Table 2-36: Differences between SYSTem:PRESet and *RST *RST SYSTem:PRESet Measurement time 200 ms 10 ms INITiate:CONTinuous state Group System FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-109...
Page 126
A pause during the reading will cause the first value read after the pause to be the first measurement finished after the latest pre-pause value was read. The second 2-110 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 127
Depending on GPIB mode and output format, a special response message is sent to the controller instead of a measurement result, and the time-out bit in the STATus:QUEStionable? register is set. Group System FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-111...
Page 128
See also SYSTem:TOUT:AUTO if you need a command dealing with unnecessarily long timeouts due to absence of input signal. Note that you must enable time-out using SYSTem:TOUT ON for this setting to take effect. 2-112 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 129
TEST:SELect Selects which internal self-tests shall be used when self-test is requested by the *TST? command. Group Test Syntax TEST:SELect {RAM | ROM | LOGic | DISPlay | ALL} TEST:SELect? FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-113...
Page 130
Subsequent TIE measurements will use this value until it is changed by sending this command once more or by sending the setting command TIError:FREQuency <Numeric value>, which will deliberately fix the frequency. Group Sense Syntax TIError:FREQuency:AUTO {ON|OFF} TIError:FREQuency:AUTO? Returns 1 | 0 2-114 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 131
<BOOLEAN> = (1 | ON | 0 | OFF) Returns <Boolean> Examples Example command sequence: - Select totalizing on inputs A & B and CONFIGURE:TOTALIZE (@1),(@2) reset registers INITIATE:CONTINUOUS ON - Initiate totalizing TOTALIZE:GATE ON FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-115...
Page 132
This also means that stop arming is disabled for the measurements inside a block. NOTE. The actual number of measurements made on each INIT equals to: (ARM:COUNT)*(TRIGGER:START:COUNT) Group Trigger Syntax TRIGger:COUNt {<Numeric value> | MIN | MAX} TRIGger:COUNt? 2-116 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 133
TRIGger:TIMer <Numeric value> | MIN | MAX TRIGger:TIMer? Arguments is a time length between 2 ms and 500 s, entered in seconds. <NUMERIC VALUE> means 2 ms. means 500 s. Returns <Numeric value> FCA3000, FCA3100, MCA3000 Series Programmer Manual 2-117...
Page 134
In this example, *WAI makes the instrument perform both the frequency and the Duty Cycle measurement. Without *WAI, only the Duty Cycle measurement would be performed. This command sequence might return +5.1204004E+002; +1.250030E-001 2-118 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Use the *ESR? query to read the SESR register. Reading the register clears the bits of the register so that the register can accumulate information about new events. Figure 3-1: The Standard Event Status Register (SESR) FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 138
GPIB controller. Master Status Summary. Obtained from *STB? query. (*STB? query) Summarizes the ESB and MAV bits in the SBR. Event Status Bit. Shows that status is enabled and present in the SESR. FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 139
The RQS bit remains set to one until either the Status Byte Register is read with a Serial Poll or the MSS bit changes back to a zero. Figure 3-4: The Service Request Enable Register (SRER) FCA3000, FCA3100, MCA3000 Series Programmer Manual...
*ESR? reads but not read from the Event Queue. Events that follow an *ESR? read are put in the Event Queue but are not available until *ESR? is used again. FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Queue (2). If the corresponding bit in the ESER is also enabled (3), then the ESB bit in the SBR is set to one (4). When output is sent to the Output Queue, the MAV bit in the SBR is set to one (5). FCA3000, FCA3100, MCA3000 Series Programmer Manual...
For example, you could use the following command sequence to take a series of fast period measurements on a signal: /** Set up for period measurement **/ FUNCTION “PERIOD 1” INPUT:LEVEL 0; :AUTO OFF; :COUPLING DC FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 143
If the corresponding status registers are enabled, the *OPC command sets the OPC bit in the Standard Event Status Register (SESR) when an operation is complete. You achieve synchronization by using this command with either a serial poll or service request handler. FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 144
FUNCTION “PERIOD 1” INPUT:LEVEL 0; :AUTO OFF; :COUPLING DC TRIGGER:COUNT 1000; :ARM COUNT 1 DISPLAY:ENABLE ON FORMAT ASCII; :TINFORMATION OFF /* Enable the status registers */ *ESE 1 *SRE 32 /** Start measurement**/ INITIATE FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 145
SESR and is controlled by the equivalent bit in the DESER. Thus, each message is associated with a specific SESR bit. In the message tables, the associated SESR bit is specified in the table title, with exceptions noted with the error message text. FCA3000, FCA3100, MCA3000 Series Programmer Manual...
A syntactic element contains a character which is invalid for that type; for example, a header containing an ampersand, SETUP&. This error might be used in place of errors –114, –121, –141, and perhaps some others. 3-10 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 147
255 digits excluding leading zeros (see IEEE-488.2, 7.7.2.4.1). –128 Numeric data not allowed A legal numeric data element was received, but the instrument does not accept it in this position for the header. FCA3000, FCA3100, MCA3000 Series Programmer Manual 3-11...
Page 148
IEEE-488.2, 7.7.6.2); for example, an END message was received before the length was satisfied. –168 Block data not allowed A legal block data element was detected but was not allowed by the instrument at this point in parsing. 3-12 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 149
The ’$’ sign was not followed by a single digit between 1 and 9. formed placeholder Macro parameter error; The macro was invoked with a different number of parameters than used parameter count mismatch in the definition. FCA3000, FCA3100, MCA3000 Series Programmer Manual 3-13...
Page 150
Data out of range; above Data above maximum for this function/ parameter. maximum Data out of range; (Save/recall A number outside 0 to 19 was specified for the save/recall memory. memory number) 3-14 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 151
–271 Macro syntax error Indicates that a syntactically correct macro program data sequence, according to IEEE-488.2 10.7.2, could not be executed due to a syntax error within the macro definition (see IEEE-488.2, 10.7.6.3) FCA3000, FCA3100, MCA3000 Series Programmer Manual 3-15...
Page 152
This code indicates that there is no room in the queue and an error occurred but was not recorded. System Query Errors The following table lists the system event messages. These messages are generated whenever certain system conditions occur. 3-16 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 153
A floating-point error occurred during a instrument operation. number’ (1)110 Invalid measurement function The instrument was requested to set a measurement function it could not make. An attempt was made to write in a protected memory. (1)120 Save/recall memory protected FCA3000, FCA3100, MCA3000 Series Programmer Manual 3-17...
Page 154
PC controller cards are known to do) (1)210 Mnemonic table error An abnormal condition occurred in connection with the mnemonics tables (generic error). 3-18 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 155
The response formatter was called with bad data for the response data. formatter (1)240 Unrecognized error number An error number was found in the error queue for which no matching error in error queue information was found. FCA3000, FCA3100, MCA3000 Series Programmer Manual 3-19...
Page 156
Status and Events 3-20 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
To be able to run these programs without modification, the address of your instrument must be set to 10. Five examples are included: Example 1: Individual Measurements Example 2: Block Measurements Example 3: Fast Measurements Example 4: USB Communication Example 5: Continuous Measurements FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 170
// check if string is one of the given set. returns // the number of matched string or -1 if no matches are found inline int CheckStr(char const *s, int nSLen, char const *Set[], int nSetSize) { 4-12 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 173
CheckMeas(double Val, CmdArgs const &Args) { return (_isnan(Val) || Val < Args.RefVal - Args.Delta || Val > Args.RefVal + Args.Delta); // check for buttonpress and exit if any inline void CheckUserCancel() { FCA3000, FCA3100, MCA3000 Series Programmer Manual 4-15...
Page 174
// For this sample program we'll just pick the first // found, if any. sprintf(Command, "USB?*INSTR{VI_ATTR_MANF_ID==0x0699 && VI_ATTR_MODEL_CODE==0x3020}"); else { // GPIB sprintf(Command, "GPIB::%d::INSTR", Args.nAddr); Status = viFindRsrc(defaultRM, Command, &fList, &numInstrs, Desc); if (Status != VI_SUCCESS) { fprintf(stderr, "Did not find instrument\n"); 4-16 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 175
( CheckMeas(Val, Args) ) { fprintf(stderr, "Bad result: %s = %g %s\n", Args.Func, Val, (Args.bPeriod ? "s" : "Hz")); sprintf(Command, "Connect a %lg Hz signal to A and try again\n", Args.RefFreq); QuitMsg(Command); FCA3000, FCA3100, MCA3000 Series Programmer Manual 4-17...
Page 176
// There is no data available at the moment. Wait a // bit with the next fetch attempt in order to avoid // swamping the instrument with useless operations // which could actually starve the measurement // handling in the instrument. Sleep(20); continue; 4-18 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 177
// the test run. if (TSVal <= PrevTSVal) { printf("Invalid timestamp, sample %lf, prev = %lf, Cur = %lf\n", (double)Count, (double)PrevTSVal * 1e-12, (double)TSVal * 1e-12); // Check for gaps in the measurement data. This will FCA3000, FCA3100, MCA3000 Series Programmer Manual 4-19...
Page 178
(double)TSVal * 1e-12); PrevTSVal = TSVal; Count++; // Display some progress. if (Count % 10000 == 0) { printf("Sample %.0lf, value %.8le, timestamp %lf\n", (double)Count, Val, (double)TSVal * 1e-12); if (Failed) { break; ReportAndQuit(); return(0); 4-20 FCA3000, FCA3100, MCA3000 Series Programmer Manual...
#14INIT in compatible mode ARM:DELay ARM:STOP:SLOPe ARM:STOP:SOURce ARM:STOP:TIMer CALCulate:AVERage:COUNt CALCulate:AVERage:STATe CALCulate:AVERage:TYPE MEAN CALCulate:DATA? Event, no * RSTcondition. CALCulate:IMMediate Event, no * RSTcondition. CALCulate:LIMit CALCulate:LIMit:CLEar:AUTO CALCulate:LIMit:LOWer CALCulate:LIMit:LOWer:STATe CALCulate:LIMit:UPPer CALCulate:LIMit:UPPer:STATe CALCulate:MATH K=1, L=0, M=1 (No calculation) CALCulate:MATH:STATe CONFigure:TOTalize[:CONTinuous] (@1),(@2) FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 184
0 (but controlled by Autotrigger since AUTO is on after * RST) INPut{[1]|2}:SLOPe ACQuisition:APERture 10 ms after *RST ACQuisition:HOFF ACQuisition:HOFF:TIME 200 μs FREQuency:POWer:UNIT FREQuency:RANGe:LOWer 100 (Hz) FUNCtion FREQuency_1 FREQuency:REGRession AUTO ROSCillator:SOURce AUTO TOTalize:GATE SYSTem:TOUT 0.1 s SYSTem:TOUT:TIME TEST:SELect TRIGger:COUNt FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Statistics State number of Samples number of Bins Pacing State Pacing Time 20 ms Mathematics Mathematics State Constants K=M=1, L=0 Limits Limit State Limit Mode RANGE Lower Limit Upper Limit Burst Sync Delay 400 μs FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 186
Smart Time Interval Meas. Time 10 ms Memory Protection (Memory 1 to 10) Not changed by *RST Auto Trig Low Freq Lim 100 Hz Timebase Reference AUTO Arm-Trig State IDLE (equivalent to sending :INIT:CONT OFF) FCA3000, FCA3100, MCA3000 Series Programmer Manual...
TRIGger AVERage IMPedance PREScaler TSTAmp BORDer INFinity PRESet TYPE BTBack INITiate UNIT BURSt INPut PSLEwrate UNPRotect INSTRument PTPeak UPPer Blockdata PULSe VOLT Boolean INTerpolator PWIDth CALCulate INVerted QUEStionable WIDTh CALibration LANGuage CENTer LAYer2 RANGe FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Page 188
Appendix D: Reserved Words FCA3000, FCA3100, MCA3000 Series Programmer Manual...
Need help?
Do you have a question about the FCA3000 and is the answer not in the manual?
Questions and answers