BT-Basic函数之首字母C

发布于:2025-03-12 ⋅ 阅读:(13) ⋅ 点赞:(0)

BT-Basic函数之首字母C


文章目录

  • BT-Basic函数之首字母C
    • cat
    • cd
    • cfps
    • clear
    • clear failures
    • clear nrun
    • cont
    • control
    • copy over/copy to
    • cover extend print level is
    • cover extend supplies mapped to
    • cps
    • create ascii
    • create dir
    • crt$


cat

cat 函数列出指定目录的内容。该列表显示链接到指定目录的文件和目录的名称,并且这些文件和目录在层次结构中位于其下一级别。

cat 函数可以编程使用,但通常在命令行中执行。

语法:

cat <parameters>;<option>
 <parameters> 可以是:   <instructions>
                        <instructions>, <error variable>
                        <error variable>
 <instructions> 可以是:   <directory id>
                          <directory id> over <file id>
                          to <file id>
    <directory id> 和 <file id> 是 <字符串表达式>
    <error variable> 是一个 <数字变量>
 <option> 可以是:   select <字符串表达式>
                    <short/protect>
                    select <搜索字符串>, <short/protect>
                    <short/protect>, select <搜索字符串>
      <搜索字符串> 是一个 <字符串表达式>
      <short/protect> 可以是:   short
                                protect
<option>要列出其条目的目录的 。如果未指定,则默认使用当前工作目录。
列出内容的文件的 。该文件不能已存在;本函数会创建该文件。如果省略 ,则列表发送到默认输出设备

eg:

cat "test1" to "test2", A               !将test1文件夹中的内容保存到test2中,如果出错,将出错代码保存到A

cd

跟Linus中的命令一样,进入某目录下。

cfps

cfps 函数通过 ASRU 修订版 N 卡定义的引脚将夹具电源连接到夹具

cfps <logicID> to <logicID>
     <logicID> is an integer from 101 to 108

clear

清除已经连接的GPIB驱动器

clear <GPIB>
clear <GPIB device>

clear failures

clear failures 函数将 Boardfailed 和 Dutfailed 变量重置为 0(false),就像没有检测到任何失败一样。

如果你在测试一组面板板,clear failures 函数仅适用于由 board number is 函数定义的当前板。

请注意,板故障标题(日期、时间和故障消息)每块板只打印一次。clear failures 函数不会重置这个指标;后续测试不会打印标题。

clear nrun

clear nrun 函数用于将 nrun 函数报告的值设置为零。nrun 函数返回自程序最后一次被调入工作区(或随后被编辑)后已运行的次数。每次运行函数被执行时,该函数的值都会递增。

如果工作区被保存、一个新文件被带入工作区或工作区被修改,nrun 的值也会被重置为零

cont

cont 函数用于恢复运行因 pause 函数、断点键(Break key)或运行时错误而暂停的程序。

cont 只能用于继续运行一个已暂停的程序,不能用于开始运行一个程序。在程序暂停期间,可以执行不会改变程序语句的操作,例如为变量赋值和 goto 语句。如果在程序暂停期间编辑了程序本身,则运行不能继续;编辑过的程序必须从头开始运行。

程序在何处恢复运行取决于 cont 函数是否带有行参数:

  • 包含行参数:程序运行在指定行的开头恢复。如果程序在主程序中暂停,必须在主程序中继续。如果在子程序中暂停,则可以在子程序或主程序中继续。

  • 不包含行参数:程序在何处恢复取决于程序暂停的原因以及测试开发人员在程序暂停期间执行了哪些操作。如果程序员在暂停期间执行了,例如,goto 函数并更改了当前位置,那么运行将在该操作指定的行恢复。如果在暂停期间没有执行此类操作,那么:

    • 如果因 pause 或 Break 导致暂停,执行从发生暂停前最后一个执行的函数之后恢复(不一定从行的开头恢复)。

    • 如果因运行时错误导致暂停,执行从包含导致错误的函数的行的开头恢复(见下方一般信息)。

