K-WANG

+086-15305925923
Service expert in industrial control field!
NameDescriptionContent
Adequate Inventory, Timely Service
pursuit of excellence 
Ship control system
Equipment control system
Power monitoring system
Current position:
新闻动态
newS
   
Brand

Tektronix AFG1022 Function Generator

From: | Author:Wang | Time :2025-11-21 | 471 visit: | 🔊 Click to read aloud ❚❚ | Share:



Tektronix AFG1022 Function Generator

Basic Information

Tektronix has released an official programming guide for the AFG1022 dual channel function generator, with the core goal of guiding users to achieve instrument automation control through SCPI (Standard Commands for Programmable Instruments), suitable for engineers who need to integrate AFG1022 into testing systems such as production line testing and laboratory automation.

Product core parameters: 2 independent channels, with a maximum bandwidth of 120MHz per channel, supporting 11 waveforms including sine wave, square wave, pulse wave, etc;

Supporting interfaces: GPIB (compliant with IEEE 488.2 standard), USB-TMC (USB 2.0 High Speed, compatible with USBTMC protocol);

Software compatibility: Supports mainstream VISA libraries such as TekVISA and NI-VISA, and can be called through programming languages such as Python, C #, LabVIEW, etc;

Document structure: Organized according to the sequence of "Command Fundamentals ->Function Control ->Interface Configuration ->Error Handling ->Appendix", containing a large number of command examples and code snippets.


SCPI Command Fundamentals (Programming Control Premiere)

1. Command structure and syntax rules

The SCPI command of AFG1022 adopts a hierarchical structure, separated by colons (:) to facilitate functional classification and memory. The core rules are as follows:

Example of Specific Explanation of Rule Categories

Hierarchical structure root command (e.g. SOURce)+sub command (e.g. FREQuency), channels can be omitted (default channel 1) Control channel 1 frequency: SOURce: FREQ 1000 (or SOURce: FREQ 1000); Control channel 2: SOURce2: FREQ 2000

Case sensitivity commands are not case sensitive, and parameter enumeration (such as ON/OFF) is also not sensitive: SOURce: WAVEform SIN is equivalent to: source: Waveform sin

The space rule allows for the addition of spaces between commands and parameters, as well as between parameters, without affecting parsing. SOURce: FREQ 1000 is equivalent to SOURce: FREQ 1000

The abbreviation rule command can use the first 3 characters for abbreviation (some commands support longer abbreviations): SOURce can be abbreviated as: SOU,: FREQuency can be abbreviated as: FRE

2. Command types and data formats

Command type:

Set command: used to configure instrument parameters, in the format of "command+parameter", with no return value;

Example: SOURce: VOLTage: AMPity 5 (set channel 1 amplitude to 5Vpp).

Query command: used to read the current parameters of the instrument, in the format of "command+question mark (?)", and return the corresponding value;

Example: SOURce: VOLTage: AMPlity? (Query the current amplitude of channel 1 and return "5.000000e+00").

Data format:

Example of Data Type Format Requirements

Numerical type supports integer (1000), decimal (1.234), Scientific notation (1e6) frequency setting: SOURCE: FREQ 1.234e6 (1.234MHz)

