LabVIEW编程实时控制KEITHLEY 6517A静电计

最新更新时间:2011-11-30来源: 互联网关键字:LabVIEW  编程  实时控制  KEITHLEY  静电计 手机看文章 扫描二维码
随时随地手机看文章

LabVIEW编程实时控制KEITHLEY 6517A静电计

基于GPIB接口总线,采用6517A中最简单的按钮命令,在LabVIEW5.1平台上实现了对6517A面板操作的实时控制和信息的同步显示。
  关键词:LabVIEW编程;计算机模拟;6517A静电计

Hefei 230029, China)
  LabVIEW提供了任意一个程序调用另一个LabVIEW程序的办法,即将后者作为一个子程序(即subVI)。因此在实验站的数据采集主程序中,将模拟的6517A作为主程序调用的subVI嵌入其中(当然这个子程序完全可以不依赖于主程序而能够独立运行)。根据主程序的要求,6517A的subVI具备以下特点:
  代码简洁,执行效率高;完全能实现真实面板上各个按键的功能,并可以基本同步显示6517A显示的各种信息;独立的窗口,不在视觉上干扰主程序窗口,以方便用户的使用。
  对于复杂的未编译的LabVIEW程序,要求代码尽可能简洁,这有益于提高运行速度。而且考虑到6517A参数的调整仅仅是实验站数据采集与控制的一小部分,我们未使用KEITHLEY公司随仪器提供的LabVIEW子程序。对于6517A,有三个途径可以实现面板按键的功能:一是用它的SCPI命令中有关功能选择的命令,如使用SENSe命令组里的各种命令选择测量内容(电压、电流、电阻和电荷)以及与测量这些量有关的各类参数[1]。这种方式功能全面,可用一条足够长的命令直接实现某个功能,而这个功能可能需要按多次按键才能实现,而且用户勿需知道6517A前面板的显示信息(KEITHLEY公司提供的LabVIEW子程序即是这样编写的)。缺点是代码命令长、书写复杂,而且要对所有的SCPI命令非常熟悉。另一种是使用SYSTem命令组里的SYSTem:KEY〈NRf〉命令。6517A功能面板上每一个功能键均对应了一个数字,如执行:SYSTem:KEY 15相当于人工按一次按键V(电压)。使用这种方式基本就是在计算机显示器上“复制”了前面板的按键,虽然设置某个参数需要多次按键且需要在计算机上同步显示选择菜单,但其代码简洁,且可以利用LabVIEW提供的界面功能,在外型上完全模拟6517A的前面板,不失为一种好方法。第3种方法是用DDC语言,该语言的语法简洁,但不易记忆,难以维护,功能也不强。我们在编写时未予考虑。?
  整个6517A子程序是一个大的whileloop循环。在循环内是前面板上所有按键对应的命令和显示子程序,循环结束的条件是Boolean按钮“RETURN”=false。这种结构有两个作用,由于LabVIEW程序的执行是并行的,因此可以随时接受任意一个虚拟按键的命令,另一是计算机屏幕的显示与静电计的显示基本同步。子程序被设置为“调用时打开、结束后关闭”,在视觉上不影响主程序的使用,即在按下RETURN后,子程序窗口即被关闭。
2.2按钮
  图1是6517A subVI的界面,图中字符“Ω”已被替换为“Ohm”。它尽量模仿了实际仪器的前面板,只不过是用RETURN按钮取代了6517A的POWER开关。每个按钮的机械动作置为“Latch when Released”,这样每按一次图中的按钮,程序通过GPIB接口给6517A发送一个相应的命令,完成手工按键的动作。随即按钮浮起,不会导致误动作。按钮对应的程序是一个“true?false” case structure。在True CASE中写入命令:SYSTem:KEY 〈NRf〉(图2),False CASE中为空。当用鼠标点击按键时,6517A将根据命令完成相应的按键动作。如图中的命令,GPIB write控件将:SYST:KEY 15发送给6517A,完成一次按“V”键。

