DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1221|回复: 0
打印 上一主题 下一主题

[待整理] 基于工控机的虚拟仪器软件设计方案

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-27 23:24:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
为了简化测量过程,提高生产效率,本文给出了一种以工控机为核心,通过软件控制现有测量设备的虚拟仪器设计方案。系统控制软件采用组件对象模型(c()M)的设计思想,便于软件的维护与升级,并利用Access数据库提出了“实时测量存档”的概念。整套系统在不增加太多成本的前提下,较好的实现了预期目标。
       
        引言
       
        系统以工控机为核心,辅以一定的外围简单电路,通过GPIB、USB以及串行通信口,把现有的测量仪器连接起来,并通过编程人员开发针对测量过程的控制软件。测量者只需要把仪器与设备正确地连接起来,向汁算机发出简单的操作指令就可以实现测量、数据分析、处理和记录的全过程。
       
        1、作为COM组件的测量仪器
       
        在软件开发中,可以先将仪器设计成COM组件。仪器的功能在C()M组件设汁中要全部实现并给出相应的接口函数,在虚拟仪器软件中通过调用这些组件来实现对具体仪器的操作。这样,编程人员在开发虚拟仪器控制软件时可以把具体的仪器当成组件来对待,通过组件的各个函数来完成实际仪器的各个指令操作。这样做不但容易对硬件可能出现的问题进行排错,而且一旦硬件更新,开发人员只需要作针对C0M的升级维护即可。
       
        以某型频谱分析仪为例,设汁测量某信号在控压变化范围内的杂散值的过程:
       
        1)首先调整频谱仪到对数坐标系,并根据该信号的变化范围设定频谱仪的中心频率及合适的带宽以保证频谱仪在控压变化范围内可以捕获信号。这样实现了测量杂散初始化的子过程;
       
        2)在不同的控压点读取带宽内信号主瓣外的所有信号,以最大的旁瓣值作为杂散值。为了避免信号的白噪声影响杂散值的测量。采用同一控压点测量若干组信号用软件求平均的思路。平滑白噪声引起的信号起伏,取平滑后的杂散值作为测量结果,这样实现了测量当前信号杂散值的子过程。
       
       
        图1杂散值测量流程图
       
        该型频谱仪在连续测量若干组信号求平均的过程中,相邻两组数据测量之间有一个工控机与频谱仪通信的时间,这就削弱了信号的时间相关性,不利于平滑白噪声。为了提高测量的准确性,引入了可以作均值测量的频谱仪,工控机只需读取均值测量后主瓣外的所有信号最大值作为当前信号杂散值即可。按上述思路重新设计频谱仪COM组件,测量杂散值的过程还是按照上述的测量流程图,虚拟仪器软件调用更新后的组件,程序员甚至可以不用改虚拟仪器软件中的一句源代码。
       
        对同一信号改进前后软件测出的杂散值分别为-76.3dB和-78.2dB,而用标定设备测出的值为-78.51dB,改进后软件的测量值更加准确。
       
        2、采用Access数据库作实时测量存档
       
        在测量过程中,有时设备会因为突然断电、计算机*发作等一系列不可预期的故障导致测量过程意外中断,但此时用户测量可能还没有结束,也没有大提交测量报表,而在系统内存中的数据将会全部丢失,这对用户来说是非常不利的,所以必须对用户的所有测量结果做一个实时的数据库备份。
       
        对用户测量全过程进行监控的数据库采用全部内存变量存储的方式,包括用户的设定量、用户的测量结果、用户的操作步骤以及测量结果的自动*判,都在数据库中建立相应的字段。在用户进行虚拟仪器操作时。每新测量一个产品都会以用户填入的产品编号及测量时间新建一条测量记录,操作过程中实时地把用户的操作及结果同步提交到数据库中,只有当用户全部测量完毕并保存报表之后,该条记录才被删除,否则记录予以保留,留下来的某条记录即为某个非正常退出系统的实时测量存档,这就是系统实时测量存档的过程。当用户下一次打开虚拟仪器软件时,软件会自动加载该数据库,如果数据库存在数据记录,则在加载操作界面之后会提示用户有以前未完成的任务,让用户选择是继续未完成的任务还是删除某次不全的测试记录,如果选择继续则会给出未完成任务列表,让用户选择开始某一次未完成的任务,用户选择后会自动把数据库里对应的值恢复到虚拟仪器操作界面,恢复某一次意外状态前的结果,这样通过系统的问询及用户的选择,实现了加载测量存档的过程。当然,如果用户也可以选择删除某些不全但不想保留的测试记录,对存档数据库进行清理,同样也可以选择全新测量,开始新的操作。
       
        虚拟仪器软件的工作流程如图2所示。
       
       
        图2以数据库为核心的软件工作流程图
       
        3、系统性能
       
        采用本文的方案,使用VB.NET程序设计语言开发的虚拟仪器软件成功的应用在某产品的指标测量上。整套系统研发周期短、维护简单方便。而“实时测量存档”在软件内部异常保护的基础上又增加了一个抵御外部突发事件的能力,有效地保护了测量数据。每一个产品测量所需时间仅为原先人工用仪器测量的1/3~1/4(不包括后期的数据处理时间),极大地提高了生产效率。而整个系统的开发成本非常低,所有的测量仪器都是利用现有的设备,硬件的投入只是一台工控机和GPIB转接卡及一些电缆。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-16 14:56 , 耗时 0.090640 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表