基于LabVIEW和Multism的病床呼叫器的设计与实现

2013-09-27 11:48伦志新
唐山学院学报 2013年3期
关键词:程序框图前面板数码管

伦志新,王 蕾

(唐山学院a.计算机中心;b.信息工程系,河北 唐山063009)

随着科技水平和医疗水平的进步,病床呼叫器已经成为医院不可缺少的监护设备,它对于病人和医疗人员之间的信息沟通起到了至关重要的作用,能够有效地保证病人及时得到医护人员的看护和医治。[1]目前,大部分实现病床呼叫的程序存在设计复杂,不易远程操作等问题。[2]

LabVIEW是一种基于图形化编程语言的虚拟仪器软件工具,与Multisim仿真软件共同属于美国NI公司,利用它们组建仪器测试系统可以有效简化程序的设计。[3]本设计利用LabVIEW和Multisim仿真软件建立了病床呼叫系统,通过设计流程图模型提出两种实现方案,对比说明LabVIEW和Multisim相结合的设计方案能有效地简化系统电路,节省信号仿真时间,且系统测试稳定。

1 流程图模型的创建

LabVIEW程序开发分前面板、程序框图以及图标/连接器3部分。[4]由前面板实现用户输入和显示电路输出功能,程序框图实现用于控制前面板而添加的图形化函数,图标/连接器是子VI实现被其它VI调用的接口,也是子VI在其它程序框图中被调用的节点表现形式,一般情况下隐含不显示连接器。基于LabVIEW和Multism的病床呼叫器流程图如图1所示,主要由优先编码器和附加门电路实现10路病床呼叫功能。

图1 病床呼叫器流程图模型

用户可以通过测试显示驱动74LS248使能端子观察数码显示是否正常,本系统用2片8线-3线优先选择器74LS148扩展成10线-4线的优先编码器,输入端子对低电平有效触发,其结果由共阴数码管显示。本文通过单纯的LabVIEW设计方案与LabVIEW,Multisim相结合的设计方案进行对比说明电路设计过程,以及突出两仿真软件结合使用的优势。

2 基于LabVIEW的方案设计与实现

第一种设计方案,仅使用LabVIEW编程实现系统设计。LabVIEW使用图形化的编程语言,其包括多种函数库、布尔显示和测量仪表,设计系统VI的过程是在前面板和程序框图之间建立正常通信交换的过程。[3]在设计复杂系统时,为了使流程图清晰简洁可以把部分内容设计成子VI,即具有不同功能的子程序,通过图标/连线板实现数据的调用。

2.1 基于LabVIEW子VI实现

2.1.1 优先选择器子VI实现

病床呼叫器中74LS148优先选择器高位片对输入优先级别高的2个输入端有效,低位片对输入优先级别低的8个输入端有效,根据74LS148编码表,在高位片的输入均无有效电平时,低位片工作,则将高位的输出选通端Ys接低位片的输入选通端S。由于74LS148优先选择器和74LS248数码驱动器结构较复杂,控件选板中没有可直接用的内容,所以有必要设计对应的2个子VI。在前面板使用控件选板设计9个开关输入量和5个布尔输出量,在程序框图窗口利用Functions>>Programming>>Boolean添加逻辑关系,通过连线实现74LS148低位片逻辑功能,如图2所示。

图2 优先选择器子VI程序框图

2.1.2 数码显示驱动器子VI实现

数码管显示有共阴和共阳两类。[5]假如本系统使用共阴极数码管显示床位号,则显示译码器应选择驱动共阴极数码管的显示译码器芯74LS248,来驱动共阴极数码管的显示。74LS248的输入为4位8421码,即有4个输入端A,B,C,D。允许的10种输入分别为0000~1001。在前面板设计7个开关输入量、7个控件指示灯组成数码管以及7个圆形指示灯代表a~g端子输出状态,在程序框图窗口添加逻辑关系,通过连线实现74LS248逻辑功能,如图3所示。

图3 数码驱动器子VI程序框图

设计74LS148和74LS248两个芯片子VI的电路,需要单独连接实现电路的内部结构,接线复杂,连线点多,工作量较大。

2.2 基于LabVIEW主程序的实现

2.2.1 前面板的实现

前面板是由输入、输出控制和显示三部分组成,通过设置输入数值来观察输出量。[6]前面板直接面向用户,是病床呼叫器的核心,因此在设计这部分时,要考虑界面美观整洁,易操作,便于读取数据等方面。

根据设计要求和74LS148芯片功能,10个按键输入端分别为低电平有效,高位片S置低电平有效;2片优先选择器的低3位输出端经过74LS00与非芯片,使输出的信号送入74LS248显示芯片的C,B,A端子,显示的D端子由高位片的15端子取反决定;74LS248的7个输出端a~g分别于共阴极数码管的7个阳极a~g连接,前面板设计如图4所示。

2.2.2 主程序框图的实现

