终端服务器在电信监控系统中的应用

供稿:摩莎科技(上海)有限公司

  • 关键词:编码器,电机,工控,步进电机

摘要:介绍当前电信机房设备的各种集中监控系统,串口编程的主要方法以及通过终端服务器对各种串口设备进行跨平台,跨应用系统进行联网的方案。
关键词:集中监控系统、串口联网、串口编程、终端服务器

1 引言
当前在一个固定电话运营商的分局(端局)机房中,主要的设备有程控交换机、传输设备、配线架、用户线路测试设备、电源空调设备等。为实现管理自动化和对机房的无人或少人值守,电信公司建立了数套针对以上设备的集中监控系统,使维护人员在中心机房就可以监视这些设备的运行情况,并对它们进行操作维护,如本地电话网管系统、动力设备及环境集中监控系统、112集中测试系统等。由于机房中的这些设备通常都是通过串口进行通信的,因此对于建立一个集中监控系统,如何实现这些设备的串口联网和串口编程,是一项非常关键的工作。
2 串口编程的方法及应用
目前,对串口编程进行设备控制,主要有两种方法:一是直接对串口进行编程,二是通过网络设备转换为网络编程。
2.1 直接对串口编程
在UNIX环境下用C语言编程,跟其它的设备一样,对串口的操作,是通过对设备文件的编程来实现的。UNIX系统将每一个串口作为一个或多个设备文件,存放在/dev的目录下,我们可以象对普通文件一样编程,实现对串口的控制,以下面这一小段代码为例:
#include /* Standard input/output definitions */
#include /* String function definitions */
#include /* UNIX standard function definitions */
#include /* File control definitions */
#include /* Error number definitions */
#include /* POSIX terminal control definitions */
main()
{
int fd; /* File descriptor for the port */
int n, res;
char buf[255];
fd = open("/dev/tty1a", O_RDWR | O_NOCTTY | O_NDELAY);
if (fd == -1)
{
/* Could not open the port.*/
perror("open_port: Unable to open /dev/tty1a - ");
}
else
fcntl(fd, F_SETFL, 0);
……
res = read(fd,buf,255);
……
n = write(fd, "ATZ\r", 4);
if (n < 0)
fputs("write() of 4 bytes failed!\n", stderr);
……
close(fd);
}
这段代码体现了UNIX环境下对文件和设备open、write、read、close的编程规范,当然,在具体应用中还会涉及到许多的细节问题。
应用实例:本地电话网管系统。南宁电信公司目前使用的市话交换机网管和集中监控系统(以下简称网管系统)是由原邮电部软件中心开发的NOMA2.0。虽然越来越多的交换机提供基于X.25或TCP/IP通信接口,传统的RS232的接口还是一种主要的接入方式,如EWSD的OMT口,S1240的MMC口和MPT口等。网管系统通过前置机接收交换机的报告,向交换机下发各种指令。前置机安装在网管中心机房,通常配置是PII350的微机,操作系统是SCO UNIX5.04/5.05,每台前置机装有一块MOXA Smartio C168H/PCI串口卡,可以通过DDN专线或模拟专线与各分局的8个交换机接口相连,与交换机的通信是通过直接读写串口实现的,在此基础在实现对交换机话务和告警的管理、集中维护操作。目前我们用这种方式接入了三十多台交换机,将近100个端口。
2.2 通过网络对串口编程
对串口编程的另一个常用的编程方法是用终端服务器(或称为网络通信服务器),将串口转换为一个网络端口,通过对网络端口的编程实现对串口设备的控制。在UNIX 环境下,进行网络编程,Socket程序库是最普及的API(Application Program Interface),串口转换成的网络端口通常作为服务器(server),应用程序作为客户端(client)。客户端的编程是通过调用socket的系统函数实现的,一般调用过程如下:调用socket( )创建一个socket端口,调用connect( )连接服务器,在交互控制时,调用write( )发送请求,调用read( )接收应答,调用close( )结束连接,函数调用的详细说明请参阅相关资料。
应用实例:112集中测试系统。南宁电信公司的112集中受理、测试及管理系统(以下简称112系统)是由广州瑞达公司开发的,其中一个主要的功能是对用户线路进行自动测试。测试功能由安装在分局的测试头完成,测试头提供一个RS232串口,一个内置的专线MODEN和拨号MODEN接口,可以根据现场的实际条件选择DDN、专线或拨号方式将测试头的连到112中心的终端服务器。以连接MOXA CN2100 系列Async Server(IP地地址位134.201.9.253)的P1口为例,将PORT 01的OP_mode设为反向telnet(RTELNET)方式,在配置Line中设定适当的波特率(Speed)、数据位(Bits)、停止位(Stop)、校验(Parity)等参数,这样我们就把一个串口转换为一个134.201.9.253 4001的TCP/IP端口,可以直接用telnet 134.201.9.253 4001来测试端口是否通信正常。112系统服务器(Digital AlphaServer 4100小型机,操作系统为Digital UNIX V4.0D)上的自动测试程序通过对该端口编程,实现对用户线的测试。作为112系统的一部分,112仿真测试程序也是采用这种连接方式和编程方法,不同的是仿真测试程序连接的服务器不是测试头,而是交换机的端口,通过交换机的人机命令实现对用户线的测试。目前,南宁电信公司112系统已经安装了六十多套测试设备(包括测试头和仿真测试端口),可以对七十多万线固定电话用户的电话线路进行集中自动测试。
3 使用终端服务器的串口联网方案
以上两种联网和编程方案有一个共同点,都是通过一定的传输手段(DDN、模拟专线、拨号等)将串口连接到中心机房的设备上,再进行编程控制。这种方案有一个不好的地方,就是如果有多个串口需要联网,不仅占用大量的传输资源,而且布线也有一定的难度,因此有必要寻找一些新的联网方法。
目前,南宁电信公司已建成覆盖整个本地网的计算机网络,在此基础上,通过在分局安装终端服务器进行串口联网是一个简便和可靠的方案。
通过网络对串口编程,将终端服务器安装在中心机房或是在远端分局在编程上没有什么区别,只要进行一些路由配置,保证服务器与远端分局的终端服务器网络通畅就可以了。
对于直接对串口进行编程,可以使用UNIX fixed tty 软件,这个程序通过伪tty设备为 Unix 主机分配固定tty接口,对应用程序来说,这个tty接口与普通的本地串口没有什么区别,Moxa Async Server的fixed tty配置是比较简便的,详细的步骤请参阅产品的使用指南。在网管系统中,我们在前置机上运行fixed tty软件,在远端分局对EWSD交换机的OMT端口进行联网测试,效果与通过DDN直接连接到中心机房前置机的串口卡上没有什么区别。
由此可见,将终端服务器安装在分局进行串口联网是完全可行的,其好处也是显而易见的,首先,可以减少租用传输线路的数量,其次,在中心机房的布线得到充分的简化,更重要的是,这些改进不需要更改应用程序,开发人员可以沿用自己习惯的编程方法。当然,对于监控系统来说,这要求从中心机房到分局的网络可靠性要高,同时对端口的访问要有可靠的安全认证手段。
在实际应用中,我们已经在十多个远端分局安装了终端服务器,目前主要提供对112测试头和交换机端口的联网。以高新分局为例,我们在机房中安装了一台Moxa Async Server(型号为CN2108),接入一个测试头,两个S1240的MMC口,两个EWSD的OMT口,一个PAD Vanguard 200(一种将EWSD X25 LINK 转换为OMT口设备)的控制端口。有一点需要注意的是,S1240的MMC口每次连接时,需要发一个break信号进行激活,有些终端服务器发不出break 信号。
如今终端服务器的功能越来越完善,可以支持不同的计算机平台和操作系统,可以灵活地为不同的应用系统配置端口,例如我们将一个端口设置为反向telnet模式时,不管是UNIX或windows系统,应用程序只要遵循TCP/IP协议,就可以对其所接设备的进行控制;除了UNIX fixed tty 软件,还可以通过相应的驱动程序,将端口转为Windows NT实端口(Real COM Port)。除了以上介绍的网管系统、112系统,还有动力设备及环境集中监控系统,一些公司还建立了光纤监控系统、配线架监控系统等,都涉及串口设备联网的问题,虽然这些系统相对独立,机房分布的位置不同,开发商和使用部门也不相同,但我们可以采用终端服务器建立一个串口通信网络,为不同的应用系统提供透明的串口接入服务,这不仅可以节约大量的传输资源,还可以对每个系统的进行网络优化,简化布线,减少对传输线路维护的工作量。
4 结束语
现在,许多电信公司都建立了覆盖大多数机房的广域网,根据我们的使用经验,如果一个分局有多个串口需要接入时,在远端分局安装终端服务器不失为一个经济实用而又可靠的联网方案。目前,除了已经完成的十多个分局,我们计划在每一个分局(包括所有县城分局和部分模块局)安装终端服务器,逐步建立一个专门的串口通信网络,并将一些应用系统的端口割接到这个网络上来。

参考文献:
1、“Serial Programming Guide for POSIX Operating Systems ” Michael R. Sweet
http://www.easysw.com/~mike/serial/serial.html
2、《UNIX技术—网络应用篇》,作者:沈芝慎,电子工业出版社出版

发布时间:2002年7月18日 18:56  人气:  
更多内容请访问(摩莎科技(上海)有限公司
相关链接

我有需求