任意函数发生器AFG作为电子工程师常用的测试测量仪器之一,说到任意函数发生器,我们都知道它可以用来输出各种实验室测试所需要的波形。广泛用于研究、时钟和系统同步、复现真实环境信号、元器件和电路表征和验证、嵌入式电路设计和测试等。
大多数电子器件、电路和系统都是为处理某种形式的信号设计的。这些信号有时很简单,有时很复杂,AFG可以既可以创建简单信号,也可以产生复杂信号。任意函数发生器AFG内置正弦波、方波、锯齿波、脉冲、噪声等常用基本波形;AFG更重要的功能就是可以任意编辑波形,如何实现快捷编写编辑任意波形自动发送到AFG中?
另外,有些特殊场合,由于安全问题,需要把函数发生器AFG放到封闭实验室环境下进行测试,也需要编程控制AFG输出信号安全地完成测试任务。
实现对任意函数发生器AFG的自动输出基本波形和任意波形,成为很多前沿科学研究和实验,以及生产自动化的必需环节。
由于Python免费、开源、语法简单、开发效率高,深受广大工程师的喜爱。下面将以文章和视频的方式详细讲解如何利用Python语言编程控制泰克的AFG输出基本波形,以及编辑任意波形数据自动发送到AFG内存中,让任意函数发生器AFG输出信号随心所欲。
1、AFG编程前的准备工作
利用Python控制仪器,需要安装相应的功能模块库才能实现控制仪器。下面介绍Python编程之前的准备工作。
1.安装Python
可登录Python官方网站www.python.org下载Python,然后安装Python 3.10.4新版。
2. 安装PyVISA
PyVISA是用来控制各种测量仪器的Python包,可支持GPIB、RS232、USB、Ethernet等接口。可以自由的运行在Windows,Linux和Mac上,适用于不同仪器厂家。PyVISA也可以通过pip命令安装(pip install pyvisa)。
3.安装NI-VISA
为了PyVISA可靠工作,还需要安装一个VISA。建议安装NI-VISA库,可以去NI官方网站下载安装(http://www.ni.com)。
4.控制接口的选择
根据AFG支持的接口,可选用USB、Ethernet等接口来编程控制AFG,本文利用Python通过USB口编程控制任意函数发生器AFG为例。
控制接口的选取
a. LAN
[TCPIP0::192.168.9.13::inst0::INSTR]
b. USB
[USB::XXX::XXX::XXX::INSTR],
如: [USB::0x0699::0x035E::C014327::INSTR]
2、Python编程控制AFG实例
下面的编程实例以AFG31000为例,利用Python控制任意函数发生器AFG,通过发送SCPI指令实现对AFG的控制和操作,设置AFG输出波形类型、输出频率、输出幅度等参数;也可以编写任意波形数据自动发送到AFG内存中,让任意函数发生器AFG输出测试所需的任意信号。
1.导入功能库
利用import导入相关的功能库。
2.连接AFG
AFG可以支持USB和Ethernet等接口,本文利用USB口控制AFG为例。
3.询问AFG IDN
利用query发送SCPI命令询问AFG的产品信息,可以得到产品的厂家、型号、序列号、固件版本等。
4.设置AFG输出基本波形
利用Wrtie发送SCPI命令设置的参数,命令可参考AFG的编程手册。
Reset 任意函数发生器
设置AFG输出基本波形类型和参数
5.编写自定义的任意波形数据
先用python编写自定义的任意波形数据,本文编写随机波形数据为例。
6.自动发送自定义数据到AFG
由于AFG是14bit,把编写自定义的波形数据进行归一化到0至16382,然后发送到AFG的通道内存中并输出。
归一化数据
发送数据到AFG通道内存
7.设置AFG输出的重复频率
设置AFG输出信号的重复频率和打开输出通道。
8.断开仪器连接
利用close断开与AFG通信连接。
3、总结
本文详细介绍利用Python编程控制AFG输出基本波形,以及编辑任意波形数据自动发送到AFG内存中,让任意函数发生器AFG输出信号随心所欲。