QT论文:基于QT的电力调度系统通信前置机软件的开发研究【中文摘要】通信前置机作为SCADA系统的实时数据输入、输出的主要门户,承担了调度控制中心与所属厂站之间、与各上下级调度控制中心以及调度中心内的后台系统之间的实时数据通信处理的任务,主要负责规约的解释和转换。目前通信前置机多数基于WINDOWS开发平台,也有基于UNIX,LINUX等,还有为提高通信前置机实时性基于RTOS操作系统如QNX系统平台下开发的。随着计算机技术的日新月异,势必出现多种新平台新技术,而兼容多平台的实时性强的、具有良好开发性的通信前置机软件是未来的发展方向。本文基于QT设计了具有跨平台特性的通信前置机软件系统。论文首先阐述SCADA系统和通信前置机的发展历史和现状,分析了通信前置机目前存在的问题从而说明本课题的意义。接着分析通信前置机系统的主要功能,比较Windows、Linux、Unix、Vxworks等几种主流操作系统开发通信前置机软件存在的问题,简要分析了本文涉及到的IEC60870-5-101和IEC60870.5-104两种远动通信规约,将IEC60870-5.104规约进行简化作为调度内网通信规约,给出了基于QT跨平台来开发通信前置机的各个核心模块设计,其中包括:规约转换模块和网络通信模块,人机界面模块。然后,对QT系统平台特性做详尽的分析。主要涉及到本设计所用到的灵活的通信机制,信号与槽,以及D-Bus如何实现多进程通信,并阐述了QT中如何设置进程与线程的优先级问题。最后,本文给出了通信前置机的软件设计流程。采用面向对象设计思想,将通信前置机系统的远动通信、网络通信、以及规约转换功能进行模块化封装,便于以后系统软件的修改和扩展;结合QT的多进程、多线程设置前置机系统进程和线程,采用D-Bus实现多进程以及进程间通信,信号与槽通信机制实现线程间通信;通过101规约与调度内网通信规约之间的转换来说明通信前置机的规约转换功能,采用QUdpSocket和QTcpSocket实现了网络通信功能,采用QWidget类开发出前置机系统的人机界面。本文还双机采用平衡式传输系统从而保证基于QT的通信前置机系统通信实时性。【英文摘要】FrontEquipmentPorcessor(FEP)isthechannelfortheinputandoutputofreal-timedatainSCADAsystem,itisresponsibleforthecommunicationofreal-timedatabetweenthedispatchingcenteranditsRTUs,SuperiordispatchingcenterandJuniordispatchingcenter,andwithinthebackendsystemcomputers.Itstasksisexplainingandtransformingtheprotocols.MostoftheFEPsarebasedonWindows,ofcourse,thereareotherplatforms,suchasUnix,Linux,etc.moreandmorenewplatformsandtechnologyappearwiththedevelopingofcomputer,sotheFEPswhicharemorecompatibleandbetterindevelopmentwillbewidlyused.Thisthesisdesignthecompatiblefrontendcomputersoftware.FirstthethesissumarizesdevelopmentoftheFEP,analyzestheexistingproblemintheFEP,expoundthethesis’ssignificance.AndthenthethesisanalyzesthefunctionoftheFEP,putforwardtheexistingproblemsintheFEPswhicharebasedonWindows、Linux、Unix.Vxwroksetc.thethesisintroducesandanalyzestheIEC60870-5-101protocolandIEC60870-5-104protocol,changethe104procotoltotheprotocolwhichisusedindispatchingsystem,thenthesisdesignsthecoremodulesoftheFEP,includingtheprotocoltransformingmodule,networkcommunicationmoduleandinterfacemoduleThen,thethesisanalyzesthecharacteristicsoftheQTplatform,witchareusedforthedesignoftheFEP,especiallythecommunicationmechanism,signalandslot,D-Busforthecommunicationwithintheprocesses.Attheendofthispartthesisintroducethesetupoftheprocess’priorityinQTplatform.IntheenditisthedesignoftheFEPsystemsoftware,throughadoptingOOPthethesispachagesthefunctionsoftheFEPwhicharetelecontrolcommunication,networkcommunicationandprotocoltransformationsothatthesoftwarewillbemodifyedorextendedeasily.SettingtheprocessesandthreadsoftheFEPsystembasedonQT.ItismultiprocessintheFEPsystemanditsIPCisbasedonD-bus,thesignalandslotwillbeusedforthecommunicationwithinthethreads.Thoughthetransformationbetweenthe101procotolandthedispachingsystem’sprocotolthethesisintroducetheprocotoltransformationfuntion.TheFEPsystemwillrealizethenetworkcommunicationwithQudpSocketclassandQtcpSocketclass,anddesigntheinterfaceofthesystemwithQwidgetclass.BothofthecomputersarebalancedincommunicationsothatitisthepledgefortheFEP’sreal-timecommunication.【关键词】QTSCADA通信前置机多进程多线程跨平台【英文关键词】QTSCADAFrontequipmentprocessorMultiprocessingMultithreadCross-platform【目录】基于QT的电力调度系统通信前置机软件的开发研究摘要6-7Abstract7-8第1章绪论11-171.1SCADA系统的发展历史概述11-121.2电力调度系统通信前置机的发展概述12-151.2.1电力调度系统通信前置机的发展12-151.2.2通信前置机现阶段存在的主要问题151.3本文研究的意义15-161.4本文所做主要工作以及章节安排16-17第2章电力调度系统通信前置机系统需求及功能计17-202.1电力调度系统通信前置机软件的需求分析17-182.2通信前置机的要求以及实现途径18-20第3章QT主要技术在本设计中的运用20-313.1QT的主要特点203.2QT的通信机制20-263.2.1QT内部对象间通信21-233.2.2QT与外部设备间的通信23-263.2.3QT其他的一些通信机制263.3QT中的多线程26-283.3.1QT中的线程类26-273.3.2线程的互斥和同步273.3.3线程的优先级问题27-283.4QT的QWidget类28-293.5QT核心技术在本系统中的运用29-31第4章通信规约的分析31-404.1IEC60870-5-101远动通信规约的概述31-354.1.1通讯方式314.1.2选用模型31-324.1.3101规约传输方式324.1.4三种帧结构格式分析32-354.2IEC60870-5-104远动通信规约概述35-384.2.1104规约的一般体系结构354.2.2104规约结构35-364.2.3应用规约数据单元(APDU)的定义36-384.3调度内网通信规约38-40第5章通信前置机系统的软件设计40-685.1通信前置机系统方案的设计40-415.2通信前置机系统软件部分的详细设计41-665.2.1系统进程设计41-485.2.2网络通信进程的设计48-585.2.3规约处理进程的设计58-635.2.4人机界面的设计63-665.3本章设计特点的补充说明66-675.4本章小结67-68结论68-69致谢69-70参考文献70-73攻读硕士学位期间发表的学术论文73