工控网首页
>

应用设计

>

IPX通信协议在微机故障录波装置中的实现

IPX通信协议在微机故障录波装置中的实现

2009/8/21 13:17:00

摘要:数据通讯在电力系统微机故障录波装置中地位举足轻重。与传统的串行通信相比,局域网通讯技术更为方便、快捷。文中提出了基于IPX协议的录波器局域网实现方案。实践证明,在录波器中采取IPX通信,实时性高,可靠性强,有很大的应用前景。
关键词:IPX协议; 局域网; 故障录波; 电力系统

1 引言
  故障录波装置是电力系统暂态过程记录的主要设备。它所记录的故障过程中电气量以及开关动作情况,为分析故障原因、检验继电保护动作行为和自动装置运行情况,提供了宝贵资料。
  目前,微机故障录波器多采用上位机、下位机(有的也称前置机、后置机)分层处理结构,其中,下位机主要负责数据采集,波形记录;上位机则负责故障分析,文件处理及报表打印等功能。上下位机之间的数据可靠传输成为故障录波器可靠运行的关键环节。
  目前我国多数录波器厂家采用串行通信实现上下位机数据通讯。串行通信在传输速率、传输距离等方面都有很大限制。与之比较,局域网技术在这些方面有着十分明显的优越性。它们之间的性能比较如表1。


 
  由网络服务供应商提供的网络操作系统(如NetWare、NTserver等)使用方便,网络上的用户可以相互访问硬盘。但是用户的应用程序不能通过该系统发送/响应指令,满足不了装置的实时性要求。
  在与制造厂家合作开发的微机故障录波装置中,我们采用了基于IPX协议在故障录波器中实现简单局域网的方案。一方面不用考虑底层网络通讯的实现,方便编程;另一方面不用加载上层协议中繁冗的信息,信息简单,传送迅速,是对等数据通信应用程序开发的优选方案。

2 局域网技术的特点

  从1968年夏威夷大学局域网的初期代表作ALOHA无线电系统的诞生到今天,局域网的发展已经经历了30多年的历程。成为目前至为成熟的网络技术。
  局域网协议主要指局域网低层网络协议以及与高层协议的接口,相当于国际标准化组织OSI(OpenSystemInterconnection)七层参考模型中的传送层或网络层及其以下的层次协议。
  局域网体系结构中将OSI模型中数据链路层分为了两个子层。这是由于一方面局域网中传输介质是共享的,网络中存在介质的竞用与管理的问题;另外,局域网具有多种拓朴结构,网络中使用了多种介质存取技术。针对这一特点,局域网设置了介质存取控制层(MAC),一方面管理介质的竞用,一方面将介质存取技术细节屏蔽起来,使之不对上层造成影响。原数据链路层的主要任务就交给逻辑链路控制层(LLC)负责,另外,LLC还执行网络层的一些功能,如寻址、排序、流量控制、差错控制等。
  局域网的这种网络分层结构给开发应用通信程序带来了很大方便,网络接口层的驱动程序为我们提供了编程接口,使得我们可以直接编写网络接口层的通信程序,而不必关心其底层的网络是如何具体实现的。
  一般说来,一个完善的局域网络系统拥有从网络底层到高层一套完整的协议体系。越是高层的协议,可靠性越高,但其规定的包头结构越是复杂,通信效率越低。综合考虑了通信效率与可靠性,本文提出仅仅基于IPX协议构建局域网,实现对等通信,即在IPX所在的网络层就截取数据。

3 IPX(Internetwork Packet Exchange)协议简介

  IPX是Novell公司Netware网络操作系统的核心协议。它是一种数据包通信协议,相当于七层网络体系中的网络层协议。IPX为非面向连接的通信协议,在通信时无需建立连接,快捷、简便,但没有提供可靠性保证,所以它适应于传送少量信息或本身有可靠性保证的应用。根据统计结果,Novell保证其发送的成功率达95%。利用IPX通信API可以方便地开发对等(peer-to-peer)通信应用程序。
  相比较而言,位于IPX上层的协议(如SPX)能够提供更高的可靠性,有着以下优点:
1)保证每一个数据包都能有效递送;2)保证收到的包与发送的包顺序一致;3)保证不会收到重复包。
  但是,得到高可靠性的代价是牺牲了性能。因为高层协议的分组结构是在低一层协议的基础上加载了用于自身辨识的数据段,使分组结构更为复杂,无疑降低了网络传输效率。
  另外,由于IPX通信非面向连接,因此可以实现多播发送和数据转发,为工程中实现多点通信提供了很大方便。我们在开发的故障录波装置中采用了IPX协议实现数据通信。实践证明,IPX通信快速,准确,是开发对等通信应用程序的优选方案。下文给出具体的实现。

