当前课程知识点:测试系统集成技术 >  第三章:消息交换控制协议 >  3.1:消息交换控制协议 >  Video

返回《测试系统集成技术》慕课在线视频课程列表

Video在线视频

Video

下一节:Video

返回《测试系统集成技术》慕课在线视频列表

Video课程教案、知识点、字幕

下面我们来看一看消息交换控制里面的这些事情,我们和仪器之间通信怎么来

他会怎么来做的,我们给大家演示一下一些例子,这个是我们和这个仪器通信的一个对话窗口

这个窗口的上面,在这个地方是我们要发送到这个程控命令,我们把它敲进去就是字符串

那下面大家就注意了,下面就有WRITE READ和QUERY,那这个为什么会有这三个按钮

那我们就知道我们往这个仪器发出的东西,我们用write把它写给这个仪器

我们需要从仪器开始读的时候,我们去READ它,我们来看一下,比如说这个命令大家很熟悉的*IDN

我先把这个buffer把它清掉,下面空到,然后我们把这个*IDN?

我们把它发给这个仪器那接口告诉我们发送了五个字节*IDN?发送了

那么这个时候我们去向这个仪器去读,这仪器没反应,现在没有反应

因为我们只是把这个发给他了,那么他把数据准备了要发,我没去读它

那么我们下面可以调用这个读操作去读,这个是我们前面见到过的

它会报告它的生产厂家它的这个型号它的串号,他的版本信息他会报告上来,这个是我们标准操作,说先发送

再接收大家一定记住,你们到实验室做实验的时候,会做同样的操作,先发送再接收

那么我们对于这种询问命令我们也可以通过QUERY就直接去操作了

就直接按一下这个QUERY就直接操作了,这个是对的。那么我们刚才讲过我们把这个命令写了

然后我们去发给那个仪器,再从他来读,如果我们不去write,我们直接去read会出现什么问题

就仪器就会说什么都没有,你上面就只有超时,我们来看一下那我们在这个情况下

我们去read一下,我们看那就总线就会报一个错,就超时了

因为你之前没有告诉仪器要它去产生这些响应消息,那你就去读它了

那就相当于在IDLE或者是在READ这种情况下你给它brq,他没有数据可发

那你整个总线就出错,今天我们还没有讲状态报告,我们就不去看他的这个状态报告寄存器了

那么这个是我们一个前提条件,你必须先发了这个命令带一个问号

然后再从仪器上去让他讲把这个数据回过来

那么第二个问题说我们要按照完整性的要求我们给它一个程控命令,然后我们就要去读这个数据

然后我们再给它一个程控命令,然后再去读

那么我们来举这个例子,比如说我们现在给这个仪器发一个*IDN,我去把它write

我把它读回来,这是对的,然后我让这个仪器去测一个值,然后把它返回给我

:MEASU:IMM:VAL?这是去把它的一个测量值读回来,我把它写过去,它告诉我一个值

这个是什么意思,我们先暂时不要去管它,它给了我一个值,这个每次都是先写再读

先写再读,都是对的,那么我们现在我这样来做,我把这个写过去读回来都对的

然后我现在把它写了,然后我不去读它,我来发这个*IDN?

也就是说我给它发了一个完整的程控命令,是让它去返回它的测量结果我不读它

然后我就继续给它发一个*IDN?去读它的这些信息,要发第二个询问,我再把它write出去

那么这个时候我们来read,大家看一看我这个收入者的东西就只有最后发的那个

我前面发的就丢了,就没有了,那这个说明什么问题?说明就说你在发这种询问有结束符的

这种情况下你发了,你就一定要去读,你不能说我把我想通过一个两个三个都发给它

然后我再一起把它读回来,这种方法是有问题的

这个说明另外一个就是这种在编程的时候同学们经常出的一些事情

我举个例子来说明一下,你知道大家要注意这种情况出现

我举个简单的例子,比如说我们写这是一个程控命令,我这个把它write出去,然后我来read

那么我会得到两个值,这个是没有问题的,我会得到两个字是没问题的,因为我一次性把它发出去

可能同学们以后你觉得这个写的太长了,现在写的不长以后你们具体可能就很长很长

你可能觉得太长了不方便,你可能就把它写成这样一种情况,你会把这个后面这个再写一个

然后再来,这个是经常会出来一些问题,就你去写得太长了,我就多写几行分别发送

你可能就觉得我这样分别把这个消息发给对方之后,那么他会最后给我一大串这个测量结果

那在这个地方就是我们刚才演示的这种效果就是一种错误,肯定会出错

那么你得到的有可能你会得到最后一个,有可能你会得到这个上升时间

有可能你什么都得不到,什么都没有。因为仪器它发现出错后,它可以选择

是把正确的给你回过来,还是说它就都把它cancel了,这个大家就要特别注意这个问题

那么在后面我们就会讲到另外一点,就是我们再给大家提供这样的函数的时候