语法:

  cont
  cont <line id>
  cont <line number>
     <line id> 是程序运行要继续的行开头的标签
     <line number> 是程序运行要继续的行数

eg:

  cont Test3               ! 程序运行从标为 "TEST3" 的行恢复
  cont 46                  ! 程序运行从第46行恢复
  A = 45 \ print "A=" \ pause \ print A

                           ! 当在键盘上执行 "cont" 时,
                           ! 程序打印 A= 45 并继续运行

如果在暂停期间修改了程序中的内容,那么cont不起作用,要重新run程。

control

control 函数定义之前使用 assign to 函数定义的 RS-232 端口的参数。

语法

  control @<name>, <register>; <data>

     <name> 是RS-232 端口的名称
     <register> 从 1 到 17 的数字是要写入的控制寄存器,每个寄存器控制串行数据传输的某个方面。这些寄存器编号及其功能参照下表。
     <data> 一个定义 RS-232 端口参数的十进制数
寄存器编号 功能
1 指定基本终端输入控制;对应于 termio 中的 c_iflag。
2 指定输出的系统处理方式;对应于 termio 中的 c_oflag。
3 指定终端的硬件控制;对应于 termio 中的 c_cflag。
4 指定线路规程应如何控制终端功能;对应于 termio 中的 c_lflag。
5 指定线路规程;对应于 termio 中的 c_line。
6 定义哪个特殊字符生成中断信号;默认为 DEL (ASCII 16)。
7 定义哪个特殊字符生成退出信号;默认为 FS (ASCII 28)。
8 定义哪个特殊字符擦除前一个字符;默认为 # (ASCII 35)。
9 定义哪个特殊字符删除整个行(由 NL、EOF 或 EOL 字符决定);默认为 @ (ASCII 64)。
10 定义哪个特殊字符表示文件末尾 (EOF);默认为 EOT (^D 或 ASCII 4)。
11 定义哪个特殊字符表示行末 (EOL);默认为 NUL (ASCII 0)。
12 (保留)
13 定义 SWTCH 字符;默认为 NUL (ASCII 0)。
14 传送到该寄存器的 0 等待输出清空然后发送一个中断,而 1 等待输出清空;对应于 termio 中的 ioctl TCSBRK 命令。注意,status 函数不能用于返回该寄存器的值。
15 控制启动/停止。传送到该寄存器的 0 暂停输出,而 1 恢复输出;对应于 termio 中的 ioctl TCXONC 命令。注意,status 函数不能用于返回该寄存器的值。
16 刷新输入/输出队列。传送到该寄存器的 0 刷新输入队列,1 刷新输出队列,2 刷新两者;对应于 termio 中的 ioctl TCFLSH 命令。注意,status 函数不能用于返回该寄存器的值。
17 该寄存器不能写入。指定该寄存器的 status 函数返回终端设备立即可读的字符数;对应于 termio 中的 ioctl FIONREAD 命令。
  assign @Terminal to "/dev/tty"        ! Associates @Terminal with device "/dev/tty"
  control @Terminal, 3; oti ("1000")    ! Sets 1200 baud
  output @Terminal; Com$                ! Sends string Com$ sequentially to @Terminal
  assign @Terminal to *                 ! Ends the I/O operation

copy over/copy to

copy over 和 copy to 语句用于在测试系统上的文件或设备之间复制文件,复制文件到本地线打印机或绘图仪,以及在网络中不同系统之间复制文件。跨网络复制文件要求网络系统正确配置以相互通信;即需要访问的远程文件系统必须挂载到本地文件系统上。

copy over 函数将文件或设备(源)的内容复制到现有文件或设备(目标)上。源保持不变。如果目标是不存在的文件,copy over 会创建该文件;如果目标文件已存在,其原始内容会丢失(被覆盖)。如果源文件和目标文件类型不同——例如将 BT-Basic 程序复制到 VCL 程序,或将 ASCII 源代码复制到目标代码——目标文件会变为与源文件相同的类型。

