在测试计划中使用object checking函数来开启或关闭对象检查。
当对象检查开启时,每次运行测试时都会检查测试对象文件的时间戳,以确定对象是否已更新。如果测试对象已更新,它将被重新加载到测试头中。
当对象检查关闭时,测试对象文件在第一次运行时被下载;在随后的运行中不会被检查。如果测试被更新,新版本不会被下载到测试头中。
我们建议在测试开发过程中开启对象检查。请注意,在调试过程中,对象检查会自动开启。在生产测试中关闭对象检查可能会提高吞吐量,特别是当测试在网络上运行时。
如果没有对象检查函数存在,则对象检查是开启的。
testhead is 1 和 load board 语句会开启对象检查。请参阅这些语句的语法描述。
语法
object checking
可以是:on 或 offeg:
object checking on
object checking off
off break函数用于关闭一个已激活的on break函数(有关详细信息,请参阅该函数)。
语法
off break
参数
(无)
示例
on break recover Message
. . .
Message:
off break
print "Operator pressed Break"
goto Next_Test
off error函数用于关闭一个已激活的on error函数(有关详细信息,请参阅该函数)。
eg:
on error recover Fault
. . .
Fault:
off error
print "Error "; errn;" on Line "; errl
. . .
goto Next_Test
on函数根据函数的参数值,将程序执行分支到多个位置中的一个。如果函数包含goto关键字,它从中选择一个行标签并转到该行。如果函数包含call关键字,它从中选择一个子程序标签并调用该子程序。
的值决定了分支到哪个行标签或子程序标签:如果值为1,则分支到列表中的第一个标签;如果值为2,则分支到第二个标签,依此类推。
on函数不能将参数传递给子程序。如果调用子程序,子程序必须操作其局部变量或全局变量。
语法
on goto
on call
是一个数值表达式
可以是:
,
,, ...
可以是:
,
,, ...
和 是标签
参数
整数值决定分支到哪个标签。值必须在1到列表中的标签数之间。
分支所指向行起始的标签。指定的行不能与on函数处于不同的环境中(例如,on函数在主程序中,而行在子程序中)。
要调用的子程序的标识符。
示例
for I = 1 to 4
. . .
on I call TestA, TestB, TestC, TestD ! 在每次循环中依次调用一个子程序
. . .
next I
on A mod 8 + 1 goto L1, L2, L3, L4, L5, L6, L7, L8
on break函数定义了在操作员随后生成可捕捉的中断时将发生的程序活动(参见Break Key的语法)。
该函数有三个次级关键字:goto、call和recover。
goto — 如果发生中断,则分支到一个标签,该标签必须与on break函数处于同一环境;如果中断发生在不同环境,则分支不会发生。
call — 如果发生中断,则调用一个子程序。在该子程序退出后,程序从中断发生时正在执行的行的第一个函数继续执行——这适用于行上的语句数量或中断发生时正在执行的函数。(请注意,这与标准子程序调用不同,后者从子程序调用后的函数开始执行。)
通过call,您可以执行一个子程序以修改某些变量,然后自动再次执行该行,但使用修改后的数据。
recover — 如果发生中断,则分支到一个标签,该标签可以与on break函数处于同一环境,也可以处于更高的环境。
如果on break recover在主程序中,则目标行也必须在主程序中。除非暂时被覆盖,否则该recover始终生效。如果中断发生在子程序执行期间,程序执行将分支到主程序中的行,无论当前有多少子程序嵌套级别处于活动状态。
如果on break recover在子程序中,则目标行可以在该子程序中或在主程序中。执行该函数时,会先搜索子程序中的标签,然后如果不成功,再搜索主程序以确定目标行。此recover仅在包含它的子程序执行期间有效;这包括该子程序调用的任何嵌套子程序的执行。
无论是何种类型的分支或调用,on break活动可以通过off break、另一个on break函数或run函数取消。在较低环境中执行的on break函数在程序返回到较高环境时不再有效。如果在较低环境中取消或覆盖了一个活动的on break,当程序返回到其生效的环境时,它将被自动恢复。
语法
on break goto
on break call
on break recover
和 是的标识符
参数
程序执行恢复的行起始处的标签(参见和 的定义)。
对于goto,函数、引用行和中断必须都在同一环境中。
对于recover,引用行必须与函数处于同一环境,或在主程序中;如果行标签在两者中都有,函数将在其自身环境中选择该行。
要调用的子程序的标识符。
示例
on break goto Message
. . .
Message:
print "Operator pressed Break at "; time$
goto Next_test
on error函数定义了当出现未捕获的运行时错误(即,由不指定错误变量的函数引起的错误)时将会发生的程序活动。
该函数具有三个次级关键字:goto、call和recover。
goto — 如果发生错误,则分支到一个标签,该标签必须与on error函数处于同一环境;如果错误发生在不同的环境,则分支不会发生。
call — 如果发生错误,则调用一个子程序。在该子程序退出后,程序从错误发生时正在执行的行的第一个函数继续执行——这适用于行上的语句数量或错误发生时正在执行的函数。(请注意,这与标准子程序调用不同,后者从子程序调用后的函数开始执行。)
通过调用,可以执行一个子程序以修改某些变量,然后自动再次执行该行,但使用修改后的数据。
recover — 如果发生错误,则分支到一个标签,该标签可以与on error函数处于同一环境,也可以处于更高的环境。
如果on error recover在主程序中,则目标行也必须在主程序中。除非暂时被覆盖,否则该recover始终生效。如果错误发生在子程序执行期间,程序执行将分支到主程序中的行,无论当前有多少子程序嵌套级别处于活动状态。
如果on error recover在子程序中,则目标行可以在该子程序中或在主程序中。执行该函数时,会先搜索子程序中的标签,然后如果不成功,再搜索主程序以确定目标行。此recover仅在包含它的子程序执行期间有效;这包括该子程序调用的任何嵌套子程序的执行。
无论是何种类型的分支或调用,on error活动可以通过off error、另一个on error函数或run函数取消。在较低环境中执行的on error函数在程序返回到较高环境时不再有效。如果在较低环境中取消或覆盖了一个活动的on error,当程序返回到其生效的环境时,它将被自动恢复。
语法
on error goto
on error call
on error recover
和 是的标识符
参数
程序执行恢复的行起始处的标签(参见和 的定义)。
对于goto,函数、引用行和错误必须都在同一环境中。
对于recover,引用行必须与函数处于同一环境,或在主程序中;如果行标签在两者中都有,函数将在其自身环境中选择该行。
要调用的子程序的标识符。
示例
on error goto Message
. . .
Message:
print "Error "; errn; "on line "; errl
goto Next_test
常规信息
(无)
operator函数使称为操作员键盘的一组标签框出现在屏幕顶部。每个框执行一个功能,可以通过以下方式之一来执行:
有多组可用的框和功能;调用哪一组取决于operator函数中指定的内容。
软键标签和功能在每个用户的.hp3070文件中定义。
语法
operator
operator
是一个字符串表达式,可以是:
参数
可选的字符串表达式,用于选择函数调用的标签和功能集。如果未指定,则使用与当前登录关联的默认值。standard调用您的测试系统提供的默认标签定义。为指定任何其他值将调用一组替代定义。默认值由用户.hp3070文件中的Operator.Default变量的值确定。
autofile
用于夹具与多种板类型配合使用时。如果指定了autofile,操作员将看到夹具的板类型列表,并可以从列表中选择一个。
off
取消操作员键盘。
示例
operator ! 使用的默认定义。
operator "standard"
! 显示带有标准标签定义的操作员键盘。
! 选择一个标签执行与其关联的功能。
operator "my_labels"; autofile
! 显示带有自定义标签定义集的操作员键盘。
! 提示操作员指定夹具上正在测试的板。
operator off ! 取消"operator"功能;操作员键盘消失
option bit函数在工作区中切换那些在位级操作数字和字符串的函数的16位和32位操作(参见BT-Basic编程中运算符和函数的位操作信息)。默认操作是16位。
语法
option bit
option bit ,
是一个数值表达式
是一个数值变量参数
该值必须四舍五入为16或32。
返回到此变量的先前位设置。
示例
option bit 32 ! 设置为32位操作
option bit 16, Old_bits
print Old_bits ! 打印 32
option bit Old_bits ! 设置为32位操作
Bits = 16.4
option bit Bits ! 设置为16位操作
option bit 2 * Bits ! 错误 — 四舍五入至33
or运算符用于计算布尔表达式。如果左侧表达式或右侧表达式(或两者)为真(非零),则返回值为1。如果两个表达式都为假(零),则运算符返回值为零。此运算符的优先级为1。
语法
or
参数
要计算的数量。
示例
print 12 or -123.4 ! 打印 1
print 0 or 345 ! 打印 1
print 0*20 or 0 ! 打印 0
A = 2*pi/8 or sqr(5^2+11^2) \ print A ! 打印 1
output函数用于以自由字段格式顺序地将数据输出到文件和设备。要将数据输出到的文件或设备在函数的参数中指定。假设设备是文件系统的一部分。可以通过或与关联的@来访问文件或设备。如果使用,则在访问时打开文件或设备,完成访问后关闭。如果使用@,则在第一次分配@时打开文件或设备,并保持打开状态,以便每次新访问都从上次访问停止的位置开始。
输出的数据包含在函数的中。使用自由字段格式,列表中以逗号作为分隔符的项目输出在标准字段中,每个字段包含20个字符。使用分号作为分隔符的字段被打包;即根据数据项的长度进行延长或缩短。如果打印列表包含制表符函数,下一个字段从该函数参数指示的列开始。
自由字段格式下,每行包含最多80个字符,每行后生成一个EOL(行尾)序列。在列表中所有项目输出后,也会生成一个EOL,前提是最后一行没有已生成的EOL——即输出末尾不会有两个EOL。如果函数没有打印列表,则只生成最终的EOL(空白行)。每次出现EOL时,系统将适当的序列发送到目标文件或设备。(系统会自动将正确的序列发送到所有已识别的标准和可选设备。)
例如,如果数据被打印,打印机会收到并执行CR/LF(回车/换行)。如果数据发送到文件,则会收到EOR(记录结束)。然后标记当前记录的结束,如果有更多数据,则开始新记录。
output函数按记录逐个顺序地将数据写入目标文件或设备。每个记录的长度由上文所述EOL确定。尽管自由字段格式在生成EOL之前最多只能输出80个字符,但记录的最大长度可以达到2044个字符。在输出操作过程中,系统通过指针跟踪其在文件或设备中的位置。只要文件或设备未关闭,完成输出操作后,指针将保持在当前位置。下一次输出则在最后一条记录之后立即开始新记录,从上一次输出停止的位置开始。
语法
output
output ;
output ,,
output ,,;
可以是:
是一个数值变量
[注意前的双逗号]
可以是:
可以是:
可以是:, (逗号)或 ; (分号)
参数
输出数据要发送到的文件或设备。如果指定了,则先打开文件或设备,完成输出操作后再关闭,无论输出是否成功。如果指定了@,则文件或设备保持打开,以便进一步访问。如果使用,必须事先分配@。
错误变量的标识符。
要以自由字段格式输出的数据项列表。如果其分隔符是逗号,数据项将在标准字段中输出;如果其分隔符是分号,则在打包字段中输出。
要输出完整的数据数组,请使用(*)。
如果项目是制表符函数,打印位置移到指示的列,并在那列开始下一个字段。如果指示的列位于当前打印位置左侧,则输出一个EOL,并在下一行的指示列开始该字段。
制表符函数的分隔符使用逗号和分号没有区别。在这种情况下,二者都不影响格式。
示例
A = 128
output "/dev/ptr" ; "Total =", A, "Units"
! 打印 Total = 128 Units
! ‑‑‑‑‑20 spaces‑‑‑‑‑>‑‑‑‑‑20 spaces‑‑‑‑‑>‑‑‑‑‑‑20‑‑
output "/dev/ptr" ; "Total ="; A, "Units"
! 打印 Total = 128 Units
! ‑‑‑7‑‑>‑‑13 spaces‑>‑‑‑‑‑20 spaces‑‑‑‑‑>
T$ = "Resistor values measured during test:"
output @Typewriter,,Check; T$, tab(1), Results(*)
! 打印 T$ 然后打印数组中的值,每行四个值,从下一行开始;注意错误变量 Check。
output "/dev/ptr"; A(*); B(*); ""
! 因为打印列表中的最后一项不能是分隔符,因此包括一个虚拟输出项(空字符串)允许第二个数组被打包。
R$ = "File_4"
output R$; A, B, C; D; E
output R$ ! 输出一个EOL(空白行)
常规信息
有关图像格式,请参阅output using函数。
output using函数使用图像格式顺序地将数据输出到文件和设备。
数据要发送到的文件或设备在函数的参数中指定。假设设备是文件系统的一部分。可以通过或与关联的@访问文件或设备。如果使用,文件或设备在访问时打开,完成访问后关闭。如果使用@,则在第一次分配@时打开文件或设备,并保持打开状态,以便每次新访问都从上次访问停止的位置开始。
要输出的数据包含在函数的中。格式化该数据的规格由参数引用。此参数可以包含格式规格,或者可以引用包含规格的图像函数。
output using函数以记录为单位顺序地将数据输出到目标文件或设备。记录的最大长度为2044个字符;如果尝试生成更长的记录,在运行程序时会出现错误。每个记录的实际长度由生成的EOL(行尾)序列确定。每次在图像规格中遇到 (/)时,或在所有数据项输出后(前提是上一规范不是行规范)时,都生成一个EOL。
每次发生EOL时,适当的序列被发送到文件或设备。系统会自动将正确的序列发送到所有已识别的标准和可选设备。例如,如果数据被打印,打印机会执行CR/LF(回车/换行)。如果数据写入文件,则发送EOR(记录结束)。然后标记当前记录的结束,如果有更多数据,则开始新记录。然而,如果图像规格包括(#),则不会生成EOL(此规格仅适用于GPIB或RS-232操作)。
在输出操作过程中,系统通过指针跟踪输出文件或设备中的写入位置。只要文件或设备未关闭,完成输出操作后,指针将保持在当前位置。下一个输出操作从当前位置开始。是否开始新记录或从上一次输出操作继续记录,取决于最后一个EOR(EOL)是否已发送。
语法
output using
output using ;
output ,, using
output ,, using ;
可以是:
可以是:
是一个数值变量
[注意前的双逗号]
可以是:
参数
将输出数据发送到的文件或设备。如果指定了,文件或设备首先被打开,完成输出操作后关闭,无论输出是否成功。如果指定了@,则在输出后文件或设备保持打开,以便进一步访问。如果使用,必须事先分配@。
包含用于格式化打印列表的规格的图像函数的标识符。
用于格式化打印列表的规格列表。请参考图像函数的描述以获取这些规格的完整描述。
错误变量的标识符。
要输出的数据项列表。这些将由参数中引用的规格进行格式化。如果省略此列表,图像规格将决定输出。
示例
Form1: image 2d.2d, sd.ddd, ddd.dd
A = 6.34 \ B = 7.325 \ C = 2
output "/dev/tape" using Form1; A,B,C
! 输出 6.34+7.325 2.00
! ‑‑5‑>‑‑6‑‑>‑‑6‑‑>
Form2: image 2d.2d,x,a,2d.3d,3x,"Total = ",4d.3d
output @Printer using Form2; A, "+", B, A+B
! 打印 6.34 + 7.325 Total = 13.665
! ‑‑5‑>>>‑‑6‑‑>‑3>‑‑‑‑9‑‑‑>‑‑‑8‑‑‑>
Form3: image 4(ddd.dd)
output "/dev/ptr" using Form3; R,S,T,U
output "/dev/ptr" using "4(ddd.dd)"; R,S,T,U ! 同上
P$="/dev/ptr"
output P$ using Form3; R,S,T,U ! 同上
F$ = "4(ddd.dd)"
output "/dev/ptr" using F$; R,S,T,U ! 同上
output "/dev/ptr",,Check using Form3; R,S,T,U
! 注意错误变量 "Check"
常规信息
有关格式化输出的更多示例,请参阅图像函数。
有关自由字段格式,请参阅output函数。