蒲公英 - 制药技术的传播者 GMP理论的实践者

搜索
查看: 3383|回复: 3
收起左侧

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

[复制链接]
发表于 2018-10-27 19:23:08 | 显示全部楼层 |阅读模式

欢迎您注册蒲公英

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 wcsuperking 于 2018-10-27 19:24 编辑

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

What?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


文章转自微信公众号:实验室信息化与自动化


回复

使用道具 举报

药生
发表于 2018-10-27 21:27:26 | 显示全部楼层
其实实现文中的功能 和学好Excel已经没多大关系了,因为 VBA就是 VB,用学Excel的思维去学VBA是永远学不会的,因为通常学习软件使用的思维是:微软提供了一些功能,用户去发掘其使用方法(所以即使不会 百度一下基本就会了);而VBA是用户自己去创造功能、甚至界面,两者有本质区别。

要会用VBA只能去学一门面向对象的语言(最简单的是visual basic),有了面向对象类的方法、属性这些思维概念之后,就可以尝试用VBA去解决问题了
回复

使用道具 举报

药士
发表于 2018-10-27 23:35:21 | 显示全部楼层
用途广泛的Excel
回复

使用道具 举报

 楼主| 发表于 2018-11-4 16:22:04 | 显示全部楼层
joshua 发表于 2018-10-27 21:27
其实实现文中的功能 和学好Excel已经没多大关系了,因为 VBA就是 VB,用学Excel的思维去学VBA是永远学不会 ...

确实,VBA是一门简单编程语言,如果能掌握并运用它,Excel会发挥出更大的功效。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

×发帖声明
1、本站为技术交流论坛,发帖的内容具有互动属性。您在本站发布的内容:
①在无人回复的情况下,可以通过自助删帖功能随时删除(自助删帖功能关闭期间,可以联系管理员微信:8542508 处理。)
②在有人回复和讨论的情况下,主题帖和回复内容已构成一个不可分割的整体,您将不能直接删除该帖。
2、禁止发布任何涉政、涉黄赌毒及其他违反国家相关法律、法规、及本站版规的内容,详情请参阅《蒲公英论坛总版规》。
3、您在本站发表、转载的任何作品仅代表您个人观点,不代表本站观点。不要盗用有版权要求的作品,转贴请注明来源,否则文责自负。
4、请认真阅读上述条款,您发帖即代表接受上述条款。

QQ|手机版|蒲公英|ouryao|蒲公英 ( 京ICP备14042168号-1 )  增值电信业务经营许可证编号:京B2-20243455  互联网药品信息服务资格证书编号:(京)-非经营性-2024-0033

GMT+8, 2025-10-16 18:33

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

声明:蒲公英网站所涉及的原创文章、文字内容、视频图片及首发资料,版权归作者及蒲公英网站所有,转载要在显著位置标明来源“蒲公英”;禁止任何形式的商业用途。违反上述声明的,本站及作者将追究法律责任。
快速回复 返回顶部 返回列表