copy to 函数只复制到不存在的文件;尝试复制到存在的文件会产生错误。copy to 创建一个新文件(目标),然后将文件或设备(源)复制到其中。源保持不变。与 copy over 不同,copy to 不复制到设备;尝试复制到设备会产生错误。

两种函数都可以复制多个文件;也就是说,函数可以指定多个源文件。(但请注意,目标文件不能用作源文件。)此外,任一函数可通过在指定的源文件中包含首行和/或末行行号来复制部分文件。

复制多个源文件时,适用以下规则:

  • 如果多个源文件模式相同(文本、Basic等),生成的文件为该模式。否则,它为文本模式。

  • 多个源文件按照它们在 copy 函数中的出现顺序从左到右复制。

如果 copy 函数中未指定行号,则复制整个文件。如果指定了行号,适用以下规则:

  • 当在源文件中包含首行和/或末行行号时,只复制指定的文件行。

  • 如果只指定首行行号,系统从该行号复制到文件末尾。但是,不要指定超出源文件末尾的行号,否则会导致错误。

  • 如果只指定末行行号,系统从文件开头复制到该行号。如果你指定超出源文件末尾的末行行号,则复制整个文件。

跨网络复制文件类似于本地复制,只是你还必须指定要访问的远程系统。因为网络信息只是添加到文件 ID 中,语句的一般格式——即 copy <file> over/to <file>——保持不变。

语法

  copy <source list> over <destination>
  copy <source list> over <destination>, <error variable>
  copy <source list> to <destination>
  copy <source list> to <destination>, <error variable>

<error variable> 为数字型变量,保存错误代码

<destination> 目标可以是:    <file id>   文件名
                             lineprinter 文件内容会打印在本地线打印机上
                             plotter     文件内容会打印在本地绘图仪上

复制内容的文件或设备。目标以排他方式打开,复制后关闭。
如果在执行期间复制被中断(Break 或 stop),新创建的目标文件会自动取消链接。部分写入的现有目标文件会关闭。

<source list>  数据来源:其内容要复制的文件或设备。源在复制期间以共享方式打开——即其他用户可以访问它——然后关闭。它可以是一个或多个文件,按以下格式
格式可以是:    <file id>
              <file id>, <首行号>
              <file id>, <首行号>, <末行号>
              <file id>,, <末行号>

<file id> 是一个 <字符串表达式>
文件的标识符,可以表示磁盘上的文件或设备。如果 <file id> 指定了文件,该文件必须是 ASCII 文件,而不是二进制(目标代码)文件。
使用网络时,<file id> 必须加上远程系统的路径。按照惯例,前缀是 /sys 后跟远程主机名;例如,/sys/alpha/<file id>。

<首行号> 和 <末行号> 是 <数字表达式>

eg:

     copy "test1" over "testnn"              ! 将一个文件复制到另一个文件(非网络连接)
     copy "File1"; "File2" over "File3"      ! 将多个文件复制到单个文件(非网络连接)
     copy "File1",5,10 over "File3"          ! 将部分文件复制到另一个文件(非网络连接)
     copy "text_file" over "example", Error  ! 包含错误变量
     copy "/library/ttl/safeguard/parameters/sttl" to "sttl" ! 将文件复制到新文件
     copy "test_data" over "/sys/beta/records/tests"         ! 将本地文件复制到名为 "beta" 的远程系统
     copy "test_data" over lineprinter       ! 将文件复制到本地线打印机
     copy "probes.p" over plotter            ! 将文件复制到本地绘图仪

如果你使用 copy over 意图创建一个新文件,始终有可能复制到一个你不知道存在且属于另一个测试开发人员的文件;在复制到新文件时使用 copy to。

在设备间复制时,复制必须有意义。例如,试图将目标文件复制到打印机,或将打印机复制到文件会导致错误。

cover extend print level is

cover extend print level is 语句指示系统将Cover-Extend测量结果的报告发送到当前的打印设备。该报告包括:

  • 设备标识符
  • 引脚编号
  • 测量值
  • 通过/失败状态
  • 上限和下限

