异步数据串行服务器在集中监控中的应用
来源:微智科技网
维普资讯 http://www.cqvip.com 2007年第4期 中州煤炭 总第148期 异步数据串行服务器在集中监控中的应用 谢 民,毛 虹 (焦煤集团公司,河南焦作454000) 摘要:阐述了如何利用异步数据串行服务器将RS232异步串行接口的设备与互联网络设备之间互联,使传 统设备的异步数据通过以TCP/IP协议为代表的开放式互联网络进行传输。 关键词:异步数据串行服务器;集中监控;JavaTCP网络编程 中图分类号:TN915 文献标识码:B 文章编号:1003—0506 c 2007)04—0071—02 1传统设备的应用状况 随着网络技术的发展和普及,以TCP/IP协议 为代表的开放式互联网络技术在各个领域都得到了 广泛的应用。但在很多场合,大量采用传统的 RS232异步串行接口的传统设备仍旧在广泛使用。 在很多应用中,这些设备的异步数据需要通过网络 进行传输,因此这些传统设备与现代的网络设备之 间存在着互联的问题。 如在焦煤集团公司正在使用的DUM14和 备能够直接和互联网连接。SD1500系列异步数据 串行服务器,是一款带有1个10/100 M网络接口的 和1个或多个异步RS232S串行接口的异步数据串 行服务器。SD1500系列异步串行数据服务器使用 高性能的32位处理器,支持多种网络协议,体积较 小,功能齐全,为异步RS232串行数据和在以太网 传送的TCP/IP数据包之间进行相互转换提供了一 座桥梁,使带有异步RS232串行数据设备的信息可 以通过互联网络进行传送或共享。 (2)SD1500系列异步数据串行服务器,可以使 数量众多且分散在不同位置的RS232串口设备共 享主机资源,同时这些RS232串口设备可以通过网 络得到远程主机的支持。作为专用的异步数据和网 DUM23智能高频开关组合电源中,由DK04监控模 块通过RS232异步串行口和MODEM接人市话网, 在中心机房,将装有远程监控软件的微机RS232接 口与MODEM上的RS232接口进行连接,再将MO— DEM的LINE接入市话网(图1)。实现远距离一对 络数据相互转换的设备,具有传统的多用户卡和终 端服务器无可比拟的优点:①传统的多用户卡扩展 串口方案占用主机资源,并可能导致系统不稳定。 同时连接的终端数目和距离有限,且终端服务器解 多的电源集中监控。通过拨号连接,速度慢,有时还 掉线。这种集中监控方法急需改造。 决方案成本太高,很难普及应用。SD1500系列异步 数据串行服务器不占用主机资源,且具有终端服务 电源系统(st):>芒: l!三三三一J 器的功能。②可将现有的传统的串口设备立即转换 成具备网络接口的外设,保障原有硬件和软件的投 资而不影响设备的任何性能。改造后的电源监控系 统如图2所示。 图1 DKo4C和DK04D型监控模块远程监控连接图 2硬件改造 (1)调研发现,SD1500系列异步数据串行服务 器能将先进的互联网络与传统的异步RS232串行 接口直接转换,使得传统的带有异步通信接口的设 收稿日期:2007—04—13 一申浈桑缔 ,): ——‘ 星 l !三三J 3 软件改造 采用SD1500系列异步数据串行服务器,DK04 作者简介:谢民(1975一),男,河北束鹿人,助理工程师,2002年 毕业于海军工程大学,长期从事电视与网络维护工作。 维普资讯 http://www.cqvip.com 2007年第4期 中州煤炭 总第148期 监控模块软件不需要改动,但远程监控软件的通信 软件需要改动。由于原监控软件没有提供通信接 口,因此在这次改造中重写了远程监控软件。 Java的跨平台性,即一次编译到处运行。Java 全面支持面向对象技术,有很强的健壮性和易用性, 在应用中更容易开发出高效的、多层的分布式应用 程序,加上同UML应用的结合,开发一应用软件的 周期会大大缩短。因此,新远程监控软件采用Java 平台。 SD1500支持TCP/IP,UDP,ARP,ICMP,TFTP, TELNET多种网络协议。其中UDP协议是无连接 通信协议,不保证可靠数据的传输,所以在传输中数 据丢失是不可能重发的。而TCP协议是面向连接 的通信协议,TCP提供2台计算机之间可靠无差错 的数据传输,能有效保证数据的可靠传输。所以采 用TCP协议。 SD1500操作模式可以是TCP Server,TCP Client, UDP Server,UDP Client,还可以是TCP Server AND TCP Client,这是SD1500特有的操作模式。所谓 Server端是被动侦听某一个端口,Client是主动来传 送数据给Server端的某一个端口。SD1500既可以 作为服务器端,同时也可以作为客户端,它们分别占 用不同的端口(如8001,8002端口)。SD1500这种 操作模式特别适合DK04监控模块工作模式,当电 源模块发生故障时,DK04监控模块主动上报故障, 这时SD1500作为客户端主动传送数据给远程主机 Server端。平时SD1500作为服务器端等待远程主 机的连接,远程主机作为客户端,主动发起连接请 求,要求DK04监控模块将数据传送上来。远程主 机监控软件和SD1500项对应,它既可以作为客户 端,同时也可以作为服务器端,并在2个的线程 上运行(图3)。线程的引入是为了实现并行处理。 从而提高程序效率,适合于一对多集中监控方式。 图3多线程 Java编写利用TCP网络协议进行通信的2个 应用程序,是有主从之分的,一个称为服务器程序, 另一个称为客户机程序。Java中提供ServerSocket ・72・ 类用于完成服务器端的功能,Socket类用于完成客 户端的功能。其交互过程如下:①服务器程序创建 一个ServerSocket,然后调用accept方法等待客户来 连接;②客户端程序创建一个Socket并请求与服务 器建立连接;③服务器接收客户的连接请求,并创建 一个新的Socket与该客户建立专线连接;④刚才建 立了连接的2个Socket在一个单独的线程(有服务 器程序创建)上对话;⑤服务器开始等待新的连接 请求。 在Main()程序即主线程中编写服务器程序,等 待DK04监控模块端的SD1500客户端程序的连接 请求。也就是当电源模块发生故障时,SD1500作为 客户端主动请求连接,并在一个单独的线程(有服 务器程序创建)上对话。此时主程序中的服务器程 序又开始等待新的连接请求,因此即使同时有几个 电源模块发生故障,也能同时处理这些请求,不需要 等一个处理完后再处理另一个。适合于一对多集中 监控方式。在数据传完后这个单独的线程也就结 束。 服务器程序如下: class TcpServer() { public TcpServer() { public static void main(String[]args) ServerSocket SS=new ServerSocket(800 1); While(Running) Socket S=SS.accept(); New Thread(new Servicer(S).stat(); e.printStackTrace(); (下转第74页) 维普资讯 http://www.cqvip.com 2007年第4期 中州煤炭 总第148期 (2)三产品无压旋流器工艺的矸石损失基本为 比跳汰选煤高,实现了矸石中精煤损失基本为零的 目标。③无压三产品旋流器采用自动控制悬浮液的 浓度,质量稳定性好,大大减少了人为因素的影响; 而跳汰选煤由于跳汰司机技术水平不同,其生产指 标浮动很大,质量稳定性差,跳汰选煤工艺的平均精 0,比跳汰选煤工艺降低6%。 4三产品无压旋流器存在问题 (1)重介设备和管道磨损严重,特别是矸石和 中煤管道的磨损尤其严重。管子补焊、配件更换频 煤灰比三产品无压旋流器工艺高出0.42%。 表1各项经济技术指标比较 繁,同时也增加了成本的投入。如何降低磨损、提高 设备的使用周期,是亟待解决的问题。 (2)由于三产品无压旋流器二段分选密度受一 段分选密度控制,底流口直径的变化也只能是小范 围的调整,无法做到在保证精煤质量的前提下,有效 控制煤中灰分。因此,需尽快研发二段分选密度在 线调节装置。 5 结语 三产品无压旋流器选煤与跳汰选煤相比,分选 3.2经济效益 精度高,精煤产率高,精煤质量稳定,经济效益在目 前煤炭市场条件下,远远大于跳汰选煤。建议小型 选煤厂尽快改造旧的工艺系统,积极推广应用三产 品无压旋流器。 (责任编辑:郭海霞) (1)在同等条件下,无压三产品旋流器工艺与 跳汰选煤工艺相比,精煤回收率提高了4.5%,吨煤 效益高16.2元,以两厂分别年入洗30万t原煤计 算,两者利润相差486万元。 ; k ^ ^ ‘ d : ‘ d‘t d :^ 一 , (上接第72页) 上面的程序中,一次accept()方法调用只接收 一Socket s=new Socket r InetAddress.getByName (”192.168.0.2”,8002); 个连接。因此,将accept()方法放在一个循环语 InputStream ips:s.getInputStream(); OutputStream ops=s.getOutputStream(); ……………句中,来接收多个连接。每个连接的数据交换代码 放在Servicer类中,用这个类实现服务器端与客户 //双方传输数据 端的对话。而且每个连接的数据交换代码,必须放 在的线程中运行,否则,在这段代码运行期间, 就无法执行其他程序代码,accept()方法也得不到 调用,新的连接就无法进入。 在AWT线程中编写了客户端程序。平时当用 户想查看电源模块的工作情况时,微机主动请求与 DK04监控模块端的SD1500服务器程序建立连接。 这时DK04监控模块端的SD1500作为服务器端,端 ips.close;ops.close;s.close;} catch(Exception e) { e.printStackTrace();} } 4 结语 利用SD1500异步数据串行服务器,将DK04监 控模块端RS232异步串行接口的DUM23智能高频 开关组合电源设备与网络设备之间互联,使DK04 监控模块端的异步数据通过以TCP/IP协议为代表 的开放式互联网络进行传输。自编微机监控软件实 现了远距离一对多的电源集中监控,取得了较好的 口号8002,然后双方传送数据。数据传完,释放这 次连接。 Public class Client { Try 效果。为传统通信设备与互联网络设备的互联提供 了经验。 (责任编辑:郭海霞) { ・74・