■引言
許多行業的工程師都使用自動化來擴展其測試儀器的功能,而大多是選擇免費的編程語言——Python來完成。作為適用于自動化的主要編程語言,Python具備許多顯著優勢:
■多功能性
■易于教學
■代碼可讀性
■廣泛可用的知識庫和模塊
自動化包含兩種主要使用情形:
? 模擬人類行為以自動化前面板并節省時間的例程,例如自動化合規性測試。每次需要測試新零件時,工程師不會呆坐在示波器前,添加相應的測量值并記下結果,而是開發一個腳本來完成所有工作并顯示最終結果。
?擴展儀器功能的用途,例如:測量記錄、驗證或質量保證。自動化操作支持工程師執行復雜的測試,且能夠規避測試過程中的許多固有缺點。操作人員無需設置示波器和手動記錄結果,且每次都可以以相同的方式進行測試。
本技術簡介將涵蓋使用Python進行編程所需的內容,包括編程接口的基礎知識以及下載和運行方法的示例。
1
編程接口的定義
編程接口(PI)是兩個計算系統之間的一個或多個邊界,可以通過編程來執行特定行為。就本文而言,編程接口是運行每臺泰克測試設備的計算機和最終用戶編寫的應用程序之間的橋梁。為了進一步縮小范圍,編程接口在此處定義為一組可以遠程發送到儀器的命令,儀器會處理這些命令并執行相應的任務。PI堆棧(圖1)顯示了從主機控制器到儀器的信息流。最終用戶編寫的應用程序代碼用于定義目標儀器的行為。
最終用戶通常用業內流行的開發平臺編寫代碼,如Python、MATLAB、LabVIEW、C++或C#。這些應用程序將使用可編程儀器標準命令(SCPI)格式——大多數測試和測量設備都支持的標準格式——發送數據。SCPI命令通常通過虛擬儀器軟件架構(VISA)層發送,VISA層可通過為增強通信協議的魯棒性(例如錯誤檢查)促進數據傳輸。在某些情況下,應用程序可能會調用驅動程序,然后驅動程序會向VISA層發送一個或多個SCPI命令。
2
tm_devices驅動程序包的內容
泰克的tm_devices是泰克自行開發的設備管理包,支持用戶使用編程語言Python控制和自動化泰克和吉時利產品的測試過程。使用Python的軟件包管理系統pip可快速安裝tm_devices。
Python軟件包包含大量命令和功能,可幫助用戶輕松地對泰克和吉時利產品進行自動化測試。其可在最流行的Python IDE中使用,且支持代碼補全輔助。此外,Python軟件包還可以幫助任何水平軟件技能的工程師簡單輕松地進行編碼和測試自動化。
3
環境設置
本節將指導您完成使用tm_ devices進行開發工作的先決條件和安裝。我們特意在Python(venvs)中提供了支持虛擬環境的指令,因為我們相信這樣可以幫助您更輕松地管理和維護項目,特別是在使用Python軟件包之前,您只是簡單地試用了一下的情況下。
3.1
安裝與先決條件概述
1. 安裝 Python.
a.Python >=3.8
2. PyCharm——PyCharm安裝、啟動項目和tm_devices安裝
3. VSCode——VSCode安裝、啟動項目和tm_devices安裝
3.2
PyCharm社區版(免費)
PyCharm是一款各行各業軟件開發人員廣泛使用的Python IDE。PyCharm有一個集成的單元測試器,支持用戶按文件、類、方法的運行測試,或直接運行文件夾中的所有測試。與大多數現代IDE一樣,PyCharm擁有代碼補全形式,和基本的文本編輯器相比,可以大大加快開發速度。
接下來,我們將為您介紹PyCharm社區版(免費)的安裝過程,然后在IDE中安裝tm_devices并設置一個虛擬環境進行開發。
1. 訪問
https://www.jetbrains.com/pycharm/
2. 跳過PyCharm專業版,下拉至PyCharm社區版,然后點擊下載。
3. 請繼續執行默認的安裝步驟。無需進行任何特殊操作。
4. 歡迎使用PyCharm!
在PyCharm中創建新項目并設置虛擬環境
5. 點擊“新建項目”。
6. 確認項目路徑,確保選擇“Virtualenv”。
7. 打開一個終端。如果您的視圖底部沒有帶標簽的按鈕,請查看以下內容:
8. 在終端提示符出現之前進行檢查(venv),確認虛擬環境已設置。
9.從終端安裝驅動程序。
鍵入:pip install tm _ devices
10. 確保終端沒有出錯!開始使用吧!
3.3
Visual Studio Code
Visual Studio Code是另一款各行各業的軟件開發人員都在使用的免費IDE。其適用于大多數語言,且具有針對大多數語言的擴展包,因此用戶能夠在此IDE中快捷高效地進行編碼。Visual Studio Code可提供IntelliSense。IntelliSense是非常實用的開發工具,有助于代碼補全、參數信息以及其他有關對象和類的信息。tm_devices支持對描述對象和類的命令樹快速進行代碼補全。
4
示例代碼
在本節中,我們將逐步介紹一個簡單的代碼示例,并重點介紹一些有效使用tm_ devices的必要組件。
4.1
導入
這兩行對于tm_devices的有效使用至關重要。在第一行中,我們導入DeviceManager。這將處理多個設備類的樣板連接和斷開。
在第二行中,我們導入一個特定的驅動程序(在本例中是MSO4B)。
我們用DeviceManager設置一個上下文管理器:
然后,當我們同時使用設備管理器和驅動程序時:
我們可以用與其型式匹配的特定命令集來實例化儀器。輸入您儀器的ip地址(其他VISA地址也可)即可。
補全以上四行代碼后,我們就可以開始為MSO4B編寫特定的自動化代碼了!
4.2
代碼片段
接下來我們來看看幾個簡單的操作:
將觸發類型設置為邊沿觸發
以下是添加和查詢CH1峰-峰值測量值的方法:
如果您想對CH2進行幅值測量:
5
使用IntelliSense/代碼補全
IntelliSense——微軟的代碼補全系統,也是我們在盡可能利用的IDE的一個強大功能。
SCPI命令集是測試和測量設備自動化面臨一大障礙。這是一種較為過時的結構,其語法在開發社區中并未得到廣泛支持。
我們使用tm_devices所做的是為每個SCPI命令創建一組Python命令。我們可以從現有的命令語法中生成Python代碼,避免手動開發驅動程序,并創建現有SCPI用戶熟悉的結構。tm_devices還可映射在程序創建期間可能需要特意調試的底層代碼。Python命令的結構模仿了SCPI(或在某些吉時利案例中的TSP)命令結構,因此如果您熟悉SCPI,您就知道這些結構。
以下是關于“IntelliSense如何顯示先前鍵入的命令”的所有可用命令示例。
在Scope上的圓點后出現的可滾動列表中,我們可以看到按字母順序排列的Scope命令類別列表:
選擇afg,我們可以看到afg類別列表。
在IntelliSense的幫助下編寫的最終命令:
6
文檔字符串幫助
編寫代碼之時,或者查看其他人的代碼時,您可以將鼠標懸停在語法的不同部分上,以獲得該級別的特定幫助文檔。越接近完整的命令語法,其內容就越具體。
根據您的IDE設置,您可以同時查看IntelliSense和文檔字符串幫助。
閱讀本指南后,您可以了解泰克Python驅動程序包tm_devices的部分優勢,接下來便可以開始您的自動化之旅了。通過簡單的設置、代碼補全和內置幫助,您無需離開IDE就能學習,進而可以加快開發速度,并以更高的信心進行編碼。
如果您希望改進軟件包,Github repo中有編輯指南。在文檔和examples文件夾的軟件包內容中突出顯示了大量更高級的示例。
7
其他資源
tm_devices·PyPI——軟件包驅動程序下載和信息
tm_devices Github——源代碼、問題跟蹤、編輯
https://github.com/tektronix/tm_devices#documentation ——在線文檔
8
故障排除
通常情況下,故障排除的第一步是升級pip:
在您的終端鍵入:Python.exe -m pip install -upgrade pip
錯誤:whl看起來像文件名,但文件不存在或此平臺不支持whl。
解決方案:在pip中安裝wheel,使其能夠識別文件格式。
在您的終端鍵入:pip install wheel
如果您需要離線安裝wheel,您可以遵循與附件A類似的說明,但其需要下載tar.gz格式文件而非.whl文件。
審核編輯:劉清
-
控制器
+關注
關注
112文章
16332瀏覽量
177811 -
示波器
+關注
關注
113文章
6240瀏覽量
184799 -
LabVIEW
+關注
關注
1970文章
3654瀏覽量
323324 -
編程語言
+關注
關注
10文章
1942瀏覽量
34707 -
python
+關注
關注
56文章
4792瀏覽量
84628
原文標題:【操作指南】教你一招,簡化儀器Python編程控制!
文章出處:【微信號:泰克科技,微信公眾號:泰克科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論