杜毅鵬,喬 雙
(東北師范大學(xué)物理學(xué)院,吉林 長春 130024)
LabVIEW環(huán)境下中子發(fā)生器控制臺 上位機(jī)程序的設(shè)計(jì)與實(shí)現(xiàn)
杜毅鵬,喬 雙
(東北師范大學(xué)物理學(xué)院,吉林 長春 130024)
在中子發(fā)生器控制臺上位機(jī)的軟件設(shè)計(jì)上,采用了LabVIEW虛擬儀器開發(fā)環(huán)境和方法,實(shí)現(xiàn)了中子發(fā)生器控制臺上位機(jī)與下位機(jī)之間的數(shù)據(jù)傳輸與控制.和傳統(tǒng)的上位機(jī)控制界面相比較,其優(yōu)點(diǎn)是控制程序易于編寫,界面更為友好,測試操作簡單,而且系統(tǒng)穩(wěn)定性和抗干擾性大為提高.
虛擬儀器;LabVIEW;中子發(fā)生器控制臺;上位機(jī)
中子發(fā)生器是目前中子源最熱門的技術(shù),因其具有中子能量高、單色性好、可控制和使用安全的特點(diǎn),在石油測井、煤質(zhì)分析和爆炸物及毒品檢測等方面有著廣泛的應(yīng)用.[1-2]中子發(fā)生器作為電控設(shè)備,運(yùn)行性能、中子產(chǎn)額及其使用的壽命都會由上位機(jī)和下位機(jī)構(gòu)成的控制臺加以控制[3].傳統(tǒng)的控制臺主要使用的是機(jī)械電位調(diào)節(jié),隨著虛擬儀器的不斷發(fā)展,LabVIEW(Laboratory Virtual Instrument Engineering Workbench)在眾多測控軟件中脫穎而出.它是一種圖形化編程軟件,該軟件操作簡單,易上手,且程序的運(yùn)行效率和穩(wěn)健性高.可以嵌入許多功能模塊,方便實(shí)現(xiàn)虛擬儀器的復(fù)雜操作.[4]LabVIEW編寫程序只需從功能模塊中選出不同的函數(shù)圖標(biāo),進(jìn)行鏈接.其程序及流程一目了然,適合許多領(lǐng)域儀器開發(fā)的要求.本文采用LabVIEW開發(fā)環(huán)境編寫中子發(fā)生器控制臺的上位機(jī)程序,實(shí)現(xiàn)對中子管的測量和控制,使其人機(jī)交互界面更為友好,操作更簡單[5],對中子管的監(jiān)測與控制更為直觀.
LabVIEW是一種用圖標(biāo)代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語言.傳統(tǒng)文本編程語言根據(jù)語句和指令的先后順序決定程序執(zhí)行順序,而 LabVIEW 則采用數(shù)據(jù)流編程方式,程序框圖中節(jié)點(diǎn)之間的數(shù)據(jù)流向決定了VI(虛擬儀器模塊)及函數(shù)的執(zhí)行順序.[5-6]在相同的硬件平臺下,可以通過改變軟件,實(shí)現(xiàn)不同的儀器儀表的功能,使用非常方便,充分體現(xiàn)了軟件相當(dāng)于硬件的嶄新理念.
使用LabVIEW可以進(jìn)行數(shù)據(jù)采集、處理與控制,實(shí)現(xiàn)儀器設(shè)備的硬件與PC機(jī)的有效集成,建立自己特殊要求的虛擬儀器系統(tǒng).在工程應(yīng)用中,經(jīng)常需要計(jì)算機(jī)與儀器之間、計(jì)算機(jī)之間進(jìn)行數(shù)據(jù)通信,其中串行通信是最常用的通信方式.
RS-232協(xié)議是國際認(rèn)可的串口通信協(xié)議,而且LabVIEW自己擁有串口操作模塊,所以實(shí)現(xiàn)下位機(jī)和PC之間的通信非常簡單.
中子管在眾多領(lǐng)域中都有著廣泛的應(yīng)用,但其內(nèi)部較為復(fù)雜,涉及物理學(xué)、電子學(xué)、機(jī)械工程等交叉學(xué)科,并隨著這些學(xué)科的發(fā)展而發(fā)展[7].本文引入LabVIEW編程來處理中子管的控制參數(shù)的發(fā)送與接收,實(shí)時(shí)監(jiān)測中子管工作情況.
2.1 LabVIEW實(shí)現(xiàn)的總體框架