?
  为了更好的显示测量值的单位,6517A显示行存在一些特殊符号,如次显示行的温度符号℃,主显示行的电阻单位Ω(欧姆),量级单位μ(即表示10-6)等。但实际测试表明计算机接收到的6517A的信号,只能正确显示出标准ASCII码中的数字0~9、字母A~B和a~b,因此仅使用上述命令将显示乱码,无法正确反映6517A的全部显示信息。作者经过分析,得到了非ASCII码经过GPIB接口后对应的编码如下(表1)。
?

  RETURN键是控制整个子程序的逻辑量。但由此也带来一个问题,程序运行时发现当第一次参数设置完毕,退出子程序后,RETURN有可能仍保持在false状态,那么紧接着第二次调用子程序时,将因为RETURN=false而无法进入循环(或仅循环1次便结束)。为此利用了LabVIEW的并行处理特性,在RETURN置false时将完成2个动作,首先是将逻辑常数True赋值给RETURN(利用了local variable,不会干扰其中断循环的作用),然后再退出循环,这样保证了下一次的调用。
关键字:LabVIEW  编程  实时控制  KEITHLEY  静电计 编辑:神话 引用地址:LabVIEW编程实时控制KEITHLEY 6517A静电计

上一篇:基于LabVIEW的Modbus协议两种校验码的实现方法
下一篇:在线间歇式浊度仪的研究

推荐阅读最新更新时间:2023-10-12 20:32

TI推出面向高端实时控制应的C2834x MCU
        日前,德州仪器 (TI) 宣布推出性能提升两倍、工作频率高达 300 MHz 并高度集成了 516KB 单周期存取 RAM 存储器、高分辨率脉宽调制输出 (PWM)、32 位 QEP 模块以及其它控制导向型特性的 TMS320C2834x系列 Delfino 浮点控制器,从而可为高端控制应用提供高性能、高浮点精度以及优化的控制外设,以充分满足系统效率、精度以及可靠性等严格的性能要求。新型 Delfino 器件由两套精心设计的全新模块化 controlCARD 工具提供支持,可实现伺服驱动、可再生能源、电力线监控以及辅助驾驶等实时控制应用的跨越式开发。 C2834x Delfino控制器的主要特性与优势
