BT-Basic函數之首字母T
文章目錄
- BT-Basic函數之首字母T
- tab
- test
- test cont
- test monitor
- test on boards
- test scanworks
- test shorts
- testhead cleanup
- testhead configuration
- testhead is
- testhead power on/off
- testhead status
- testjet print level is
- testorder
- testplan generation
- th$
- time$
- timeout
- tolerance margin
- topology device count
- topology device data$
- topology device pin count
- topology device pin data$
- topology get device pins
- topology get devices
- topology get internal devices
- topology get node connections
- topology get nodes
- topology get parent devices
- topology internal device count
- topology node connection count
- topology node count
- topology node data$
- topology parent device count
- translate faults
- trigger
- triml$
- trimr$
tab
tab
語句可以通過 print
、output
和 report
語句調用,這些語句都使用自由格式輸出數據。tab
語句可以包含在這些語句要輸出的數據項列表中。該語句使下一個數據項的字段從語句參數指定的列開始,而不是緊接在前一個字段之后。
如果語句指定的列在當前打印位置的左側,則下一個字段從指定列開始,但在新行上——即,發生換行。當前打印位置為前一個字段右側的下一列。如果尚未輸出任何數據,或如果輸出了 EOL(行結束),則當前位置在當前行的第一列。如果指定的列號大于 80,則會發生一個或多個換行。
語法
tab (<column>)
是一個 <數值表達式>
參數
下一個字段的第一個字符所在的列。列從左到右編號為 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
翻譯:
test
語句執行包含在引用的源文件中的測試。該語句根據文件中的數據類型確定測試的類型。可執行的測試類型包括:
- 引腳(CHEK-POINT):請參閱生產釋放。
- 短路:請參閱模擬測試中的短路和開路測試。
- 模擬在線電路:請參閱模擬測試中的模擬在線電路測試。
- 模擬功能:請參閱模擬測試中的模擬功能和混合測試。
- 數字(在線電路和功能):請參閱數字測試中的數字理論和測試。
- 混合(模擬和數字):請參閱模擬測試中的模擬功能和混合測試。
- TestJet:請參閱 TestJet 和 VTEP v2.0 驅動!
- VTEP(無矢量測試 EP):請參閱 TestJet 和 VTEP v2.0 驅動!
執行時,測試將清除內存中的任何現有測試,并將新測試的目標代碼(.o 文件)加載到內存中。然后執行測試。如果測試在執行時開啟了學習模式,將僅學習測試數據,測試既不會通過也不會失敗。測試完成后,測試保持在內存中,并將控制權返回給 BT-Basic。
執行測試時,必須將適當的板數據加載到內存中(請參閱 load board
語句)。
test
語句可以選擇性地將參數傳遞給執行的測試(這些參數即語法中的 <test parameters>
)。參數由數值變量列表組成——簡單變量和數組可以包含在列表中。傳入的參數從左到右依次分配給形式參數,按被執行測試中列出的形式參數順序排列。傳遞給測試的變量數量必須正確,并且每個傳遞的變量必須與分配給它的形式變量類型相同(簡單變量、數組變量等)。
對于單一(非混合)測試,模擬和數字測試類型關鍵字是可選的。您可以使用這些關鍵字為測試文檔化。然而,軟件會忽略它們(即錯誤的關鍵字不會引發錯誤)。
當參數被傳遞給混合測試時,軟件同樣會忽略可選的數字和模擬關鍵字以及分隔參數組的分號。然而,我們強烈建議您使用它們,特別是對于混合測試,以便為調試目的提供測試文檔。
當執行混合測試時,test
語句會嘗試按照列出的順序將參數分配給混合測試的每個部分。由于它忽略了分號和測試類型關鍵字,test
語句首先查看測試的數字部分,然后查看測試的模擬部分——始終按照這個順序。如果混合測試中未包括兩部分之一,或者不需要傳遞參數,test
語句會轉到測試的下一部分。
不論您是否在 <test parameters>
中使用測試類型關鍵字,都必須將正確數量的參數傳遞給混合測試。每個傳遞的參數必須與分配給它的形式參數類型相同。
記住,測試類型關鍵字的目的是讓您能夠正確記錄您的測試。如果您在 <test parameters>
中錯誤地定位了任何它們,仍不會發生錯誤。
不要在被測板上有任何電壓源(例如電池)的情況下執行引腳、短路、TestJet、VTEP 或模擬在線電路測試——系統將短路而可能損壞被測電路板和測試系統。
語法
test <test identifier> test <test identifier>; <test parameters>test shortstest shorts <test identifier>
可以是:
和 是字符串表達式。
可以是:
- digital
- analog
- digital ; analog
- digital
- analog
可以是:
- ,
- ,, …
是一個 <數值變量>
參數
要執行的測試的標識符。除了混合測試之外,這總是包含測試源代碼的文件的 ID。對于混合測試,需要該測試的 ;然后執行該目錄中的 test.o 文件中的目標代碼。
該標識符通常由從板測試目錄的文件(或目錄)路徑組成(參見下面的示例)。
傳遞給要執行的測試的一個或多個變量。
示例
test "<test identifier>"test "pins"test "shorts"test "alt_shorts"test shorts ! 使用板目錄下的 "shorts.o" 文件test shorts "alt_shorts"test "analog/C128"! 下一行語句等價于:test "analog/R7"; Flag, Measured_valuetest "analog/R7"; analog Flag, Measured_valuetest "testjet"test "vtep"test "digital/u19"test "u64"; A, C(*)test "functional/rom_24/test"test "mixed/adc1" ! 使用目錄 idtest "mixed/adc1"; V1, V2! 下一行語句等價于:test "mixed/A_to_D"; A, B(*), C, D, X1, X2, X3test "mixed/A_to_D"; digital A, B(*); analog C, D
test cont
test cont
語句可用于測試計劃中,以在測試被 halt
或 pause
語句停止后繼續進行模擬或數字測試。測試將從其停止的點繼續。
對于由于停止的數字測試,如果正在實施保護措施(參見 safeguard <type>
語句),繼續測試前將執行正常的冷卻延遲。
如果測試因錯誤或測試超時而停止,則無法繼續。已經完成的測試以及尚未開始的測試不能繼續。
test monitor
此功能僅在 BT-Basic 窗口中有效。
測試監視模式限制用戶僅執行少量面向測試的操作。它無法訪問測試開發人員使用的全功能范圍。
當測試監視生效且程序未運行時,以下按鍵是激活的:
軟鍵 — 軟鍵定義更改為:
- f1(start)— 開始執行測試計劃。
- f8(exit)— 退出 BT-Basic 并返回到 Login: 提示符。
操作員小鍵盤(如果存在)— 所有鍵。
當測試監視生效且程序正在運行時,程序按正常方式運行。它還允許通過工作站鍵盤的 enter
、input
和 question
語句進行正常的數據輸入。然而,Break 鍵的功能略有變化為:
Break(在鍵盤上)— 如果按下,則停止程序。一旦程序停止,您有兩個選擇:
- 按軟鍵 f1(start)開始執行程序。
- 按軟鍵 f8(exit)退出 BT-Basic。
測試監視模式可以通過 program monitor
語句取消,這將恢復正常操作并將軟鍵定義恢復為正常。
test on boards
test on boards
語句對所有在指定板狀態數組中狀態為非零的電路板執行指定測試。
板狀態數組是由測試計劃創建的一維數值數組。面板上的每種板類型都有一個板狀態數組。
語法
test <test id> on boards <array id>
<test id>
是一個 <字符串表達式><array id>
是一個 <標簽>
參數
一個標識要執行的測試的字符串表達式。這是測試的未擴展名稱。
標識數組的標簽。
示例
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 scanworks
語句與 test (BT-Basic)
語句相同,只是用 <report limit>
列表替換了 <test parameters>
列表。
test scanworks <test identifier> on boards <array id>
語句對所有在指定板狀態數組中狀態為非零的電路板執行指定測試。
板狀態數組是由測試計劃創建的一維數值數組。面板上的每種板類型都有一個板狀態數組。
語法
test scanworks <test identifier>
test scanworks <test identifier>; reportlimit <report limit>
test scanworks <test identifier> on boards <array id>
test scanworks <test identifier> on boards <array id>; reportlimit <report limit>
參數
標識要執行的測試的字符串表達式。這是測試的擴展名稱。
標識數組的字符串。
一個數值表達式,用于限制在測試失敗的報告中顯示的項目數目。
示例
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 shorts 語句是 test (BT-Basic) 語句的一種變體.
testhead cleanup
testhead cleanup
語句向測試頭發出重置命令,以打開所有數字和模擬繼電器。此命令應該在調用任何 ScanWorks 命令之前執行。如果在沒有連接測試頭或測試頭不在加載模式下執行此命令,則不會執行任何操作。
語法
testhead cleanuptesthead cleanup, <error variables>
eg:
testhead cleanup
testhead cleanup, Err ! 錯誤返回到名為 Err 的變量
testhead configuration
testhead configuration
語句打印機臺的硬件和真空孔的映射列表到打印設備。
eg:
! 列出測試頭的硬件配置printer is "/dev/rp1" ! 定義打印設備。
testhead configuration ! 打印機臺配置。
testhead is
testhead is 1
語句允許您從系統中的任何工作站訪問和控制測試站硬件。
testhead is *
語句釋放對測試頭的控制。
當執行 testhead is 1
時,如果當前有已打開的測試頭,則將其關閉。引用的測試頭將被獨占性地打開;如果它已打開,則會出現運行時錯誤。該語句是全局性的,因此可以從終端、主程序或子程序中執行,并且對所有環境生效。此外,該語句將持續生效,直到執行另一個 testhead is
語句或您退出系統(exit
語句)。
testhead is 1
語句執行以下操作:
- 如果測試頭上當前鎖定了夾具,則檢查夾具啟動是否有效。
- 讀取板配置文件(config)并驗證需要測試電路板的硬件是否列出。
- 將 DUT 電源設為 0 伏。
- 關閉真空并重置真空井默認值。
- 打開輔助繼電器。
- 啟用操作員腳踏開關并顯示操作員小鍵盤。
- 設置系統變量和語句,包括:
- safeguard all
- 將 boardfailed 和 dutfailed 設為 false (0)
- 關閉 save failures
- 確認所有失敗
- 關閉 learn
- 開啟 autoadjust
- 對于不包括板處理器的 Mux 系統,開啟 autoadjust
- 對于包括板處理器的 Mux 系統,關閉 autoadjust
- 如果存在但未啟動的板處理器(僅限 Mux 系統),發出 handler recover 語句。
- 建立到 ScanWorks 軟件和相關硬件的連接。
- 打開對象檢查;請參閱對象檢查語句的語法描述。
語法
testhead is <number>
testhead is <number>, <error variable>
testhead is *
testhead is *, <error variable>
<number>
是一個 <數值表達式><error variable>
是一個 <數字變量>
參數
<number>
所選測試頭的編號。這是一個正整數,唯一合法的值是 1。
*釋放對測試頭的控制。
示例
testhead is 1 ! 訪問測試頭 1 ("/dev/th1")
testhead is * ! 釋放測試頭 1
當 testhead power on
語句打開測試頭的電源時,它也會執行一個 testhead is 1
語句。
testhead power on/off
testhead power
語句用于打開或關閉測試頭的電源。請注意,測試頭電源關閉后,夾具鎖仍將保持激活狀態。要在測試頭電源關閉的情況下釋放夾具,請按下紅色緊急停止開關。
testhead power on
語句還會執行一個 testhead is 1
語句。
語法
testhead power ontesthead power off
testhead status
翻譯:
testhead status
語句返回最多七個測試頭狀態參數的值。這些值將返回到在 testhead status
關鍵字后列出的變量中。可以返回的參數包括有關自調節狀態、測試頭上次啟動后的時間、模塊溫度、用于存儲測試對象的可用內存、以及夾具是否鎖定等信息。
<variable list>
可以包含一到七個變量。變量在 <variable list>
中的位置決定了哪個參數值返回給該變量。
要指示 testhead status
語句跳過任何參數,必須在 <variable list>
中適當的位置包含逗號(,)。參見示例部分。
語法
testhead status <variable list>
variable list
可以是:
<variable 1>
<variable 1>, <variable 2>
<variable 1>, <variable 2>, ... <variable 7>
<variables 1 through 7>
是數字變量。
參數
<variable 1>
通過返回一個非零值來指定是否需要運行自調節。返回值是一個三位的二進制值。各位表示:
- 最低有效位(LSB) - 如果至少一個模塊的溫度與校準溫度的差值大于五攝氏度,則為1。
- 中心位(CENTER) - 如果CPU時間累積超過1000小時,則為1。
- 最高有效位(MSB) - 如果自測試頭上次啟動以來自調節失敗,則為1。
<variable 2>
指示自上次成功自調節以來的時間(以秒為單位)。
<variable 3>
指示自測試頭上次啟動以來的時間(以秒為單位)。
<variable 4>
檢查配置文件中列出的每個模塊的校準溫度與實際溫度之間的差異。返回攝氏溫度差異中最大的值。
<variable 5>
指示溫度最高的模塊的溫度(以攝氏度為單位)。
<variable 6>
指定可用于存儲測試對象的可用內存字節數,位于內存最少的模塊中。
<variable 7>
如果測試夾具未鎖定,則為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 print level is
語句指示系統將 TestJet 測量結果的報告發送到當前 printer is
設備。報告包括:
- 設備標識
- 引腳號
- 測量值
- 通過/失敗狀態
- 上限和下限
如果沒有執行 testjet print level is
語句,則不會生成任何 TestJet 測量信息。
語法
testjet print level is <status>
<status>
可以是:
- all
- none
參數
指定要發送到 printer is
設備的信息。
- all – 所有 TestJet 測量的結果。
- none – 無信息。
示例
testjet print level is all ! 打開報告testjet print level is none ! 關閉報告sub TestJet ! 使用 TestJet 子程序生成報告printer is "measurements" ! 存入名為 "measurements" 的文件中testjet print level is alltest "testjet"testjet print level is noneprinter is *subend
testorder
測試順序(testorder)語句會清除當前工作區中的所有內容,并將工作站設置為測試順序模式。在此模式下,所有輸入屏幕工作區的語句都會進行語法檢查,以確保它們是有效的測試順序語句。
從任何其他模式將現有的測試順序文件加載到工作區會自動將模式設置為測試順序。
語法
testordertestorder; <選項><選項>可以是: windownowindow
參數
<選項>
可以是 window 或 nowindow。
-
window 會在測試順序模式下打開一個新窗口。
-
nowindow 阻止打開新窗口(如果您的測試系統配置為在指定模式更改時自動打開新窗口)。
示例
text ! 設置為"text"模式;所有語法檢查都關閉。testorder ! 設置為"testorder"模式。testorder;window ! 打開一個新窗口并設置為"testorder"模式。
常規信息
測試順序語句不可編程。
testplan generation
測試計劃生成語句調用測試計劃生成器,該生成器會編寫您的測試計劃。測試計劃生成器使用測試順序(testorder)文件,并將一個測試主文件(testmain)合并到測試計劃中。
如果您希望使用自定義的測試主文件,請將其復制到您的 ipg 目錄下的 ipg/testmain。測試計劃生成器會首先在您的 ipg 目錄中搜索測試主文件,如果找不到,則會使用來自 $AgilentICT_ROOT/standard 的標準測試主文件。
語法
testplan generationtestplan generation <option list 1>testplan generation; <option list 2>testplan generation <option list 1>; <option list 2><option list 1> can be: <directory name><directory name>, <error variable><error variable><directory name> is a <string expression><error variable> is a <numeric variable><option list 2> can be: <item><item>, <item><item>, <item>, . . . , <item><item> can be: <window><wait><experience level><backup level><window> can be: windownowindow<wait> can be: waitnowaitfailwait<experience level> can be: standardadvancedexpert<backup level> can be: numberedunnumberednobackup
參數
<選項列表 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$
th$
函數用于確定測試頭當前是否可以用于測試。如果測試頭當前可用,該函數返回值為1;如果測試頭不可用,則返回值為/。
time$
返回一個包含當前日期和時間的26個字符的字符串。
print time$
print len(time$)
運行結果
Thu Jan 16, 2025 8:56 am
26
timeout
timeout
語句用于為指定設備設置超時時間(該設備必須通過assign to
語句與@<name>
關聯)。請注意,這不會影響數字測試的超時時間。
此語句的作用是設置從系統控制器接收到指令后,外設設備響應的最長時間限制。例如,考慮以下情況:
-
系統控制器指示ASRU卡進行測量并通過
measure
語句返回結果。 -
由于在關聯的檢測器語句中包含了一個可選的等待參數,測量時間長于當前為ASRU卡的GPIB總線指定的超時值。
在上述情況下,會發生GPIB超時錯誤。可以通過將超時增加到一個足夠大的值來允許測量完成,從而解決此問題。
一旦為設備或總線設置了超時值,該超時將繼續有效,直到為該總線或設備執行另一個timeout
語句為止。超時與注銷無關。
語法
timeout @<name>,<seconds>
<name>
是一個標簽<seconds>
是一個數值表達式
參數
@<name>
使用assign to
語句與設備文件標識符關聯的標簽。@<name>
可以與/dev
目錄中的任何設備關聯。
當為GPIB總線或GPIB設備設置超時時,該超時對該總線及該總線上所有設備有效。
<seconds>
超時的秒數,范圍必須在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
。
tolerance margin
使用容差邊界
語句可以更改模擬電路內測試的測試限值。此語句通過指定的測試限值窗口百分比來增加或減少測試限值。限值的更改是基于原始測試限值窗口的算術平均值進行的。
修改后的測試限值會一直有效,直到執行run
語句、用戶注銷系統,或者執行另一個容差邊界
語句為止。后續容差邊界
語句的新測試限值是由原始測試限值計算得出。
語法
tolerance margin <值>
<值>
是一個數值常量
參數
<值>
一個數值常量,指定容差的調整幅度。有效的容差邊界范圍是-100%到300%。如果未指定值,則使用默認值0,測試限值不變。
示例
圖示示例:
下圖展示了將容差邊界設置為-50%、100%和0%的圖形效果。
低限 平均值 高限原始測試限值 |______________|______________|容差邊界 -50 |_______|_______|容差邊界 100 |____________________________|____________________________|容差邊界 0 |______________|______________|
公式:
要計算指定容差邊界的新測試限值,請使用以下公式。
LOW = NOMINAL LOW_VALUEHIGH = NOMINAL HIGH_VALUESCALE = (TOLERANCE_MARGIN / 100) + 1NEW_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 50test "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
拓撲設備計數函數返回電路板文件中的設備數量。您可以獲取所有設備的數量或某一特定類型設備的數量。
語法
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
語句會自動清除當前內存中的任何文件。
topology device data$
拓撲設備數據$函數返回有關指定設備的信息項。這些信息來自電路板文件,并以字符串表達式的形式返回。
通過項目編號請求信息。項目編號包括:
- 設備是否需要測試?返回值可能是:未定義、否或是。
- 設備條目是否經過交叉檢查?返回值可能是:未定義、否或是。
- 設備是否可替代?返回值可能是:未定義、否或是。
- 設備的部件編號是什么?
- 來自電路板功能文件的故障信息是什么?如果沒有故障信息,返回字符串為空。
- 指定設備的測試路徑。
- 設備類型是什么?返回值可能是:未定義、電感器、電容器、跳線、連接器、庫設備、二極管、電位器、FET、電阻器、功能設備、開關、保險絲、晶體管、齊納二極管。
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
拓撲設備引腳計數函數返回指定設備的引腳數量。
語法
topology device pin count (<設備名稱>)
<設備名稱>
是一個字符串表達式
參數
<設備名稱>
例如U100這樣的設備參考標識符。
示例
print topology device pin count ("U100")! 打印U100上的引腳數量。
常規信息
要使用任何拓撲訪問函數,必須先將電路板文件加載到內存中。要將電路板對象文件board.o
加載到內存中,請執行load board
語句。要從內存中移除電路板文件,請使用scratch board
語句。
load board
語句會自動清除當前內存中的任何文件。
topology device pin data$
拓撲設備引腳數據$函數返回有關指定設備引腳的信息項。這些信息以字符串表達式的形式返回。
您可以獲取:
- 引腳用途
- 引腳是否是關鍵引腳
- 引腳連接的節點名稱
- 引腳的系列名稱
語法
topology device pin data$ (<設備名稱>, <引腳名稱>, <項目>)
<設備名稱>
是一個字符串表達式<引腳名稱>
是一個字符串表達式<項目>
是一個數值表達式
參數
<設備名稱>
設備的參考標識符,例如U100。
<引腳名稱>
設備引腳的編號。
<項目>
表示要返回的信息項的編號(1到4)。項目包括:
- 1 – 引腳用途。可能值為:未定義、未連接、輸入、輸出、雙向、電源、非數字
- 2 – 引腳是否為關鍵引腳。可能值為:未定義、是、否
- 3 – 引腳連接的節點名稱。
- 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 <device id>, <pins array>topology get device pins <device id>, <pins array>, <err var>topology get device pins <device id>, <pins array>, <nodes array>topology get device pins <device id>, <pins array>, <nodes array>, <err var><device id> is a <string expression><pins array> is a <string array><nodes array> is a <string array>
<設備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
語句會自動清除當前內存中的任何文件。
topology get devices
標題:從電路板文件中獲取設備名稱
拓撲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
語句會自動清除當前內存中的任何文件。
topology get internal devices
拓撲get internal devices
語句用于將電路板文件中的內部設備名稱填充到一個字符串數組中。
語法
topology get internal devices <device id>, <array id>topology get internal devices <device id>, <array id>, <error variable>`<device ID>`設備的參考標識符,例如U100。
`<array ID>`數組的名稱。
示例
dim Devices$(1:100)[48] ! 定義一個數組。
topology get internal devices "U100", Devices$(*) ! 將U100的所有內部設備名稱放入數組中。
要使用任何拓撲訪問函數,您必須首先將電路板文件加載到內存中。
要將電路板對象文件board.o
加載到內存中,請執行load board
語句。
要從內存中移除電路板文件,請使用scratch board
語句。
load board
語句會自動清除當前內存中的任何文件。
topology get node connections
拓撲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
語句會自動清除當前內存中的任何文件。
topology get nodes
拓撲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
語句會自動清除當前內存中的任何文件。
topology get parent devices
拓撲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
語句會自動清除當前內存中的任何文件。
topology internal device count
拓撲internal device count
語句返回電路板文件中的內部設備數量。
語法
topology internal device count
示例
print topology internal device count ! 打印內部設備的數量。
要使用任何拓撲訪問函數,您必須首先將電路板文件加載到內存中。
要將電路板對象文件board.o
加載到內存中,請執行load board
語句。
要從內存中移除電路板文件,請使用scratch board
語句。
load board
語句會自動清除當前內存中的任何文件。
topology node connection count
拓撲node connection count
語句返回連接到指定節點的連接數量。
語法
topology node connection count (<節點名稱>)
<節點名稱>
是一個字符串表達式
參數
<節點名稱>
節點的名稱。
示例
topology node connection count ("U100-1")! 告訴您連接到節點 "U100-1" 的連接數量。
常規信息
要使用任何拓撲訪問函數,您必須首先將電路板文件加載到內存中。
要將電路板對象文件board.o
加載到內存中,請執行load board
語句。
要從內存中移除電路板文件,請使用scratch board
語句。
load board
語句會自動清除當前內存中的任何文件。
topology node count
拓撲node count
語句返回電路板文件中所有節點的數量。
語法
topology node count
參數
(無)
示例
topology node count ! 返回所有節點的總數。
常規信息
要使用任何拓撲訪問函數,您必須首先將電路板文件加載到內存中。
要將電路板對象文件board.o
加載到內存中,請執行load board
語句。
要從內存中移除電路板文件,請使用scratch board
語句。
load board
語句會自動清除當前內存中的任何文件。
topology node data$
拓撲node data$
函數返回有關指定節點的信息項。這些信息以字符串表達式的形式返回。
您可以通過項目編號請求信息。項目編號包括:
- 節點條目是否經過交叉檢查?返回值可能是:未定義、否或是。
- 來自電路板文件的故障信息是什么?如果沒有故障信息,返回字符串將為空。
- 未使用。
- 電源類型是什么?返回值可能是:未定義、派生、接地、固定、可變。
- 電源編號是什么?
- 電源的電壓設置是多少?
- 電源的電流設置是多少?
- 節點的系列名稱和邏輯電平是什么?返回值可以是系列名稱,后跟:0、1或X。
語法
topology node data$ (<節點名稱>, <項目>)
<節點名稱>
是一個字符串表達式<項目>
是一個數值表達式
參數
<節點名稱>
節點的名稱。
<項目>
表示要返回的信息項的編號(1到8)。項目已在上方描述。
示例
FamilyAndLevel$ = topology node data$ ("U100-1", 8)! 獲取節點的系列名稱和邏輯電平
常規信息
要使用任何拓撲訪問函數,您必須首先將電路板文件加載到內存中。
要將電路板對象文件board.o
加載到內存中,請執行load board
語句。
要從內存中移除電路板文件,請使用scratch board
語句。
load board
語句會自動清除當前內存中的任何文件。
topology parent device count
拓撲parent device count
語句返回電路板文件中父設備的數量。
語法
topology parent device count
參數
(無)
示例
topology parent device count ! 返回父設備的數量。
常規信息
要使用任何拓撲訪問函數,您必須首先將電路板文件加載到內存中。
要將電路板對象文件board.o
加載到內存中,請執行load board
語句。
要從內存中移除電路板文件,請使用scratch board
語句。
load board
語句會自動清除當前內存中的任何文件。
translate faults
translate faults
語句用于將由Mentor Graphics的QuickFault模擬器在設計系統上創建的故障字典文件轉換為故障對象文件。此故障對象文件可由Keysight ICT系統使用。
執行此語句時,您的當前工作目錄應包含故障配置文件。如果不包含,則必須指定包含該文件的目錄路徑名。
window
選項會使翻譯器打開另一個BT-Basic窗口,在該窗口中運行翻譯。如果未指定此選項,翻譯器將在您輸入命令的BT-Basic窗口中運行。
語法
translate faultstranslate faults <目錄ID>translate faults; <選項>translate faults <目錄ID>; <選項>
<目錄ID>
是一個字符串表達式<選項>
可以是:window
參數
<目錄ID>
包含故障配置文件fault.config
的目錄。
示例
translate faults "../fault_data"translate faults; window
trigger
trigger
語句將組執行觸發消息(GET)發送到GPIB接口。觸發消息使一個或一組設備啟動某些設備相關的活動,例如,計數器開始計數。
如果總線整體被尋址(),則所有當前設置為監聽的設備都會響應。如果語句尋址的是一個特定的設備()且該設備不是監聽者,該設備會被設置為監聽,然后再響應。如果當前監聽者被尋址,則所有當前監聽者會響應,就像總線被尋址一樣。
語法
trigger <GPIB>trigger <GPIB device>
-
<GPIB>
和<GPIB device>
可以是:-
<file id>
-
@<name>
-
<file id>
是一個字符串表達式 -
<name>
是一個標簽
-
參數
<GPIB>
總線的地址。
<GPIB device>
所選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。
triml$
刪掉字符串左邊的空格。
A$=" ABCDE "
B$=triml$(A$)
print B$
print len(A$)
print len(B$)
運行結果
ABCDE 1510
trimr$
刪掉字符串右邊的空格。
A$=" ABCDE "
B$=trimr$(A$)
print B$
print len(A$)
print len(B$)
運行結果
ABCDE1510