我们就会给大家提供一些方法,他就会明确告诉你,我们在这个地方需不需要发送结束符

如果你不需要发送结束符,你可以这样来写,写了以后也得到正确的结果

就是我们在这个上不发送,我们给大家一种控制的方式。当我第一句话write出去

第二句话write出去,我最后一句话write出去之后才给一个结束符

那么这样的信息在哪个地方来提供一个就是在我们的系统上面系统的配置上面

在这种系统配置上面。他就会说我们要不要启动结束标志,然后在最后

另外一个就是有些函数本身它要给你一个参数

你先调用另外一个参数来对它的是否发送结束符做一个规定,我们在后面有一个这个例子

就会给大家举例说明一下,在我们前面发一个命令头的时候,我们让它不要发结束符

然后我们再把命令再给它追加上去,再发送给这个仪器

然后再从这个仪器去获得它的这个响应消息,这种情况下就是对的

到目前为止,我们希望同学们一个是要了解消息交换控制的三个原则,特别是完整性

第二个就是一定要重视结束符的发送,结束符是非常重要的一个概念

前面我们曾经给大家说过,在结束符的这个事上,所有的系统它都会在某一个地方明确的来告诉大家

我们的终止设置怎么来做,如果这个地方没有设计,你没有把它配置好

你就会发现你的程序怎么看都是对的,就是仪器没有响应,仪器不把他的这个结果给你反馈回来

这是我们今天给大家讲的这个关于消息交换控制协议里边,我就希望大家能够记住的几点

第一个,你一定要记住消息交换控制协议它是来协调字符串通信的

这个控制器发出去一条命令,你发出去一条数据,这是第一点

第二点是里边有几种错误类型,我们要搞得很清楚

第三个是在程序的执行上面,我们要有一个手段,要让他按照顺序方式去执行

第四个是在哪些情况下会出现错误,出现这种错误之后我们怎么来处理它

或者说我们在编程的时候怎么来规避这些事情,这个后面会在整个编程的时候

那我们就会给大家补充这方面的知识,那么我们今天要给大家介绍就到这个地方,谢谢大家

测试系统集成技术课程列表:

第一章:绪论

-1.1:自动测试系统的出现及意义

--Video

--Video

--附件

-1.2:测试系统体系结构

--Video

--Video

--Video

-第一章:绪论--1.3:课堂实验:网络化仪器控制

第二章:接口总线

-2.1:GPIB总线技术、VXI总线技术、LXI总线技术

--ATSIF-1-GPIB接口技术1-a

--ATSIF-1-GPIB接口技术1-b

--ATSIF-1-GPIB接口技术1-c

--ATSIF-1-GPIB接口技术1-d

--ATSIF-1-GPIB接口技术1-e

--ATSIF-1-GPIB接口技术1-f

--ATSIF-1-GPIB接口技术2-a

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--VXI总线接口技术4_a

--VXI总线接口技术4_b

--VXI总线接口技术4_c

--VXI总线接口技术4_d

--VXI总线接口技术4_e

--ATSIF-5-VXI总线接口技术3-a

--ATSIF-5-VXI总线接口技术3-b

--ATSIF-5-VXI总线接口技术3-c

--ATSIF-5-VXI总线接口技术3-d

--ATSIF-5-VXI总线接口技术3-e

--ATSIF-6-VXI总线接口技术4-a

--ATSIF-6-VXI总线接口技术4-b

--ATSIF-6-VXI总线接口技术4-c

--ATSIF-6-VXI总线接口技术4-d

--ATSIF-6-VXI总线接口技术4-e

-第二章:接口总线--2.2:课堂实验:示波器程控

第三章:消息交换控制协议

-3.1:消息交换控制协议

--视频-3-MEC中:程控仪器消息交换协议(一)-a

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

-3.2:程控消息句法

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

-第三章:消息交换控制协议--3.3:课堂实验:信号源程控

第四章:可程控仪器标准命令

-4.1:SCPI的目标及主要内容

--Video

--Video

--Video

--Video

-4.2:SCPI语法与风格

--Video

--Video

--Video

--Video

-4.3:标准命令

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

-第四章:可程控仪器标准命令--4.4:课堂实验:频谱仪程控、数字多用表程控

第五章:虚拟仪器软件架构

-5.1:VISA概述

--Video

--Video

-5.2:VISA库构成

--Video

-5.3:VISA程序基本结构

--Video

-5.4:自动测试系统软件设计综合实验

--Video

--Video

--Video

--Video

--Video

-第五章:虚拟仪器软件架构--5.4:课堂实验:VISA程序设计基础实验

第六章:可互换虚拟仪器技术

-6.1:IVI概述

--Video

-6.2:IVI程序设计基础实验

--Video

-第六章:可互换虚拟仪器技术--6.2:IVI程序设计基础实验

Video笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。