曾張帆+劉文超+周艷玲+蔡銳
摘要:針對目前企業(yè)中對儀器的操作控制還未實(shí)現(xiàn)自動化,導(dǎo)致企業(yè)員工的工作效率不高的難題,通過在Visual Studio 2010開發(fā)平臺中采用C#編程實(shí)現(xiàn)基于GPIB通訊的多儀器控制設(shè)備,實(shí)現(xiàn)由上位機(jī)軟件對支持GPIB通訊的安捷倫或同類型設(shè)備的多個設(shè)備同時(shí)進(jìn)行遠(yuǎn)程控制。經(jīng)過測試發(fā)現(xiàn),該上位機(jī)軟件運(yùn)行穩(wěn)定可靠,對于儀器控制的效率有明顯的提高。
關(guān)鍵詞:C#編程;GPIB通訊;多儀器;遠(yuǎn)程控制
中圖分類號:TB文獻(xiàn)標(biāo)識碼:Adoi:10.19311/j.cnki.16723198.2017.04.088
0引言
隨著當(dāng)今信息化時(shí)代的快速發(fā)展,儀器的自動化控制已經(jīng)成為社會發(fā)展的趨勢。儀器遠(yuǎn)程控制的實(shí)現(xiàn)相較于傳統(tǒng)的人工看守操作模式,具有操作簡便可靠、工作效率高和節(jié)省資源等諸多優(yōu)勢。
1平臺搭建
1.1軟件安裝
開發(fā)軟件:Visual Studio 2010是目前較為穩(wěn)定的版本。
儀器編程Visa庫軟件:Keysight IO Libraries Suite 版本17.2.208 18.0,該版本是目前的最新版本,可以與之前的版本進(jìn)行兼容。
儀器編程連接軟件:Keysight Command Expert版本:1.6.327,將要進(jìn)行編程的儀器與計(jì)算機(jī)連接,可以通過此軟件獲取儀器鏈接地址并發(fā)送相關(guān)指令。
1.2編程語言
本文是利用C#語言進(jìn)行軟件設(shè)計(jì),并最終實(shí)現(xiàn)儀器控制。C#語言簡潔易懂,支持跨平臺,與目前主流的Java語言相比,C#語言面向?qū)ο蟮某潭雀?、?zhí)行速度更快。
2GPIB原理與流程介紹
2.1GPIB簡介
通用目的接口總線(GPIB,General-Purpose Interface Bus)是一種用于將可編程儀器與計(jì)算機(jī)連接的總線。GPIB可以在一定的傳輸距離中最多支持15臺設(shè)備同時(shí)連接,其采用的是雙向異步通訊方式;與串口通信方式相比GPIB通訊有著更快的數(shù)據(jù)傳輸速率,與USB通訊方式相比有較短的延遲性能,還具有軟件兼容性優(yōu)良,使用時(shí)間長等特點(diǎn)。
GPIB是8位并行的數(shù)字通信控制接口,其總線結(jié)構(gòu)中包含16個信號線,其中有8條I/O數(shù)據(jù)線、3條握手線以及5條接口管理線。在有效的GPIB通訊系統(tǒng)中要有“講話者”、“聽者”、“控制者”三類儀器設(shè)備,每個通訊設(shè)備都可能是其中的某一個角色,但在一次通訊中只能有一個“講話者”,允許有多個“聽者”。GPIB接口共具有10種通訊接口功能。本文設(shè)計(jì)的控制軟件主要利用其中的“遠(yuǎn)控/本控”功能,通過接收外部傳輸進(jìn)來的數(shù)字信號進(jìn)行程控操作。
GPIB接口設(shè)備可以通過以GPIB-單片機(jī)-USB為主框架的數(shù)據(jù)傳輸系統(tǒng),實(shí)現(xiàn)支持GPIB通訊的儀器設(shè)備與GPIB接口相連,PC機(jī)與USB接口相連,兩者在通過GPIB轉(zhuǎn)USB的數(shù)據(jù)線進(jìn)行連接,如圖1所示。
GPIB與儀器的通訊原理,如圖2所示。其中PC機(jī)發(fā)出的程控指令作為“遠(yuǎn)地接口消息”通過GPIB-USB數(shù)據(jù)線傳遞到GPIB儀器,GPIB儀器收到指令之后根據(jù)接口功能產(chǎn)生相應(yīng)的“本地消息”指令向內(nèi)傳輸,儀器設(shè)備再收到“本地信息”后依據(jù)儀器設(shè)備的器件功能進(jìn)行本地操作,執(zhí)行相應(yīng)的指令,有些情況下,儀器會將指令執(zhí)行的結(jié)果在通過上述通訊的逆過程將數(shù)據(jù)回傳至PC機(jī)。
2.2SCPI簡介
可編程儀器標(biāo)準(zhǔn)指令(SCPI,Standard Commands for Programmable Instruments)是基于IEEE 488.2信息交換協(xié)議的編程指令標(biāo)準(zhǔn)。SCPI中定義了一整套的儀器編程通用指令,除IEEE 488.2協(xié)議中強(qiáng)制規(guī)定的通用指令外,SCPI中還包含用于任何硬件和通訊設(shè)備的編程指令。
SCPI命令的特點(diǎn)為:
(1)命令包括關(guān)鍵字、參數(shù)和標(biāo)點(diǎn)符號。
(2) 查詢語句總是以問號結(jié)束。
(3) 命令的有效格式分為長、短兩種格式,不區(qū)分大小寫。
(4) 命令類型:公共命令(以*開始),分系統(tǒng)命令(由關(guān)鍵字之間的冒號分開)。訪問分系統(tǒng)命令中低一級的子命令必須按照特定的路徑。
3軟件部分
3.1單儀器控制實(shí)現(xiàn)
3.1.1獲取儀器通訊地址
將AV1487B型號的信號源與PC機(jī)按照圖1連接,在PC機(jī)上運(yùn)行Keysight Command Expert,獲取該儀器的GPIB通訊地址為“GPIB0::19::INSTR”,如圖3所示。
3.1.2軟件界面及實(shí)現(xiàn)流程
為實(shí)現(xiàn)上位機(jī)遠(yuǎn)程控制GPIB儀器設(shè)備,在Visual Studio 2010開發(fā)平臺中利用C#編程設(shè)計(jì)的軟件界面,如圖4所示。
具體流程為:上位機(jī)軟件的后臺代碼中通過引用VISA儀器編程指令的動態(tài)鏈接庫文件,創(chuàng)建與儀器通訊的GPIB儀器通訊對象和API接口。輸入獲取的儀器地址,點(diǎn)擊“連接設(shè)備”,上位機(jī)軟件會建立與GPIB儀器的通訊環(huán)境;然后在“輸入指令”文本框中輸入對應(yīng)的指令,上位機(jī)指令發(fā)出的指令通過GPIB-USB連接線傳輸?shù)絻x器設(shè)備,儀器設(shè)備再根據(jù)圖2所示的原理圖進(jìn)行處理與信息反饋。
3.1.3指令控制測試
以AV1487B型號信號源為例,輸入地址“GPIB0::19::INSTR”,輸入SCPI通用指令“*IDN?”(該指令是標(biāo)識查詢命令,返回信息為儀器制造廠家、型號、序列號及版本號。),在“儀器返回信息”文本框中顯示“THE 41ST INSTITUTE,AV1487B,2007159,V2.51”,該結(jié)果與Keysight Command Expert軟件中發(fā)送“*IDN?”得到的返回信息一致,如圖6所示。
至此,對于單儀器的GPIB遠(yuǎn)程控制已經(jīng)實(shí)現(xiàn)。若要進(jìn)行其他控制,只需輸入儀器支持的SCPI指令就可完成相關(guān)控制操作。
3.2多儀器控制實(shí)現(xiàn)
3.2.1多儀器的GPIB連接
為了實(shí)現(xiàn)對于多個GPIB設(shè)備同時(shí)進(jìn)行遠(yuǎn)程控制,需將所有設(shè)備以串聯(lián)方式連接到一根GPIB數(shù)據(jù)線上,如圖7所示,這樣做能節(jié)省GPIB傳輸線以及PC機(jī)USB接口資源。
3.2.2多儀器同時(shí)控制實(shí)現(xiàn)
將多個GPIB設(shè)備與PC機(jī)連接,在上位機(jī)中可以根據(jù)儀器對應(yīng)的不同通訊地址區(qū)分設(shè)備。本文中以AV1487B型號的信號源和安捷倫54622A型號的示波器為例,獲取儀器地址分別為“GPIB0::19::INSTR”、“GPIB0::14::INSTR”,分別輸入儀器通訊地址,再分別發(fā)送“*IDN?”,測試結(jié)果顯示返回信息分別為“THE 41ST INSTITUTE,AV1487B,2007159,V251”、“AGILENTTECHNOLOGIES,54622A,MY40004362,A.02.02”,儀器返回各自的產(chǎn)品信息,如圖8所示,獨(dú)立運(yùn)行且互不干擾。由此說明通過上位機(jī)軟件對于多儀器的遠(yuǎn)程控制成功實(shí)現(xiàn)。
4總結(jié)
本文實(shí)現(xiàn)了基于GPIB接口通訊的多儀器同步控制,可以實(shí)現(xiàn)通過上位機(jī)軟件對支持GPIB通訊的安捷倫或同類型的多臺設(shè)備同時(shí)進(jìn)行遠(yuǎn)程控制。經(jīng)過3個月試驗(yàn)檢測發(fā)現(xiàn),該上位機(jī)軟件運(yùn)行穩(wěn)定可靠,相比于人工操控設(shè)備的傳統(tǒng)方式在工作效率上有明顯的提高,有利于推進(jìn)實(shí)現(xiàn)儀器的自動化控制。不足之處在于,目前儀器的通訊地址是通過第三方軟件獲取,下一步還需在如何通過上位機(jī)軟件自動識別并獲取儀器的通訊地址這方面做進(jìn)一步的研究。
參考文獻(xiàn)
[1]羅光坤,張令彌等.基于GPIB接口的一起與計(jì)算機(jī)意見的通訊[J].儀器儀表學(xué)報(bào),2006,(6):634638.
[2]劉天舒,金從軍.基于VISA和SCPI的自動校準(zhǔn)開發(fā)[J].現(xiàn)代防御技術(shù),2013,(3):175179.