基于PID的高压氧舱自动控制的设计与实现
2020-10-12张敦晓胡慧军孟祥恩潘树义
张敦晓,胡慧军,孟祥恩,潘树义
解放军总医院第六医学中心 高压氧科,北京 100048
引言
高压氧医学是近些年发展起来的一门边缘学科[1]。高压氧治疗是指在高气压环境下呼吸纯氧或高浓度氧气的治疗方法,高压氧治疗质量控制的重要因素之一是保持吸入高浓度的氧气[2]。近年来,随着医疗认识的提高,高压氧治疗已经被临床广泛应用于治疗多种疾病,包括一氧化碳中毒、脑外伤、挤压伤、放射性损伤、气栓症、糖尿病足溃疡等,高压氧治疗的人数逐年增加[3-5]。
高压氧舱是患者行高压氧治疗的关键设备。高压氧舱按照加压介质分为空气舱、纯氧舱;按照治疗人数分为多人舱、单人舱。而随着高压氧治疗的推广,高压氧治疗人数的增加,多人空气舱、舱群已成为绝大多数医院引进高压氧舱的主要类型。
多人空气舱、舱群形式的高压氧舱结构复杂,是一套包含气源、氧源、舱体、电气、消防、对讲、视频监控、控制等的复合系统。为了适应氧舱的复杂化复合稀土,氧舱的控制方法也从单一的手动控制逐渐向计算机自动控制普及,为提高氧舱控制的自动化程度,本研究设计了一套基于比例积分微分(Proportion Integral Differential,PID)的高压氧舱自动控制系统。
1 算法
在国内大部分高压氧舱群的治疗方案相对固定,高压氧治疗方案一般为1.6、2.0、2.5 ATA。氧舱自动控制的输入量为实际舱压与理想舱压之间的偏差Δp,扰动量为供气压力、入舱人数、温湿度。
目前,自动控制领域所研究的主要算法有PID 控制、非线性控制、最优控制、自适应控制、智能控制等。PID 控制是一种经典的、在实际控制应用中最广泛的方法,可通过比例(Proportion,P)、积分(Integral,I)、微分(Differential,D)的不同组合及其参数的选取获得对线性系统较理想的控制效果[6-7],其结构简单、鲁棒性突出、易于掌握、无需被控对象的精确数学模型就能获得不错的控制结果而广泛应用于各行各业生产中[8-9]。PID 控制是比例-积分-微分控制的简称见公式(1)。
e(t)是系统的偏差,u(t)是输出的调节量,Kp是比例增益,T、Ti、Td分别是采样周期、积分、微分时间[10-13]。
PID 控制算法的离散化公式见(2)
Kp、Ki、Kd分别为比例系数、积分系数、微分系数。比例用于加快系统响应,过大的比例系数易使系统超调,产生振荡;积分有利于减小超调、振荡,增加系统稳定性,但会使系统静差消除时间变长;微分会提高系统抗扰动能力,但会降低系统抗噪声能力。PID 控制算法原理图如图1 所示。
图1 PID控制算法原理图
高压氧舱运行时供气压力由气源的自动控制系统完成,气源压力值设定的最优波动范围一般为1.0~1.25 MPa,入舱人数基本相对固定,空调系统的介入使得氧舱的温度范围控制在18℃~26℃[14],因此单一的输入量和相对变化较小的扰动量决定了舱群的自动控制不需复杂的控制策略,PID 控制即可满足高压氧舱自动控制需求。
高压氧舱自控运行的PID 控制算法采用舱内实际压力与理想曲线压力之间的偏差Δp 作为输入量,即e(k)= Δp,Kp*Δp 计算出比例增益,Ki*Δp 计算出积分增益,Kd*(Δp与上一个采样周期的Δp 之间的差值)即Kd*[Δp(t)-Δp(t-1)]计算出微分增益,Kp*Δp+Ki*Δp+Kd*[Δp(t)-Δp(t-1)]计算得出当前时间值系统应该向执行机构输出的调节值,因此高压氧舱自动控制的核心在于Kp、Ki、Kd三个值的确定。
PID 控制算法中的Kp、Ki、Kd系数的确定通常有两种方法:理论计算法和经验调试法。理论计算法适用于理想状态下的极简系统,而氧舱的扰动量不易测量或定量计算,因此理论计算法并不适用于氧舱的PID 控制算法系数的确定。采用经验调试法进行氧舱PID 控制算法系统确定时遵循的方法:① 系数整定按照Kp、Ki、Kd顺序,从小到大依次调试;②Kp系统整定时,若舱内压力的实际曲线频繁振荡,则Kp值需增大,若实际曲线飘在理论曲线上方,则Kp值需减小;③Ki系数整定时,若舱内压力的实际曲线偏离理论曲线后回复的时间慢,则Ki值需增大,若实际曲线波动慢周期长,则Ki值需减小;④Kd系数整定时,若舱内压力的实际曲线振荡频率快,则Kd系数需减小,若实际曲线振荡波动得慢,则Kd系数需增大。
2 自动控制系统硬件构成
氧舱压力的自动控制系统硬件包含工作站、转换器、传感器、执行器,氧舱压力自动控制系统硬件框架示意图如图2 所示。
图2 氧舱压力自动控制系统硬件框架示意图
工作站采用台湾研祥的IPC-818 系列工控机,工控机安装高压氧舱自动控制系统和美国Advantech 公司的PCL-726、PCL-818L 板卡,PCL-818L 为数据采集板卡,通过转换器与传感器进行通讯。PCL-726 为数据发送板卡,通过转换器与执行器进行通讯。
转换器能将系统信号在直流电流与电压之间进行转换。传感器、执行器与工作站之间距离较远,采用电压信号传输会因线路损耗造成信号衰减,产生误差,使得控制系统不易准确和稳定。传感器、执行器采用直流电流4~20 mA信号传输时,又不能被PCL-818L 板卡、PCL-726 板卡直接读取,因此转换器将4~20 mA 直流电流信号与1~5 V 直流电压信号之间进行转换,可便于高压氧舱控制系统在保证控制精度的前提下增加信号传输的距离。
传感器是能感受压力信号,并能按照一定的规律将压力信号转换成可用的输出的电信号的器件或装置。氧舱控制系统中选取的压力传感器型号:MSP-300-025-B-5-N-1,为美国MSI 公司MSP 系列压力传感器,采用微熔技术,具有防泄露、无“O”型圈、无焊缝、无硅油等特点,其压力腔采用17-4PH 不锈钢单件一体式结构加工而成,量程:25 bar,采用4~20 mA 两线制输出,标准压力接口采用1/4NPT 外螺纹接头,可以保证良好的气密性。
执行器是自动化控制技术工具中接收控制信号并对受控对象施加控制运行作用的装置,其性能直接影响控制的质量。氧舱自动控制系统中需要对升压速度、减压速度、排氧流量进行调节,为成本控制和调节精度的前提下,采用智能定位器配合气动薄膜调节阀作为执行器。
自控系统向执行器发出4~20 mA 的电流信号,智能阀门定位器接收控制信号,并向气动薄膜调节阀输出气压信号,线性调节阀芯动作,执行器如图3 所示。气动薄膜调节阀采用富阳中亚阀业的ZXP-25P,通过气动方式,推动阀盖内的密封橡胶垫克服阀杆弹簧向上提升阀芯,阀芯行程共16 mm,其具有线性流量特性、公称通径20 mm、阀座直径20 mm、公称压力2.5 MPa、工作温度20℃~200℃、信号压力0.1~0.2 MPa、额定流量6.9 等特点。智能定位器采用YTC 公司的本安型YT-3300,是一种不需要人工调校自动检测调节阀零点、满程、摩擦系统,自动设置控制参数的定位器,其内置微处理器,具有PID 控制,可精确控制阀位,具有4~20 mA 输入信号、-30℃~85℃宽运行温度、0.14~0.7 MPa 宽支持压力等特点。
图3 执行器
3 氧舱自控系统软件的设计
氧舱自控系统软件的设计采用Delphi7.0 作为集成开发环境用于系统程序代码的编辑、分析、编译、调试等。Delphi7.0 是Borland 公司于2002 年发行的在windows 平台下的快速应用程序开发工具(Rapid Application Development,RAD),采用Object Pascal 语言,其面向对象的编程框架方便用户快捷的开发Windows 应用程序,其可视化组件库的多态性、封装性及继承性提供了强大的编程控制能力,用户亦可通过创建自己的新组件来扩展程序的功能[15]。
3.1 Δp的PID控制代码
Δp 作为PID 控制方程的输入参数,而氧舱的自动控制程序的稳定性依赖于PID 的控制方程,而PID 控制方程的参数最便捷的确定方式为经验调试法,因此控制系统程序的核心为Δp 的方程式计算,同时需要满足PID 参数输入的便捷性。升压段核心代码如下:
升压段的压力控制采用分时段的方式,共10 个时间段,不同的时间段的PID 参数各不同,采用变量A1、B1……A10、B10 作为程序代码中PID 的变量。Δp 作为实际压力与理想曲线压力之间的差值,在Δp>-1.0 时采用的PID方程为A1+Pa1_dal*B1,在Δp<-1.0 时采用的PID 方程为Pa1_dal:=A1+Pa1_dal*Pa1_dal*B1。在实际压力与理想曲线压力之间差值过大即Δp<-1.0 时,PID 控制的输出值较Δp>-1.0时的输出值大,能够确保加压过程实际压力曲线能够快速响应。PID 的参数A1、B1……A10、B10 可在氧舱控制程序界面进行设置,方便于采用经验调试法确定PID 参数。
稳压段、减压段采用和升压段相同的控制、类似的代码,均为分时间段、不同参数进行控制。
3.2 采样与输出函数
采样与输出函数是控制系统获取现场采样数据,以及发送执行器所需控制信号的函数,是控制系统的“神经传输通道”,同时,Δp 的计算依赖于采样函数的准确性。工作站采用PCL-818L、PCL-726 作为数据采集、发送板卡,因此在氧舱自控系统中可应用代码调用板卡驱动程序获取采样值、发送数据等操作。
采样函数的主要代码如下:
输出函数主要代码如下:
3.3 治疗方案的保存与读取
治疗方案是氧舱压力控制运行的依据,也是理想曲线绘制的重要节点数据,其标注了加压段的总时间、压力值,稳压段各吸氧、休息段的时间值,减压段开始的时间值,减压段停留的压力值、时间值,以及治疗结束的时间值。
氧舱控制系统的治疗方案采用数据库存储的方法,数据库为PARADOX,Delphi7.0 安装完成后,可通过系统菜单调用Database Desktop 进行数据编辑,治疗方案数据库如图4 所示。
图4 治疗方案数据库
治疗方案共10 个,升压段设计共5 段,稳压段设计共7 段,减压段设计共3 段。Sp1~Sp5 为升压段节点压力值,单位为kPa,St1~St5 为升压段节点时间值,单位为秒;Hp1~Hp7 为稳压段节点压力值,单位为kPa,Ht1~Ht7 为稳压段节点时间值,单位为秒;Jp1~Jp3 为减压段节点压力值,单位为kPa,Jt1~Jt3 为减压段节点时间值,单位为秒(s)。
图4 中治疗方案1,Sp1 为150,St1 为900,即方案1的治疗压力为150 kPa,加压时间为900 s(15 min);Hp1、Hp2、Hp3 均 为150,Ht1 为2700、Ht2 为3000、Ht3 为4800 s,即方案1 在150 kPa 压力下吸氧至2700 s(45 min),摘下面罩开始休息至3000 s(50 min)继续吸氧,至4800(80 min)处开始减压;Jp1、Jp2 均为30,Jt1 为5400、Jt2 为5700,即方案1 由150 kPa 减压至30 kPa 时为5400 s(90 min),在30 kPa 处停留至5700 s(95 min),然后继续减压至0 kPa,时间截止至6000 s(100 min),治疗方案1 的理想曲线如图5 所示。
图5 治疗方案1理想曲线图
4 应用效果
工作站硬件运行稳定,12 位的数据采集板PCL-818L可精确识别到压力值的千分位,能够满足自动控制对压力值精度的要求。PCL-726 输出的4~20 mA 电流环抗干扰性强,避免了以往将输出的电压信号通过电子电路转换为电流信号后造成的非线性、漂移等现象。
转换模块收发数据稳定,各信号及端子间相互干扰小。采用的高精密金属膜电阻具有低温度系数、阻值误差小等特点,能够在4~20 mA 直流电流信号与1~5 V 直流电压信号之间进行精确转换,供PCL-818L、PCL-726L 与压力传感器、气动薄膜调节阀之间准确通讯。
智能阀门定位器内置微处理器,可根据阀门行程反馈,自动设定阀门的最佳PID 参数,与气动薄膜调节阀匹配良好,线性度高,对工作站的氧舱控制系统软件发出的调节信号响应迅速。
PID 控制有着结构简单、鲁棒性好、可靠性高等优点[16]。氧舱控制系统采用的PID 控制方式解决了舱内压力控制的稳定性、快速性、准确性,基于负反馈,并在控制过程中不断的采样、比较、执行,用采样值与期望值之间的偏差来纠正系统的响应。高压氧舱在压力控制过程中,通过PID的控制方式,可实现气动薄膜调节阀响应迅速,使得压力采样值与期望值之间的偏差Δp 迅速小幅振荡减小,实际运行过程中,压力采样值在期望值±5 kPa 之间振荡,患者在舱内几乎感受不到气压的波动,控制效果显著。
5 结论
本研究所设计的基于PID 的高压氧舱自动控制系统,工作站运行稳定,PCL-818L、PCL-726 模数之间转换时精度高、响应快,转换模块对各信号的准确传输具有良好的支持能力。通过PID 参数的经验调试,可在氧舱投入使用前确定不同治疗方案的PID 控制参数,使得调试后的氧舱控制系统在不同治疗方案下都能保障控制的可靠性、准确性。基于PID 的高压氧自动控制系统的研究减少人为操舱的干预,提高了工作效率,同时为智能化、差异化的自动控制奠定了基础。