论文部分内容阅读
通信前置机作为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的通信前置机系统通信实时性。