程序框图是图形化代码,前面板对象在程序框图中显示为接线端,通过添加函数控件、显示控件、连线等实现系统功能。在程序框图窗口中利用Functions>>Programming>>Boolean加逻辑关系,并通过创建连线板调用子VI,实现10个病床呼叫器的功能。程序框图如图5所示。

3 基于LabVIEW和Multisim的方案设计与实现

第二种设计方案,在LabVIEW和Multisim之间建立联合仿真调试[4],利用LabVIEW图形化显示控件在前面板设置开关和显示结果,设计前界面过程与第一种设计方案效果一致,如图4所示。在程序框图设计中由于利用了Multisim联合调试,简化了复杂子VI设计过程,提高了电路信号传递效率。

图4 病床呼叫器的前面板

图5 基于LabVIEW的主程序框图

3.1 基于Multisim电路VI的实现

设计Multisim电路模型可以实现对系统电路的设计与调试。在仿真电路中添加接口HB/SC,用以与LabVIEW引擎之间的数据交换,并对LabVIEW Co-simulation Terminals设置多个电压 HB/SC口,在Negative Connection将IO1~IO13设为输入端口,分别代表呼叫开关和芯片使能开关,将IO14~IO20设为输出端口,代表输出段码指示灯,如图6所示。保存固定路径,便于LabVIEW调用。

图6 Multism电路VI实现

3.2 基于LabVIEW和Multisim程序框图的实现

在程序框图设计中,使用LabVIEW控制与仿真环实现在程序框图对MultisimVI的调用。首先通过在VI中添加Control﹠Simulation Loop和Halt Simulation函数控制仿真循环,利用Multisim Design设置窗口添加MultisimVI电路,以及利用Configure Simulation Parameters窗口设置参数,方便调节呼叫器信号仿真运行时间,如图7所示。通过调用设计与调试于一体的Multisim Design VI,避免了对复杂子VI的设计,同时提高了信号传输效率。

图7 基于LabVIEW和Multisim的主程序框图

4 测试结果分析

前面利用两种方案对病床呼叫器进行设计,实现了等效的系统功能和相同的前界面。在第二种设计方案中,程序框图的设计过程得到明显简化。下面利用基于LabVIEW和Multisim设计方案进行系统功能测试。

图4为病床呼叫器数码管驱动灯测试LT=0,测试灯用来检测数码管各段能否正常发光,当低电平有效时,译码器输出全部为高电平,七段发光二极管全部点亮,其它使能按键输入处于无效状态。

图8为74LS148优先选择器高位片S=1,根据芯片功能表判断该片YEX=YS=1,则低位片S=1,使两片输出端子全部置1送入74LS00与非门,共阴显示驱动芯片测试端送高电平无效,数码显示管显示0。

图8 优先选择器高位片S=1

图9为74LS148优先选择器高位片置低电平有效,芯片测试端送高电平无效,系统能接收按键输入信号。当多使能端同时置有效信号,10线-4线优先选择器只对请求信号级别高的信号做出响应,如图9所示,2,3,7端同时送入送低电平,数码管显示7。

图9 病床呼叫器多输入端置有效信号

经过测试,电路前面板添加多种控件直观动态显示病床呼叫器电路工作过程。系统运行稳定,界面友好整洁。

5 结论

LabVIEW虚拟软件具有图形化软件设计的灵活性和与多种专业软件自由连接的便捷性。Multisim是专业电子设计仿真软件,拥有各类仿真仪器仪表。将两种软件有机结合的设计方案,实现了10路病床呼叫器,对比单纯基于Lab-VIEW的设计方案,有效简化了设计电路,缩短了仿真时间,友好的用户界面有助于人机交流。如果利用网页发布VI,可以实现电路的远程控制,本设计为病床呼叫器的实现提供了一条新的途径。

[1] 李树雄.基于PLC的智能病床呼叫系统设计[J].医疗卫生装备,2008,29(7):21-22.

[2] 曾进辉.基于DTMF的医院护理呼叫系统的设计与实现[D].长沙:湖南大学,2007:7-10.

[3] 刘俊.基于LabVIEW 结合 Multisim的仿真[J].重庆工学学院报:自然科学版,2008(8):31-33.

[4] 唐艳云,林梅金.基于LabVIEW环境的电路实验仿真研究[J].装备制造技术,2011(3):50-52.

[5] 王国罡.无线病房呼叫系统主控机与便携式应答器的设计与研究[D].昆明:昆明理工大学,2011:7-12.

[6] 陈锡辉.LabVIEW 8.20从入门到精通[M].北京:清华大学出版社,2007:221-226.

猜你喜欢
程序框图前面板数码管
颜值高和散热强可以并存3款高品质机箱推荐
“顺势而下”破解程序框图
微课教学设计之“数码管动态显示”
电竞潮牌范航嘉GX520S机箱评测
电竞潮牌范 航嘉GX520S机箱评测
Arduino编程
算法与程序框图常考类型
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
程序框图问题的精彩交汇