4 IPX包头结构

  IPX包由包头及数据两部分组成,IPX规定其数据不能超过546字节,其包头共30字节,由IPX管理,应用程序只需负责填写其中的包类型以及目的地址域。
  IPX利用事件控制块ECB(Event Control Block)来管理各次操作,它是IPX协议里很重要的一个结构(C语言结构定义见图1)。所谓事件就是指一次信息的发送或接收,ECB便是控制这些事件的结构。它本身并不参与网络传送,但是具体的通信操作都是针对ECB结构来实现。
 
 


  LinkAddress为指向下一个ECB的指针,基于此,IPX可以按照FIFO的规则对ECB队列进行调度。
  ESRAddress指针指向一个ESR。ESR(Event Ser-vice Routine)是应用程序定义的一个例程。它类似于DOS上的中断服务程序,在某一指定事件发生后由IPX调用。ESR在执行时CPU的中断位禁止,因此设计ESR应该根据中断服务程序的规则来进行,应当编写得尽量短,以减少禁止CPU响应中断的时间。ESR处理机制使得我们可以更为灵活的开发IPX实时通信程序。
  inUseFlag和completionCode分别标志该ECB的使用和完成状态,他们的值是由IPX赋给的,应用程序只能访问。
  SocketNumber标志ECB对应的套接字(Socket)号;
  IPXWorkspace为IPX工作区,保留给IPX使用,应用程序不能改变它;
  DriverWorkspace为驱动程序工作区,保留给驱动程序使用;
  ImmediateAddress是发送节点或接收节点的物理地址,应用程序在发送数据之前应该将该域初始化;
  FragmentCount表示下一个成员fragmentDe-scriptor的个数,必须大于0,这里我们赋为2;
  FragmentDescriptor这两个fragmentDescriptor成员分别指向IPX的包头和数据,IPX服务正是通过这个入口得到相应的需要发送的IPX包并进行处理。

5 具体实现案例

5.1 硬件配置
  上位机:PⅡ450工控机,内置NE2000网络适配器;
  下位机:MMX233工控机,内置NE2000网络适配器;
    传输介质:10M直轴电缆线。
  组网方式为总线型结构。
5.2 程序实现
  由于上下位机完成不同的功能,故采用了不同的操作系统。上位机为Windows2000操作系统,在VC环境下利用Winsock编程。Windows Socket API为用户提供了基于不同协议的丰富的操作函数,图2给出了一个比较典型的IPX收发包的调用过程。


 
  下位机为DOS系统。在DOS系统下,IPX协议及基于不同网卡的LAN驱动程序一起由IPX.COM提供,并作为加载的一个TSR程序驻留于内存中。利用7AH或64H软中断调用即可访问发送侦听等各种IPX服务。
  设计中,为保证通讯的可靠性。我们还采取了以下措施:
  a、上位机程序进入运行时,先发送一个广播信号,与之连接的下位机收到该信号后,保存上位机地址,并把自己的地址回送给上位机,于是,上下位机建立了连接;
    b、发送任务按其内容分为指令发送和数据发送两种。在发送重要数据前,必须进行握手,即发送方向接收方发送一个数据发送请求指令,待接收方返回一个确认指令后,方可进行数据传送;
  c、指令发送不需要握手。发送指令后,如接收方在一定时间未作出反应,则认为接收指令出错,重发该指令;
  d、对数据包进行顺序编号,接收方接收数据时进行包顺序检测,发现有掉包和包顺序错的情况,接受方在数据传送完毕后发送数据出错指令,要求发送方重传出错包;
  e、当有多个下位机同时向上位机发送请求时,上位机只响应一台下位机,其他处于等待状态,直至该下位机传送完毕。
  通过以上措施,在程序中实现了在基于IPX通信协议的连接、差错检测和重发等功能,进一步提高了数据传输的可靠性。

6 结束语

  IPX作为Netware网络操作系统的核心协议,体系成熟,运行稳定,通信迅速,并为用户二次开发提供了方便的接口,在故障录波器对等通信的装置中有很好的应用前景。<

投诉建议

提交

查看更多评论
其他资讯

查看更多

助力企业恢复“战斗状态”:MyMRO我的万物集·固安捷升级开工场景方案

车规MOSFET技术确保功率开关管的可靠性和强电流处理能力

未来十年, 化工企业应如何提高资源效率及减少运营中的碳足迹?

2023年制造业“开门红”,抢滩大湾区市场锁定DMP工博会

2023钢铁展洽会4月全新起航 将在日照触发更多商机