健康监测服装系统软件的设计与实现

2012-09-21 07:06陈欢欢浙江理工大学先进纺织材料与制备技术教育部重点实验室杭州310018
丝绸 2012年7期
关键词:对话框串口绘制

陈欢欢,杨 斌(浙江理工大学 先进纺织材料与制备技术教育部重点实验室,杭州 310018)

健康监测服装系统软件的设计与实现

陈欢欢,杨 斌
(浙江理工大学 先进纺织材料与制备技术教育部重点实验室,杭州 310018)

针对现有健康监测服装中通信软件功能单一、无法满足患者生命信息可视和自我诊断的问题,利用Visual C++6.0开发工具在Windows平台下利用系统提供的各类API接口和相关成员函数,实现了对智能监测服装的对话框界面的设计。该软件能够完成对监测服装的数据获取、曲线绘制、报警指示和数据存储等工作,在确保数据通信准确稳定的基础上,拓展了绘制曲线(体温、脉搏)、异常报警、数据存储等功能,为开发具有实时监测、分析人体生理信息功能的健康监测服装建立基础。

健康监测服装;通信软件;实时监测

健康监测服装是以服装为载体,计算机技术为核心的一种智能化服装[1-2],能够通过相应的传感器对人体温度、脉搏等生理信号采集,利用单片机等微型控制器完成数据存储、分析等任务[3]。该监测服装可实时监控病患者的生理信息,根据信息变化作出预诊断,通过显示和报警提醒病患,降低疾病突发带来的危险,在医疗保健和体育锻炼等领域有重要的实用价值。但是,目前针对健康监测系统开发应用软件的工作尚处于起步阶段,存在监测功能单一和界面不够人性化等问题,无法满足人们的实际需求。为此,本研究在Windows平台下利用Visual C++6.0开发工具,在现有应用软件基础上增强数据通信稳定性,开发成像、报警、数据存储和预诊断功能。

1 应用软件设计

该应用软件主要对监测服装系统下位机部分所采集的数据做进一步的分析处理,整个系统的工作流程如图1所示。根据设计要求,该健康监测软件应具备以下功能:获取监测服装的数据、绘制时间响应曲线、报警指示和数据存储。为完成上述功能,本研究选用Visual C++6.0作为应用软件的开发工具,借助Windows系统为应用软件提供的各类API编程接口及相关成员函数[5-6],完成客户端应用软件与监测服装通信、成像和报警指示等设计工作。

1.1 串口通信功能的实现

该软件首先需要能够获取经单片机处理后的数据,接着再对所获得的数据做进一步处理。对于以单片机为核心的信号采集系统,与上位机进行的通信方式是串口通信方式,因此,本软件采用的通信方式是

图1 系统工作流程Fig.1 The working process of system

1.2 绘制时间响应曲线

时间响应曲线的绘制原理为:首先在BOOL CMONITORDlg::OnInitDialog()函数中设置读串口数据的周期,添加代码:“m_timer=SetTimer(1,500,0)”,即每隔500 ms跳转到时间响应函数void CMONITORDlg:: OnTimer(UINT nIDEvent)处并执行该函数;接着在函数OnTimer(UINT nIDEvent)中完成将串口通信数据暂存到数组、更新数组数据和报警值设置等工作;最后执行void CMONITORDlg::DrawDiagram(CPaintDC *pDC)函数,在该函数中进行报警指示的判断,并加载不同状态LED报警指示灯的位图,绘制矩形选区,设置该选区的背景颜色,定义绘制曲线画笔的属性,将函数OnTimer(UINT nIDEvent)中的数组值传给Point点对象,再利用CDC定义的pDC指针调用LineTo(x,y)函数绘制曲线段。通过OnTimer(UINT nIDEvent)函数每隔0.5 s完成一次数据的更新及曲线段的绘制,依次重复进行,完成曲线的实时绘制工作。基于RS232技术的串口通信。其具体原理如下:当应用软件和外部设备进行串口通信时,首先需要向操作系统提出串口资源的申请,请求开放一个串口用于传输数据;接着根据监测系统一侧的串口通信协议,对系统的串口通信功能进行初始化设置,完成应用软件与监测系统收发数据的功能;最后当完成通信目的之后,将应用软件占用的系统资源返还给系统。串口通信

