通信电源远程监控系统设计毕业论文
2020-04-09 15:41:13
摘 要
本设计使用National Instruments 公司(也即是美国国家仪器公司,简称NI)的交互式C语言开发平台LabWindows/CVI,以满足通信电源远程监控为目的,在参考了多篇相关国内外论文后,设计并编写了一套通信程序(包含客户端和服务器)。该套程序基于TCP/IP协议,通过网络数据传输,能够对通信电源的工作状态和主要参数进行显示,并能给通信电源发送简单的启动和停止等命令。
在设计软件时,我采用的是先看专业论文和书籍补充理论知识,再在编程软件上实践的方法。为了在通信时能够接收并显示正确的数据,我在程序中自定义了一套简单的数据通信协议。经调试后,最终的运行结果显示,我的程序能够在保证数据正确的情况下进行双边通信。
关于本设计的研究背景、程序各部分的功能及其逐步实现的过程等,我将在正文中予以阐述。
关键词:LabWindows/CVI;TCP/IP协议;通信电源;远程监控;数据通信协议
Abstract
This design uses the interactive C language development platform LabWindows/CVI of National Instruments (referred to as NI), to meet the need for remote monitoring of communication power,after referring to a number of related domestic and foreign papers, I designed and programmed a communication program (including client and server). The program is based on the TCP/IP protocol. Through the network data transmission, it can display the working status and main parameters of the communication power supply, and can send simple start and stop commands to the communication power supply.
When designing software, I used to look at professional papers and books to supplement theoretical knowledge, and then practice in programming software. In order to receive and display the correct data while communicating, I have defined a simple data communication protocol in the program. After debugging, the final results show that my program can communicate bilaterally with the correct data.
The background of this design, the function of each part of the program, and the process of its gradual implementation will be elaborated in the text.
Key Words:LabWindows/CVI;TCP/IP Protocol;Communication power;Remote monitoring;Data Communication Protocol
目录
摘 要 I
Abstract II
第1章 绪论 1
1.1 研究背景和意义 1
1.2 远程监控系统简介 1
1.3 国内外的研究现状 2
第2章 通信电源远程监控原理 3
2.1 TCP/IP协议概述 3
2.2 TCP/IP参考模型的基本通信原理 3
2.3 数据通信协议 4
2.4 通信电源远程监控系统的基本组成 5
2.4.1 底层数据采集 5
2.4.2 下位机数据处理 5
2.4.3 上位机远程监控 5
2.4.4 系统架构图 6
2.5 本章小结 6
第3章 LabWindows/CVI编程环境 7
3.1 LabWindows/CVI的使用 7
3.1.1 LabWindows/CVI的工作空间 7
3.1.2 LabWindows/CVI的基本编程窗口 8
3.2 本章小结 9
第4章 软件的设计与实现 10
4.1 服务器(上位机) 10
4.1.1 程序流程图 10
4.1.2 用户界面设计 12
4.1.3 产生并编写源代码 14
4.2 客户端(虚拟下位机) 19
4.3 客户端和服务器之间的数据通信协议 22
4.3.1 客户端各传输函数的数据通信协议 22
4.3.1 服务器各传输函数的数据通信协议 23
4.4 程序运行结果 24
4.5 本章小结 26
第5章 总结与展望 27
参考文献 28
致 谢 29
第1章 绪论
1.1 研究背景和意义
通信电源,顾名思义,就是为通信系统提供电能的设备,是整个通信网络的关键基础设施,被誉为通信系统的心脏。只要通信电源系统故障,那么就会使通信设备的供电被中断,这样一来,通信设备就无法运行,于是导致通信电路中断、通信系统瘫痪等大问题,进而引起极大的经济和社会效益损失[1]。
例如对于电力网专用通信电源,若出现故障,则会导致整个电网的安全稳定运行受到影响,轻则出现不正常运行状态,重则发生短路、断线等故障,最终让人民的日常生活的工厂的生产工作受到影响,造成经济损失。
当然,若是通信基站或通信机房的电源受到影响,其后果也不容小觑。因为我们正处于移动互联网时代,很难想象一个成年人能够离开手机生活一天。WiFi和流量不仅维系着我们和社会和亲朋好友的关系,还和许多人的工作和事业直接挂钩。故移动通信网络亦不能有失。
同时,随着通信事业的不断发展,通信网络的规模也越来越来,复杂度自然也随之提高,且通信基站的数量逐年增多,这无疑对维护通信系统正常工作造成了更大更多的困难。
为了维持通信系统的稳定运行,自然要靠稳定的电源,而要能使通信电源能够更好地胜任这项工作,必须实现对通信电源的有效监控。所以说,在我们的生活中,通信电源远程监控系统是必不可少的。
1.2 远程监控系统简介
远程监控系统作为新时代的产物,是信息网络和工业控制网络的结合品[2],它只需在遥远的现场,就能通过通信技术使互联网、企业内部网或者局域网等处于自己的控制之下,进而把位于全国各地的电源系统等设备互联起来,和远程设备进行双边通信,最终实现远程监控的功能。若是在远程监控系统中应用Web技术,那么系统的功能会比传统系统要强大许多,监控人员只需要像平时上网一样打开一个普通的浏览器,就能对位于远方的设备进行监控。
通信电源远程监控系统的作用是通过电脑软件,或者一个Web,对通信电源进行远程监控,实时或及时了解通信电源的运行状况,并对其发出遥测、遥信、遥控等指令。
遥测,就是应用通信技术(下同),通过互联网测量远程设备的模拟量;使用同样的技术和原理,检测远程设备的状态量的过程则被称为遥信;同理,使用同样的技术对上述模拟量或者状态量等进行改变的操作被称为遥控。以上三个技术合称三遥。
要想尽量完美地实现三遥功能,除了仰仗日新月异的信息技术和监控技术之外,还应该要在对通信电源系统的管理与维护这一块上下功夫。就像任何一项伟大的技术一样,如果得不到有效地利用,就只是理论而已。技术和管理,必须要双管齐下,如此才能更高效,更完美。
1.3 国内外的研究现状
要是和欧美等发达国家相比较的话,通信电源监控系统的研究在我们国家起步晚[3],技术还是处于落后地位,而且能够监控的电源设备也比较单一。话虽如此,自从90年代初通信电源监控系统在我们国家开始发展以来,靠着怀揣满腔热情和梦想的科学技术人员们十多年的不断努力,我国通信电源的规模已经越来越大,技术也已越来越好,完全进入了一个崭新的发展阶段。
目前,国内和国外的许多通信行业的公司和厂商都相继推出了各具特色的监控系统。比如华为公司的iManager NetEco站点能源管理系统,这是一套专门用来进行网络能源管理的平台,采用非常先进的网络化、数字化和智能化技术,专攻于维护业务、动力可用度、能耗及能源利用效率的精益化管理,可以有力地帮助用户实现可靠又高效的供电,简化运维和降低运维费用,保障供电网络畅通、业务零中断。目前,iManager站点能源管理系统应用于全球100多个国家的300多客户。国外著名的有爱立信(ERICSSON)公司的RBS200/2202基站电源监控系统[4]。
第2章 通信电源远程监控原理
2.1 TCP/IP协议概述
TCP/IP协议(Transmission Control Protocol/Internet Protocol),翻译过来就是传输控制协议/因特网协议,这并不是一个单一的协议,而是一个协议族(Protocol Family),由多个不同的具体协议组成。该协议族非常经典,从被提出之日起就一直沿用至今,当然中间经过了许多完善和修改。TCP/IP协议规定了计算机通过网络互相通信以及协议族各层次之间通信的规范,是网络通信的基础。TCP/IP协议有一个抽象的参考分层模型,这个模型中,属于TCP/IP协议族的所有网络协议都被归类到了四个抽象的“层”之中,分别是主机-网络层(Host to Network Layer)、互联网层(Internet Layer)、传输层(Transport Layer)和应用层(Application Layer)。
在该参考模型中,主机-网络层是最低层,也被称为网络接口层,该层的主要任务是把互联网层的IP数据报接收过来,然后再把这些数据报通过低层物理层发送到其他地方去,反之,它也可以以相反的顺序执行上述过程。互联网层有时也被称为网际互联层或者IP层,主要的工作内容是把源主机的报文以分组的形式发送到目的主机。接下来说传输层,该层的作用就是使互联网中的两个主机进行端到端的可靠的数据传输。最后的应用层是最高层,包含了所有高层协议,比如网络终端协议(Talnet)和超文本传输协议(Hyper Text Transfer Protocol,HTTP)等[5]。
2.2 TCP/IP参考模型的基本通信原理
TCP/IP参考模型的通信原理如图2.1所示,其中,第一至第二层(即网络接口层和网际互联层)为串联的,而第三道第四层则是端到端的。
图2.1 TCP/IP参考模型的通信原理
2.3 数据通信协议
这一节主要介绍数据通信协议的作用和数据通信协议的组成。
在网络通信中,TCP/IP协议相当于为数据的流通提供了一个可靠的管道,或者说为数据传输搭建了一座稳固的桥,目的是保证数据能够完整无损地从通道的这一端到达另外一端。而在通道里流通的数据是纷繁复杂的,通信双方要想唯一确定某个数据的含义,就必须针对数据规定出特定的通信协议(比如每个数据的具体含义和数据的接收顺序等),只要双方或者某个通信网都遵守这套协议,就能进行有效可靠的通信[6]。
举例来说,主机A向主机B发送了一个字节的数据,或者主机A向主机B发送了3个字节的数据,那么主机B收到这些字节时,要如何确定这些数据是正确的呢?要如何确定这些数据是由主机A发过来的呢?要如何知道某一个单独的字节中单独的每一个位代表什么含义呢?又要如何知道每一个字节代表什么含义呢?数据通信协议就是要解决这些问题的。
通常情况下,通信时发送的数据都是被打包好的,也即每次通信传输的数据有很多个,这种一个数据包就叫做一帧数据。而本节所说的数据通信协议,也就是由这样一包数据组成。一般来说,一个可靠的自定义通信协议应该包含以下这几个部分:协议头(帧头)、地址、数据类型、数据长度、数据部分、校验码和协议尾。
收发数据时,首先被读取的就是协议头,表示此数据包开始,当读取到协议尾时,表示此数据包结束,也即此次通信结束。从这里可以看出,协议头和协议尾的作用就是判别数据包的完整。为了完成上述目的,协议头和协议尾一般都由固定长度的特征字节组成,在通信中判别数据包时出错率越小越好是对于协议头和协议的基本要求。
地址部分即用来表示数据时从哪个地方的哪台设备发送过来的,大多数情况是在多机通信时用到。如果通信双方中的一方只有一台设备,比如是服务器主机,那么该设备的通信协议中即可不包含源地址信息,只需让其他各个客户端主机发送过来的数据包中含有目的地址信息即可。
当我们发送一包数据时,特别需要指明这些数据的类型,这正是数据类型的作用,用以判别数据的类型。这样一来,当数据接收方收到数据时,就能通过读取数据类型(一般也是由特征字节组成)知晓数据的类型,知道数据类型之后就可以确定这些数据的用途,比方说数据应该显示在界面上的什么地方等。数据长度则表示了有效数据的个数。
校验码,顾名思义,作用就是对数据的完整性和正确性进行检验。往往用到的校验规则就是对数据包中的某几个特征部分进行相加。
在本毕业设计中,为实现客户端和服务器的有效且可靠的双边通信,我也在各个程序模块中自定义了数据通信协议。具体的协议内容,我将在下文的程序设计部分予以的阐述。
2.4 通信电源远程监控系统的基本组成
一个完整的通信电源远程监控系统一般都是由三部分组成,一是底层的传感器和数据采集器部分,二是下位机部分,三是上位机部分(系统或软件等)。
2.4.1 底层数据采集
在通信电源远程监控系统中,最底层的部分就是数据采集部分,它们由各种各样的传感器和电能采集模块以及控制模块组成。通过和通信电源直接相连,数据采集部分可以获取通信电源的运行参数,例如电压、电流、功率、温度和湿度等[7]。数据采集成功后,该模块通过和下位机的连接,将数据传送给下位机进行下一步处理[8]。
2.4.2 下位机数据处理
下位机可以说是直接获取通信电源的状态和信息并且直接控制电源设备的计算机(通过数据采集模块),下位机和所监控的设备相连,一般都是单片机或者PLC。下位机从数据采集器处取得设备的信息数据后,先经过处理,比如大多数情况下数据采集器采集到的都是模拟量,此时下位机就要通过内嵌的A/D转换模块将模拟量转换成数字量[9]。对于转换后的数字量,在基于TCP/IP协议的情况下,下位机就可以把它们发送给位于远方的上位机。与此同时,下位机也能都接收来自上位机的数据或命令信息。
2.4.3 上位机远程监控
上位机是远程监控系统中最重要的监控部分,一般是个人电脑或者远程主机等,在本设计中,上位机特指我所编写的通信程序服务器端。
上位机因为要和人类(比如监控站工作人员)直接交互,所以首先应该具有便于操作、功能完整并且尽可能美观的用户界面。具体到通信电源远程监控系统,那么上位机的屏幕上就应该能够把从下位机接收到的数据显示出来,比如通信电源的运行状况(是否正常启动)、主要参数(电压、电流和功率等)和错误信息等。当上位机收到的数据显示通信电源处于非正常运行或者故障时,还应该具有报警和打印功能,以便工作人员快速解决问题。
除了被动接收下位机发送过来的数据信息外,上位机还可以主动要求下位机发送监控人员所需的信息,比如要求发送某台特定设备的数据信息,或者需要某个特定机组的状态信息。当然,作为监控系统的主要部分,上位机还可以向下位机发送命令信息,命令所监控的通信电源启动或者停止等。
以上所述的上位机和下位机之间的数据传输,不仅要首先基于TCP/IP协议,还要遵守双方约定好的数据通信协议,最后在网络通畅的情况下,才能够正确且高效地进行,也就是说,每一项要求都缺一不可。
2.4.4 系统架构图
图2.2 系统架构图
图2.2表示的即是整个系统的架构,通过该图我们可以直观地感受整个系统。
2.5 本章小结
本章首先对TCP/IP协议进行了简单的概述,这是网络通信的基础,本次毕业设计所编写的程序也正是使用了TCP/IP协议;接下来介绍了数据通信协议,一般由帧头和帧尾等部分组成,具体的协议内容由设计者根据自身的通信需求自行定义,完整的自定义通信协议是双方进行有效通信的重要保障;最后是通信电源远程监控系统的基本组成。
第3章 LabWindows/CVI编程环境
在本设计中,基于我在大一下学期时对C语言的认真学习,我所选用的上位机软件是NI公司的LabWindows/CVI(2015),属于NI公司推出的虚拟仪器系列软件中的一个,开发环境完全是ANSI C,仪器控制、自动检测、数据处理等领域都有许多它的应用场景。该软件的核心是ANSI C,任何正确的C语言语句都能在该软件中编译成功,而它的厉害之处在于把用于数据采集、分析和显示的测控专业工具和C语言有机地结合了起来,且因为它有丰富的面板功能和交互式的编程方法,C语言的功能得到了前所未有的加强,任何熟悉C语言的技术人员都能轻松地使用该软件提供的库函数和工具库就能开发出功能强大的软件,而不用去了解库函数的具体实现过程[10]。
3.1 LabWindows/CVI的使用
3.1.1 LabWindows/CVI的工作空间
工作空间窗口如图3.1所示,包括工程目录区、函数目录区、窗口区、输出区和运行区。工程目录区就把当前工作空间中的所有工程的目录都包含了进去,位置在整个界面的左上角,让人一目了然,使用者可以很方便地对这个工程作出修改等。函数目录区位于界面的左下方,在该区的搜索框输入关键字或者直接输入函数名,就能够找到任何想要的库函数或工具库。窗口区是整个软件的界面的主要区域,源代码编辑器和用户界面编辑器等都可以在该区打开。输出区顾名思义就是输出各种错误信息,比如编译错误或者运行错误,如果使用鼠标右键在该区单击某条编译错误的信息,则源代码对应处会被标亮显示。最后是运行区,在该区我们可以观察程序运行的各个变量或者堆栈的具体数值和变化过程,对于程序调试人来来说,因为需要经常观察程序运行中参数或者变量的数值变动情况,所以这个区域非常有用。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示:
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。