+086-15305925923

K-WANG

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 | 379 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).


  • Metso XZB10025-011T12 - Moog Valve 9650962700
  • Metso XZB10025-010T12 - Moog Valve 9650965300
  • Metso-SP Transmitter Cable - Operating Unit with 10m Cable
  • Harkila Metso Hybrid - Hunting Jacket Willow Green
  • Metso ND8221/S1 - Neles Valve Positioner
  • Metso METSO10119 - ScreenCheck Component
  • Metso LK-2025 - Linkage Kit
  • Metso A416733 - IQweight External Air Gap Temperature Sensor
  • Metso RKC22MT - Automation Component
  • Metso A413281 - Automation Board
  • Metso LCP9HLY - Stainless Steel Enclosure
  • Metso NP704S/B1S1 - Pneumatic Positioner with I/P Converter
  • Metso BAH3 - Slurry Seal Type
  • Metso A413531-03 - PLC Module Chassis Rack
  • Metso P4610004 - MCAI Communicator Controller
  • Metso QN2AN03HDM - Quartz Valve Positioner Stonel
  • Metso RKW-352-XZ - Automation Component
  • Metso A4300081 - Kajaani LCD Display
  • Metso A428026 7B - Kajaani Rectifier Unit 1
  • Metso 202218 - Kajaani Sensor Power Supply SR 902660
  • Metso 9150 316SS CSTL - Jamesbury 150-2" BN50 Valve
  • Metso 81806 - IOP101 Module
  • Metso STOM000272 - Paper Bushing CR38
  • Metso 1975413 - Chain Hoist Links
  • Metso IMO G053-191597 - Minor Seal Kit
  • Metso VAL0087418 - Cylinder Valmet NTS6LV
  • Metso A413061 - DMU Board VPA 420355-4B
  • Metso P2620-80/25-100 - Automation Component
  • Metso VAL0035292 - Automation Component
  • Metso A413721 - Automation Component
  • Metso ST600 - Automation Component
  • Metso P4500001 - Automation Component
  • Metso SDBX/RA2 - CAT x KVM Extender
  • Metso D201126-DI8 - Digital Input Module
  • Metso D201189L - AI8H Analog Module
  • Metso NA004418 LK1016 - Wafersphere Actuator Mounting Bracket
  • Metso RKN172MTT - Repair Kit
  • Metso MM0311584 - Air Filter Kit RadialSeal
  • Metso 181517 - IOP301 Isolated Analog Input Module
  • Metso RAU3906506 - Automation Component
  • Metso 181208 - IOP332 Digital Input Module
  • Metso A413760 - AIF2C PCB Module
  • Metso 006 1089 36 - Shaft Bearing Seal
  • Metso A413046 - Automation Component
  • Metso VKJ650 - Automation Brake Component
  • Metso LK-1875 - Linkage Kit
  • Metso D201193L - FI4S24 Frequency Input Module
  • Metso D200533 - BIU82 Binary Input Module
  • Metso 500838-M1 - Impeller Pump Release Collar Assembly
  • Metso 2.00SB2ALUS19A - Pneumatic Cylinder 1.375 Stroke
  • Metso D201351 - RES Reserve Module
  • Metso A416100 - IQMoisture Spare Part Kit Halogen Lamp
  • Metso Slurry Pump - Back Liner
  • Metso 7088010042 - Bronze Lantern Ring
  • Metso IMC-101-M-SC - Industrial Media Converter
  • Voith S1-S1-CAM-ENCL - Metso Pump Cmare Housing & Bracket
  • Metso A4430726V1.1 - Kajaani Connection Box CI 4-9-10
  • Metso A413016 - NCU2 PLC Board
  • Metso D202213P - MBMT80 Base
  • Metso A413135 - AOU-4 Analog Output Board
  • Metso NP 724A - Pneumatic Valve Positioner
  • Metso A413246 - Automation Controller Module
  • Konaflex VKJ-650 - Disc Brake Set Pair
  • Metso WIN3096535D - Core Chuck
  • Metso D201380 - MBR Base with IBC & IPS
  • Metso D202213L - MBMT80 Base Module
  • Metso 181571 - IOP337 PLC Module
  • Metso MF0588336 - Main Hydraulic Filter
  • Metso 181504 - IOP303 RTD Input Module
  • Metso A413240 - PIC2 Board
  • TRICONEX 2211 Baseplate for 3211 I/O Module Triconex System Component
  • TRICONEX CM3201 Communication Module Industrial Control System
  • ABB 560CMR01 Communication Module RTU560 Control Unit
  • Metso 1NWH155 - Ethernet Hub
  • Metso T22PO 103913968 - Sampler Valve (LF02C)
  • Metso EDS-516A-MM-SC - Ethernet Device Switch
  • Metso MC4-16-4 - Brass Rotary Oscillator Drive
  • Metso XT03CWTAS6SJHA - 3" Ball Valve Assembly
  • Metso 181226 - Digital Input Module
  • Metso RAU4E62037 - Valmet Posieve Plus Measuring Head
  • Metso VT-223779/2 - Sealing Housing SD42"B
  • Metso J2029 010 10722 - Circuit Board
  • Metso D202038-ACN-PO - Automation Component
  • Metso NE724/S1-CE01 - Electro-pneumatic Valve Positioner
  • Metso M851004 - CPU Module T194-v0
  • Metso Trucker Hat - Finland Golf Ball Cap
  • Metso DN6-50 - Jamesbury 1/4" Valve
  • Metso B1CU6/20L - Pneumatic Actuator
  • Metso B1CU6/25L - Pneumatic Actuator
  • Metso A416040-09 - Power Rating Unit 28 VDC
  • Metso A4300018B - Central Unit Communication Interface
  • Metso ND9106HN/K05 - Intelligent Valve Controller
  • Metso D200537 BOU83 - Binary Output Model 02
  • Metso A413111 TIU61 - Temperature Input Unit Board
  • Jamesbury 730S313600XTZ2 - 1" Flanged SS Ball Valve
  • Metso HG4A12SH0 - Pressure Transmitter with Coupling
  • Metso A413146 BIU 4 - Binary Input Module
  • Metso DDC7940-D201139 - Controller Module
  • Metso Square Flange - Discharge Flange for Slurry Pump
  • Metso A413177 - Automation Board
  • Metso BOU82 D200536 - Binary Output Module
  • Metso D200619 - Personality Module
  • Metso RKN50MT - Actuator Repair Kit
  • Metso IOP335 - Counter Timer Module
  • Valmet IOP341R 181560 - Positioner Module
  • Metso A413150 - Power Module
  • Metso RKN-184XTZ - Actuator Repair Kit
  • Metso Flinger Seal - Slurry Pump Component
  • Metso Smart-Pulp M2 - Flow Transmitter 24v-dc
  • Metso S420154 - Automation Rack
  • Metso MM0317187 - Efector Kit
  • Metso TCU (MCA) - Consistency Transmitter Analyzer
  • Metso K7504-E - Crusher Pull Back Rod And Nut
  • Metso M2DA02AP - Stainless Flanged Ball Valve 2in
  • Metso vpvl350sr4/5bd - ValvPowr Actuator with ASCO 8551 Valve
  • Metso A413115 TCU41 - Consistency Controller Board
  • Metso D100226 BIC12 - Circuit Board
  • Metso PDWB031 - Bearing Assembly
  • Metso D200532 BIU8 - Binary Input Unit
  • Metso QPXC2/K20C - Spring Diaphragm Actuator
  • Metso PN8504 - Efector Pressure Kit
  • Valmet A413331 SPU - Power Supply Module
  • Metso EDS-518A-MM-SC - Ethernet Switch
  • Metso LK865 - Valve Actuator Mounting Kit
  • Metso LK-909 - Valve Actuator Mounting Kit
  • Metso Z6287570990 - Seal Kit 4501622310
  • Kajaani U4300115A - VME CPU Board Central Unit
  • Metso PO Node - Controller Module