tab
语句可以通过 print
、output
和 report
语句调用,这些语句都使用自由格式输出数据。tab
语句可以包含在这些语句要输出的数据项列表中。该语句使下一个数据项的字段从语句参数指定的列开始,而不是紧接在前一个字段之后。
如果语句指定的列在当前打印位置的左侧,则下一个字段从指定列开始,但在新行上——即,发生换行。当前打印位置为前一个字段右侧的下一列。如果尚未输出任何数据,或如果输出了 EOL(行结束),则当前位置在当前行的第一列。如果指定的列号大于 80,则会发生一个或多个换行。
语法
tab ()
是一个 <数值表达式>
参数
下一个字段的第一个字符所在的列。列从左到右编号为 1 到 80。为了确定列号,该数值表达式的值将四舍五入为整数,然后取模 80,即取整数值除以 80 后的余数。
为了确定换行次数,将表达式的值除以 80,并取结果的整数部分。
表达式的值必须为正。
示例
print " NAME", tab(25), "ID", tab(3), "===="; tab(25), "=="
! 打印输出 NAME ID
! ==== ==
! ‑‑‑‑‑‑‑1 到 24‑‑‑‑‑‑‑>‑‑‑25 到 44‑‑‑‑
print "Line 1:", tab(165), "Line 3:"
!
! 打印输出 Line 1:
! Line 3:
tab (18) ! 这三个 tab 语句均指定为第 18 列;
tab (177.7) ! 第二个和第三个语句还会导致两个换行
tab (178.2)
翻译:
test
语句执行包含在引用的源文件中的测试。该语句根据文件中的数据类型确定测试的类型。可执行的测试类型包括:
执行时,测试将清除内存中的任何现有测试,并将新测试的目标代码(.o 文件)加载到内存中。然后执行测试。如果测试在执行时开启了学习模式,将仅学习测试数据,测试既不会通过也不会失败。测试完成后,测试保持在内存中,并将控制权返回给 BT-Basic。
执行测试时,必须将适当的板数据加载到内存中(请参阅 load board
语句)。
test
语句可以选择性地将参数传递给执行的测试(这些参数即语法中的
)。参数由数值变量列表组成——简单变量和数组可以包含在列表中。传入的参数从左到右依次分配给形式参数,按被执行测试中列出的形式参数顺序排列。传递给测试的变量数量必须正确,并且每个传递的变量必须与分配给它的形式变量类型相同(简单变量、数组变量等)。
对于单一(非混合)测试,模拟和数字测试类型关键字是可选的。您可以使用这些关键字为测试文档化。然而,软件会忽略它们(即错误的关键字不会引发错误)。
当参数被传递给混合测试时,软件同样会忽略可选的数字和模拟关键字以及分隔参数组的分号。然而,我们强烈建议您使用它们,特别是对于混合测试,以便为调试目的提供测试文档。
当执行混合测试时,test
语句会尝试按照列出的顺序将参数分配给混合测试的每个部分。由于它忽略了分号和测试类型关键字,test
语句首先查看测试的数字部分,然后查看测试的模拟部分——始终按照这个顺序。如果混合测试中未包括两部分之一,或者不需要传递参数,test
语句会转到测试的下一部分。
不论您是否在
中使用测试类型关键字,都必须将正确数量的参数传递给混合测试。每个传递的参数必须与分配给它的形式参数类型相同。
记住,测试类型关键字的目的是让您能够正确记录您的测试。如果您在
中错误地定位了任何它们,仍不会发生错误。
不要在被测板上有任何电压源(例如电池)的情况下执行引脚、短路、TestJet、VTEP 或模拟在线电路测试——系统将短路而可能损坏被测电路板和测试系统。
语法
test
test ;
test shorts
test shorts
可以是:
和 是字符串表达式。
可以是:
可以是:
是一个 <数值变量>
参数
要执行的测试的标识符。除了混合测试之外,这总是包含测试源代码的文件的 ID。对于混合测试,需要该测试的 ;然后执行该目录中的 test.o 文件中的目标代码。
该标识符通常由从板测试目录的文件(或目录)路径组成(参见下面的示例)。
传递给要执行的测试的一个或多个变量。
示例
test ""
test "pins"
test "shorts"
test "alt_shorts"
test shorts ! 使用板目录下的 "shorts.o" 文件
test shorts "alt_shorts"
test "analog/C128"
! 下一行语句等价于:
test "analog/R7"; Flag, Measured_value
test "analog/R7"; analog Flag, Measured_value
test "testjet"
test "vtep"
test "digital/u19"
test "u64"; A, C(*)
test "functional/rom_24/test"
test "mixed/adc1" ! 使用目录 id
test "mixed/adc1"; V1, V2
! 下一行语句等价于:
test "mixed/A_to_D"; A, B(*), C, D, X1, X2, X3
test "mixed/A_to_D"; digital A, B(*); analog C, D
test cont
语句可用于测试计划中,以在测试被 halt
或 pause
语句停止后继续进行模拟或数字测试。测试将从其停止的点继续。
对于由于停止的数字测试,如果正在实施保护措施(参见 safeguard
语句),继续测试前将执行正常的冷却延迟。
如果测试因错误或测试超时而停止,则无法继续。已经完成的测试以及尚未开始的测试不能继续。
此功能仅在 BT-Basic 窗口中有效。
测试监视模式限制用户仅执行少量面向测试的操作。它无法访问测试开发人员使用的全功能范围。
当测试监视生效且程序未运行时,以下按键是激活的:
软键 — 软键定义更改为:
操作员小键盘(如果存在)— 所有键。
当测试监视生效且程序正在运行时,程序按正常方式运行。它还允许通过工作站键盘的 enter
、input
和 question
语句进行正常的数据输入。然而,Break 键的功能略有变化为:
Break(在键盘上)— 如果按下,则停止程序。一旦程序停止,您有两个选择:
测试监视模式可以通过 program monitor
语句取消,这将恢复正常操作并将软键定义恢复为正常。
test on boards
语句对所有在指定板状态数组中状态为非零的电路板执行指定测试。
板状态数组是由测试计划创建的一维数值数组。面板上的每种板类型都有一个板状态数组。
语法
test on boards
是一个 <字符串表达式>
是一个 <标签>参数
一个标识要执行的测试的字符串表达式。这是测试的未扩展名称。
标识数组的标签。
示例
dim BoardSet_Boards_1_to_5 (1:5)
dim BoardSet_Boards_6_to_9 (6:9)
! 设置板集 1 到 5 位。1 到 5 为 "1"
! 设置板集 6 到 9 位。6 到 9 为 "1"
test "u10" on boards BoardSet_Boards_1_to_5(*) ! 对1到5号板测试 U10。
test "u10" on boards BoardSet_Boards_6_to_9(*) ! 对6到9号板测试 U10。
test scanworks
语句与 test (BT-Basic)
语句相同,只是用
列表替换了
列表。
test scanworks
语句对所有在指定板状态数组中状态为非零的电路板执行指定测试。
板状态数组是由测试计划创建的一维数值数组。面板上的每种板类型都有一个板状态数组。
语法
test scanworks
test scanworks ; reportlimit
test scanworks on boards
test scanworks on boards ; reportlimit
参数
标识要执行的测试的字符串表达式。这是测试的扩展名称。
标识数组的字符串。
一个数值表达式,用于限制在测试失败的报告中显示的项目数目。
示例
dim BoardSet_Boards_1_to_5 (1:5)
dim BoardSet_Boards_6_to_9 (6:9)
! 设置板集 1 到 5 位。1 到 5 为 "1"
! 设置板集 6 到 9 位。6 到 9 为 "1"
test scanworks "project.design.SVF1" on boards BoardSet_Boards_6_to_9(*)
test scanworks "project.design.ScanPath Verify1"
test scanworks "project.design.Interconnect1"; reportlimit 5
此语句只能用于 ScanWorks 软件选项。
test shorts 语句是 test (BT-Basic) 语句的一种变体.
testhead cleanup
语句向测试头发出重置命令,以打开所有数字和模拟继电器。此命令应该在调用任何 ScanWorks 命令之前执行。如果在没有连接测试头或测试头不在加载模式下执行此命令,则不会执行任何操作。
语法
testhead cleanup
testhead cleanup,
eg:
testhead cleanup
testhead cleanup, Err ! 错误返回到名为 Err 的变量
testhead configuration
语句打印机台的硬件和真空孔的映射列表到打印设备。
eg:
! 列出测试头的硬件配置
printer is "/dev/rp1" ! 定义打印设备。
testhead configuration ! 打印机台配置。
testhead is 1
语句允许您从系统中的任何工作站访问和控制测试站硬件。
testhead is *
语句释放对测试头的控制。
当执行 testhead is 1
时,如果当前有已打开的测试头,则将其关闭。引用的测试头将被独占性地打开;如果它已打开,则会出现运行时错误。该语句是全局性的,因此可以从终端、主程序或子程序中执行,并且对所有环境生效。此外,该语句将持续生效,直到执行另一个 testhead is
语句或您退出系统(exit
语句)。
testhead is 1
语句执行以下操作:
语法
testhead is
testhead is ,
testhead is *
testhead is *,
是一个 <数值表达式>
是一个 <数字变量>参数
所选测试头的编号。这是一个正整数,唯一合法的值是 1。
*释放对测试头的控制。
示例
testhead is 1 ! 访问测试头 1 ("/dev/th1")
testhead is * ! 释放测试头 1
当 testhead power on
语句打开测试头的电源时,它也会执行一个 testhead is 1
语句。
testhead power
语句用于打开或关闭测试头的电源。请注意,测试头电源关闭后,夹具锁仍将保持激活状态。要在测试头电源关闭的情况下释放夹具,请按下红色紧急停止开关。
testhead power on
语句还会执行一个 testhead is 1
语句。
语法
testhead power on
testhead power off
翻译:
testhead status
语句返回最多七个测试头状态参数的值。这些值将返回到在 testhead status
关键字后列出的变量中。可以返回的参数包括有关自调节状态、测试头上次启动后的时间、模块温度、用于存储测试对象的可用内存、以及夹具是否锁定等信息。
可以包含一到七个变量。变量在
中的位置决定了哪个参数值返回给该变量。
要指示 testhead status
语句跳过任何参数,必须在
中适当的位置包含逗号(,)。参见示例部分。
语法
testhead status
variable list
可以是:
,
, , ...
是数字变量。
参数
通过返回一个非零值来指定是否需要运行自调节。返回值是一个三位的二进制值。各位表示:
指示自上次成功自调节以来的时间(以秒为单位)。
指示自测试头上次启动以来的时间(以秒为单位)。
检查配置文件中列出的每个模块的校准温度与实际温度之间的差异。返回摄氏温度差异中最大的值。
指示温度最高的模块的温度(以摄氏度为单位)。
指定可用于存储测试对象的可用内存字节数,位于内存最少的模块中。
如果测试夹具未锁定,则为0。若测试夹具锁定,则为非零。
示例
! 该语句列出了所有七个参数的变量。
testhead status Ad, At, Bt, Td, Tm, By, Lk
! 该语句列出了第一和第二个参数的变量。
testhead status Ad, At
! 该语句列出了第二和第四个参数的变量。
testhead status , At, , Td
一般信息
testhead status
语句必须在 testhead is 1
语句之后执行。
翻译:
testjet print level is
语句指示系统将 TestJet 测量结果的报告发送到当前 printer is
设备。报告包括:
如果没有执行 testjet print level is
语句,则不会生成任何 TestJet 测量信息。
语法
testjet print level is
可以是:
参数
指定要发送到 printer is
设备的信息。
示例
testjet print level is all ! 打开报告
testjet print level is none ! 关闭报告
sub TestJet ! 使用 TestJet 子程序生成报告
printer is "measurements" ! 存入名为 "measurements" 的文件中
testjet print level is all
test "testjet"
testjet print level is none
printer is *
subend
测试顺序(testorder)语句会清除当前工作区中的所有内容,并将工作站设置为测试顺序模式。在此模式下,所有输入屏幕工作区的语句都会进行语法检查,以确保它们是有效的测试顺序语句。
从任何其他模式将现有的测试顺序文件加载到工作区会自动将模式设置为测试顺序。
语法
testorder
testorder; <选项>
<选项>可以是: window
nowindow
参数
<选项>
可以是 window 或 nowindow。
window 会在测试顺序模式下打开一个新窗口。
nowindow 阻止打开新窗口(如果您的测试系统配置为在指定模式更改时自动打开新窗口)。
示例
text ! 设置为"text"模式;所有语法检查都关闭。
testorder ! 设置为"testorder"模式。
testorder;window ! 打开一个新窗口并设置为"testorder"模式。
常规信息
测试顺序语句不可编程。
测试计划生成语句调用测试计划生成器,该生成器会编写您的测试计划。测试计划生成器使用测试顺序(testorder)文件,并将一个测试主文件(testmain)合并到测试计划中。
如果您希望使用自定义的测试主文件,请将其复制到您的 ipg 目录下的 ipg/testmain。测试计划生成器会首先在您的 ipg 目录中搜索测试主文件,如果找不到,则会使用来自 $AgilentICT_ROOT/standard 的标准测试主文件。
语法
testplan generation
testplan generation
参数
<选项列表 1>
可以是目录路径名、错误变量或两者兼备。
<选项列表 2>
一个可选参数列表,用于确定语句的工作方式。选项描述如下。
<窗口>
指定执行语句时是否自动打开新窗口。可接受的值为:
window
– 打开一个新窗口。nowindow
– 阻止打开新窗口。<等待>
指定命令的执行方式。可接受的值为:
failwait
– 语句执行后,如果发生故障,结果仍保留在屏幕上以供检查。nowait
– 语句执行后不暂停,以供检查结果。wait
– 语句执行后,结果保留在屏幕上以供检查。<经验级别>
设置用户收到的错误消息的长度(详细程度),也可用于限制用户使用系统功能的子集。可接受的值:standard
、advanced
和 expert
。
<备份级别>
决定系统在修改文件前是否存储未更改文件的副本(备份),以及备份的存储方式。可接受的值为:
nobackup
– 不进行文件备份。numbered
– 创建最多九个备份,每个备份按顺序编号并以.#~
结尾,例如 file.1~
。编号一为最新备份。当备份超过九个时,最旧的文件被丢弃,其余文件重新编号。unnumbered
– 创建单一备份。备份文件名附加一个波浪号(~),例如 file~
。示例
testplan generation "/boards/cpu_board",E
! "/boards/cpu_board" 是电路板目录。
! E 是错误变量。
testplan generation; unnumbered
! 在当前目录上运行测试计划生成器,并
! 对任何被修改的文件进行单一备份。
th$
函数用于确定测试头当前是否可以用于测试。如果测试头当前可用,该函数返回值为1;如果测试头不可用,则返回值为/。
返回一个包含当前日期和时间的26个字符的字符串。
print time$
print len(time$)
运行结果
Thu Jan 16, 2025 8:56 am
26
timeout
语句用于为指定设备设置超时时间(该设备必须通过assign to
语句与@
关联)。请注意,这不会影响数字测试的超时时间。
此语句的作用是设置从系统控制器接收到指令后,外设设备响应的最长时间限制。例如,考虑以下情况:
系统控制器指示ASRU卡进行测量并通过measure
语句返回结果。
由于在关联的检测器语句中包含了一个可选的等待参数,测量时间长于当前为ASRU卡的GPIB总线指定的超时值。
在上述情况下,会发生GPIB超时错误。可以通过将超时增加到一个足够大的值来允许测量完成,从而解决此问题。
一旦为设备或总线设置了超时值,该超时将继续有效,直到为该总线或设备执行另一个timeout
语句为止。超时与注销无关。
语法
timeout @,
是一个标签
是一个数值表达式参数
@
使用assign to
语句与设备文件标识符关联的标签。@
可以与/dev
目录中的任何设备关联。
当为GPIB总线或GPIB设备设置超时时,该超时对该总线及该总线上所有设备有效。
超时的秒数,范围必须在0.01秒到2000秒之间。
示例
快捷方法:
assign @Auto to "/dev/hpib1"
timeout @Auto, 1 ! 设置1秒超时
Time = 150m | timeout @Auto, Time
绝对路径方法:
Bus$ = btgetenv$("AgilentICT_ROOT")
assign @Auto to Bus$&"/dev/hpib1"
timeout @Auto, 1 ! 设置1秒超时
Time = 150m | timeout @Auto, Time
常规信息
当设备或总线被安装到/dev
目录时,默认超时会自动设置。表T-1列出了受timeout
语句影响的/dev
目录中所有设备和总线的默认超时值。
表T-1
默认超时
设备类型
默认超时值
测试头
4秒
所有其他类型
5秒
这些示例假定设备文件hpib1
包含SICL接口名称hpib7
。
使用容差边界
语句可以更改模拟电路内测试的测试限值。此语句通过指定的测试限值窗口百分比来增加或减少测试限值。限值的更改是基于原始测试限值窗口的算术平均值进行的。
修改后的测试限值会一直有效,直到执行run
语句、用户注销系统,或者执行另一个容差边界
语句为止。后续容差边界
语句的新测试限值是由原始测试限值计算得出。
语法
tolerance margin <值>
<值>
是一个数值常量参数
<值>
一个数值常量,指定容差的调整幅度。有效的容差边界范围是-100%到300%。如果未指定值,则使用默认值0,测试限值不变。
示例
图示示例:
下图展示了将容差边界设置为-50%、100%和0%的图形效果。
低限 平均值 高限
原始测试限值 |______________|______________|
容差边界 -50 |_______|_______|
容差边界 100 |____________________________|____________________________|
容差边界 0 |______________|______________|
公式:
要计算指定容差边界的新测试限值,请使用以下公式。
LOW = NOMINAL LOW_VALUE
HIGH = NOMINAL HIGH_VALUE
SCALE = (TOLERANCE_MARGIN / 100) + 1
NEW_LOW = MEAN - abs (LOW - MEAN) * SCALE
注意:abs 为绝对值
NEW_HIGH = MEAN + abs (HIGH - MEAN) * SCALE
表T-2展示了使用上述公式,根据第一列所示的指定容差边界计算新的低限和高限的结果。
表T-2
容差边界 | 低限 | 高限 | 平均值 | 缩放比例 | 新低限 | 新高限 |
---|---|---|---|---|---|---|
以下基于以百分比表示的测试限值。 | ||||||
-50 | -10 % | 20 % | 5 % | 0.5 | -2.5 % | 12.5 % |
100 | 10 % | 20 % | 15 % | 2.0 | 5 % | 25 % |
100 | -20 % | 0 % | -10 % | 2.0 | -30 % | 10 % |
以下基于以数值表示的测试限值(此处为电阻值)。 | ||||||
-50 | 4k | 8k | 6k | 0.5 | 5k | 7k |
100 | 4k | 8k | 6k | 2.0 | 2k | 10k |
100 | 40k | 48k | 44k | 2.0 | 36k | 52k |
测试计划示例
如果您想将R34的名义容差从±10%改为±15%,那么容差边界增加50%,并在测试计划片段中将容差边界设置为50。
测试计划示例:
Testplan:
tolerance margin 50
test "analog/R34"
Test Block:
clear connect s to "R34-1"; a to "R34-1"; i to "R34-2"; b to "R34-2"
resistor 2k, 10, 10, sa, sb, en, ed
请注意,执行容差边界语句实际上并不会更改编程的容差,而是更改后续所有电路内测试的测试限值。
拓扑设备计数函数返回电路板文件中的设备数量。您可以获取所有设备的数量或某一特定类型设备的数量。
语法
topology device count (<类型>)
<类型>
是一个数值表达式
参数
<类型>
一个表示设备类型的数值表达式。<类型>的可取值包括:
• 0 – All devices
• 1 – Undefined devices
• 2 – Capacitors
• 3 – Connectors
• 4 – Diodes
• 5 – FETs
• 6 – Functional devices
• 7 – Fuses
• 8 – Inductors
• 9 – Jumpers
• 10 – Library devices
• 11 – Potentiometers
• 12 – Resistors
• 13 – Switches
• 14 – Transistors
• 15 – Zeners
示例
Devs = topology device count (0) ! 将 "Devs" 设置为所有设备的总数。
print topology device count (2) ! 打印电容器的数量。
常规信息
要使用任何拓扑访问函数,必须先将电路板文件加载到内存中。要将电路板对象文件board.o
加载到内存中,请执行load board
语句。要从内存中移除电路板文件,请使用scratch board
语句。
load board
语句会自动清除当前内存中的任何文件。
拓扑设备数据$函数返回有关指定设备的信息项。这些信息来自电路板文件,并以字符串表达式的形式返回。
通过项目编号请求信息。项目编号包括:
21到59的其他项目描述设备的特定技术规格和测试条件。
语法
topology device data$ (<设备标识符>, <项目>)
<设备标识符>
是一个字符串表达式,表示设备的名称。<项目>
是一个数值表达式,表示要返回的信息项,项目编号在上方描述。示例
topology device data$ ("U100", 57) ! U100的上游禁用是否打开?
Tested$ = topology device data$ ("R1", 1) ! R1是否经过测试?
Value = val(topology device data$ ("C2", 21)) ! C2的值是多少?
topology device data$ ("U12", 4) ! U12的部件编号是什么?
常规信息
要使用任何拓扑访问函数,您必须首先将电路板文件加载到内存中。要将电路板对象文件board.o
加载到内存中,执行load board
语句。要从内存中移除电路板文件,请使用scratch board
语句。
load board
语句会自动将当前内存中的任何文件清除。
拓扑设备引脚计数函数返回指定设备的引脚数量。
语法
topology device pin count (<设备名称>)
<设备名称>
是一个字符串表达式参数
<设备名称>
例如U100这样的设备参考标识符。
示例
print topology device pin count ("U100")
! 打印U100上的引脚数量。
常规信息
要使用任何拓扑访问函数,必须先将电路板文件加载到内存中。要将电路板对象文件board.o
加载到内存中,请执行load board
语句。要从内存中移除电路板文件,请使用scratch board
语句。
load board
语句会自动清除当前内存中的任何文件。
拓扑设备引脚数据$函数返回有关指定设备引脚的信息项。这些信息以字符串表达式的形式返回。
您可以获取:
语法
topology device pin data$ (<设备名称>, <引脚名称>, <项目>)
<设备名称>
是一个字符串表达式<引脚名称>
是一个字符串表达式<项目>
是一个数值表达式参数
<设备名称>
设备的参考标识符,例如U100。
<引脚名称>
设备引脚的编号。
<项目>
表示要返回的信息项的编号(1到4)。项目包括:
示例
! 告诉你U100的引脚10是关键引脚、非关键引脚还是未定义。
Tested$ = topology device pin data$ ("U100", "10", 2)
常规信息
要使用任何拓扑访问函数,您必须首先将电路板文件加载到内存中。要将电路板对象文件board.o
加载到内存中,请执行load board
语句。要从内存中移除电路板文件,请使用scratch board
语句。
load board
语句会自动清除当前内存中的任何文件。
拓扑获取设备引脚函数用于将指定设备上的引脚名称填充到一个数组中。您也可以获取每个引脚上的节点名称。
语法
topology get device pins ,
topology get device pins , ,
topology get device pins , ,
topology get device pins , , ,
is a
is a
is a
<设备ID>
是一个字符串表达式<引脚数组>
是一个字符串数组<节点数组>
是一个字符串数组参数
<设备ID>
设备的参考标识符,例如U100。
<引脚数组>
用于放置设备引脚名称的数组名称。
<节点数组>
用于放置节点名称的数组名称。
示例
dim Pins$(1:100)[8] ! 定义一个数组。
topology get device pins "U100", Pins$(*) ! 将U100的引脚名称放入Pins$数组。
dim Pins$(1:100)[8] ! 定义一个数组。
dim Nodes$(1:100)[48] ! 定义一个数组。
topology get device pins "U100", Pins$(*), Nodes$(*) ! 将U100的引脚名称放入Pins$数组并将相应的节点名称放入Nodes$数组。
常规信息
要使用任何拓扑访问函数,您必须首先将电路板文件加载到内存中。要将电路板对象文件board.o
加载到内存中,请执行load board
语句。要从内存中移除电路板文件,请使用scratch board
语句。
load board
语句会自动清除当前内存中的任何文件。
标题:从电路板文件中获取设备名称
拓扑get devices
函数用电路板文件中的设备名称填充一个字符串数组。您可以获取所有设备的名称,或者特定类型设备的名称。
语法
topology get devices <类型>, <数组ID>
topology get devices <类型>, <数组ID>, <错误变量>
<类型>
是一个数值表达式<数组ID>
是一个字符串数组参数
<类型>
表示设备类型的数值表达式。<类型>的可取值包括:
• 0 – All devices
• 1 – Undefined devices
• 2 – Capacitors
• 3 – Connectors
• 4 – Diodes
• 5 – FETs
• 6 – Functional devices
• 7 – Fuses
• 8 – Inductors
• 9 – Jumpers
• 10 – Library devices
• 11 – Potentiometers
• 12 – Resistors
• 13 – Switches
• 14 – Transistors
• 15 – Zeners
<数组ID>
数组的名称。
示例
dim Devices$(1:100)[48] ! 定义一个数组。
topology get devices 0, Devices$(*) ! 将所有设备的名称放入Devices数组。
dim Devices$(1:100)[48] ! 定义一个数组。
topology get devices 2, Devices$(*) ! 将所有电容器的名称放入Devices数组。
常规信息
要使用任何拓扑访问函数,您必须首先将电路板文件加载到内存中。要将电路板对象文件board.o
加载到内存中,请执行load board
语句。要从内存中移除电路板文件,请使用scratch board
语句。
load board
语句会自动清除当前内存中的任何文件。
拓扑get internal devices
语句用于将电路板文件中的内部设备名称填充到一个字符串数组中。
语法
topology get internal devices ,
topology get internal devices , ,
``设备的参考标识符,例如U100。
``数组的名称。
示例
dim Devices$(1:100)[48] ! 定义一个数组。
topology get internal devices "U100", Devices$(*) ! 将U100的所有内部设备名称放入数组中。
要使用任何拓扑访问函数,您必须首先将电路板文件加载到内存中。
要将电路板对象文件board.o
加载到内存中,请执行load board
语句。
要从内存中移除电路板文件,请使用scratch board
语句。
load board
语句会自动清除当前内存中的任何文件。
拓扑get node connections
语句用于将所有连接到指定节点的设备名称填充到一个字符串数组中,并将连接到指定节点的设备引脚名称填充到另一个数组中。
您必须首先定义两个数组:一个用于存储设备名称,一个用于存储引脚名称。设备名称数组的长度至少为48个字符,引脚名称数组的长度至少为8个字符。
两个数组中的信息是并行的。设备数组的第一个元素与引脚数组的第一个元素配对。每个连接到指定节点的引脚,设备都会在设备数组中列出一次。
语法
topology get node connections <节点ID>, <设备数组>, <引脚数组>
topology get node connections <节点ID>, <设备数组>, <引脚数组>, <错误变量>
<节点ID>
是一个字符串表达式<设备数组>
是一个字符串数组<引脚数组>
是一个字符串数组参数
<节点ID>
节点的名称。
<设备数组>
用于放置设备名称的数组名称。
<引脚数组>
用于放置引脚名称的数组名称。
示例
! 将连接到节点"U100-1"的设备名称放入名为Devices$的数组中,
! 并将设备引脚名称放入另一个名为Pins$的数组中。
dim Devices$(1:100)[48] ! 为设备名称定义一个数组。
dim Pins$(1:100)[8] ! 为引脚名称定义一个数组。
topology get node connections "U100-1", Devices$(*), Pins$(*)
常规信息
要使用任何拓扑访问函数,您必须首先将电路板文件加载到内存中。
要将电路板对象文件board.o
加载到内存中,请执行load board
语句。
要从内存中移除电路板文件,请使用scratch board
语句。
load board
语句会自动清除当前内存中的任何文件。
拓扑get nodes
语句用于将所有节点的名称填充到一个数组中。
语法
topology get nodes <数组>
topology get nodes <数组>, <错误变量>
<数组>
是一个字符串数组参数
<数组>
用于存放节点名称的数组。
示例
dim Nodes$(1:100)[48] ! 定义一个数组。
topology get nodes Nodes$(*) ! 将所有节点的名称放入Nodes$数组中。
常规信息
要使用任何拓扑访问函数,您必须首先将电路板文件加载到内存中。
要将电路板对象文件board.o
加载到内存中,请执行load board
语句。
要从内存中移除电路板文件,请使用scratch board
语句。
load board
语句会自动清除当前内存中的任何文件。
拓扑get parent devices
语句用于将电路板文件中父设备的名称填充到一个字符串数组中。
语法
topology get parent devices <设备ID>, <数组ID>
topology get parent devices <设备ID>, <数组ID>, <错误变量>
<设备ID>
是一个字符串表达式<数组ID>
是一个字符串数组参数
<设备ID>
设备的参考标识符,例如r1。
<数组ID>
数组的名称。
示例
dim Devices$(1:100)[48] ! 定义一个数组。
topology get parent devices "r1", Devices$(*)
! 将r1的所有父设备名称放入数组中。
常规信息
要使用任何拓扑访问函数,您必须首先将电路板文件加载到内存中。
要将电路板对象文件board.o
加载到内存中,请执行load board
语句。
要从内存中移除电路板文件,请使用scratch board
语句。
load board
语句会自动清除当前内存中的任何文件。
拓扑internal device count
语句返回电路板文件中的内部设备数量。
语法
topology internal device count
示例
print topology internal device count ! 打印内部设备的数量。
要使用任何拓扑访问函数,您必须首先将电路板文件加载到内存中。
要将电路板对象文件board.o
加载到内存中,请执行load board
语句。
要从内存中移除电路板文件,请使用scratch board
语句。
load board
语句会自动清除当前内存中的任何文件。
拓扑node connection count
语句返回连接到指定节点的连接数量。
语法
topology node connection count (<节点名称>)
<节点名称>
是一个字符串表达式参数
<节点名称>
节点的名称。
示例
topology node connection count ("U100-1")
! 告诉您连接到节点 "U100-1" 的连接数量。
常规信息
要使用任何拓扑访问函数,您必须首先将电路板文件加载到内存中。
要将电路板对象文件board.o
加载到内存中,请执行load board
语句。
要从内存中移除电路板文件,请使用scratch board
语句。
load board
语句会自动清除当前内存中的任何文件。
拓扑node count
语句返回电路板文件中所有节点的数量。
语法
topology node count
参数
(无)
示例
topology node count ! 返回所有节点的总数。
常规信息
要使用任何拓扑访问函数,您必须首先将电路板文件加载到内存中。
要将电路板对象文件board.o
加载到内存中,请执行load board
语句。
要从内存中移除电路板文件,请使用scratch board
语句。
load board
语句会自动清除当前内存中的任何文件。
拓扑node data$
函数返回有关指定节点的信息项。这些信息以字符串表达式的形式返回。
您可以通过项目编号请求信息。项目编号包括:
语法
topology node data$ (<节点名称>, <项目>)
<节点名称>
是一个字符串表达式<项目>
是一个数值表达式参数
<节点名称>
节点的名称。
<项目>
表示要返回的信息项的编号(1到8)。项目已在上方描述。
示例
FamilyAndLevel$ = topology node data$ ("U100-1", 8)
! 获取节点的系列名称和逻辑电平
常规信息
要使用任何拓扑访问函数,您必须首先将电路板文件加载到内存中。
要将电路板对象文件board.o
加载到内存中,请执行load board
语句。
要从内存中移除电路板文件,请使用scratch board
语句。
load board
语句会自动清除当前内存中的任何文件。
拓扑parent device count
语句返回电路板文件中父设备的数量。
语法
topology parent device count
参数
(无)
示例
topology parent device count ! 返回父设备的数量。
常规信息
要使用任何拓扑访问函数,您必须首先将电路板文件加载到内存中。
要将电路板对象文件board.o
加载到内存中,请执行load board
语句。
要从内存中移除电路板文件,请使用scratch board
语句。
load board
语句会自动清除当前内存中的任何文件。
translate faults
语句用于将由Mentor Graphics的QuickFault模拟器在设计系统上创建的故障字典文件转换为故障对象文件。此故障对象文件可由Keysight ICT系统使用。
执行此语句时,您的当前工作目录应包含故障配置文件。如果不包含,则必须指定包含该文件的目录路径名。
window
选项会使翻译器打开另一个BT-Basic窗口,在该窗口中运行翻译。如果未指定此选项,翻译器将在您输入命令的BT-Basic窗口中运行。
语法
translate faults
translate faults <目录ID>
translate faults; <选项>
translate faults <目录ID>; <选项>
<目录ID>
是一个字符串表达式<选项>
可以是: window
参数
<目录ID>
包含故障配置文件fault.config
的目录。
示例
translate faults "../fault_data"
translate faults; window
trigger
语句将组执行触发消息(GET)发送到GPIB接口。触发消息使一个或一组设备启动某些设备相关的活动,例如,计数器开始计数。
如果总线整体被寻址(),则所有当前设置为监听的设备都会响应。如果语句寻址的是一个特定的设备()且该设备不是监听者,该设备会被设置为监听,然后再响应。如果当前监听者被寻址,则所有当前监听者会响应,就像总线被寻址一样。
语法
trigger
trigger
和
可以是:
@
是一个字符串表达式
是一个标签
参数
总线的地址。
所选GPIB设备的地址。
示例
快捷方法:
trigger "/dev/hpib1" ! 发送GET到总线,所有当前监听者响应
assign @Auto_DVM to "/dev/dmm"
trigger @Auto_DVM
绝对路径方法:
Bus$ = btgetenv$("AgilentICT_ROOT")
trigger Bus$&"/dev/hpib1" ! 发送GET到总线,所有当前监听者响应
assign @Auto_DVM to Bus$&"/dev/dmm"
trigger @Auto_DVM
常规信息
这些示例假设设备文件hpib1包含SICL接口名称hpib7。
删掉字符串左边的空格。
A$=" ABCDE "
B$=triml$(A$)
print B$
print len(A$)
print len(B$)
运行结果
ABCDE
15
10
删掉字符串右边的空格。
A$=" ABCDE "
B$=trimr$(A$)
print B$
print len(A$)
print len(B$)
运行结果
ABCDE
15
10