图2 串口通信对话框Fig.2 Dialog of serial interface communication

对话框界面如图2所示,串口通信代码如下。

void CSmartMClothDlg::OnComm()

{

CString strtemp,str;

VARIANT variant_inp;

variant_inp=m_ctrlComm.GetInput();

COleSafeArray safearray_inp;

safearray_inp=variant_inp;

LONG len,k1;

len=safearray_inp.GetOneDimSize();

BYTE rxdata[2048];

for(k1=0;k1<len;k1++)

safearray_inp.GetElement(&k1,rxdata+k1);

}

for(k1=0;k1<len;k1++)

{

BYTE bt=*(char*)(rxdata+k1);

strtemp.Format("%d",bt);

str=strtemp;

comdlg.m_strRXData+=strtemp;

comdlg.m_strRXData+=" ";

}

if(comdlg.m_commstyle==1)

comdlg.UpdateData(FALSE);

图3为监测软件的对话框界面,由图3a温度监测界面可知,该对话框主要有4个功能区:功能切换区、图像显示区、数据和报警指示区及状态设置区。功能切换区主要实现对不同类型传感器数据的切换,实现不同监测任务切换的目的;图像显示区为对接收到的数据以图形的方式显示,便于实时观察监测对象生理信息的实时状态;数据和报警指示区为对各传感器参数进行实时显示和报警提示;状态设置区为对整个应用软件的初始化设置和相关功能的控制与实现。图3b为脉搏监测界面,其工作过程如下:首先将健康监测系统与计算机连接;接着根据监测系统的通信协议设置对话框的串口和通信波特率,并根据使用要求打开相关功能命令,完成上述设置之后接着就可以选择监测的命令开始对监测系统进行实时监测,当需要切换不同传感器数据时,可通过监控切换处的按钮实现不同传感器间的切换;最后在监测任务结束之后选择退出按钮完成整个监测任务。

图3 监测服装对话框Fig.3 Dialog of monitoring clothing

1.3 报警指示和数据存储

为了能够对待测者特征信息进行实时判断和保存,以便于后期做进一步的数据分析,本研究在传统监测软件基础之上增加了报警指示和数据存储功能。由于报警功能的实现只需在所获数据基础上判断其是否超出正常值即可,因此报警与数据存储可由不同函数分别完成。但是当程序在运行时出现问题需要维护或者今后需要对软件进行二次开发时,上述方法会在一定程度上增加代码的维护难度,为此本研究将两者的功能统一放在函数void CMONITORDlg:: DrawDiagram(CPaintDC *pDC)中实现,具体代码如下所示。

void CMONITORDlg::DrawDiagram(CPaintDC *pDC)

{ ......

if(Alertcharge1>37.3) //报警判断

bmpBackground.LoadBitmap(IDB_RED);

else

bmpBackground.LoadBitmap(IDB_GREEN);

......

bmpBackground.DeleteObject();

m_btnView.GetWindowRect(rect);

ScreenToClient(rect);

if(savedatafl ag==2) //数据保存

{

SYSTEMTIME st;

GetLocalTime(&st);

savedatafl ag=1;

CString m_str;

m_str.Format(" %.1f°C ",temp1);

m_strSaveData+=m_str;

……

m_str.Format(" %.1f°C ",temp3);

m_strSaveData+=m_str;

m_str.Format(" %3d/min ",65);

m_strSaveData+=m_str;

m_str.Format("%.2d:%.2d:%.2d",CurrentTime. GetHour(),CurrentTime.GetMinute(),

CurrentTime.GetSecond()); m_str.Format("%.2d:%.2 d:%.2d",st.wHour,st.wMinute,st.wSecond);

m_strSaveData+=m_str; m_strSaveData+=" "; file.Write(m_strSaveData,m_strSaveData. GetLength());

m_strSaveData.Empty();

}

savedatafl ag++;

}

