基于MODBUS协议的医用臭氧治疗仪的设计与实现毕业论文Word文档格式.docx
《基于MODBUS协议的医用臭氧治疗仪的设计与实现毕业论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于MODBUS协议的医用臭氧治疗仪的设计与实现毕业论文Word文档格式.docx(46页珍藏版)》请在冰豆网上搜索。
5.4.5臭氧浓度处理程序24
5.4.6报警处理程序26
5.5.1下位机的程序应用28
5.5.2下位机初始化29
5.5.3数据接收、发送处理程序30
5.5.4数据包处理程序34
5.5.5A/D取样处理程序40
5.5.6D/A输出处理程序42
5.5.7血泵流量纠正程序42
第一章医用臭氧治疗仪的应用
1.1医用臭氧治疗仪的背景
利用臭氧对病毒性肝炎治疗在临床上的应用已越来越广泛,并已取得很好的治疗效果。
医用臭氧治疗仪将为病毒性肝炎患者提供一套与免疫激活气血混合器配套使用的臭氧免疫调节系统,该系统可以根据肝病治疗的需要,将医用级氧气精确而稳定的制成治疗所需臭氧浓度,经过免疫激活气血混合器的将血液和臭氧充分混合激活、活化后的血液回输到人体,起到病毒杀灭、提高人体干扰素、免疫调节、激活红细胞代谢、激活免疫活性细胞、激活人体抗氧化酶系统的作用。
1.2医用臭氧治疗仪需要解决的问题
医用臭氧治疗仪(以下简称治疗仪)是将一定量的人体血液引到体外,与一定比例的医用臭氧气体混合后,回输到人体的自动治疗过程。
在治疗过程中要分别对医用臭氧气体的浓度、人体的血压、血液循环管路中的气泡进行监测。
一旦参数偏离设定值,治疗仪将发出声光报警信号,提醒医务人员进行处理。
另外治疗仪的相关参数和功能要符合医疗器械的电气安全标准。
例GB9706.1《医用电气设备通用安全要求》及GB9706.2《医用电气设备血液透析、血液透析滤过和血液滤过设备的安全专用要求》等提出血泵停泵报警、设备断电报警要求。
1.3医用臭氧治疗仪的解决方案
触摸屏与单片机通过Modbus协议进行通信。
触摸屏能够直观、生动地显示运行参数和运行状态,而且通过触摸屏画面可以直接修改系统运行参数,人机交互性好。
单片机广泛应用于工控领域中,与触摸屏配合,可组成良好的人机交互环境,大大降低了产品的制造成本。
如图1-1
图1-1触摸屏与单片机通信示意图
本文以AT89s52单片机和人机电子有限公司的eViewMT5600T型触摸屏为例,应用到医用臭氧治疗仪的通信程序的开发过程。
首先介绍医用臭氧治疗仪的总体结构,第三章MODBUS协议的通信原理及通信接口的选择。
第四章介绍了硬件的实现,包括上位机的选型、下位机的选型、下位机的各单元电路的实现。
第四章介绍了医用臭氧治疗仪的软件实现,包括上下位机的地址对应、功能码的定义、校验码的生成、上位机各软件实现、下位各软件实现。
其中上位机重点介绍了初始化、预充程序、臭氧血液混合程序、深度处理程序、报警处理,下位机重点介绍了初始化、数据接收、发送程序、数据包处理程序、A/D取样程序、D/A输出程序、血泵流量纠正程序等等。
第二章医用臭氧治疗仪系统结构
2.1系统基本结构
实现触摸屏与单片机的通讯,主要是解决通讯协议的问题。
本文使用开放的Modbus通讯协议,以触摸屏作主站,单片机作从站。
eView触摸屏本身支持Modbus通讯协议,如果单片机也支持Modbus协议,就可以进行通信了。
本系统可以利用触摸屏自带的串口与单片机进行通信。
如图2-1所示:
图2-1系统基本结构
其中
人机界面(HMI)负责与接受用户命令,控制程序的运行。
显示与程序相对应的图形界面。
MCU1:
作为从站1通过COM0与HMI相连。
负责系统的信号输出。
包括血泵电机的流量调节、各个电磁阀的打开和关闭、报警信号的动作、臭氧浓度电机的调节等。
MCU2:
作为从站2通过COM1与HMI相连。
负责系统的信号输入采集。
包括人体血压、氧气压力、血液管路的气泡信号、臭氧浓度等。
2.2物理实现
目前,可以通过下列三种方式实现Modbus通信。
以太网上的TCP/IP;
各种介质上的串行链路上传输;
ModbusPLUS,一种高速令牌传递网络。
选择何种实现方式主要是依据他所连接的设务所处的地位。
一般采用标准的232口、485接口、422接口。
由于rs232的传输距离为30m,治疗仪的体积不大,不可能超过30m,因此可以选用rs232通信方式来提供对Modbus的硬件支持。
将AT89S52单片机串口(RXD、TXD)经过MAX232芯片将TTL电平转换为RS232电平,再与eView触摸屏PLC[RS-232]接口相连,即完成了硬件连接。
eView触摸屏PLC[RS-232]接口的管脚2为TXD,管脚3为RXD。
图2-2为该系统串行接口的电路图。
图2-2系统串行接口电路图
第三章MODBUS协议
Modbus协议是OSI模型第七层上的应用层文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。
互联网组中已经保留TCP/IP系统端口502用以访问Modbus,Modbus协议已经成为一种流行的工业控制传输标准。
3.1协议内容
Modbus协议定义了消息与格式和内容的公共格式,主要采用命令/应答方式,每一种命令文都对应着一种应答文,命令文由主站发出,当从站收到后,就发出相应的应答文进行相应。
Modbus的信息帧包括站点、字节长度、功能码、操作地址、操作数据、CRC校验值等。
在Modbus系统中有两种有效的传递模式即ASCII和RTU模式。
内容格式及字符长度如表3-1:
表3-1两种有效传递模式
ASCII模式传输格式
RTU模式传输格式
STD
启始字符
START
超过10ms之静止时段
ADR1
通讯地址:
8-bit地址包含了2个ASCII码
ADR
8-bit地址
ADR2
CMD1
指令码:
8-bit地址包含了2个ASCII码
CMD
8-bit指令
CMD0
DATA(N-1)
资料内容:
n*8-bit资料包含了2n个ASCII码,n<
=25,最多50个ASCII码.
n*8-bit资料
n<
=25
……..
DATA0
LRC
CHK1
校验值:
CRCCHRLOW
16-bit校验值由2个8-bit字符组成
LRCCHK0
CRCCHKHIGH
END1
结束符:
END1=CR(0DH),END0=LF(OAH)
END
END0
由于RTU模式传输位数少,使用方便,本治疗仪采用RTU模式进行传输。
3.2通信过程
Modbus通信协议是一种串行的主从通信协议,网络里仅有一台设置可作为主机(称Master),其它设备作为从机(称Slaver),主机不需编号,从机必须编号。
协议定义了主机查询及从机应答的信息帧格式。
通信时,主机首先向从机发出请求信息,符合相应地址码的从机接收通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务,然后把执行结果返给主机。
若从机接收到的校验码与本机计算的不同,则说明数据在通信过程中出现错误,从机把这次请求视为无效,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。
当主机收到这一信息时,会重新发送请求信息。
校验方式分为LCR(传送数据为ACSII时)校验或CRC(传送数据为二进制时)校验,这里采用CRC校验方式。
信息传输为异步方式,并以字节为单位。
主从站之间通讯的字格式如表3-2所示。
表3-2通讯的字格式
字格式(串行数据)
10位二进制
起始位
1位
数据位
8位
奇偶校验位
无
第四章硬件实现
4.1选型
4.1.1上位机选型
作为上位机必须要有良好的人机交互环境,并且上位机必须要支持Modbus通讯协议,而且要提供相应的串行通信接口(rs232)。
eView的MT5620T触摸屏本身支持Modbus通讯协议,并且提供2个串行通信接口。
具体参数如图4-1所示:
图4-1MT5620触摸屏参数
4.1.2下位机及相关部件选型
作为下位机必须要支持Modbus通讯协议,而且要提供相应的串行通信接口(rs232)。
另外能够采集相关的A/D、D/A、I/O信号。
AT89S51单片机内含一个串行口,能够支持Modbus通讯协议,通过相应的A/D、D/A芯片能够完成模拟信号、数字信号的采集和输出。
A/D转换芯片的选择:
医用臭氧治疗仪在治疗过程中需要采集的数字信号有臭氧深度信号(0——100ug/ml),氧气压力信号(0——500Kpa),静脉压信号(-100Kpa——+100Kpa),所以10位的A/D转换芯片完全能够满足精度要求。
选择TLC1543A/D转换芯片。
D/A转换芯片的选择:
医用臭氧治疗仪在治疗过程中需要对血泵电机进行控制,血泵电机的转速范围在(2.0转——48.0转),其中每一转中要分成10档,故D/A转换的芯片要选择10位。
选择TLC5615转换芯片能够满足要求。
4.2上位机硬件实现
由于eView的MT5620T触摸屏是厂家集成在一起的触摸式显示屏,并提供相应的编程软件。
如下图4-2所示
图4-2MT5620T触摸屏
4.3下位机硬件实现
4.3.1A/D取样电路实现
TLC1543芯片一共有11路(A0——A10)10位A/D信号输入,在这里只用是三路分别是A0、A1、A2。
其中A3——A5作为备用。
芯片的CLOCK、DIN、DOUT、CS分别与单片机相连。
芯片的基准电压采用高精度的可调三端稳压器LM336-5Z。
基准电压的好坏直接影响取样的精度和稳定性。
具体线路如图4-3所示。
其中臭氧浓度信号、氧气压力信号、静脉压信号的最大值都在4.7v,故将基准电压调在4.7v即可。
图4-3A/D取样电路
4.3.2D/A输出电路实现
TLC5615芯片有一路10位D/A信号输出,通过软件设置能够输出两倍的基准电压。
芯片的DIN、SCLK、CS与单片机的引脚相连。
D/A输出线路如图4-4所示。
由于血泵电机的驱动信号在0v——2.2v范围内变化,血泵电机驱动线路如图4-5所示。
利用芯片的倍压功能,故将基准电压调在1.2v即可。
图4-4D/A输出电路
图4-5血泵电机驱动电路
4.3.3I/O信号输入/输出实现
由于输出电路中有继电器的存在,必须做好隔离。
单片机的输出信号经反相器后通过三极管驱动后,作用=继电器动作。
具体电路如图4-6所示。
由于输入信号中不存在强的干扰信号,可以与单片的引脚直接相连。
图4-6I/O信号输入/输出电路
4.3.4断电报警电路实现
医用臭氧治疗仪在治疗过程中是将血液引出体外与臭氧相混合,在治疗过程中一当断电必须发出声音报警,提醒医务人员及时将血液输出体内。
报警声音必须持续1min。
断电报警电路独立与其它电路单独工作,如图4-7所示。
接口J2与总电