圖1 LabVIEW上位機(jī)測控程序的總體結(jié)構(gòu)
基于LabVIEW的上位機(jī)測控程序的總體結(jié)構(gòu)如圖1所示.其中通信模塊負(fù)責(zé)和下位機(jī)進(jìn)行通信、接收和發(fā)送數(shù)據(jù).LabVIEW控制界面主要負(fù)責(zé)給通信模塊發(fā)送指令代碼和設(shè)置參數(shù),通信模塊接收到指令后會進(jìn)行識別,最終完成與中子發(fā)生器控制臺下位機(jī)的互動.
2.2 LabVIEW界面設(shè)計(jì)
LabVIEW是一種集成的程序開發(fā)環(huán)境,由美國儀器(NI)公司研制開發(fā),類似于C和BASIC開發(fā)環(huán)境,但是LabVIEW與其他計(jì)算機(jī)語言具有顯著區(qū)別:其他計(jì)算機(jī)語言都是采用基于文本的語言產(chǎn)生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式,并且有一個(gè)完成任何編程任務(wù)的龐大函數(shù)庫.[8]
2.2.1 通信協(xié)議
本文采用通用的RS-232通信協(xié)議,它是由電子工業(yè)協(xié)會發(fā)布的,適合本地設(shè)備之間的通信.其數(shù)據(jù)接收和發(fā)送協(xié)議見于表1和2.

表1 LabVIEN上位機(jī)數(shù)據(jù)接收協(xié)議

表2 LabVIEN上位機(jī)數(shù)據(jù)發(fā)送協(xié)議
2.2.2 硬件設(shè)計(jì)

圖2 上位機(jī)與下位機(jī)連接示意圖
本文主控制板的核心控制單元為TMS320F2812,它是一款TI公司用于控制的高性能、多功能、高性價(jià)比的32位DSP芯片.它與LabVIEW的連接只需一個(gè)RS-232串口線,若檢測距離過長,則需要RS-232串口線轉(zhuǎn)RS-485串口線再轉(zhuǎn)RS-232.其上位機(jī)與下位機(jī)連接如圖2所示.
2.2.3 軟件設(shè)計(jì)
本文主要完成控制臺上位機(jī)的軟件設(shè)計(jì),其中包括VISA串口配置的初始化、事件中斷的初始化、子VI的初始化,選擇事件結(jié)構(gòu)等,[9]利用事件結(jié)構(gòu)將其聯(lián)系在一起.總的流程主線由VISA的串口輸入和錯(cuò)誤輸入擔(dān)當(dāng),可以避免系統(tǒng)出現(xiàn)錯(cuò)誤或者輸入錯(cuò)誤引起的軟件崩潰的發(fā)生.上位機(jī)軟件流程如圖3所示.

圖3 上位機(jī)程序流程
3.1 利用虛擬串口的LabVIEW仿真實(shí)驗(yàn)
應(yīng)用軟件Virtual Serial Port Driver創(chuàng)建虛擬串口,并將其關(guān)聯(lián)起來,實(shí)驗(yàn)中使用COM8-COM9串口關(guān)聯(lián),串口調(diào)試助手用于串口的調(diào)試,包括發(fā)送和接收數(shù)據(jù).圖4為LabVIEW發(fā)送、接收數(shù)據(jù)顯示界面,圖5為LabVIEW串口調(diào)試助手發(fā)送、接收數(shù)據(jù)界面.

圖4 LabVIEW發(fā)送、接收數(shù)據(jù)顯示界面

圖5 LabVIEW串口調(diào)試助手發(fā)送、接收數(shù)據(jù)界面
從仿真實(shí)驗(yàn)可以得出,由LabVIEW仿真界面可以正常接收和發(fā)送數(shù)據(jù).
3.2 與控制臺下位機(jī)結(jié)合的通信實(shí)驗(yàn)
先將下位機(jī)與PC機(jī)通過串口線連接起來,上電起動運(yùn)行,上位機(jī)測控?cái)?shù)據(jù)如圖6所示.經(jīng)過長時(shí)間的運(yùn)行,證明我們開發(fā)的中子發(fā)生器控制臺的操控性、穩(wěn)定性達(dá)到了現(xiàn)場使用的要求.

