首页专业论文技术应用政策标准解决方案常用资料经验交流教育培训企业技术专家访谈电力期刊
您现在的位置:北极星电力网 > 技术频道 > 技术应用 > 终端服务器在连接MIS系统中的应用

终端服务器在连接MIS系统中的应用

北极星电力网技术频道    作者:佚名   2009/5/27 11:05:49   

 关键词:  服务器 措施 网络

[摘 要]本文概述了终端服务器在MIS系统和主站连接中所起到的作用和具体的连接方式及方法,它能够改善目前许多监控系统网页发布因单串口连接而造成的刷新速度慢、数据不统一等问题。

[关键词]服务器 措施 连接 效果

1.系统概要

  目前大部分系统利用工作站的串口将数据发送到MIS服务器的串口上,但这种连接方式数据传输量太小,无法满足未来计算机发展的需要,利用网络和终端服务器的结合来实现二者的连接是一个新的尝试,它将大大提高其传输速度。
  自动化主站系统目前在大部分地区已实现SCADA和高层应用两方面的功能。而网络的发展又要求将SCADA的大部分功能和高层应用的部分功能发布到浏览器上,要求使用局域网上的工作人员能够看到SCADA系统的一次接线图、YC、YX及负荷预测。
  要将主站系统的数据发布到另一个系统的网络上,且要求数据必须一致,首先要求在主站和MIS系统最少各有一台服务器,要安装相同的程序软件,将主站服务器接收前置机的参数和在主站数据库里填写的参数发送至MIS服务器,这样在MIS服务器的相同程序下运行就会产生一致的数据。在MIS服务器上再经过软件程序转换即可变为浏览器动态实时数据,与MIS在同一网络的计算机通过浏览器就可以浏览对自己有用的生产信息。实现二者的连接方法中网络连接速度快、成本低、易于管理和维护,但一旦有病毒入侵(尤其是MIS系统部分计算机连接因特网容易受到病毒的破坏)主站系统也会遭到破坏,给生产带来巨大损失。利用计算机串口连接虽然可防止病毒进入主站系统,但它数据传输量太小,一般只能传输YC、YX,对主站数据库参数的修改,报表统计的修改必须在两套系统同时进行,若时间较长和修改量较大时容易造成二者的不统一,给生产带来许多不便之处,影响自动化整体水平。若实现网络和终端服务器的结合就可以避免出现以上问题。终端服务器为串行数据装置,有8口和16口的,分别相当于8个和16个串口,将串口速度提高了8倍和16倍,而MIS系统的病毒遇到串口后无法传播就不能进入主站系统。

2.系统实现
  为实现系统的稳定运行,在主站应采用双服务器,在运行状态一个为主服务器一个为辅服务器,可以进行主辅切换, 每个服务器通过网卡都与一个终端服务器连接。在MIS服务器上通过网卡连接两个终端服务器,当主站服务器进行主辅切换时系统与MIS的连接就通过与其连接的两个终端服务器进行切换通信。
  具体连接将网卡安装在计算机上,通过网线将网卡和终端服务器连接起来,两个系统的服务器分别利用网卡和一个中断服务器连接,最后将两个终端服务器的每个对应串口分别一一连接,实现了两个终端服务器的连接,这样就完成了硬件的连接。实现了两套系统的连接如图1所示。

图1 两套系统的连接图
3.终端服务器的特点
  终端服务器(MoxaCN2500终端服务器)高速率、低成本、跨平台、易于管理和维护; 支持TCP/IP协议; 支持远程访问,包括PPP,SLIP,CSLIP; 提供用于快速故障诊断的动态统计显示和线路状态显示; 提供端口培植的复制和保存功能。终端服务器的兼容性强,可连接多种设备,同时可以实现多种平台的连接,可以采用多种网络拓扑结构,使远动系统的组建变得更灵活。
