国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Python的可編程電源控制及應(yīng)用

2019-08-23 02:45:14王剛義楊玉釗包演生姜濤謝鈞安
電子技術(shù)與軟件工程 2019年14期
關(guān)鍵詞:腳本語(yǔ)言PC機(jī)線束

文/王剛義 楊玉釗 包演生 姜濤 謝鈞安

隨著社會(huì)的發(fā)展,嵌入式系統(tǒng)在人們的工作和生活中應(yīng)用越來(lái)越廣泛,同時(shí),嵌入式系統(tǒng)也越來(lái)越復(fù)雜,嵌入式系統(tǒng)的可靠性面臨嚴(yán)峻的考驗(yàn)。在嵌入式系統(tǒng)的各項(xiàng)測(cè)試中,上下電測(cè)試是一項(xiàng)重要的測(cè)試,能夠驗(yàn)證測(cè)試系統(tǒng)的硬件和軟件可靠性及可恢復(fù)性。本文基于Python腳本語(yǔ)言,通過(guò)控制可編程電源實(shí)現(xiàn)自動(dòng)上下電而達(dá)到自動(dòng)測(cè)試效果,并實(shí)現(xiàn)監(jiān)測(cè)系統(tǒng)是否正常上電工作,解決使用人工手動(dòng)控制重復(fù)上下電,測(cè)試效果較差并且效率較低的問(wèn)題。

圖1:測(cè)試系統(tǒng)的示意圖

1 Python腳本語(yǔ)言簡(jiǎn)介

Python是一種解釋型、交互式、面向?qū)ο?、?dòng)態(tài)語(yǔ)義、語(yǔ)法優(yōu)美的腳本語(yǔ)言,自從1989年由Guido Van Rossum設(shè)計(jì)出來(lái)后,經(jīng)過(guò)十余年的發(fā)展,已經(jīng)同Tcl、Perl一起,成為目前應(yīng)用最廣的三種跨平臺(tái)腳本語(yǔ)言。Python的主要特點(diǎn)有:

(1)免費(fèi)開(kāi)源 Python是FLOSS(自由/開(kāi)放源碼軟件)之一。簡(jiǎn)單地說(shuō),你可以自由地發(fā)布這個(gè)軟件的拷貝、閱讀它的源代碼、對(duì)它做改動(dòng)、把它的一部分用于新的自由軟件中。

(2)高層語(yǔ)言當(dāng)你用Python語(yǔ)言編寫(xiě)程序的時(shí)候,你無(wú)需考慮諸如如何管理你的程序使用的內(nèi)存一類的底層細(xì)節(jié)。

(3)可移植性由于它的開(kāi)源本質(zhì),Python已經(jīng)被移植在許多平臺(tái)上(經(jīng)過(guò)改動(dòng)使它能夠工作在不同平臺(tái)上)。這些系統(tǒng)包括如Linux、Windows、Solaris、Mac OS、Windows CE等等,甚至還有PocketPC。

(4)面向?qū)ο?Python提供類、類的繼承、類的私有和公有屬性、例外處理等完善的對(duì)面向?qū)ο蠓椒ǖ闹С帧?/p>

(5)可嵌入性可以方便地把Python嵌入C /C++程序中,為程序提供腳本功能。

(6)可擴(kuò)展性如果希望一段關(guān)鍵代碼運(yùn)行得更快或者希望某些算法不公開(kāi),可以把部分程序用C或C++編寫(xiě),然后在Python程序中使用它們。

(7)第三方庫(kù) Python有大量的第三方模塊,能大量節(jié)省開(kāi)發(fā)者的時(shí)間,從而能更多時(shí)間關(guān)注自己的問(wèn)題。

基于以上的特點(diǎn),Python特別適合于作為腳本語(yǔ)言嵌入到應(yīng)用程序中,并且Python有一個(gè)專門為儀器設(shè)計(jì)的開(kāi)發(fā)庫(kù)——VISA(Virtual Instrument Software Architecture,簡(jiǎn)稱為VISA)庫(kù)。VISA提供用于儀器編程的標(biāo)準(zhǔn)I/O函數(shù)庫(kù),是計(jì)算機(jī)與儀器的標(biāo)準(zhǔn)軟件通信接口,計(jì)算機(jī)通過(guò)它來(lái)控制儀器。本文也通過(guò)VSIA庫(kù)來(lái)控制可編程電源。

