BT-Basic函数之首字母O

BT-Basic函数之首字母O


文章目录

  • BT-Basic函数之首字母O
    • object checking
    • off break
    • off error
    • on
    • on break
    • on error
    • operator
    • option bit
    • or
    • output
    • output using


object checking

在测试计划中使用object checking函数来开启或关闭对象检查。

当对象检查开启时,每次运行测试时都会检查测试对象文件的时间戳,以确定对象是否已更新。如果测试对象已更新,它将被重新加载到测试头中。

当对象检查关闭时,测试对象文件在第一次运行时被下载;在随后的运行中不会被检查。如果测试被更新,新版本不会被下载到测试头中。

我们建议在测试开发过程中开启对象检查。请注意,在调试过程中,对象检查会自动开启。在生产测试中关闭对象检查可能会提高吞吐量,特别是当测试在网络上运行时。

如果没有对象检查函数存在,则对象检查是开启的。

testhead is 1 和 load board 语句会开启对象检查。请参阅这些语句的语法描述。

语法

object checking 
  • 可以是:on 或 off

eg:

object checking on

object checking off

off break

off break函数用于关闭一个已激活的on break函数(有关详细信息,请参阅该函数)。

语法

off break

参数

(无)

示例

on break recover Message

    . . .

Message:

    off break

    print "Operator pressed Break"

    goto Next_Test

off error

off error函数用于关闭一个已激活的on error函数(有关详细信息,请参阅该函数)。

eg:

on error recover Fault

    . . .

Fault:
    off error
    print "Error "; errn;" on Line "; errl
    . . .
    goto Next_Test

on

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

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

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函数使称为操作员键盘的一组标签框出现在屏幕顶部。每个框执行一个功能,可以通过以下方式之一来执行:

  • 触摸相应的按钮(如果显示器具有触摸屏)。
  • 使用鼠标单击相应的框。
  • 按f1到f8的软键,与屏幕上的一个框对应。(仅当光标位于操作员键盘外时有效。)

有多组可用的框和功能;调用哪一组取决于operator函数中指定的内容。

软键标签和功能在每个用户的.hp3070文件中定义。

语法

operator

operator 
  • 是一个字符串表达式,可以是:

    • standard

参数

可选的字符串表达式,用于选择函数调用的标签和功能集。如果未指定,则使用与当前登录关联的默认值。standard调用您的测试系统提供的默认标签定义。为指定任何其他值将调用一组替代定义。默认值由用户.hp3070文件中的Operator.Default变量的值确定。

autofile

用于夹具与多种板类型配合使用时。如果指定了autofile,操作员将看到夹具的板类型列表,并可以从列表中选择一个。

off

取消操作员键盘。

示例

operator                  ! 使用

option bit

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

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

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函数使用图像格式顺序地将数据输出到文件和设备。

数据要发送到的文件或设备在函数的参数中指定。假设设备是文件系统的一部分。可以通过或与关联的@访问文件或设备。如果使用,文件或设备在访问时打开,完成访问后关闭。如果使用@,则在第一次分配@时打开文件或设备,并保持打开状态,以便每次新访问都从上次访问停止的位置开始。

要输出的数据包含在函数的中。格式化该数据的规格由参数引用。此参数可以包含格式规格,或者可以引用包含规格的图像函数。

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函数。

你可能感兴趣的:(BT-Basic函数大全,开发语言,测试工具,pcb工艺)