此外,在软件使用过程中可能要监测多个对象,本研究将Check Box控件与数据保存功能进行绑定,以实现修改保存对象数据文件名称或路径的目的。

2 结 论

本应用软件针对智能监测服装系统,借助Visual C++6.0开发工具在Windows平台下利用系统提供的各类API接口和相关成员函数,实现了对智能监测服装的对话框界面的设计。该软件能够完成对监测服装的数据获取、曲线绘制、报警指示和数据存储等工作,对今后智能监测服装的远端医疗和智能分析的进一步发展与应用提供参考。

[1]柴晓飞,郭文成,窦明池.智能纺织品中信号采集系统的设计[J].纺织科技进展,2006(6):74-94.CHAI Xiaofei, GUO Wencheng, DOU Mingchi. The design of a signal gathering system used in intelligent textiles[J]. Progress in Textile Science & Technology, 2006(6): 74-94.

[2]高旭,王进美,王淼.电子智能型纺织品[J].现代纺织技术,2010(1):4.GAO Xu, WANG Jinmei, WANG Miao. Electronic intelligent textiles[J]. Advanced Textile Technology, 2010, (1): 4.

[3]程自峰,韦哲,李宝珠.医学信号采集与处理系统的研制及应用[J].医疗卫生装备,1996(4):5-8.CHENG Zifeng, WEI Zhe, LI Baozhu. The development of a data acquisition and process system of medicine and its application[J]. Chinese Medical Equipment Journal, 1996(4): 5-8.

[4]李庆华,姜会文,邱书波.VC6.0下应用MSComm控件实现RS485串行通讯[J].微计算机信息,2002,18(10):53-57.LI Qinghua, JIANG Huiwen, QIU Shubo. Realizing the RS485 serial communication in using VC6.0 MSComm control[J]. Control and Automation Publication Group, 2002, 18(10): 53-57.

[5]刘树坤,刘金.用Windows API实现串行通信[J].计算机应用,2000,20(2): 43-44.LIU Shukun, LIU Jin. The realization of serial communication with the Windows API[J]. Journal of Computer Application, 2000, 20(2): 43-44.

[6]项举伟,高峰,束洪春.利用Windows API函数构造C++类实现串行通讯[J].工业控制计算机,2001,14(2):42-44.XIANG Juwei, GAO Feng, SHU Hongchun. Implement serial communication using C++ class constructed by Windows API functions[J]. Industrial Control Computer, 2001,14(2):42-44.

Design and implementation of application software for health monitoring system

CHEN Huan-huan1, YANG Bin1
(Key Laboratory of Advanced Textile Materials and Manufacturing Technology, Ministry of Education, Zhejiang Sci-Tech University, Hangzhou 310018, China)

Aiming at problems of health monitoring clothing, for example, the single function of communication software cannot realize the visualization and self-diagnosis, this paper uses various APU interfaces and related member functions provided by Visual C++6.0 in windows operating system to realize the design of dialog interface of intelligent monitoring clothing. The software can obtain data of monitoring clothing, finish curve plotting, give warning indication and implement data storage. Based on the situation that data communication is accurate and stable, this thesis expands the functions like curve plotting, warning indication and data storage and lays foundation for the development of health monitoring clothing with functions, such as real-time monitoring and analysis on the information of the human body.

Health monitoring clothing; Communication; Real-time monitoring

TP277

A

1001-7003(2012)07-0036-03

2012-02-22;

2012-05-08

陈欢欢(1987- ),男,硕士研究生,研究方向为智能纺织品的研究与开发。通讯作者:杨斌,教授,yangbin5959@yahoo.com.cn。

猜你喜欢
对话框串口绘制
浅谈AB PLC串口跟RFID传感器的通讯应用
正常恢复虚拟机
超萌小鹿课程表
Bootlace Worms’Secret etc.
What Is Beauty?
放学后
浅谈VB的通用对话框《CommonDialog》控件的使用
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信