2 可編程電源特點(diǎn)

Keysight N5700 系列直流電源采用緊湊型(1U)機(jī)箱,提供750W和1500W可編程直流輸出,共有24種型號(hào),能適應(yīng)各種簡(jiǎn)單直流電源應(yīng)用。它們提供穩(wěn)定的輸出功率,內(nèi)置的電壓和電流測(cè)量能力,以及6V到600V的電壓和1.3A到180A的電流。帶有標(biāo)準(zhǔn)配置的GPIB、Ethernet/LAN和USB 2.0通訊接口,為您提供選擇當(dāng)前和未來(lái)I/O接口的靈活性。

本文以N5700系列中的一種電源型號(hào)為例,嘗試使用Ethernet/LAN和USB 2.0作為通訊接口來(lái)控制該電源的上下電操作。

3 自動(dòng)化測(cè)試設(shè)計(jì)

為了通過(guò)使用Python腳本語(yǔ)言VISA庫(kù)來(lái)控制可編程電源N5700系列電源,首先應(yīng)完成測(cè)試環(huán)境搭建;其次,完成Python腳本開(kāi)發(fā);最后通過(guò)一定的測(cè)試來(lái)驗(yàn)證是否可行。

3.1 環(huán)境搭建

首先,系統(tǒng)環(huán)境的整體搭建如圖1所示。其中PC機(jī)已經(jīng)安裝好相應(yīng)軟件,以太網(wǎng)線束為RJ45轉(zhuǎn)RJ45,USB線束為USB type A轉(zhuǎn)USB type B,并且把可編程電源電壓輸出端同待測(cè)試設(shè)備電源輸入端連接。

其次,要實(shí)現(xiàn)Python腳本控制電源,PC機(jī)需要對(duì)軟件環(huán)境進(jìn)行相關(guān)的配置:

(1)安裝N5700系列電源的驅(qū)動(dòng)軟件。驅(qū)動(dòng)軟件可以到相應(yīng)官網(wǎng)進(jìn)行下載,如本文下載的是KeysightInstrumentControlBund le_4.2018軟件,其中包括相應(yīng)驅(qū)動(dòng)軟件和相應(yīng)的編程IDE;

(2)搭建Python開(kāi)發(fā)環(huán)境。具體可以參考網(wǎng)上一些教程,這里就不詳細(xì)介紹了,值得注意的是注意配置PATH環(huán)境變量、安裝VISA庫(kù)及Python編程環(huán)境。

(3)確保PC機(jī)上有visa32.dll文件的存在,一般該文件存放位置在c:/windows/system32/visa32.dll。

3.2 Python腳本開(kāi)發(fā)

首先,獲取可編程電源的USB或者以太網(wǎng)地址,把USB線束或者以太網(wǎng)線束將可編程電源和PC機(jī)相連,然后打開(kāi)已安裝好的Keysight Connection Expert軟件,該軟件中會(huì)自動(dòng)識(shí)別出該電源的相應(yīng)地址,如圖2所示。

圖2:軟件識(shí)別出的相應(yīng)地址

其次,定義相應(yīng)通訊接口,這里以以太網(wǎng)為例。利用VISA庫(kù)的API函數(shù)visa.ResourceManager創(chuàng)建visa實(shí)例對(duì)象,調(diào)用對(duì)象中的open_resource函數(shù)傳入上述所查詢的地址建立相應(yīng)的通訊連接。然后調(diào)用相應(yīng)的SCPI指令實(shí)現(xiàn)控制(詳細(xì)的指令信息可查看 IEEE488.2,根據(jù)需要選擇性的使用),如發(fā)送“*IDN?”查看可編程電源相關(guān)信息,同時(shí)也可以驗(yàn)證是否和可編程電源通訊成功。