如果没有执行 cover extend print level is 语句,将不会生成 Cover-Extend 测量信息。

语法

cover extend print level is <status>

<status> 指定要发送到打印设备的信息,是所有 Cover-Extend 测量结果还是无测量结果。
   可以是:  all  (全部)
           none (无)

eg:

  cover extend print level is all      ! 启用报告生成。
  cover extend print level is none     ! 禁用报告生成。

sub Cover_Extend_Tests            ! 使用 cover extend 子程序
     printer is "measurements"    ! 在名为 "measurements" 的文件中生成报告。
     cover extend print level is all
     test "j201"
     cover extend print level is none
     printer is *
  subend

cover extend supplies mapped to

对于Cover-Extend测试,此命令是必需的,以允许fxoff和unpowered语句断开指定的电源供应。没有此命令时,使用辅助连接的CET电源仍然物理连接到系统接地;当完成CET测试并发出unpowered或faoff命令时,会发生错误(系统对地短)。

cover extend supplies unmapped from <supply>为反向操作

Syntax

cover extend supplies mapped to <supply>
cover extend supplies mapped to *

   <supply> 可以是: <item>
                    <item>, <item>
                    <item>, <item>, . . ., <item>
   <item> 可以是: auxiliary <relay> 辅助继电器
      <relay> 为: 1,2,3,4,5

eg:

  cover extend supplies mapped to auxiliary 5
  cover extend supplies mapped to *

cps

cps 函数将所有 DUT 电源设置为 0 V 并将其连接到测试头。当电源在 Utility 卡上配置时,此函数还处理这些电源的子通道继电器的连接。

一旦所有电源连接完毕,可以设置指定的电源来给待测板供电。有关设置 DUT 电源的详情,参见 sps 函数;有关断开 DUT 电源的详情,参见 dps 函数。

语法

  cps
  cps <ps_number>.<subchannel_id>     ! 用于 Utility 卡上的复用电源。

     <ps_number> 这个必须有在config文件中定义可以调用
     可以是: 1 到 24 的整数(用于 DUT 电源)
                         25 到 32 的整数(用于复用电源)
     <subchannel_id> 是 1 到 6 之间的整数

eg:

  cps       ! 将所有 DUT 电源连接到测试头,
            ! 但不包括复用电源
  cps 25    ! 连接电源 25 上的所有子通道继电器
  cps 25.1  ! 连接电源 25 上的子通道继电器 1

create ascii

create ascii 函数允许测试开发人员创建空的、面向记录的文件。这些是用于存储文本和程序的标准 ASCII 文件。其他语句,如 save 和 copy,也会创建文件,但那些文件不是空的。

语法

  create ascii <file id>
  create ascii <file id>,,<error variable>
     <file id> 是一个 <字符串表达式>
     <error variable> 是一个 <数字变量>
        [注意在 <error variable> 前面的双逗号]

eg:

  create ascii "test_report"      ! 在当前目录中创建文件 "test_report"
  File$ = "/production/voltmeters/board_test"
  create ascii File$ ,, Failed

create dir

此函数在文件系统中创建一个目录。

语法

  create dir <directory id>
  create dir <directory id>,<error variable>
     <directory id> 是新目录的标识符
     <error variable> 是一个 <数字变量>

eg:

  create dir "/production/scopes/amp_40352"
                  ! 为一个新的 PC 板测试创建一个目录。
                  ! 目录 "production" 和 "scopes" 必须已经存在。
  create dir "reports"    ! 在当前目录中创建一个名为 "reports" 的目录。
  Name$ = "Test_Reports" \ create dir Name$, Err_var

目录创建后,两个点条目会自动插入。即,单点(.),表示新目录本身的名称,和双点(…),表示其父目录的名称。

使用 unlink 函数删除目录。

crt$

crt$ 函数返回一个字符串,其中包含执行该函数的工作站的 tty 名称和/或编号