String type needs to be enclosed in double quotation marks ("), supporting letters, numbers, and special characters. Save settings: SYSTem: SETup: SAVE" MY_STUP1“

Enumeration type predefined options that require strict matching (case insensitive) waveform selection: SOURce: WAVEform SQUare, SOURce: WAVEform TRIangle

Core functional programming control (divided by functional modules)

1. Basic waveform generation and parameter control

AFG1022 supports 11 standard waveforms, and can select waveform types and configure core parameters (frequency, amplitude, DC offset, etc.) through SCPI commands. The parameter range and corresponding commands are as follows:

Function module core parameter range control command (channel 1 as an example) query command

11 types of waveform selection, including sine wave (SINusoid), square wave (SQUare), pulse wave (PULSe), etc.: SOURCE: WAVEform SINusoid: SOURCE: WAVEform?

Frequency setting output frequency: 0.1Hz~120MHz (sine wave/square wave); 0.1Hz~10MHz (pulse wave): SOURce: FREQuency 1000 (1kHz): SOURce: FREQuency?

Amplitude setting peak to peak amplitude of 10mVpp~20Vpp (50 Ω load); 20mVpp~40Vpp (high impedance load): SOURce: VOLTage: AMPlity 5 (5Vpp): SOURce: VOLTage: AMPlity?

DC offset DC offset voltage ± 10V (50 Ω load); ± 20V (high impedance load): SOURce: VOLTage: OFFset 2 (+2V): SOURce: VOLTage: OFFset?

Square wave duty cycle, such as wave height to level ratio of 10% to 90% (frequency ≤ 10MHz): SOURce: PULSe: DCYCle 50 (50%): SOURce: PULSe: DCYCle?

2. Advanced Function Control

(1) Modulation function (AM/FM/PM)

Support amplitude modulation (AM), frequency modulation (FM), phase modulation (PM), configurable modulation source (internal/external), modulation depth and other parameters:

Enable modulation: SOURce: MOD: STATe ON;

Select modulation type: SOURce: MOD: TYPE AM (AM modulation);

Configure internal modulation source frequency: SOURce: MOD: INTernal: FREQ 100 (100Hz modulation signal);

Configure AM modulation depth: SOURce: MOD: AM: DEPTh 50 (50% modulation depth).

(2) Trigger and synchronization

Supports internal triggering (continuous output), external triggering (controlled by external signals), and software triggering, suitable for synchronous multi device testing:

Select trigger source: TRIGger: SURce EXTernal (external trigger, trigger signal connected to TRIG IN interface of Rear panel);

Set trigger edge: TRIGger: EDGE RISING (rising edge trigger);

Execute software trigger: TRIGger: IMMediate (immediately trigger output once);

Trigger delay: TRIGger: DELay 0.1 (output delayed by 0.1 seconds after triggering).

(3) Setting up storage and calling

The current instrument configuration (waveform, parameters, modulation, etc.) can be saved to the internal storage area (supporting 10 user settings), and can be directly called later:

Save settings: SYSTem: SETup: SAVE "SET1", 1 (Save current settings as "SET1", Store location 1);

Call settings: SYSTem: SETup: LOAD 1 (setting to call storage location 1);

Delete setting: SYSTem: SETup: DELETE 1 (delete storage location 1 setting).

3. Multi channel control (AFG1022 has 2 channels)

Two channels are independently controllable, and channel 2 can be distinguished by adding 2 in the command. The example is as follows:

Channel 2 waveform selection: SOURce2: WAVEform TRIangle (Channel 2 outputs triangular waves);

Channel 2 frequency setting: SOURce2: FREQ 2000 (channel 2 frequency 2kHz);

Channel synchronization: SOURce: SYNC: STATe ON (synchronizes channel 2 with channel 1 in phase).


Interface configuration and communication implementation

1. Supported communication interfaces

AFG1022 provides two programming interfaces to meet different testing system requirements:

Advantages of Interface Type Standard Protocol Hardware Requirements

GPIB IEEE 488.2 requires GPIB cards (such as NI GPIB-US-HS) with strong anti-interference capabilities, suitable for industrial environments

USB-TMC USB 2.0 High Speed+USBTMC standard USB cable (A-B type) plug and play, no additional hardware required

2. Communication parameter configuration

GPIB interface: default address is 22, baud rate is 115200, data bit is 8, stop bit is 1, checksum is None; The address can be modified by the command: SYSTem: GPIB: DDRess 23 (set to 23).

USB-TMC interface: No manual parameter configuration is required, the system automatically recognizes it as a "USBTMC device" and can be directly connected through the VISA library (the resource name is usually USB0:: 0x0699:: 0x0368: C012345:: 0:: INSTR).

3. Typical Communication Example (Python+pyvisa)

Taking "Generate 1kHz sine wave and query amplitude" as an example, the steps are as follows:

Install dependency library: pip install pyvisa pyvisa py;

Write code:

python

Import pyvisa # Import VISA library

# 1. Initialize Resource Manager

rm = pyvisa.ResourceManager()

# 2. Connect AFG1022 (resource name can be queried through rm.list_desources())

afg = rm.open_resource("USB0::0x0699::0x0368::C012345::0::INSTR")

# 3. Send command: Channel 1 outputs a 1kHz sine wave with an amplitude of 5Vpp

Afg.write ("SOURce: WAVEform SINusoid") # Select sine wave

Afg.write ("SOURce: FREQuency 1000") # Frequency 1kHz

Afg.write ("SOURce: VOLTage: AMPlity 5") # amplitude 5Vpp

Afg. write (": OUTPut: STATe ON") # Enable output

# 4. Query the current amplitude

amplitude = afg.query(":SOURce:VOLTage:AMPlitude?")

Print (f "Current amplitude: {amplitude} Vpp")

# 5. Close connection

afg.close()

rm.close()

Generating


Error handling and debugging

1. Error code query and parsing

When the instrument executes a command error (such as parameter out of range, syntax error), an error code will be recorded, which can be queried and located through the command:

Query error: SYSTem: ERRor? (Return format: -221, "Parameter out of range");

Common error code parsing:

Error code, error description, possible causes, and solutions

-221 Parameter out of range Check if the parameter is within the specified range (e.g. frequency ≤ 120MHz)

-102 Syntax error command syntax error check command spelling (e.g. SOURce: FREQ mistakenly written as SOURce: FRE)

-256 Calibration required: The instrument has not been calibrated and the accuracy of the parameters cannot be guaranteed. Execute the calibration command (SYSTem: CALibrate) or contact after-sales service

0 No error command executed successfully-

2. Status Register and Status Query

By reading the status register, the current working status of the instrument can be obtained (such as whether it is outputting or triggering):

Operation status query: Status: Operation: CONDition? (Return 1 indicates normal operation, 0 indicates standby);

Event status query:: Status: EVENT: CONDition? (Return the event status code, such as 8 indicating trigger completion).

3. Debugging tools

Command echo: When enabled: SYSTem: ECHO ON, the instrument will return the received command for confirmation of whether the command was sent correctly;

Grammar check: Before sending a command, you can check the syntax using the command SYSTem: HECK: CMD (e.g. SYSTem: HECK: CMD ": SOURce: FREQ 1000");

Timeout setting: Set a timeout in the VISA library (recommended ≥ 1000ms) to avoid communication interruption caused by long command execution time (such as afg. timeout=2000).


Appendix Resources

Command index: a complete list of commands classified by "Source", "Trigger", and "System", including parameter descriptions and examples;

Example program: In addition to Python, it also provides control examples for C # and LabVIEW, covering scenarios such as waveform generation, modulation, and triggering;

VISA library compatibility: It explicitly supports TekVISA 4.0+and NI-VISA 5.0+, and it is not recommended to use older versions;

Firmware version description: Command differences between different firmware versions (such as some advanced commands requiring firmware ≥ 1.5.0).


  • ADLINK CPCI-6860A - 51-31310-OB10 industrial motherboard CompactPCI SBC
  • ADLINK AmITX-SL-G-H110 - 51-7A104-0A30 Mini-ITX Industrial Motherboard
  • ADLINK PXI-2005-003 - CPCI Industrial PC Data Acquisition Card Multi-Function DAQ
  • ADLINK DININ-814M - 51-14032-0A3D SCSI-100P cable connection Interface Terminal Board
  • ADLINK CPCI-3920NA/C2D15/M1G - 3U CompactPCI Intel Core 2 Duo Single Board Computer
  • ADLINK PCIE-8560 - 51-18014-0A20 Communication Card High Speed DAQ
  • ADLINK PCI-C154+ - Motion Control Card 4-axis Motion Controller Board
  • ADLINK PCI-RTV24 - image capture card Analog Video Frame Grabber
  • ADLINK NuPRO-842LV/P - 51-41360-0B30 Industrial Motherboard CPU Board
  • ADLINK cBP-3208/3208R - CPCI Board 3U 8-Slot CompactPCI Backplane
  • ADLINK PCI-8164 - 4-Axis Motion Controller PCI Card 51-12406-0A40
  • ADLINK PCIe-GIE64+ - 4-CH GigE Vision PoE+ Frame Grabber Video Capture Card
  • ADLINK CPCI-6860 / 6860A - CompactPCI Dual Xeon Single Board Computer
  • ADLINK IEC-915GV - REV 1.1 Industrial motherboard CPU Board
  • ADLINK ND-6520 - Technology RS-232 to RS-422RS-485 Converter NuDAM Module
  • ADLINK RTV-24 / PCI-MP4S - 51-12519-1C30 4-Channel Real Time Video Capture Board
  • ADLINK cPCI-6910 / cPCI-6910AM/M1G - cPCI-6910AM/DXL16/M1G/S80G(G)-3120 BOARD CompactPCI SBC
  • ADLINK NUPRO-A40H - Linghua 51-41807-1A30 Industrial Control Computer Motherboard
  • ADLINK USB-3488A - USB to GPIB INTERFACE USB-3488A(G) Controller Module
  • ADLINK PCI-8134A - motion control card 4-Axis Controller Card
  • ADLINK PCI-7432 - Board 32-Channel input / 32-output Isolated Digital I/O PCI Card
  • ADLINK PCI-8134A - 51-12421-0A10 motion controller card tested
  • ADLINK LPCIe-7230 - 32 CH Isolated Input/output Card 2 Interrupts Low Profile PCIe
  • ADLINK NuPRO-E340 - industrial computer motherboard 51-47807-0A30 PICMG 1.3 SHB
  • ADLINK PCI-7434 - High-speed Digital Acquisition Card 64-CH Isolated DO Card
  • ADLINK NuPRO-E330 - 51-41805-0A20 Indsutrial Board SHB Single Board Computer
  • ADLINK PCI-7248 - OPTO-22 48 CHANNEL DIO DIGITAL TTL/DTL I/O 51-12006-0A40 GP
  • ADLINK PCI-8134 - Motion control card 4-Axis Controller Card
  • ADLINK AMP-208C - Movimiento Control Tarjeta 51-12420-1A20 W/Expansión & Breakout
  • ADLINK PCI-8164 - 51-12406-0A40 PCB Board 4-Axis Motion Controller Card
  • ADLINK DIN-68Y-SGII / DIN-68M-J3A - Terminal Board Connector Interface Block
  • ADLINK PCIe-7432 - Technology 51-18402-0A10 PCIe Card With High Input Range
  • ADLINK PCI-8144 / PCI-8144N - Motion control card 4-Axis Stepper Controller Card
  • ADLINK HSL-HUB3/REPEATER - HIGH SPEED LINK EXTENSION MODULES Distributed Hub Module
  • ADLINK ND-6017 - Data Logging + Acquisition 8CH A/D input Mod NuDAM Module
  • ADLINK LPCIe-7250 - data acquisition card Low Profile 8-CH Relay Output Card
  • ADLINK PCI-7432 - I/O card 64-CH Isolated Digital Input Output PCI Card
  • ADLINK IMB-M43H - industrial control computer motherboard Q87 Chip Micro-ATX
  • ADLINK MP-C154 - Motion control Card 4-Axis Motion Controller Board
  • ADLINK PCI-RTV24 - image capture card Video Frame Grabber Card
  • ADLINK PCI-7250 - 8-CH Relay Output & 8-CH Isolated DI Card
  • ADLINK PCI-6308V - 8-CH 12-Bit Isolated Analog Output PCI Card PCB-I-E-1148=6EX2
  • ADLINK PCI-7248 - capture card 48-CH Opto-22 Compatible DIO Card
  • ADLINK HSL-AI16A02-M-VV - Analog Input Output Distributed Module
  • ADLINK NuPRO-A301 - Rev:1.4 NUPRO-A301 PICMG Full-Size Single Board Computer
  • ADLINK PCI-6208V-GL - 8-CH Voltage Analog Output PCI Card
  • ADLINK PCI-8134A - 51-12421-0A10 4-Axis Motion Controller Card
  • ADLINK MNET-S23 - TECHNOLOGY MNET S23 - SERVO DRIVER CONTROL MODULE
  • ADLINK M-342 - ATX I3 I5 I7 Q67 Industrial Motherboard
  • ADLINK NUPRO-780 - Industrial Motherboard CPU Board PICMG SBC
  • ADLINK MP-C154 / MP-C152 - 4-Axis Motion Control Card Pulse-Train Controller
  • ADLINK NuPRO-935A/LV10B0 - Motherboard 51-41802-0A10 GP w/RAM Industrial Control Board
  • ADLINK MP-C154 - Motion control card 4-Axis Motion Controller Mainboard
  • ADLINK PCI-7250 - PCI Acquisition Card 8-CH Relay Output Isolated DI Card
  • ADLINK ACL-7124 - Technology Inc.24 DIO Card Digital Input Output Card
  • ADLINK PCI-8554 A2 - Timer/Counter Data Acquisition Card
  • ADLINK DIN-825-GP4 - Terminal Block Interface Board Breakout Module
  • ADLINK NuPR0-761 - REV:1.1 Industrial motherboard Full-Size PICMG SBC
  • ADLINK MXE-1401/M8G (G) - Matrix Fanless Embedded Computer Industrial PC
  • ADLINK HSL-DI16DO16-UD-NN - Digital 16 Channel I/O Mod Distributed I/O Module
  • ADLINK ND6520 - NUDAM INTELLIGENT DA&C MODULE RS232-RS-422/RS485 CONVERTOR
  • ADLINK NUPRO-761 - REV:1.1 Industrial Motherboard CPU Board
  • ADLINK AMP-208C - Motion Control Card 51-12420-1A20 DSP-based 8-axis
  • ADLINK NuPRO-A301REV 1.4 - with packaging industrial computer motherboard PICMG SBC
  • ADLINK PCM-9112+ - 51-12300-0A2 industrial motherboard Multi-Function DAQ PC/104 Module
  • ADLINK PCM-7250+ - 8-CH Relay Outputs & 8-CH Isolated DI Module PC/104
  • ADLINK PCI-RTV24 - Image capture card Analog Video Frame Grabber
  • ADLINK PCI-8134 - Motion Controller PCI Card 4-Axis Controller Board
  • ADLINK PCI-7432 - Isolated Digital I/O PCI Card
  • ADLINK PCI-8554 A2 - acquisition card Timer/Counter Card
  • ADLINK PCI-8132 - Rev.A2 2-Axis Servo & Stepper Motion Controller Card
  • ADLINK PCI-8132 - Data Acquisition card 2-Axis Motion Controller Card
  • ADLINK EBP-13E4 - 51-46703-0A30 Industrial Backplane Board Passive Backplane
  • ADLINK PCI-800L - Electronic Card Interface Controller Card
  • ADLINK PCIe-GIE72 - 51-18531-0A10 PCB Board GigE Vision Frame Grabber
  • ADLINK DAQ-2010(G)-OOBO - Simultaneous-Sampling Multi-Function DAQ Card
  • ADLINK PCI-9112 - REV.B1 Multifunction DAQ Card Data Acquisition Card
  • ADLINK PCI-7230 - 51-12003-DA60 32-CH Isolated Digital I/O Card
  • ADLINK PCI-7432 - Data Acquisition Card Isolated Digital I/O PCI Card
  • ADLINK ETX-AT-N270-18/LXE - 51-71111-0A20 ETX CPU Module Motherboard
  • ADLINK HSL-DI32-UD-N - DIGITAL INPUT 32 POINTS MODULE Distributed I/O
  • ADLINK AMP-204C - Motion Control card DSP-Based 4-Axis Advanced Controller
  • ADLINK MNET-4XMOG-0050 - Four-axis Motion Controller Distributed Motion Module
  • ADLINK AMP-204C - Motion control card DSP-Based 4-Axis Pulse-Train Controller
  • ADLINK PCI-7442 - Switch card 64-Channel Datalogging & Acquisition Card
  • ADLINK M-302 - Industrial control motherboard ATX PC Board
  • ADLINK NUPRO-852 / NUPRO-852LV - Industrial motherboard Single Board Computer
  • ADLINK PCI-8134 - REV.B1. 4-Axis Motion Controller Card
  • ADLINK PCI-GIE62 + - 51-18502-0A20 2-CH GigE Vision Frame Grabber PoE Card
  • ADLINK PCI-MPG24 - 51-12523-0B20 MPEG4 Card Video Compression Hardware
  • ADLINK HSL-TB32-M-DIN - 32-CH I/O TERMINAL W/ HSL-AI16AO2-M-VV MODULE
  • ADLINK PCI-M114-GL - PCB Ver 2.1 Motion Controller Axis Card
  • ADLINK IMB-M40H - SYM76996H61 motherboard Industrial Computer Mainboard
  • ADLINK NUPRO-A40H - 51-41807-1A20 industrial control motherboard H61 Chip
  • ADLINK PCI-M114-GL - Axis Card Data Acquisition Card PCB VER2.2 Motion Controller
  • ADLINK PCI-8134 - Motion Controller PCI Card 4-Axis Controller Board
  • ADLINK PCI-8102 - Motion control card 2-Axis Servo & Stepper Controller
  • ADLINK NuPRO-841REV:3.0 - motherboard Industrial Control PC Board
  • ADLINK HSL-TB32-U-DIN REV A1 - Breakout Terminal Board Field I/O Module
  • ADLINK AMP-204C - Motion Control card DSP-Based 4-Axis Pulse-Train Controller
  • ADLINK NUPRO-A40H - 51-41807-1A20 industrial control motherboard H61 PC Board
  • ADLINK PCI-6308A / PCI-6308V - 51-12202-0A50 Isolated Analog Output Card
  • ADLINK AMP-204C - DSP-Based 4-Axis Advanced Pulse-Train Motion Controller
  • ADLINK PCI-7434 - Technology 64-Channel Isolated Digital I/O PCI Cards
  • ADLINK CPCI-6840 / CPCI-6840V / PM16/M1G-12G0 - CompactPCI Single Board Computer CPU Module
  • ADLINK PCIE-GIE74 - Motherboard Video Capture Card 51-18531-0A10 Frame Grabber
  • ADLINK NuPRO-E330 - industrial computer equipment motherboard Control Mainboard
  • ADLINK AMP-208C / 51-12420-1A20 - Motion Control Card W/ Expansion & Breakout Board
  • ADLINK HPCI-14S12U - industrial computer baseboard Passive Backplane 14 Slots
  • ADLINK PCI-8164 - 4-Axis Motion Controller PCI Card W/ 1x Cable, 1x Breakout Box
  • ADLINK PCIe-RTV24 - 51-18016-0A20 Image Acquisition Video Capture Card
  • ADLINK M-342 - 5 PCI ATX Motherboard Industrial PC Mainboard
  • ADLINK PCI-FIW64 - 4/2 Channel IEEE1394B Image Capture Card FireWire Frame Grabber
  • ADLINK PCI-7432 - digital IO card 64-CH Isolated Digital Input Output Card
  • ADLINK 51-12001-0C20 - Circuit Board PCI-7200 Data Acquisition Controller Card
  • ADLINK PXI-3920 - PXI 3U cPCI Industrial Controller Embedded System CPU Board
  • ADLINK NuPRO-841REV:2.0 - motherboard Industrial Control PC Board
  • ADLINK NuPro-E330 - 51-41805-0A20 PCB Industrial Control Computer Motherboard
  • ADLINK PCI-RTV24 - Image capture card Analog Video Frame Grabber
  • ADLINK PCI-7442 - Switch card 64-Channel Datalogging & Acquisition Card
  • ADLINK HPX-13S4 - device baseboard Passive Backplane Riser Card
  • ADLINK PCI-9112 REV A.1 - Multi Function DA&C Board Data Acquisition Card
  • ADLINK PCI-7248 - 51-12006-0A40 Card Control 48-CH Digital I/O Module
  • ADLINK CPCI-6860 / 6860A - motherboard CompactPCI Dual Xeon Single Board Computer
  • ADLINK DPAC-3020-11(G) - Embedded PC Automation Controller Machine Control Board
  • ADLINK NuPRO-841 REV:1.0 - industrial control motherboard CPU Board
  • ADLINK MNET-4XMOG-0050 - Four-axis Motion Controller MNET Motion Control Card
  • ADLINK ETX-AT-N270-18/LXE - 51-71111-0A20 ETX CPU Module Motherboard