[嵌入式]
LabVIEW Web服务器发布网页的两种方法
1. LabVIEW Web服务器 在LabVIEW开发环境中,自身带了一个已连接好的Web服务器。LabVIEW Web服务器除了与其他Web服务器一样能发布文档外,它还可以发布正在运行的VIs前面板图,使得各地的工程师们能在自己的办公室看到服务器上的VIs的变化情况。要进入LabVIEW Web服务器首先需进入LabVIEW 开发环境,然后进入主菜单中 工具- 选项 ,系统会弹出一个对话框,在对话框中选择 Web服务器:配置 一项,继而系统会弹出Web服务器配置对话框,如图1所示。选择启用Web服务器,使其生效。 图1 Web服务器的配置 到此为止,LabVI
[测试测量]
采用LabVIEW和NI无线传感器网络监测名胜古迹
西班牙,阿吉拉尔场(Aguilar de Campo)的Santa María la Real基金,为Santa María de Mave教堂及其修道院开展了一项修复工程,这座教堂可以追溯到12世纪。项目由Castile 和 León地方政府通过Románico Norte计划提供资金,来支持Santa María la Real基金和遗产监测系统计划(MHS)。本地行动小组País Románico也通过环境农业渔业部的开发计划为Santa María la Real基金和遗产监测系统计划筹措资金。 在这座具有历史意义的教堂改造完成后,基金会意识到遗迹需要连续监测从而保护教堂不受环境衰退的侵害。因此,小组开发了一套实
[工业控制]
如何利用乘法DAC和运算放大器提供可编程增益
电路功能与优势 本电路利用乘法DAC和运算放大器提供可编程增益功能。最大增益值和温度系数由外部电阻设置,可编程增益的分辨率由DAC的分辨率设置。 图1:采用电流输出DAC的可编程增益电路(原理示意图) 电路描述 图1所示电路就是推荐用来提高电路增益的方法。R1、R2和R3应具有相似的温度系数,但不必与DAC的温度系数相匹配。在要求增益大于1的电路中,推荐使用这种方法。增益为: VOUT = −Gain × VIN × (D/2N) 其中D为载入DAC数字字的小数表示,n为位数: D = 0 to 255 (8位 AD5426); D = 0 to 1023 (10位 AD5432
[模拟电子]
如何利用乘法DAC和运算放大器提供可<font color='red'>编程</font>增益
单片机编程要用的正弦表
这个正弦表可以直接嵌入到程序中实现软件模拟正弦波 uchar code sin ={0x87,0x8D,0x94,0x9B,0xA1,0xA8,0xAE,0xB4,0x1BA,0xC0, 0xC6,0xCB,0xD1,0xD5,0xDB,0xDF,0xE3,0xE7,0xE8,0xEF,0xF2,0xF5,0xF7,0xFA,0xFC, 0xFD,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFD,0xFC,0xFA,0xF7,0xF5,0xF2,0xEF, 0xE8,0xE7,0xE3,0xDF,0xDB,0xD5,0xD1,0xCB,0xC6,0xC0,0xBA,0xB4,0x
[单片机]
基于USB总线的MC68HC908JB8 Flash在线编程
  Freescale公司的MC68HC908JB8(简称“JB8”)是HC908系列中的一种。它包括USB接口,是专为计算机人机接口设备设计的。   诸如鼠标、键盘等应用。JB8包含8KB的Flash用户存储区和16字节的中断复位向量,使用它内部产生的升压泵就可以实现F1ash的烧写和擦除,而不需要高电压。   ICP是一种在实际的目标电路板上烧写和擦除芯片的方法,无需从目标板上将芯片卸下来再编程实现用户程序的修改。这种方法适用于产品开发和代码升级。目前市面上很多芯片(如Philips公司的P89C51、P89V51和LPC932A1,STC89C51和STC89L516RD+,以及AVR公司的ATmega8系列等)都支
[嵌入式]
技术文章—AWorks编程:嵌入式C语言的内存管理
摘要:工程师都知道,C/C++语言与其他语言不同,它需要开发者自己管理内存资源,对于动态内存使用不当,容易造成段错误或者内存泄漏,因此内存管理至关重要。本文将以C语言为例介绍动态内存管理的原理。 C/C++语言与其他语言不同,它需要开发者自己管理内存资源。对于动态内存的使用不当容易造成段错误或者内存泄漏。尤其是内存泄漏,内存泄漏往往是在程序运行一段时间才会被发现,使得开发人员无法第一时间定位错误。 而相比于个人计算机,嵌入式系统的内存资源更是稀缺。作为嵌入式C的开发人员,了解其内存管理的原理能使其更加正确地使用内存资源以及定位程序的bug。本文将以C语言为例介绍动态内存管理的原理。 一、动态内存的原理 栈空间
[嵌入式]
技术文章—AWorks<font color='red'>编程</font>:嵌入式C语言的内存管理
STM32入门编程总结4 (中断+串口)
系统异常中断与外部中断统称为中断,复位中断的优先级最高, NVIC(NestedVectored Interrupt Controller)嵌套向量中断控制器,调整各个中断的优先级,中断优先级 =抢占优先级(1-4bit)+子优先级(0、1)如果两个中断的抢占优先级与子优先级参数一致,则按照中断向量表里的顺序区分优先级。GPIO的中断,EXTI(External interrupt/event controller)外部中断/事件(event)控制器,外部中断为用户自定义中断内容(用户编写程序发生中断后要干啥事儿),外部事件为具体对应外设自动执行,EXTI 0-15总共16个,GPIO A-G当中的pin尾数与EXTI尾数对应
[单片机]
STM32入门<font color='red'>编程</font>总结4 (中断+串口)
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved