有沒有這樣一種情況,就是通過腳本控制你的測量設備,比如示波器,那是不是就可以不用人為的去分析數(shù)據(jù),直接由腳本就可以完成整個操作了。
是的,有這樣一種方式就可以,就是利用python中的pyvisa庫,實現(xiàn)這樣的控制。
pyvisa是什么?
pyvisa中的visa全程是虛擬一起軟件結(jié)構(gòu)(Virtual Instrument Software Architecture),是python的一個第三方庫,可以用來控制各種測量儀器,比如示波器,萬用表,頻譜儀等等。并且它支持包括Ethernet(LAN), USB, GPIB(通用接口總線), RS232(一種串行通訊接口)等接口的數(shù)據(jù)接入。
在python中,可以直接通過”pip install pyvisa”就可以安裝這個實用的測量儀器第三方庫。
在安裝了pyvisa之后,為了保證pyvisa能夠正常工作,還需要安裝NI-VISA庫,然后就可以開始連接相應的設備,也就是通過支持的接口。
LAN:[TCPIP0::192.168.0.1::inst0::INSTR]
GPIB:[GPIB0::1::INSTR]
Serial:[serial('COM1','BaudRate',4800)]
USB:[USB::XXX::XXX::XXX::INSTR]
所以連接示波器的指令就是連接這個接口地址,假設接口是個網(wǎng)口地址
Visa_address=”[TCPIP0::192.168.0.1::inst0::INSTR]”
然后建立管理器,再去連接這個地址
Rm=pyvisa.ResourceManager()
Scope=rm.open_resource(visa_address)
此時建立了一個示波器對象Scope,可以對它進行控制,比如寫入和讀取,方法分別是write(), query()。
常用的寫入項:
“*RST”: 重啟示波器
“AUTOSET EXECUTE”: 自動設置示波器
“HORIZONTAL”: 采樣率
常用的讀取項:
“MEASU:MEAS1: xxx”: 添加測量項
“MEASU:MEAS1: SOU CH1”: 設置測量通道為1
“MEASU:MEAS1: xxx?”: 讀取測量結(jié)果
獲取示波器信息方式有兩種,一種是用query(‘*idn?’),一種是先write(‘*idn?’)寫入,然后使用read()讀的方式。就可以獲得示波器的廠家型號,儀器型號,序列號,固件的版本號等等信息。
示波器中最重要的就是所抓取的波形了,那么它的波形數(shù)據(jù)如何讀取。
對于波形數(shù)據(jù)的抓取,可以利用query_ascii_values去讀取ASCII數(shù)據(jù),或者讀取二進制數(shù)據(jù)的query_binary_values。
最后就是工具的關閉了,也就是連接上的示波器對象和整個測量儀器管理器。
Scope.close()
Rm.close()
可以看到,python控制示波器的指令中,有很多指令是示波器所固有的,那如何去理解這些指令到底是干什么用的呢?對于這個,其實這些指令都可以叫SCIP命令,它們可以通過去廠家的官方網(wǎng)站進行下載。
進入官網(wǎng)之后,找到相應的示波器型號,然后下載它的manual(說明書),一般名字會是編程手冊,比如下圖:
比如說獲取示波器長度的指令“horizontal: recordlength?”就可以從中找到。
獲取示波器長度指令:
Record=int(scope.query(‘horizontal: recordlength?’))
Scope.write(‘date:stop {}’.format(record))
在示波器正式連接并調(diào)整好參數(shù)之后,就可以看是采集了,可以選擇單次或多次運行。
Scope.write(‘acquire:stopafter SEQINCE’) #單次運行
Scope.write(‘a(chǎn)cquire:stopafter run’) #多次運行
運行之后,如何采集示波器的數(shù)據(jù),可以通過諸如指令:scope.query_binary_values(‘curve?’, datatype=’h’,container=np.array)獲取到它的數(shù)據(jù),如果想具體到某一項,可以在相應示波器manual中尋找。
不過上面采集的數(shù)據(jù)會比較亂,要通過公式轉(zhuǎn)換,才能得到示波器中我們看到的電壓值。
最后,在有是電壓值和時間參數(shù)之后,就可以得到坐標系的X軸和Y軸,然后就可以繪制出示波器的圖像,一般會用到Python中的圖形繪制庫matplotlib和科學計算庫numpy。
-
示波器
+關注
關注
113文章
6705瀏覽量
189279 -
軟件
+關注
關注
69文章
5154瀏覽量
89224 -
自動化控制
+關注
關注
4文章
251瀏覽量
20909 -
測量儀器
+關注
關注
3文章
847瀏覽量
44317
發(fā)布評論請先 登錄
LMX2595EVM如何實現(xiàn)自動化控制?
招聘自動化、電氣自動化、自動化控制工程師
自動化控制裝置
數(shù)字示波器NSAT-3010自動化計量軟件系統(tǒng)設計與實現(xiàn)
淺析自動化控制系統(tǒng)的設計與實現(xiàn)
LabVIEW與Tektronix示波器實現(xiàn)電源測試自動化
PLC怎么實現(xiàn)自動化控制功能
工廠自動化控制的典型實現(xiàn)方式
如何實現(xiàn)PLC的自動化控制邏輯
工業(yè)自動化中的控制方式
機械自動化是自動化的一種嗎
是德示波器MSOX3054T遠程控制自動化測試

評論