联系我们contact

电话:027-59760188-801

地址:武汉市东湖高新开发区光谷大道120号现代森林小镇A座609室

强大到无法想象,Excel居然可以实现数据获取和硬件实时控制

发布时间:2018-10-25 浏览次数:355次

近日,小编听闻,Excel还可以用来作数据获取和硬件实时控制……

What?

在惊叹之余,更多的是怀疑:Excel真能做数据获取和硬件实时控制?即使能行又有什么实用价值?

带着惊叹和怀疑,小编查到了大量的资料。

事实证实了小编的out,Excel实现这些功能全无压力。

这里为大家分享其中一篇8年前发表在ISA Transactions上的文章,一起开开眼界。

小编相信,绝大多数读者并不会有使用Excel进行数据采集和硬件控制的需求。此文的价值在于给我们的一个启示:如此复杂的功能都能实现,日常工作中还有什么是不能通过Excel实现的?

原文参见ISA Transactions 49 (2010) 264_269,文章标题《Data acquisition and real-time control using spreadsheets: Interfacing Excel with external hardware》。

文中介绍了在马德里欧洲大学使用的两款实验室教学电子表格,用于进行数据采集和硬件控制的演练,帮助学生直观高效地掌握教学内容。

表格功能通过两个插件实现:Excel Daq数据获取插件和Excel PID实时控制插件。

话不多说,直接上工作原理。

首先,插件开发者使用Excel VBA语言编写驱动程序,驱动程序通过通讯协议在寄存器的信息读取信息,从而实现Excel和外部硬件的数据传输。Excel工作表、VBA代码、驱动程序和硬件之间的关系如下图1所示:

图1:Excel与硬件接口连接结构图

Excel Daq与Advantech PCI数据采集板共同完成数据采集的工作。

一方面,使用特定的VBA代码作为驱动程序的前端来控制数据采集板。另一方面,通过VBA开发定制程序,将测量数据直接导入到Excel工作表中,执行任务。如:筛选获得的数据、执行控制器代码并将命令发送给执行器,以及自动绘制图表。

通过VBA控件的组合设计,实现与用户的交互。如图2所示,Excel Daq用户界面有一个简单的对话框,通过启用通道、选择增益和采样速率来配置数据采集板。

图2:Excel-Daq应用程序用户界面

图3为Excel测试程序的界面,该实用程序允许对硬件功能进行验证,并进行简单的数据采集试验。通过用户界面,用户可以选择输入通道、电压范围、并设置采样周期。该工具还允许选择输入正弦、正方形和锯齿波形,其中的最大值和最小值可以通过滑块进行调整。

图3:Excel设备测试工具

当构建完模拟输入和输出功能后,下一步则是在Excel 中建立循环执行控制。

在实时控制中,输入输出和任务控制是需要一定的同步性和实时性,同步通常通过使用轮询技术、外部中断和软件定时器来实现。由软件定时器驱动的控制任务遵循图4所示的方案。

图4:定时驱动器控制任务

计时器根据编程的采样间隔周期性地触发一个回调函数,用于读取输入、运行控制器代码和命令输出。使用同样的方式,完成与用户的交互。Excel-PID应用程序用户界面如图5所示:

图5:Excel-PID应用程序用户界面

在完成所有数据采集和设备控制程序开发后,下一步则将所有组件整合在一起,使用图形化界面来控制程序即可。

原文包含代码等更详细的内容,感兴趣的读者可以查阅。

强大到无法想象,Excel值得学好、用好