分布式计算机网络系统的通信软件设计
来源:飒榕旅游知识分享网
维普资讯 http://www.cqvip.com 第28卷 第lO期 计算机工程 2002年lO月 o1.28 №Io Computer Engineering October 2002 .工程应用技术与实现・ 文章编号:1000-3428(2002)10--0213--03 文献标识码:A 中图分类号:TP338・8 分布式计算机网络系统的通信软件设计 杨宇浩,王学群 f同济大学电子与信息学院,上海200092) 摘要:介绍了分布式环境下计算机无人值守监控系统的总体框架、网络结构和功能实现,并具体分析了其通信前置机系统的模块设计,包 括:通信协议、信令、帧结构等,以及通信核心模块的编程接口和代码函数实现方法。 关键词:分布式系统;监控系统;帧;信令 Communication S0ftware Design 0f Computer Network System in Distributed Environment YANG Yuhao.WANG Xuequn fSchool of Electronics and Infm‘mation Engineering,TongJj Unis ersity,Shanghai 200092) I Abstract】This paper jntroduces the ss stem framework netssOI‘k structure,function jmplementation of the anto—monitoring system jn distributed ens,ironment and analyzes the rea1.time data transmission design of the communication system module in detail,including: cornmunication protocols,frame structure,cornmunication instructions.The communication progrataming interface and function codes are also pros ided. IKe),words】Distributed environment;Auto—monitoring system;rrame;Communieation jnstruction 分布式计算机环境监控系统可取代传统的监控维护方 准数据库实现监测信息共享。 式,实现了全自动无人值守的设计要求,即通过建立分布式 的实时信息采集、传输、处理和反馈网络系统,实现大范围 的实时的远程数据监测、遥控,从而达到自动监测、控制、 集中维护管理。 l系统结构和功能 图1总体框架 1.1系统概况 (2)监控中心网络结构(控制系统第一级IMCC)(见图2) 系统为二级控制网络:第一级为集中监控中 6,(IMCC). 监控中局域网结构,采用TCP/IP协议实现多环境系统 通常是在有人值守的维护管理中心,山前置机、工作站、数 互联,具有先进性、开放性、可转换性。由两台Sun ̄.作站 据管理机、大屏幕显示器等构成,符合IEEE802.3 CSMS/CD 担任监控主机,并互为热备份,采用Sull Solaris多用户多进 的局域网络规范。系统主机具有强大而灵活的处 能力,并 程操作系统和OpenWin图形工作环境,用户界面为x— 可根据需要接入图像监视系统。集中监控中心支持多种通信 Windows图形化标准。监控中心网由前置机实现与远端监控 协议,包括TCP/IP、X.25等,以满足本网络与上级监控系统 模块的通信连接,每台前置机可连接至少8个远端监控模 的连接和数据共享要求;第二级为远端处理模块(RPM),分 块,标准配置为8台前置机,监控总容量为64个远端处理模 布在少人维护或无人值守的被监控站。山远端监控主机(包 块,系统可通过路由器联入更高层次信息管理网络,通过标 括远端通信机、远端监控机)、智能化监控设备(包括读卡 准数据库实现监测信息共享。 机、蓄电池监测仪、配线架监测仪、协议转换器等)以及各 (3)远端监控模块结构(控制系统第二级RPM)(见图3)。 类探测器和开关控制器等组成。两级之问通过专网、公用电 活网、数字数据网等构成广域网。系统j{矗控总容量可根据实 际被监控对象灵活配置,监控环境系统标准配置可达1 3 1 072 个物理量点。 1.2系统网络结构 (1)总体框架(见图1)。 监控中心为局域网结构,采用TCP/IP协议实现多环境系 统互联,具有先进性、开放性、可转换性。由两台Sun工作 站担任监控主机,并互为热备份,采用Sun Solaris多用户多 图2监控中心网络结构 进程操作系统和OpenWin图形工作环境,用户界面为X. 每个远端监控机可监控1 28个点,包括各类探测器、传 Windows图形化标准。监控中心网由前置机实现与远端监控 模块的通信连接,每台前置机可连接至少8个远端监控模 块,标准配置为8台前置机,监控总容量为64个远端处理模 作者简介:杨宇浩(1972~),男, 工程师、硕士生,主研方向:计 块。系统可通过路由器联入更高层次信息管理网络,通过标 算机网络通信软件开发;王学群, 硕士生 收稿日期:2002 0卜l9 维普资讯 http://www.cqvip.com 感器、变送器、控制开关和智能化监控设备(读卡机、蓄电 池检测仪、配线架监测仪、协议转换器、空调等)。通过 RS232、RS422、RS485等标准串行接口与各类标准监控设 备连接,通过隔离的开关量输入/输出接VI和模拟量输入接 VI将非标准监控设备接入系统。每个远端通信机可为I6个远 端监控机提供实时通信服务。各远端处理模块均为开放式标 准化、模块化结构,标准配置最大监控容量为2048个物理量 点。 图3远端监控模块结构 l_3系统监控环境和功能实现 (I)监控环境设备 监控系统的监控对象包括各类常用设备:交流配电设 备,整流配电设备,辅助供电设备,各种空调设备,各种通 信设备,烟雾报警设备,电子门卡设备,温度传感设备,湿 度传感设备,图像监控设备等。 在其它分布式环境中,监控对象可灵活调整。 (2)性能特点 监控系统实现的主要功能包括:(1)对各监控设备、环境告 警及其恢复的实时监测;(2)远程没置模块量的告警范围;(3)远端 和中心两极均具有实时告警信息和可控告警声光指示;(4)自动派:[ 维护管理;(5)全汉化图形人机界面;(6)地理位置图形分析和模拟 控制开关;(7)遥信、遥测、遥控、遥设、遥}见功能;(8)远程实时 追踪、远程自动抄表;(9)智能化油机、空调、整流器等设备接入; (1O)网络管理(定时自检、巡视、远程联网、脱网等);(11)三级V1 令、操作存档、系统安全保证;(12)自动磁 出入控制;(13)历史 数据记录查询、统计、制表;(14)模拟量参数曲线描绘、测量精度 可达o 002;(15)对各类变送器、探测器供电;(16)工作电源范围 .48\;/+24V。 2通信前置机系统结构设计 【1)系统结构 通信前置机模块的主要功能是:I)在监控主机和远端监 控模块之间建立通信;2)对监控主机和远端监控模块之问的 数据流进行编码、解码、格式转换和数据转发。 通信前置机系统结构如图4。 . 图4通信前置机系统结构 214~ 。 (2)通信前置机软件模块系统(见表I)。 表1前置机系统总控调度核心模块 多j"户 涮制解 数据解码模块、 TCP/IP网络协议 j嵩L]扣 编码模块、格式 数据包通信模块 腱驱动 调器监 转换模块、数据 模块 转发模块 控模块 远程通信模块 网卡驱动模块 3远程通信协议设计 通信前置机与远端处理模块之间的通信主要由两大类数 据组成:远端处理模块采集的实时数据信息和监控中心发送 的监控命令信息。通信协议在设计上参考No.7信令,根据高 速、可靠、安全、经济的原则将数据包定义成3种帧格式: (I)完整长帧 帧长I 3个字节,用于传送初始化信息、开关量故障中断 信息、模拟量故障中断信息、巡视、遥信、遥测命令应答 等。 (2)半简化帧 帧长7个字节,用于传送告警、撤销告警、遥测、遥信 命令应答等。 (3)简化帧 CRC l N I P—NO l C—NO l SIO l FIB l FSN l BIB I BSN F 帧长5个字节,用于传送脱网、联网请求、各种应答信 息等。 帧内符号定义: 1 :帧起始标志;FSN:前I句序号;BSN:后向序号; FIB:前向指示;BIB:后向指示;SIO:服务指示;C. NO:远端机编号;P-NO:监控点标号;N:传输数量代 码,帧长控制;SIOA:扩充服务指示器;SIF:数据; CRC:校验码。 远程数据通信命令定义: SIO=0IH:脱机请求;・SIO=02H:联网请求;SIO= 03H:对远端机 始化命令;SIO=04Iq:智能设备初始化命 令;SIO=05H:远端机故障中断请求;SIO=06H:开关量故 障中断请求;SIO=07H:模拟量故障中断请求;SIO=08H: 智能没备故障中断请求;SIO=09H:巡视命令;SIO=IOH: 遥信命令;SIO=I IH:遥测命令;SIO=12H:遥控命令; SIO=I3H:智能设备控制命令;SIO=I 5H:CRC校验错。 4通信前置机核心模块软件设计 (I)通信前置机系统总控调度核心模块流程图(见图5)。 (2)远程端数据通信模块设计(见图6)。 远程通信公共编程接口: 打开指定端口:IOP—OPEN();向端口写入1个字节: lOP—PUTC();从端口读取1个字节:IOP—GEq、C();端口缓 冲区写:IOP—WRITE();端口缓冲区读:IOP—READ();端 口状态字:IOP—STATUS();端口输出队列空间:lOP—D0Q— SI ACE();端口输入队列字节数:IOP—DIQ-COUNT0;输 出端口刷新:IOP—m;SET-DOQ();输入端口刷新:IOP— RESET-DIQ();端口初始化复位:IOP—RESET();关闭端 口:IOP—CLOSE(1。 维普资讯 http://www.cqvip.com (3)主机端数据通信模块设计(见图7)。 图5通信前置机系统总控调度核心模块流程图 远程通 模块 l 1 r 程通信公』 接l】 ’ r 【{】由 1NT1 4H 驱动模 制数 数掘队 f夕jlx ]RAM 1 端u扩埏 侧 驱动 』 图6远程端数据通信模块 图7主机数据通信模块结构 通信前置机主机端数据通信程序实现和监控主机之间的 数据通信,监控主机系统通过IPCj/ ̄..信机制在主机系统进程 问保持联系和同步,前置机主机端数据通信程序采J ̄TCP/IP 协议标准Socket套接字在网络链路层与监控主机进行网络通 信。具有通信速度怏、可靠性和安全性高等特点,符合异种 机网络互联的标准。 主机通信模块主要接口函数: int SendMsg(DCB point)/ 信息发送函数 / {Union REGS regs; struct SREGS sregs; regs.h.ah=O: regs.x.di=FP OFF(point): sregs.es=FPSEG(point); int86x(int_nUm.&regs.&regs.&sregs); if(regs.x.cflag) return(一1); if(point一>dinuse!=0) return(1): return(O):} char far GetMsg(x oid)/ 信息接受函数 / {Union REGS regs; struct SREGS sregs; regs.h.ah=2: int86x(int_nUm,&regs,&regs,&sregs); if(regs.x.cflag1 return(NULL); if((regs.X.bx—sregs.es)&&(sregs.es===O)) return(NULL); return((char )MK—FP(sregs.es,regs.X.bx)):} int RetMsg(void)/ 网络信息监测函数 / f Union REGS regs: regs.h.ah=4: int86(int—num,&regs,&regs): i(fregs.X.cflag) return(一1); return(0):} iⅡI tolan(int destnu m,u nsigned char flag,char dataptr, int length)/ 网络信息发送函数 / {static Unsigned char teraphead l60l: static DCB ternpdcb: ternpdcb.ddestnum=destnum; tempdcb.dhead (char )MK_FP(FP_SEG(temphead),FP_OFF(temphead)); ternpdcb.dheadlen=60: —tempdcb.ddata (char )MKFP(FPSEG(data—ptr). FPOFF(dataptr)); ternpdcb.ddatalen=length; tern pdcb.dflag=flag; return(SendMsg(&tempdcb)):} 5系统推广和应用 通信系统是环境监控系统的核心技术之一,具有很强的 通用性,经实际环境对监控对象的测试和运行表明,系统监 控范围广、监控对象适应性强、精度高、实时响应速度怏, 通信质量好。由于系统通信系统模块设计的通用性,可广泛 应用于各类分布式环境的监控、通信、网络系统之中。 参考文献 I张鼎兴远程监控系统数据通信的分析与研究计算机工程2001 27(11、1 7I 2余可曼、陈 平 金连甫网络通信中问件的设计及实现计算机工 程、2001,27f51 1 16 3张 军.张荣涛,孙 宇分布式检测监控系统中Agent模型及实现 研究计算机工程,2001.27(2):93 4 Tanenbaum A S Computer Network Prentice Hal1.I 997 215—