用途:把 MATLAB 数据采集工具箱中已不推荐的 session 接口代码迁移到 R2020a 引入的现代 DataAcquisition 接口,也用于编写新的多特性 DAQ 脚本。
主要能力:将 daq.createSession、addAnalogInputChannel、addAnalogOutputChannel、addCounterInputChannel、addCounterOutputChannel、addDigitalChannel 等旧调用翻译为 daq("ni")、addinput、addoutput;把 DataAvailable/DataRequired/ErrorOccurred 监听器替换为 ScansAvailableFcn/ScansRequiredFcn/ErrorOccurredFcn;用 preload + write 替代 queueOutputData;用 start(d, "Continuous") 或 start(d, "Duration", seconds(N)) 替代 startBackground 等生命周期调用。还覆盖外部触发、连续采集、回调流式传输、模拟输出自动补充、跨回调状态等组合场景,并排查 wait、evt.Data 等常见报错。
使用方式:按清单梳理旧脚本,逐项映射 API,构建 DataAcquisition 对象,配置触发与时钟,绑定回调,选择状态共享模式,最后运行 scripts/verifyDataAcquisition.m 静态检查并做短时实机验证。回调内应使用 read(src, src.ScansAvailableFcnCount, "OutputFormat", "Matrix") 取数。
限制:不适用于无触发、无回调的单通道前台采集;不涉及选择 DAQ 厂商或非 NI 硬件评估;不处理已采集数据的信号处理与分析;不覆盖 Simulink、App Designer、实时目标工作流;也不负责 matlab.unittest 测试框架层面的改造。具体价格与授权信息暂未提供。