当前位置:
文档之家› 智能仪器与PC串口通信的实现
智能仪器与PC串口通信的实现
SCPI 命令采用层次结构,系"树结构"语言 。 相关的命令集
合到一起构成一个子系统,各组成命令称为"关键字",各关键字
间用冒号" :"分隔 ,如 :
SEN Se :
FREQuency :
VOLTage : RAN Ge ? [ M INimum| MAXimum ]
方括弧 ( [ ] ) 表示选择性的关键字或参数。 大括弧 ({ }) 中
RS- 232C 标准,其中 EIA 代表美国电子工业协会,RS 代表推荐
标准,232 是标识号,C 代表 RS232 的最新一次修改。
1.2 SCPI 命令
Agilent34401A 数 字 多 用 表 采 用 串 口 与 IEEE488 进 行 通 信
的技术,它能够得到精准、快速和可重复的测量结果。 为了保证
READ ? 命 令 会 将 触 发 系 统 的 状 态 ,从"闲 置"状 态 改 为"等 待触发"状态。 在收到 R EAD ? 命令之后,且指定的触发条件满 足时,测量便会开始,读数立即送到输出缓冲器上(读数资料必 须输入到总线控制器上,否则输出缓冲器满了之后,测量就会停 止)。 INITiate 和 FETCh? 命令提供测量触发和读数取回最低限 的控制。 在配置好多用电表之后,使 用 INITiate 命 令 ,它 将 使 触 发系统的状态,从"闲置"状态改为"等待触发"状态。 在收到 INITiate 命令之后,而指定的触发条件满足时,测量便会开始。 读 数将会存入多用电表的内部记忆体中。
34401A 的远程控制。
3、程序设计
启 动 Visual Basic 程 序 后 , 进 入 Project, 选 然 后 择 Refer-
ences 。 核对"Agilent VISA COM Resource Manager 1.0"和"VISA
COM 1.0 Type Library",点击"OK" 按钮。 在增加两个参考源后,
168
福建电脑
2010 年第 2 期
智能仪器与 PC 串口通信的实现
管 平 1, 杨 丹 2, 胡新荣 1
( 1.武汉科技学院 湖北 武汉 430073 2.长沙信息职业技术学校 湖南 长沙 410610 )
【摘 要】: 本文简要介绍了 IEEE488.2 标准,讨论了如何使用该协议进行智能仪器设备控制系统的编写.详细地介绍了 SCPI 命令及其使用方法。 利用 Agilent 公司的 IO suite 套件中的 VISA 库实现对 Agilent34401A 数字万用表的远程控制。
.RST 重设多用电表电源开启时的配置。 .TST ? 执行多用电表的完整自我测试,传回值为"0 "表示自我测试 成功。 它使用 INITiate 将多用电表设至成"等待触发"状态,且在 ExtTrig 端 有 脉 冲 进 来 的 时 候 ,量 取 一 个 读 数 ,并 将 读 数 送 到 电 表的内部记忆体上。 2、硬件平台安装与配置 测试系统的建立, 一般采用独立的测试或测量仪器, 使用 SCPI 命 令 或 用 软 件 驱 动 程 序 经 GPIB,USB,LAN 接 口 发 送 ASCII 命令 。 Agilent 34401A 数 字 多 用 表 提 供 了 一 个 GPIB 接 口 , 在 PC 和 DMM 之 间 实 现 了 简 便 稳 定 的 连 接 能 力 。 GPIB 接 口 满 足 IEEE-488.2 标准,可以通过 SCPI 命令进行远程控制 。 我们选择 NI 的 AT-GPIB/TNT 卡与 Agilent 34401A 进 行 通 信. NI MAX 能发现所有 NI 接口上的装置,但不能直接控制 Agilent 接 口.如 :VXI 的 FireWire 接 口 ,USB/GPIB 转 换 器 ,或 PCLGPIB 卡. Agilent 的 Intuilink,VEE 和 IO Libraries 能 过 NI -VISA 和 NI488.2 来连接 GPIB-32.dll,如果应用程序使用 VISA 编程,在对 板 卡 基 址 配 置 完 成 后 ,先 安 装 NI-VISA 软 件 包 ,再 安 装 Agilent IO Libraries . 硬件安装与配置: 1) 先 安 装 NI-VISA IEEE488.2 的 板 卡 驱 动 程 序 . 配 置 好 GPIB 卡 2)设置万用表的通信方式:把 agilent34401A 的 通 信 方 式 设 置为 GPIB 通信方式,编程语言选择 SCPI。 3)安装 Agilent 公司的 IO 套件(iolibs_suite_14_2_8931_1_ multimedia), 随 IO 套 件 一 起 安 装 的 还 有 的 .net framework,.net framework sp1,VISA 库,IO 套件必须要有 VISA 库才能正常运行. 在桌面任务栏的右下角会有一个 IO 标志, 打开 Agilent connection expert(安 捷 伦 连 接 专 家),它 会 自 动 检 测 到 安 装 的 硬 件,使 用 GPIB0 连 接 到 万 用 表 ,这 里 也 可 测 试 计 算 机 与 (下 转 第 137 页 )
图 4 入库登记用户界面 3)业务逻辑层的实现 业 务 逻 辑 层 的 实 现 主 要 是 COM 组 件 接 口 、 事 务 组 件 、 COM+应用程序的创建与配置等的实现。 事务与事务组件的实现 主要分为创建支持事务的组件、 在 COM+环境中配置 事 务 属 性 及异常处理三部分。 创建和配置 COM+程序主要应用 程 序 的 创 建、应用程序服务器角色安装和部署、注册 COM+应用程 序 三 个 步骤。 4)系统数据库的实现
增加下面的代码 :
1)连接万用表
DimDMMAsVisaComLib.FormattedIO488 ' 定义设备类型
Set mgr= New VisaComLib.ResourceManager '' 建 立 资 源
管理器实例
Set DMM =NewVisaComLib.FormattedIO488 ' 建立设备实例
前 向 和 后 向 兼 容 性 ,34401A 包 括 三 种 命 令 语 言 (SCPI、Agi-
lent3478A 和 Fluke8840A/42A),因
此无需重写已有的测试软件。
SCPI (Standard Commands for
Programmable Instruments) 是 可 编
Set DMM.IO = mgr.Open("GPIB0::22")
【关键词】: IEEE488.2, Agilent34401A,SCPI
1、引言
1.1 串口通信原理
在 Windows 环境下,串行接口是系统资源的一部分。它本质
功能是作为 CPU 和串行设备间的编码转换器。当数据从 CPU 经
过串行接口发送出去时,字节数据转换为串行的位。 在接受数据
时,串行的位被转换为字节数据。RS- 232C 标准的全称是 EIA-
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(上接第 168 页)
万用表是否能正常通信。
4)安装完 IO 包之后,就可以编程了。Agilent 的 IO 库支持多
种语言的编程,有 C,C#,VB,,我们这里选择 VB 开发工。 下
面 我 们 以 VB 程 序 设 计 为 基 础 , 利 用 Agilent IO suite 实 现 对
系 统 数 据 库 的 实 现 主 要 是 在 SQL Server 2000 中 建 立 数 据 库 Outpatient_sql,并建立数据表以及各数据表之间的关系。 因数 据库与客户端没有直接进行通讯,故系统数据库设计好之后,还 需将数据库与应用程序服务器连接起来。 在本系统采用 ADO 组 件技术来实现 COM+应用程序与 SQL Server 2000 的连接。 五 总结与展望
的命令集,提出了一个具有普遍性
的通用仪器模型,采用面向信号的
测量; 它的助记符产生规则简单、
明确,且易于记忆 。
图 1 SCPI 工作流程图
SCPI 是 以 ASCII 字 符 组 成 的 标 准 仪 器 命 令 语 言 ,可 以 用 于
任何一种标准接口,如 GPIB,VXI,RS232,USB,LAN。
参考文献: [1] S.Wadhwa, Avneet Saxena, Bhara, Wadhwa. Hospital information management system: an evolutionary knowledge management perspective[J]. International Journal of Electronic Healthcare, 2007, 3(2): 35-38 [2] 黄宏星. 迎接新医疗改革的到来[J]. 中国医药导刊, 2009, (09) :1-2 [3] 覃征. 软件体系结构[M]. 北京: 清华大学出版社, 2008. 92-96 [4] 侯云峰. 三层 Clien/Server 应用开发指南 [M]. 北京: 电子工业出版 社, 2000: 49-54 [5] (美)艾华德. 事务性 COM+编程-创建可伸缩应用系统[M]. 覃建峰 等译. 中国电力出版社, 2003
程仪器标准命令,是一种建立在现
有 标 准 IEEE48IEEE754 标 准 中
浮 点 运 算 规 则 、ISO646 信 息 交 换
7 位 编 码 符 号 ( 相 当 于 ASCll 编