第六章改动.docx
《第六章改动.docx》由会员分享,可在线阅读,更多相关《第六章改动.docx(37页珍藏版)》请在冰豆网上搜索。
第六章改动
第六章远程编程
一、前言
DSP锁相放大器SR850可以通过RS232C或GPIB(IEEE-488)接口对其进行远程程控。
任何支持这些接口的计算机都可以对其程控。
两个接口都一直可以接收信息,但是SR850只对系统设置菜单里的指定的接口做出响应(RS232/GPIB的输出功能),在每次编程开始逝世时,利用OUTX命令可以指定到合适接口的响应。
所有前面板的功能(除电源按钮外)都可以进行控制。
通过GPIB口通信
SR850支持IEEE-488.1(1978)接口标准。
它也支持IEEE-488.2(1987)接口标准中的要求的一些通用命令。
SR850要通过GPIB口进行通信前必须设定其设备地址。
设备地址可以在设置GPIB菜单中进行设置,其范围在0至30之间。
通过RS232接口通信
SR850可以被配置成一个DCE设备(数据通讯设备)(3脚发送,2脚接受),支持CTS/DTR(清除发送/数据终端准备好)硬件握手协议。
CTS信号(5脚)输出以指示SR850就绪,而DTR信号(20脚)输入是用来控制SR850的数据传输。
如果需要,硬件握手引脚可以被忽略,只采用简单的3线接口方式(2.3.7脚)。
RS232S接口的波特率、数据位个数、奇偶校验方式必须被设置。
这些可以在设置RS232菜单中被设置。
状态指示器和队列
为协助编程,SR850有5个接口状态指示器显示在屏幕的下方。
当有一个字符通过任何一个接口发送或接受时,RS232/GPIB活动指示器将闪动。
当一个诸如非法命令、参数超出范围之类的错误被检测到时,ERR指示器(出错指示器)将闪动。
SR850在忽略状态(前面板被锁定)REM指示器(忽略指示器)将点亮。
前面板处于活动状态时(本地模式)LOC指示器点亮。
当SR850产生一个服务请求时SRQ指示器(服务请求指示器)将点亮,SRQ(服务请求)将保持直到一系列请求处理完毕。
为协助找出编程错误,SR850可以将接口缓冲区里的内容显示在屏幕上。
该屏幕可以在通信设置菜单中被查看队列功能激活。
最后被接受或发送的256个字符将被SR850显示在屏幕上。
命令语法
与SR850的通信采用ASCII字符。
命令可以采用大写或小写形式,可以插入任意的空格字符。
SR850的命令由四个字母的命令助记符,必要的参数,结束符组成。
结束符在RS232通信中可以是换行符或回车符,而在GPIB通信中必须是换行符或输入结束符EOI。
只有在结束命令被接受后命令才会被执行。
只要可能,这些命令在GPIB和RS232中都会同一地运行。
命令助记符中以星号”J”开头的是IEEE-488.2(1987)标准中定义的通用命令。
这些命令在RS232通信中也会同一地运行。
命令中也可能需要一个或多个参数,多个参数间以逗号(,)隔开。
若干的命令可以在一个命令行中以分号隔开来发送。
同一行发送多个命令和发送多个独立的命令的不同之处就在于其他的设备动作执行之前,整个命令行才会被解析并执行。
命令之间无需等待。
SR850有一个256字符的输入缓冲区按接收顺序处理命令。
假如缓冲区满了,在GPIB中将关掉握手信号而在RS232中则试图关掉握手信号。
同样的SR850也有256个字符的输出缓冲区以在主机准备接受前存储输出信息。
如果任意一个缓冲区溢出,那麽两个缓冲区都会清零并报告错误。
为确定一些特殊变量的当前值可以查询SR850。
一个询问命令由命令助记符附加一个问号,并在命令中省略需要的变量,变量的值将会以ASCII字符串的形式被SR850返回,该字符串在RS232中以回车符结束,在GPIB通信中以结束。
假如在一个命令行中有多个查询操作(当然以逗号隔开),结果会被分别返回,每一个都带一个结束符。
ExamplesofCommandFormats
命令格式举例:
FMOD0设置成内部参考源
FREQ10E3设置内部参考源的频率为10KHz
*IDN?
查询设备标示
STRT开始数据采集(与START键相同)
OUTP?
1查询X的值
接口就绪位与状态位
串行状态字节中的接口就绪位(位1)指示SR850准备接受或执行命令。
如果接收到一个命令该位将被清除以指示一个操作正在进行。
当一个操作正在执行时,其他的命令将不再被执行,这期间接受的命令将被保存在缓冲区中已备以后处理。
当一个命令正在处理时只有GPIB串行口才会产生一个响应。
当命令执行完后,接口就绪位被置位,新的命令又将被执行。
因为大多数命令执行的都很快,主机不需要不断的检查就绪位。
命令将一个接一个的被发送并被立即处理掉。
但是一些命令,如文件处理、数学计算的执行需要较长的时间。
此外,主机程序需要检查这些操作是否被无误的执行。
这些情况下,命令被发送后,需要查询状态字节。
当使用GPIB接口时,串行?
?
(serialpolling)可以用来检查当一个操作正在执行时检测串行Poll字节(theSerialPollByte)中的接口就绪位,就绪位置位后标志着命令的完成,接着ERR或ESB位将被检查以确定命令是否成功完成。
如果使用RS232接口,或轮流检测机制(serialpolling)将不可用,那麽就用STB?
*ESR?
ERRS?
和LIAS?
命令来查询状态字节。
因为SR850一次只能执行一条命令,因而,状态查询命令只有在先前的命令处理完后才会被响应。
然而查询先前查询命令的执行的情况将会引发不同的错误。
例如命令行SDAT;ERRS?
将存储数据到磁盘,完成后将返回错误状态字节。
磁盘错误位(位3)可以被检查以确定数据存储命令无误的执行完毕。
既然数据存储操作执行需要较长的时间,主机接口应该在等待ERRS?
查询命令时不会超时。
如果在ERRS?
响应前主机接口超时,在ERRS?
查询命令的发送之前,主机程序必须等待。
GET(GROUPEXECUTETRIGGER)
.
捕获(触发的集合)
GPIB捕获命令与触发命令一样,捕获与触发输入一样。
捕获只在采样被触发或触发一次扫描时,才起作用。
详细命令列表
每个命令里的四个字母的助记符指定一个命令。
其他的序列则是参数。
多个参数用逗号隔开。
{}中的参数是可选的或可能会被查询的,而不再{}中的是必需的。
可能查询的命令在助记符后面跟一个在括号中的问号,只被查询的命令在助记符后跟一个问号。
不会被查询的命令无问号。
不要把()和{}作为命令的一部分。
变量定义如下:
I,j,k,l,m整型
X,y,z,实数
F频率
S字符串
所有的变量以整型,浮点和指数形式表示(例如:
数5可以是5,5.0,5E1)。
字符串以ASCII码的顺序发送。
谨记!
所有的响应都指向在RS232/GPIB通信输出功能设置菜单中选择的接口,而不管是哪个接口接收到查询命令。
在每次编程前要使用OUTX命令选择正确地接口。
REFERENCEandPHASECOMMANDS
参考源和相位命令
PHAS(?
){x}PHAS命令设置或查询参考源的相位改变量。
参数x为相位值(实数,单位为度)。
PHASX命令将设置相位值为X。
X值精度可以达0.001度。
相位值可以在360.000到719.999之间设置,将会在±180°之间重复。
例如:
命令PHAS541.0将把相位值设置为-179.000°(541-360=181=-179)。
命令PHAS?
则查询当前相位值。
FMOD(?
){I}
FMOD命令用来设置或查询参考源。
变量I用来选择内部参考(I=0),内部扫描(I=1),和外部参考(I=2)。
FREQ(?
){f}FREQ命令设置或查询参考源的频率。
查询命令FREQ?
将返回参考源的频率(在内部或外部模式下)。
FREQ?
将读取频率值并显示在屏幕的下方。
FREQF命令将设置内部振荡器的工作频率。
该命令只有在采用内部参考源的情况下才可以使用。
参数F为设置的频率(实数,单位为Hz),F值将精确到5位或0.0001Hz,甚至更高。
F的值限制在0.001到102000之间。
假如谐波个大于1频率将被限制在N到102KHz之间,其中N是谐波个数。
SULM(?
){f}SULM命令设置查询内部扫频信号的终止频率。
该参数可以在任何一种参考源模式下设置。
当扫描正在进行时扫描限制不应当改变。
参数F为设置的频率(实数,单位为Hz)。
F值将精确到5位或0.0001Hz,甚至更高。
F的值限制在0.001到102000之间。
假如谐波个大于1频率将被限制在N到102KHz之间,其中N是谐波个数。
RSLP(?
){i}RSLP命令在采用外部参考源模式用来设置查询参考源的斜率。
变量I选择0交叉(I=0)TTL上升沿(I=1)或TTL下降沿(I=2),在频率小于1时,必须采用TTL参考源。
HARM(?
){i}HARM命令用来设置查询探测谐波,参数是1到32767之间的整数,HARMI命令将锁定并探测参考源的谐波,J值被限制在N到102KHz之间,假如I值要探测大于102KHz的频率信号,谐波数要被设成I的最大值,如ixf²102kHz.
SLVL(?
){x}SLVL用来设置查询正弦信号输出的振幅。
参数X是电压(实数,单位为V),X值可以精确到0.002V,X值在0.004到5.000之间。
INPUTandFILTERCOMMANDS输入和滤波器命令
ISRC(?
){i}ISRC命令用来设置查询输入情况。
参数I选择A(I=0)A-B(I=1)I(I=2)
IGAN(?
){i}IGAN设置查询输入电流的转换增益。
参数I选择1M½(i=0),100M½(i=1)。
该参数只有在输入被配置为电流测量模式才起作用。
改变电流增益不会改变仪器灵敏度。
高于10nA的灵敏度需要1M½的电流增益。
20nA到1uA的灵敏度自动选择1M½的电流增益,灵敏度低于20nA时,改变灵敏度不会改变电流增益。
IGND(?
){i}IGND命令设置或查询输入的地线连接情况,参数I选择悬浮(I=0)或接地(I=1)。
ICPL(?
){i}ICPL命令设置或查询输入的耦合方式。
参数I选择AC(I=0)或DC(I=1)。
ILIN(?
){i}ILIN命令设置或查询输入陷波滤波器的状态。
参数I选择输出或不滤波(I=0)、),Linenotchin(i=1),2xLinenotchin(i=2)orBothnotchfiltersin(i=3).
GAINandTIMECONSTANTCOMMANDS
增益时间常数设置命令
SENS(?
){i}SENS命令设置或查询灵敏度。
参数I选择下面的灵敏度。
RMOD(?
){i}RMOD命令设置或查询预定的模式。
参数I选择最大(I=0)、人工(I=1)、最小(I=2)。
RSRV(?
){i}RSRV命令设置或查询动态的预设值。
RSRV命令设置人工预设到第I个预设值(0到5之间)。
RSRV0为当前灵敏度和时间常数设置成最小预设值。
RSRV1选择下个更高的预设值,以此类推。
预设值按连续的I以10dB步近。
假如RSRVI命令设置比当前灵敏度下的最大可利用预设值还大,将采用最大预设值。
RSRV5总是用来设置最大预设值。
只有在人工预设模式下预设值才可以可变。
RSRV?
用来查询预设值索引。
可以通过查看增益和时间常数菜单章节以确定可以使用的预设值。
OFLT(?
){i}OFLT命令设置查询时间常数。
参数I选择下面的时间常数。
时间在检测频率超过200HZ的情况下将不能超过30S,如果时间常数设置值小于按照滤波器斜率和动态预设值允许的最小值,将采用允许的最小值。
具体参见GAIN/TC菜单章节。
OFSL(?
){i}OFSL命令设置查询低通滤波器的斜率。
参数I选择
6dB/oct(I=0),12dB/oct(I=1),18dB/oct(I=2)或24dB/oct(I=3)。
SYNC(?
){i}SYNC命令设置查询同步滤波器的状态。
参数I选择关闭(I=0)或200Hz以下同步滤波。
同步滤波器只有在检测频率(参考斜波数X)低于200Hz的情况下才打开。
OUTPUTandOFFSETCOMMANDS
输出补偿命令
FOUT(?
)i{,j}FOUT命令设置查询前面板(CH1andCH2)的输出源。
参数I选择CH1(I=1)或CH2(I=2)而且是必需的。
FOUTI,J命令设置I输出到J,其中J如下表。
在两种输出下J的定义是不同的。
OEXP(?
)i{,x,j}OEXP命令设置查询输出的补偿量和扩展量。
参数I选择X(I=1),Y(I=2),R(I=3)而且是必需的。
参数X是补偿量(-105.00到105.00),J扩展量(1到256)。
OEXPI,X,J命令为I设置补偿量和扩展量。
返回的字符串包含补偿量和扩展量,他们以逗号隔开。
例如:
OEXP?
2命令返回“50.00,10”,Y补偿是50.00%,Y扩展量为10。
.
AOFFIAOFF命令自动补偿X(I=1),Y(I=2)或(I=3)到0。
参数I是必需的。
该命令与按下补偿与扩展菜单中的Autosoftkey键是等同的。
TRACEandSCANCOMMANDS
跟踪扫描命令
TRCD(?
)i{,j,k,l,m}TRCD命令设置查询跟踪的定义。
参数I选择跟踪数(1,2,3或4)而且是必需的。
TRCDi,j,k,l,m定义跟踪I为j*k/I,跟踪将被存储(m=1)或不存储(m=0),该命令需要所有的参数。
参数j,k,和I按下边的表选择数值,只有I可以大于12。
例如:
命令TRCD1,1,2,3,1定义跟踪1为X*Y/R并且保存之。
TRCD?
I命令查询跟踪I的定义。
返回的字符串包含以逗号隔开的J,K,I和M。
例如假如TRCD?
1命令返回”1,2,3,1”则定义跟踪一为X*Y/R并且是保存的。
SRAT(?
){i}SRAT命令设置查询扫描的采样率。
参数按下面的选择之。
SLEN(?
){x}SLEN命令设置查询扫描长度。
参数X是扫描长度(实数单位位秒)。
扫描长度将被设置成给定采样率和跟踪数的最靠近的允许时间。
缓冲区为4个跟踪可以容纳16000个点,两个32000个点,一个则是64000个点。
最大扫描时间是缓冲区大小除以采样率。
最小值是1.0秒。
SEND(?
){i}SEND命令设置查询扫描模式。
参数I选择单次(I=0)或循环模式(I=1)。
TRIGTRIG命令是软件触发命令。
该命令与后面板上的触发输入由相同的效果。
DISPLAYandSCALECOMMANDS
6,显示和刻度命令
(1)ASCL此命令可自动调节当前显示的刻度,就好象按下[AUTOSCALE]键。
它只影响?
?
显示(BarandChartdisplays)
(2)ADSP(?
){i}此命令用来选择当前显示模式。
参数i=0,表示全屏(Full),i=1,表示顶部显示(Top),i=2,表示底部显示(Bottom)。
所选择的模式必须是当前显示,否则将产生错误。
(3)SMOD(?
){I}此命令用来设置或询问屏幕格式。
参数i=0,表示单或全屏显示屏,i=1,表示上/下双屏显示。
(4)MNTR(?
){i}此命令用来设置或询问监视器显示模式。
参数i=0,表示设置监视器,i=1,表示输入/输出监视器。
.
(5)DTYP(?
)i{,j}此命令用来设置或询问显示类型。
参数i=0,表示全屏(Full),i=1,表示顶部显示(Top),i=2,表示底部显示(Bottom)而且是必需的。
参数j=0,表示极坐标,j=1,表示空白,j=2,表示条形图,j=3,表示曲线图。
如果用此命令设置不是在屏幕上的显示的显示类型,就会产生错误。
DTYP?
i询问命令能检查任何显示类型。
(6)DTRC(?
)i{,j}此命令用来设置或询问所显示的轨迹数。
参数i=0,表示全屏(Full),i=1,表示顶部显示(Top),i=2,表示底部显示(Bottom)而且是必需的。
参数j是轨迹数(1,2,3或4)。
如果用此命令设置不是在屏幕上的显示的轨迹数,就会产生错误。
DTRC?
i询问命令能检查任何显示的轨迹。
(7),DSCL(?
)i{,x}此命令用来设置或询问显示范围。
参数i=0,表示全屏(Full),i=1,表示顶部显示(Top),i=2,表示底部显示(Bottom)而且是必需的。
参数x是范围(带有显示轨迹单位的实数)。
10-18如果用此命令设置不是在屏幕上的显示的显示范围,就会产生错误。
这个范围只影响条形图和曲线图的显示类型。
(8),DOFF(?
)i{,x}此命令用来设置或询问显示中心值或偏差。
参数i=0,表示全屏(Full),i=1,表示顶部显示(Top),i=2,表示底部显示(Bottom)而且是必需的。
参数x是中心值(带有显示轨迹单位的实数)。
10-12如果用此命令设置不是在屏幕上的显示的中心,就会产生错误。
这个中心只影响条形图和曲线图的显示类型。
(9)DHZS(?
)i{,j}此命令用来设置或询问显示水平刻度。
参数i=0,表示全屏(Full),i=1,表示顶部显示(Top),i=2,表示底部显示(Bottom)而且是必需的。
参数j用来选择刻度,其值代表的刻度如下所列。
如果用此命令设置不是在屏幕上的显示的水平刻度,就会产生错误。
这个水平刻度只影响曲线图的显示类型。
Itime/divItime/div
02mS17200S
15mS185min
210mS19500S
320mS2010min
450mS211kS
50.1S2220min
60.2S232kS
70.5S241hour
81.0S255kS
92.0S262hour
105.0S2710kS
1110S283hour
1220S2920kS
1350S3050kS
141min31100kS
15100S32200kS
162min
最小刻度和采样速度有关。
最小刻度是每格1/采样速度。
这会在曲线图上显示十个点的一个最小值(Thisdisplaysaminimumof10pointsonthechart.)最大刻度也和采样速度有关。
这个刻度不能超过那个在曲线图上立刻显示整个缓冲区的数值。
(10)RBIN?
I此命令用来询问在右边缘的曲线图显示(全屏显示i=0,顶部显示i=1,底部显示i=2)的二进制数。
RBIN?
和CBIN命令用来设定在一个明确的轨迹区域上的当前曲线图显示的时间窗口。
7,指针命令CURSORCOMMANDS
(1)CSEK(?
){i}此命令用来设置或询问当前显示的指针搜索方式。
参数i可以选择最大值(i=0),最小值(i=1),或平均值(i=2)。
每一种显示都有它自己的指针搜索方式。
调用ATRC和SMOD命令可选择想要的显示。
只有曲线图显示有一个指针。
(2)CWID(?
){i}此命令用来设置或询问当前显示的指针的宽度。
参数i可以选择Off(i=0),窄(i=1),宽(i=2)或点(i=3)。
每一种显示都有它自己的指针宽度。
调用ATRC和SMOD命令可选择想要的显示。
只有曲线图显示有一个指针。
(3)CDIV(?
){i}此命令用来设置或询问当前显示的垂直分度。
参数i可以选择8(i=0),10(i=1),或None(i=2)。
每一种显示都有它自己的垂直分度模式。
调用ATRC和SMOD命令可选择想要的显示。
只有曲线图显示有一个指针。
这只影响曲线图显示。
(4)CLNK(?
){i}此命令用来设置或询问指针控制模式。
参数i可以选择连接(i=0)
或分离(i=1).只有曲线图显示有一个指针。
(5)CDSP(?
){i}此命令用来设置或询问当前显示的指针读出器模式。
参数i可以选择Delay(i=0),Bin(i=1),Fsweep(i=2)或Time(i=3).只有曲线图显示有一个指针。
(6)CMAX此命令就如同按下[CURSORMAX/MIN]键。
在当前的曲线图显示中,指针会移到最大或最小的数据(当被CSEK命令设置时)。
只有当前显示是曲线图的显示时,此命令才有效。
(7)CURS?
I此命令用来询问全屏(i=0),顶部
(i=1)或底部(i=2)曲线图显示的指针位置。
所挑选的显示必须是曲线图显示。
结果会返回一对数值(X,Y)。
X值是水平位置(?
)(inbin,delay,timeorsweepfrequency),Y值是垂直位置。
返回值显示在所选择的曲线图显示的上方的指针读出器中。
(8)CBIN(?
){i}此命令用来设置或询问当前曲线图显示的指针的二进制位置。
当前显示必须是曲线图显示。
CBIN?
命令返回指针的二进制数。
这是在指针区内部的二进制数,而不是在指针读出器位置(它在指针区内可取数据的最大,最小或平均值)。
注意,甚至一个现场指针也能多重的二进制数据,这取决于缩放比例。
CBINI命令把指针移到二进制数i.处。
如果二进制数I图的时间窗口之外,则曲线图thenthechartispannedleftorright直到二进制数I在左边(二进制数I在窗口的左边)或右边(二进制数I在窗口的右边).。
Remember,CBINreferencesthecenterofthecursorregion.TheCURS?
queryreadstheactualcursorlocation(asdisplayedinthecursorreadout)whichisthemax,minormeanofthedatabinswithinthecursorregion.
记住,此命令涉及到指针区的内部。
TheCURS?
询问命令读出实际的指针位置(当在指针读出器显示时),此位置是在指针区内二进制数据的最大,最小或平均值.。
8,标记命令MARKCOMMANDS
(1)MARK此命令就如同按下[MARK]键。
在下一次采样时,一个标记会被放置在数据缓冲器中。
只有当一次扫描正在进行中,此命令才起作用。
TheMARK
(2)CNXT此命令把当前图表显示的指针向右移到下一个标记。
如果标记离开曲线图的右边缘,则整个图向右移动直到找到下一个标记。
(3)CPRV此命令把当前图表显示的指针向左移到下一个标记。
如果标记离开曲线图的左边缘,则整个图向左移动直到找到下一个标记。
(4)MDEL此命令就如同按下MarkerDelete软键。
此命令将删除指针左边最近的标记。
(5)MACT?
此命令用来询问当前标记(0-8).的数目。
如果当前标记的数目大于0,则标记数被以逗号隔开的当前标记数所跟随。
例如,如果MACT?
返回3,0,2,6。
则有3个当前标记-—mark#0,#2和#6.
(6)MBIN?
I此命令用来询问标记#I的二进制数。
切记,所有的显示使用相同的标记。