新闻资讯
您当前的位置 : 首 页 > 新闻资讯 > 技术资讯

Python编程控制任意函数发生器

2022-09-13 10:37:05

    任意函数发生器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 任意函数发生器


0 (1).png


     设置AFG输出基本波形类型和参数


函数发生器代理商



5.编写自定义的任意波形数据


     先用python编写自定义的任意波形数据,本文编写随机波形数据为例。


0.png


6.自动发送自定义数据到AFG


     由于AFG是14bit,把编写自定义的波形数据进行归一化到0至16382,然后发送到AFG的通道内存中并输出。

     归一化数据


函数发生器特点


      发送数据到AFG通道内存


函数发生器价格


7.设置AFG输出的重复频率


     设置AFG输出信号的重复频率和打开输出通道。


0 (10).png



8.断开仪器连接


    利用close断开与AFG通信连接。


0 (11).png


3、总结

     本文详细介绍利用Python编程控制AFG输出基本波形,以及编辑任意波形数据自动发送到AFG内存中,让任意函数发生器AFG输出信号随心所欲。


近期浏览: