【作 者】裴葆青,徐聲偉,李慧,李德玉,裴毅東,何海星
北京航空航天大學(xué)生物與醫(yī)學(xué)工程學(xué)院、生物力學(xué)與力生物學(xué)教育部重點(diǎn)實(shí)驗(yàn)室,北京,100191
一種基于LabVIEW的呼吸機(jī)控制系統(tǒng)設(shè)計(jì)
【作 者】裴葆青,徐聲偉,李慧,李德玉,裴毅東,何海星
北京航空航天大學(xué)生物與醫(yī)學(xué)工程學(xué)院、生物力學(xué)與力生物學(xué)教育部重點(diǎn)實(shí)驗(yàn)室,北京,100191
設(shè)計(jì)一種呼吸機(jī)控制系統(tǒng),被控對(duì)象為比例閥和電機(jī),以實(shí)現(xiàn)呼吸機(jī)的基本功能。采用LabVIEW設(shè)計(jì)的軟件直接與硬件互連,進(jìn)行硬件環(huán)仿真和算法設(shè)計(jì)的驗(yàn)證和評(píng)估。采用上層上位機(jī)和下層實(shí)時(shí)機(jī)運(yùn)行無(wú)實(shí)時(shí)要求和有實(shí)時(shí)要求的程序,上下層之間通過(guò)TCP/IP通信。軟件程序設(shè)計(jì)模塊化,可擴(kuò)展性強(qiáng),易于維護(hù),并且可以方便地將原型開(kāi)發(fā)階段的成果無(wú)縫連接到實(shí)際的嵌入式產(chǎn)品,加快開(kāi)發(fā)速度,提高開(kāi)發(fā)效率。
呼吸機(jī);LabVIEW;控制系統(tǒng);PID
醫(yī)療電子設(shè)備市場(chǎng)競(jìng)爭(zhēng)激烈,快速構(gòu)建原型系統(tǒng)是縮短開(kāi)發(fā)時(shí)間的關(guān)鍵。本文采用LabVIEW和相關(guān)硬件測(cè)試平臺(tái),設(shè)計(jì)了一種呼吸機(jī)控制系統(tǒng)。它將呼吸機(jī)的概念設(shè)計(jì),原型設(shè)計(jì)階段的工作移植到統(tǒng)一開(kāi)發(fā)平臺(tái)中,在一個(gè)開(kāi)發(fā)平臺(tái)下集成算法和硬件:一方面,在算法設(shè)計(jì)階段引入I/O、A/D、D/A等硬件資源進(jìn)行前期的驗(yàn)證,可以在更早階段發(fā)現(xiàn)并修正潛在的錯(cuò)誤;另一方面,由于使用同樣的開(kāi)發(fā)環(huán)境,算法設(shè)計(jì)的代碼可以在原型設(shè)計(jì)的過(guò)程中被重用,從而簡(jiǎn)化編程的復(fù)雜性。這樣從根本上加快循環(huán)遞進(jìn)的過(guò)程,縮短系統(tǒng)的開(kāi)發(fā)時(shí)間[1,2]。
本系統(tǒng)主要通過(guò)控制比例閥和電機(jī)的開(kāi)合,從而達(dá)到實(shí)現(xiàn)呼吸機(jī)各種通氣模式的目的。系統(tǒng)總體結(jié)構(gòu)如圖1所示,分為上層和下層。系統(tǒng)層次圖如圖2所示。
系統(tǒng)中比例閥、電機(jī)及其驅(qū)動(dòng)電路、傳感器及其放大電路都采用實(shí)際的物理設(shè)備,LabVIEW則實(shí)現(xiàn)人機(jī)界面、通氣模式算法和PID控制。上位機(jī)使用windows XP操作系統(tǒng),實(shí)現(xiàn)人機(jī)界面、血氧監(jiān)護(hù)和通氣模式算法;下層實(shí)時(shí)機(jī)為安裝有NI公司數(shù)據(jù)采集卡和LabVIEW RT模塊的Desktop PC,實(shí)現(xiàn)數(shù)據(jù)采集和PID控制。
圖1 系統(tǒng)結(jié)構(gòu)框圖Fig.1 The Chart of System
使用采集卡的兩路AO通道控制比例閥、電機(jī),其驅(qū)動(dòng)電路如圖3所示。使用采集卡的兩路AI通道接收呼氣流量和氣道壓力值。而對(duì)吸氣流量的測(cè)量采用I2C數(shù)字傳感器,使用采集卡的3個(gè)DIO通道和軟件模擬I2C總線的方式來(lái)接收呼氣流量值[3]。
本系統(tǒng)采用分層的方法,進(jìn)行模塊化設(shè)計(jì)。整個(gè)系統(tǒng)分為兩層(圖2),LabVIEW在上位機(jī)即軟件上層實(shí)現(xiàn)人機(jī)界面、血氧監(jiān)護(hù)和通氣模式算法,而在實(shí)時(shí)機(jī)即軟件下層實(shí)現(xiàn)PID控制算法和數(shù)據(jù)采集以及控制信號(hào)的輸出。上下層通過(guò)TCP/IP通信。下面分別對(duì)TCP/IP通信模塊、數(shù)據(jù)采集模塊、PID控制算法模塊進(jìn)行詳細(xì)介紹。
2.1 TCP/IP通信模塊設(shè)計(jì)
圖2 系統(tǒng)層次圖Fig.2 The Layer of System
圖3 比例閥、電機(jī)驅(qū)動(dòng)電路圖Fig.3 The Driver of Prop. Valve
由于本控制系統(tǒng)的人機(jī)界面、通氣模式算法和PID控制分別在上位機(jī)和實(shí)時(shí)機(jī)上運(yùn)行,彼此要進(jìn)行實(shí)時(shí)數(shù)據(jù)交換,通信速度和可靠性要求高,因而采用TCP/IP協(xié)議通信。
TCP/IP提供一種面向連接的、可靠的傳輸層服務(wù)。LabVIEW提供TCP節(jié)點(diǎn),經(jīng)過(guò)簡(jiǎn)單的編程便可實(shí)現(xiàn)通信,靈活性好,可靠性高[4]。其實(shí)現(xiàn)方式如下所述。
將實(shí)時(shí)機(jī)配置為T(mén)CP服務(wù)器,將上位機(jī)配置為T(mén)CP客戶端。
在服務(wù)器端:使用偵聽(tīng)TCP函數(shù),指定端口,等待連接建立;如連接已建立,使用寫(xiě)入TCP數(shù)據(jù)函數(shù)以字符串的形式將消息發(fā)送給客戶端;指定讀取字節(jié)數(shù),使用讀取TCP數(shù)據(jù)函數(shù)讀取客戶端消息,并解碼;使用關(guān)閉TCP連接函數(shù)關(guān)閉連接。
在客戶端:使用打開(kāi)TCP連接函數(shù),指定服務(wù)器的遠(yuǎn)程端口和服務(wù)器的網(wǎng)絡(luò)地址,打開(kāi)與服務(wù)器的連接;指定讀取字節(jié)數(shù),使用讀取TCP數(shù)據(jù)函數(shù)讀取來(lái)自服務(wù)器的消息,并解碼;使用寫(xiě)入TCP數(shù)據(jù)函數(shù)向服務(wù)器發(fā)送消息;使用關(guān)閉TCP連接函數(shù)關(guān)閉與服務(wù)器的連接[5]。
在使用TCP發(fā)送數(shù)據(jù)時(shí),為了保證可靠性,采取了信號(hào)量機(jī)制,如圖4所示。
圖4 TCP數(shù)據(jù)發(fā)送程序Fig.4 The Program of TCP Sender
2.2 數(shù)據(jù)采集模塊設(shè)計(jì)
數(shù)據(jù)采集工作在實(shí)時(shí)機(jī)進(jìn)行。根據(jù)使用的傳感設(shè)備不同,分別有兩種數(shù)據(jù)采集方式:模擬數(shù)據(jù)采集和數(shù)字?jǐn)?shù)據(jù)采集。在本系統(tǒng)中,由于分別采用了模擬傳感器和數(shù)字傳感器,因而數(shù)據(jù)采集部分分為模擬數(shù)據(jù)采集和數(shù)字?jǐn)?shù)據(jù)采集。
模擬數(shù)據(jù)采集實(shí)現(xiàn)方式比較簡(jiǎn)單,通過(guò)直接調(diào)用LabVIEW的驅(qū)動(dòng)庫(kù)函數(shù)即DAQmx庫(kù),進(jìn)行簡(jiǎn)單的編程實(shí)現(xiàn)。程序如圖5所示。在本系統(tǒng)中同時(shí)采集兩路模擬傳感器數(shù)據(jù),并經(jīng)過(guò)校準(zhǔn),變成實(shí)際流量和壓力信號(hào)供PID控制使用。
圖5 模擬數(shù)據(jù)采集程序Fig.5 The Program of DAQ
數(shù)字?jǐn)?shù)據(jù)采集實(shí)現(xiàn)方式比較復(fù)雜。由于采用的數(shù)字傳感器通信方式為I2C總線方式,而系統(tǒng)所使用的采集卡硬件不支持I2C通信,因而使用數(shù)據(jù)采集卡的3個(gè)DIO通道通過(guò)軟件模擬的方法實(shí)現(xiàn),程序如圖6所示。本系統(tǒng)中采集一路I2C數(shù)字傳感器數(shù)據(jù),并經(jīng)過(guò)濾波和校準(zhǔn),變成實(shí)際的流量信號(hào)供PID控制使用。
2.3 PID控制算法模塊設(shè)計(jì)
圖6 I2C數(shù)字傳感器數(shù)據(jù)采集程序Fig.6 The Program of I2C
軟件上層通氣模式算法模塊,用于將人機(jī)界面的參數(shù)轉(zhuǎn)換成當(dāng)前模式下的控制信號(hào),控制比例閥和電機(jī)。軟件下層PID控制算法模塊,用于實(shí)現(xiàn)底層PID控制并將控制信號(hào)通過(guò)AO口輸出給硬件驅(qū)動(dòng)電路。
PID控制采用增量式PID控制算法,并對(duì)增量和輸出量進(jìn)行限幅[6-7]。其算法為:
△u(k)=Kp*△e(k)+K1*e(k)+KD*[△e(k)-e(k-1)],
其中△e(k)=e(k)-e(k-1).
如果△u(k)>上限值,則△u(k)=上限值;
如果△u(k)<下限值,則△u(k)=下限值。
u(k)=u(k-1)+△u(k),其中u(k)為第k次采樣時(shí)控制器的輸出值。
如果u(k)>上限值,則u(k)=上限值;
如果u(k)<下限值,則u(k)=下限值。
式中:Kp,KI,KD分別為比例、積分、微分系數(shù),e(k)為K時(shí)刻輸出值與設(shè)定值的差。PID的輸出直接控制比例閥和電機(jī),使呼吸機(jī)的流量和壓力值穩(wěn)定在給定值。其中△e(k)、△e(k-1)是e(k)分別延時(shí)一個(gè)和兩個(gè)采樣周期得到,可以在while循環(huán)中添加兩組移位寄存器實(shí)現(xiàn)。通過(guò)公式節(jié)點(diǎn)進(jìn)行相應(yīng)的計(jì)算,可以得到PID控制。程序如圖7所示。
圖7 PID控制程序Fig.7 The Program of PID
在人機(jī)界面中,首先對(duì)TCP/IP端口進(jìn)行配置,設(shè)置一定的通氣參數(shù),然后運(yùn)行程序。修改通氣參數(shù)可得到不同的通氣波形。通過(guò)調(diào)整PID的參數(shù)可得到不同的通氣效果,其中一組VCV通氣模式的通氣波形曲線如圖8所示。自上而下的曲線依次為壓力波形,流量波形和設(shè)置的流量波形。此時(shí)PID參數(shù)為:KP=0.4,KI=0.6,KD=0.3。
圖8 實(shí)驗(yàn)結(jié)果曲線Fig.8 The Curve of Result
本文主要是設(shè)計(jì)一種基于LabVIEW的呼吸機(jī)控制系統(tǒng)。該控制系統(tǒng)將呼吸機(jī)的概念設(shè)計(jì),原型設(shè)計(jì)階段的工作移植到統(tǒng)一開(kāi)發(fā)平臺(tái)之中,即在一個(gè)開(kāi)發(fā)平臺(tái)下集成算法和硬件,方便地實(shí)現(xiàn)硬件在環(huán)仿真實(shí)驗(yàn),使仿真更接近實(shí)際情況,獲得更精確的信息。整個(gè)系統(tǒng)的軟件模塊化,可以隨時(shí)更換控制策略,而不必重新設(shè)計(jì)其它部分,減少了設(shè)計(jì)者的勞動(dòng)量,提高了開(kāi)發(fā)產(chǎn)品的效率,降低了系統(tǒng)的維護(hù)成本,縮短了開(kāi)發(fā)產(chǎn)品的周期。
[1] [1] 湯敏, 倪斌.基于LabVIEW平臺(tái)快速搭建醫(yī)療電子設(shè)備的原型[J]. 電子設(shè)計(jì)技術(shù), 2008, (7): 138-140.
[2] 方敏, 陳志超, 張明. 基于虛擬儀器的過(guò)程控制系統(tǒng)的設(shè)計(jì)[J]. 儀表技術(shù)與傳感器, 2008, (9): 37-39.
[3] 陸鋒, 蘆俊, 張曉松. 基于LabVIEW的虛擬儀器測(cè)試系統(tǒng)的I2C總線通信設(shè)計(jì)[J]. 自動(dòng)化與儀器儀表. 2004, (4): 6-8.
[4] 楊樂(lè)平. LabVIEW高級(jí)程序設(shè)計(jì)[M]. 北京: 清華大學(xué)出版社, 2003.
[5] National Instruments. LabVIEW 8.6 Express user Manual. 2008
[6] 陶永華, 等. 新型PID控制及其應(yīng)用[M]. 北京: 機(jī)械工業(yè)出版社,2001.
[7] 劉金琨. 先進(jìn)PID控制MATLAB仿真(第二版)[M]. 北京: 電子工業(yè)出版社, 2007.
A Design of Simple Ventilator Control System Based on LabVlEW
【 Writers 】Pei Baoqing, Xu Shengwei, Li Hui, Li Deyu, Pei Yidong, He Haixing
School of Biological Science and Medical Engineering, Beihang University, Beijing 100191, China
ventilator, labVIEW, control system, PID
TH772
A
10.3969/j.isnn.1607-7104.2011.01.012
1671-7104(2011)01-0050-03
2010-09-29
裴葆青,E-mail: pbq@buaa.edu.cn
【 Abstract 】This paper designed a ventilator control system to control Proportional Valves and Motors.It used LabVIEW to control the object mentioned above and design ,validate, evaluate arithmetic, and establish hardware in loop platform.There are two system’s hierarchies. The high layer was used to run non-real time program and the low layer was used to run real time program. The two layers communicated through TCP/IP net. The program can be divided into several modules, which can be expanded and maintained easily.And the harvest in the prototype designing can be seamlessly used to embedded products. From all above, this system was useful in employing OEM products.