3.1中断服务器可用方案
  3.1.1作为串行数据采集装置: 终端服务器直接连接到网络上,应用程序可以通过接口直接连接到终端服务器上的某一个断口,IP地址即为终端服务器的IP地址,而每一个物理断口对应一个固定的端口,这样在程序中以终端服务器的端口为SERER端,建立SOCKET连接即可,可以直接读写终端服务器的端口。同时终端服务器还提供驱动程序,加载驱动程序后,终端服务器通过TTY设备为应用程序提供一个全双工的,并且对所选择的终端服务器端口来说是完全透明的接口,从应用程序来看,它是和普通串口完全一样的TTY接口。
  3.1.2作为计算机通信的连接设备: 中断服务器可以作为计算机通信设备,连接远程计算机,接收远程计算机发送的数据,通过主机运行的应用程序进行分析。
  3.1.3作为串行打印机接口: MIS系统部分资料可以通过多种方式将打印机作业送交到终端服务器的相应断口,终端服务器可以作为打印服务器分配打印作业到相应的打印机。
3.2终端服务器的配置
  终端服务器的配置主要集中在端口的串行通信特性的配置,包括IP地址、波特率、校验方式、数据位、停止位、流控制。这些设置可以通过终端服务器安装光盘上的PCOMMLITE软件来完成。当设置好这些数据后,终端服务器就成为该台计算机的扩展串口,可以当作普通串口对其进行应用。

4.软件对终端服务器的控制
4.1总体思路
  终端服务器成为计算机上的扩展串口后就可以通过这些串口进行数据的收发,实现数据共享的目的,使自动化主站和MIS系统数据统一。
在主站的服务器上要有一个数据发送程序,用于将主站的数据发送到每一个串口上。在MIS服务器上要有一个接收程序,用于将串口上的数据接受回来,作为系统中其它程序的参数。
  可以通过多线程编程技术来实现数据的传送,将要发送的数据分为几部分,每一部分通过一个串口进行发送,每一线程控制一个串口。自动化主站数据可以分为YC、YX、报表、YC序号、YX序号、保护序号等,分开发送后提高了传输的速度,提高了系统的实时性。
  电力系统自动化监控程序要用于长时间运行,对程序要求较高,一般要用C++进行编程。由于MFC类库有得到广泛的认可,所以我们以VC++作为编程的工具,用于完成多线程串口通信编程。
4.2VC++多线程串口编程技术
  在Windows 2000下利用VC++对RS-232串口编程是常用的手段。Windows 2000是抢先式的多任务操作系统,程序对CPU的占用时间由系统决定。多任务指的是系统可以同时运行多个进程,每个进程又可以同时执行多个线程。进程是应用程序的运行实例,拥有自己的地址空间。每个进程拥有一个主线程, 同时还可以建立其他的线程。线程是操作系统分配CPU时间的基本实体,每个线程占用的CPU时间由系统分配,系统不停地在线程之间切换。进程中的线程共享进程的虚拟地址空间,可以访问进程的资源,处于并行执行状态。
4.3VC++对多线程的支持
  在VC++6.0下,MFC应用程序的线程由CwinThread类来实现。VC++把线程分为两种: 用户界面线程和工作者线程。用户界面线程能够提供界面和用户交互,通常用于处理用户输入及相应各种事件和消息; 而工作者线程主要用来处理程序的后台任务。
  程序一般不需要直接创建CWinThread对象,通过调用AfxBeginThread()函数就会自动创建一个CWinThread对象,从而开始一个进程。创建上述的两种线程都利用这个函数。
4.4多线程在串口通信中的应用
  4.4.1串口通信对线程同步的要求。因为同一进程的所有线程共享进程的虚拟地址空间,而在Windows 2000系统下线程是汇编级中断,所以有可能多个线程同时访问同一个对象。这些对象可能是全局变量、MFC的对象、MFC的API等。串口通信的几个特点决定了必须采用措施来进行同步线程的执行。
  串口通信中,对于每个串口对象,只有一个缓冲区,发送和接收都要用到,必须建立起同步机制,使得在一个时候只能进行一种操作,否则通信就会出错。
  进行串口通信处理的不同线程之间需要协调运行。如果一个线程必须等待另一个线程结束才能运行,则应该挂起该线程以减少对CPU资源的占用,通过另一进程完成后发出的信号(线程间通信)来激活。
  VC++提供了同步对象来协调多线程的并行,常用的有以下几种: 信号灯对象、互斥量对象、临界区对象。
  4.4.2 串口通信中的等待函数。Win32 API提供了能使线程阻塞其自身执行的等待函数,等待其监视的对象产生一定的信号才停止阻塞,继续线程的执行,其意义是通过暂时挂起线程减少对CPU资源的占用。在某些大型监控系统中,串口通信只是其中事务处理的一部分,所以必须考虑程序执行效率问题,当串口初始化完毕后,就使其处于等待通信事件的状态,减少消耗的CPU时间,提高程序运行效率。
