• 数据采集 DAQ

  • 全系列产品自主研发 • 核心技术自主可控

SCPI,和数据采集卡碰撞出的火花

发布时间:2026-09-22人气:17


在自动化测试场景下,通常需要借助 IO 设备、仪器等硬件自动采集各类物理信号。与硬件交互获取物理信号主要有两种实现方式:调用设备私有驱动,或基于通信协议完成交互。


在测试测量领域,对应的典型硬件分为数据采集卡与仪器仪表两类:数据采集卡大多采用厂商提供的私有驱动 API 进行控制(以DLL形式);仪器仪表则普遍使用标准 SCPI 指令完成操作。


针对上述使用需求,我们对 BusDAQ 固件做了定制化改造,同时支持两种工作模式:

1)    使用“私有”驱动库,进行二次开发;

2)    通过SCPI命令,免“驱”采集数据;


BusDAQ采集卡,原生兼容 SCPI 指令集后,与私有驱动API并行,同时满足标准化快速集成深度定制开发两类需求。


模式一:使用“私有”驱动库,进行二次开发


如需要对BusDAQ数据采集卡进行二次开发,可使用LabVIEW、C#、Python、Matlab、C/C++以及Java六种编程语言。

图片11.jpg


以LabVIEW为例,我们参考NI-DAQmx驱动的数据流,封装好了API函数,可在LabVIEW中直接调用:

AI DAQsc.png


甚至还有封装好的快速助手Express VI,直接进行采集:

BusDAQ Express VI.png



# 关于BusDAQ驱动DAQsc和NI-DAQmx驱动的对比和迁移过程,可以参考这个技术文档

# 关于BusDAQ的快速助手Express VI的使用,可以参考这个技术文档


如果是使用文本式编程语言,可以调用封装的DLL库。并参考如下路径的范例:C:UsersPublicDocumentsBusDAQrd_Example:

图片4.png



# 关于使用BusDAQ Driver的API函数进行编程,可以参考这个用户手册



第二种模式:通过SCPI命令,免“驱”采集数据


在自动化测试系统中,SCPI(可编程仪器标准命令,Standard Commands for Programmable Instruments)是测试测量行业通用的标准化设备控制指令集。


它由行业联盟统一制定,从指令语义层面屏蔽了不同厂商、不同硬件总线(USB/LAN/GPIB)之间的设备差异:无论目标设备来自哪个品牌,只要支持 SCPI,用户即可通过通用 VISA 通信层下发标准化指令,完成设备参数配置、触发控制与数据读取,无需适配各家厂商专属的私有编程接口。可大幅降低跨设备、跨品牌的系统集成成本,缩短整体测试系统的搭建周期。


BusDAQ改造的固件程序中,既封装了*IDN? 、*RST、SYSTem:ERRor?等常用命令,又封装了:AIMEASure?模拟测量等数据采集专有命令。后续根据需要,还可以扩展自定义命令。

SCPI命令类型

命令

说明

固有命令

*IDN?

获取设备名称、序列号、固件版本等信息

*RST

设备重置

SYSTem:ERRor?

获取设备错误信息

数据采集专用命令

:AICREATE

设置模拟量采集(AI)的通道列表、量程等信息

AISTART    

启动ADC转换

:AIMEASure?

获取ADC数据

自定义命令

:SYSTem:TEMPerature

获取设备温度信息


下面使用串口调试助手,控制BD 8112多功能采集卡进行模拟电压采集。1) 查询设备信息:

屏幕截图 2026-09-21 154943.png


2) 查询设备温度:

屏幕截图 2026-09-21 155105.png


3)    设置采集通道列表,以及量程:(255代表8通道;2代表第二档量程。可参考BD 8112手册获取具体量程值)

屏幕截图 2026-09-21 155212.png


4) 设置完成,查询是否有错误。如有错误,则需要先处理错误,才能继续往后执行。

屏幕截图 2026-09-21 155230.png



5) 启动ADC转换:

AISTART.png


6) 读取电压值:(多次发送查询命令,多次读取)

MEASURE.png


7) 通过串口调试助手,循环查询、连续读取电压值:

连续查询.png





标签:

上海屹莘
联系地址
地址:上海市崇明区港沿公路1700号3幢7039室
联系方式
  • 联系电话:13524998912
  • 联系邮箱:info@busdaq.cn

Copyright © 2025-2026 上海屹莘贸易有限公司 沪ICP备2026037228号-1