最后,通過(guò)Python語(yǔ)言定義一個(gè)循環(huán),循環(huán)中通過(guò)發(fā)送SCPI指令來(lái)控制可編程電源的電壓輸出,并監(jiān)測(cè)上電情況下可編程電源的電流值,作為判斷可編程電源是否正常啟動(dòng)的標(biāo)志。值得注意的是,設(shè)置斷電控制是把電壓設(shè)置一個(gè)比較小的電壓(低于設(shè)備的供電電壓),而不是設(shè)置為0,這樣減少對(duì)可編程電源的沖擊;設(shè)置時(shí)間間隔的話需要考慮可編程電源電壓輸出至穩(wěn)定輸出的時(shí)間。具體的控制流程圖如圖3所示。

3.3 測(cè)試階段

在完成設(shè)備相關(guān)連接及可編程電源的Python腳本控制的設(shè)計(jì)后,給相應(yīng)設(shè)備上電進(jìn)行調(diào)試。通過(guò)以太網(wǎng)連接可編程電源和PC,運(yùn)行Python腳本,觀察可編程電源的電壓變化情況,并觀察測(cè)試設(shè)備的上下電情況。通過(guò)觀察,可編程電源按照設(shè)定的時(shí)間間隔調(diào)整電壓輸出,并且測(cè)試設(shè)備根據(jù)電壓變換正常上下電,完成測(cè)試設(shè)備的上下電自動(dòng)化測(cè)試,驗(yàn)證了設(shè)備軟硬件的可靠性。

4 總結(jié)

文章介紹Python、可編程電源和上下電測(cè)試實(shí)現(xiàn)的一些關(guān)鍵技術(shù),在硬件平臺(tái)的基礎(chǔ)上,采用Python腳本語(yǔ)言和SCPI指令,實(shí)現(xiàn)了可編程電源的電壓控制,較好地解決了測(cè)試設(shè)備的上下電的自動(dòng)化測(cè)試,測(cè)試設(shè)備在正常運(yùn)行中異常掉電對(duì)設(shè)備軟硬件的影響,驗(yàn)證設(shè)備軟硬件的可靠性。實(shí)驗(yàn)結(jié)果表明,測(cè)試設(shè)備自動(dòng)化上下電測(cè)試執(zhí)行效率高,并且檢測(cè)準(zhǔn)確,對(duì)自動(dòng)化測(cè)試有一定的參考價(jià)值!

圖3:控制流程圖

猜你喜歡
腳本語(yǔ)言PC機(jī)線束
線束工業(yè)軟件應(yīng)用之中線CAD標(biāo)準(zhǔn)版
汽車電器(2022年5期)2022-05-23 12:06:18
基于PC機(jī)與單片機(jī)的多機(jī)通信技術(shù)及抗干擾方法
一種面向SSC的電信增值業(yè)務(wù)的生成方法及實(shí)現(xiàn)
基于三菱FXPLC的感應(yīng)淬火機(jī)床與PC機(jī)的串行通信實(shí)現(xiàn)
基于Unity3D的坦克大戰(zhàn)游戲設(shè)計(jì)與實(shí)現(xiàn)
VC.NET下實(shí)現(xiàn)dsPIC單片機(jī)與PC機(jī)的通信
電子制作(2017年23期)2017-02-02 07:16:47
汽車線束設(shè)計(jì)及線束用原材料的選取
某輕卡線束設(shè)計(jì)方案
淺析計(jì)算機(jī)技術(shù)在flash動(dòng)畫(huà)中的應(yīng)用
基于SiPESC平臺(tái)的Python擴(kuò)展模塊開(kāi)發(fā)
承德县| 庐江县| 克拉玛依市| 会理县| 临泽县| 天等县| 庆安县| 尼勒克县| 罗甸县| 乌兰浩特市| 长白| 宝应县| 金沙县| 昌黎县| 凉城县| 嘉祥县| 格尔木市| 金坛市| 额尔古纳市| 扬州市| 建昌县| 河源市| 沾化县| 东台市| 根河市| 昌黎县| 平昌县| 天台县| 措勤县| 卫辉市| 九龙城区| 黄冈市| 贺兰县| 浙江省| 英德市| 黔南| 齐河县| 茌平县| 石狮市| 无棣县| 渝北区|