圖6 控制臺上位機(jī)工作界面
隨著工業(yè)的發(fā)展,傳統(tǒng)的大型核反應(yīng)堆越來越不適合民用生產(chǎn).中子發(fā)生器由于具有小型化、價(jià)格低、產(chǎn)額高、產(chǎn)生與關(guān)閉的可控性等特點(diǎn),在工業(yè)、醫(yī)療、國防等領(lǐng)域得到了廣泛應(yīng)用.為了進(jìn)一步提高中子發(fā)生器的操控性,本文將強(qiáng)大的LabVIEW程序設(shè)計(jì)技術(shù)引入到中子發(fā)生器控制臺上位機(jī)程序的開發(fā)中.
在中子發(fā)生器控制臺上位機(jī)的軟件設(shè)計(jì)上,采用了LabVIEW虛擬儀器開發(fā)環(huán)境和方法,實(shí)現(xiàn)了中子發(fā)生器控制臺上位機(jī)與下位機(jī)之間的數(shù)據(jù)傳輸與控制.和傳統(tǒng)的上位機(jī)控制界面相比較,其優(yōu)點(diǎn)是控制程序易于編寫,界面更為友好,測試操作簡單,而且系統(tǒng)穩(wěn)定性和抗干擾性大為提高.
[1] 喻坪.中子發(fā)生器控制臺自動化研究[D].長春:東北師范大學(xué),2010:4-8.
[2] 李永杰.中子發(fā)生器控制臺的設(shè)計(jì)與實(shí)現(xiàn)[D].長春:東北師范大學(xué),2012:8-11.
[3] 周大立,張洋,喬雙.藍(lán)牙技術(shù)在中子發(fā)生器控制臺中的應(yīng)用[J].東北師大學(xué)報(bào)(自然科學(xué)版),2015,47(2):72-74.
[4] 李紅剛,張素萍.基于單片機(jī)和LabVIEW的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].國外電子測量技術(shù),2014,33(4):62-64.
[5] 鐘紹俊.可編程控制器與LabVIEW的通訊實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2003,19(3):19-20.
[6] 張力,晏紅.基于LabVIEW串口通訊的虛擬數(shù)字電壓表的設(shè)計(jì)[J].三峽大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,32(2):82-83.
[7] 蘇桐齡.強(qiáng)流中子發(fā)生器及其應(yīng)用[J].核技術(shù),1989,12(8/9):553-556.
[8] 張黎,蔡亮.基于LabVIEW的虛擬信號發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)[J].國外電子測量技術(shù),2014,33(1):82-83.
[9] 許美玲,李春茂,朱俊峰,等.基于LabVIEW串口通訊的多路數(shù)據(jù)采集系統(tǒng)[J].機(jī)械與電子,2010,7(1):172-174.
(責(zé)任編輯:石紹慶)
TheLabVIEWenvironmentneutrongeneratorconsolePCprogramdesignandimplementation
DU Yi-peng,QIAO Shuang
(School of Physics,Northeast Normal University,Changchun 130024,China)
In the neutron generator console PC software design,using the LabVIEW virtual instrument development environment and method,has realized the neutron generator console data transmission between upper machine and lower machine and control.Compared with the traditional PC control interface,its advantage is easy to write control program,more friendly interface,test the operation is simple,and the system stability and anti-interference is greatly improved.
virtual instrument;LabVIEW;the neutron generator console;upper machine
1000-1832(2017)03-0088-04
10.16163/j.cnki.22-1123/n.2017.03.019
2015-12-07
國家自然科學(xué)基金資助項(xiàng)目(11275046,11305034);國家重大科學(xué)儀器設(shè)備專項(xiàng)基金資助項(xiàng)目(2013YQ040861).
杜毅鵬(1993—),男,碩士研究生;喬雙(1963—),男,博士,教授,主要從事核電子學(xué)、嵌入式應(yīng)用、圖像處理與模式識別研究.
TN 919 [學(xué)科代碼] 140·50
A