常用的等待函数是WaitForSingleObject()和WaitForMultipleObjects(),前者可监测单个同步对象,后者可同时监测多个同步对象。
  4.4.3串口通信的具体通信。MFC将串口作为文件设备处理,用CreateFile()打开串口,获得一个串口句柄。打开后SetCommState()进行端口配置,包括缓冲区设置、超时设置和数据格式等。成功后就可以调用函数ReadFile()和WriteFile()进行数据的读写,用WaitCommEvent()监视通信事件。CloseHandle()用于关闭串口。
  在ReadFile()和WriteFile()读写串口时,为提高效率采用重叠I/O方式。在重叠方式下,调用的读写函数会立即返回,I/O操作在后台进行,线程就可以处理其他事务。这样线程可以在同一串口句柄上实现读写操作,实现"重叠"。
使用重叠I/O方式时,线程要创建OVERLAPPED结构供读写函数使用,该结构最重要的成员是hEvent事件句柄。它将作为线程的同步对象使用,读写函数完成时,hEvent处于有信号状态,表示可进行读写操作; 读写函数未完成时,hEvent被置为无信号。

5.系统的协调与完善
  对串口进行发送和接受的数据需要与其它程序相配合才能完成自动化监控工作。在主站端我们需要将数据库中的YC实时数据、分钟存盘数、整点存盘数,YX实时状态、报表数据等从不同的程序采集到串口发送程序,以供其发送到串口。
  在MIS系统服务器又要求相反的过程,将这些数据发送到各自程序中,以实现同主站系统相统一。同时我们还需要利用另一个程序将一次接线图、报表等转换为网页的形式实时刷新,以供电力系统生产人员了解当前变电站运行状态。
我们还可以将MIS服务器上一些需要打印的资料通过串口发送回主站服务器进行打印。

6.结束语
  自动化监控系统是一个复杂而庞大的以计算机为主的综合自动化监控系统,它需要许多软硬件的相互配合和协作才能完成,牵扯到分站RTU、主站的前置机、主站许多应用模块,我们在这里只是介绍了它很少的一部分。主要介绍了和终端服务器连接两个网络的有关的一些内容,希望我们关于终端服务器的讨论能够运用到实际生产中去,提高主站和MIS系统的同步速度。

参考文献
1.王文 马骁 于戈 吴杏平,终端服务器在网络式远动系统中的应用,电力系统自动化,2001.20
2.陆尔东 邓利平,多线程技术在VC++串口通信程序中的应用研究,天极网,2001.11.14
3.MoxaCN2500终端服务器安装指南

来源:
友情链接
北极星工程招聘网北极星电气招聘网北极星火电招聘网北极星风电招聘网北极星水电招聘网北极星环保招聘网北极星光伏招聘网北极星节能招聘网招标信息分类电子资料百年建筑网PLC编程培训

广告直拨:   媒体合作/投稿:陈女士 13693626116

关于北极星 | 广告服务 | 会员服务 | 媒体报道 | 营销方案 | 成功案例 | 招聘服务 | 加入我们 | 网站地图 | 联系我们 | 排行

京ICP证080169号京ICP备09003304号-2京公网安备11010502034458号电子公告服务专项备案

网络文化经营许可证 [2019] 5229-579号广播电视节目制作经营许可证 (京) 字第13229号出版物经营许可证新出发京批字第直200384号人力资源服务许可证1101052014340号

Copyright © 2022 Bjx.com.cn All Rights Reserved. 北京火山动力网络技术有限公司 版权所有