图2。1 软件流程图
监控软件的开发使用C# 程序设计语言。C#(C Sharp)是微软(Microsoft)为.NET Framework量身订做的程序语言,微软公司在2000年6月发布的一种新的编程语言。C#拥有C/C++的强大功能以及Visual Basic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++与Java一样亦为对象导向(object-oriented)程序语言。
监控软件主要完成的功能包括:数据报表打印功能,数据库存储功能,遥测遥信功能,权限限制功能,报警功能,图形显示功能。根据功能,系统划分为相应的模块,实现模块化设计,使系统的监控软件易于调试、文护和升级[10,11]。
2.2 通信方式的选择
2.2.1 串口通信
温湿度的监测往往是在室内,比如仓库,教室,图书馆等地方进行,此时我们可以在通过比较简单的常用串口通信。
串口是计算机上通用设备通信的协议端,现在大多数计算机包含串口。串口通信的标准经过使用和发展已经有很多中,但基本都是在RS232标准的基础上改进形成的[5,18]。但是RS232标准只针对于点对点的单通道数据传送,在此基础上形成RS485标准,增加了多点和双向通信能力。这个标准传输信号具有很强的抗干扰能力,可以达到更大的传输距离和更高的传输效率[5]。由于上位机只有一台,而需要通信的下位机有多台,因此不一定能够跟每个下位机同时及时的通信,所以为了更好的实现数据的传输,需要用排队理论来合理的设计和控制传输,使数据的传输更及时和有效,提高系统的通信能力。排队理论就是利用概率论和随机理论,研究随机系统内服务与需求之间的关系,以便合理地设计和控制排队系统,这个理论在串口通信中也可以借鉴。在所研究的系统中,某一下位机请求与上位机通信,当上位机空闲时,立即响应请求,当上位机忙时,不立即响应该请求。呼叫持续等待是一个有限的时间,若某一等待响应的呼叫超过规定的等待时间还没有响应则该下位机挂断,等待几分钟后再发送请求。各下位机的地位一样时,相应的规则采用先到先服务的形式。服务时间为一次传送数据的通信时间。由于多路请求是随机的,并且相互之间完全独立,但对整个系统而言,各下位机传送的数据都能送入上位机中。
目前串口是仪器仪表设备通用的通信协议端口,也用于获取远程采集设备的数据。串口通信的概念非常简单,串口按位发送和接收字节。尽管比按字节的并行通信慢,但是由于串口通信是异步的,可以在使用一根线发送数据的同时用另一根线接收数据,其他线用于握手。
典型的串口通信用ASCII码字符的传输,串口通信重要的参数是波特率、数据位、停止位和奇偶校验位[6]。对于两个进行通行的端口,这些参数必须匹配。
2.2.2 网络通信
在温湿度监测后台软件系统中,温湿度现场采集监测系统和后台主机等组成一个计算机网络。为了实现对现场监测系统状况实时监督,采集数据的无纸化记录处理等优点,本文对UDP通信方式和Modbus协议进行了分析,并为按照Modbus协议的格式设计本系统前端设备和控制中心主机之间的通信规约作基础。
a)UDP通信方式
UDP(User Datagram Protocol)协议的全称是用户数据包协议,在网络中它与TCP协议一样用于处理数据包。在OSI七层协议模型中,UDP协议处于第四层——传输层,处于IP协议的上一层。UDP用来支持那些需要在计算机之间传输数据的网络应用[14,19]。UDP协议有以下的几个特点[14]:
1) UDP是一个无连接协议,传输数据之前源端和终端不用建立连接。当UDP协议要传送数据时,就简单地去抓取来自应用程序的数据,并尽可能快地把它发送到网络上。在发送端,UDP传送数据的速度仅受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。 C#温湿度监测后台软件系统设计(3):http://www.751com.cn/zidonghua/lunwen_8968.html