论文部分内容阅读
冗余技术是提高EPICS (Experimental Physics and Industrial Control System)在反应堆仪控领域中通信可靠性的有效解决方案。不同于当前采用的“热备”冗余模式,本文引入了IEC62439-3标准所发布的并行冗余协议(ParallelRedundancy Protocol, PRP)阐述的“并行”冗余模式,创新地将PRP并行冗余技术应用于反应堆仪控系统的控制网络,并依托ATCA (Advanced TelecomComputing Architecture)搭建了冗余网络实验开发平台,在Linux系统下对基于PRP的EPICS网络冗余技术进行了原理性探究。本文首先分析了该协议实现高可靠性和高可用性的原理,研究了PRP协议在应用层上实现的方案。并用套接字网络编程和多进程任务编程等技术在Linux系统下开发了基于TCP/IP的PRP协议软件。主要的工作内容包括基于Socket的TCP/IP网络驱动开发、多进程数据发送和接收任务控制、重复报文丢弃算法实现等。经双网冗余测试表明,在应用层上实现PRP协议的方案可行,在网络出现单点故障时,可以达到零切换时间和零丢包的高可靠性要求。然后,研究了EPICS系统和它进行网络通讯的核心机制——通道访问(Channel Access, CA)协议,探讨了PRP技术用于EPICS系统的可行性。采用PRP技术与CA协议相结合的方式,以EPICS的CA协议源代码为蓝本,在Linux下开发了基于PRP应用层协议方案的EPICS CA协议软件,使CA协议具备了并行冗余数据处理功能——对报文进行双发双收。主要的工作内容包括CA协议服务端/客户端源代码的研究、PRP应用层协议在CA协议的服务端/客户端上实现方式的探究、对CA协议服务端/客户端的二次开发、基于多线程编程及多线程同步技术的数据发送和接收任务控制等。最后,通过搭建的EPICS并行冗余测试平台,对基于PRP的EPICS CA协议软件进行了点对点的网络通信测试。测试结果表明,基于PRP应用层协议方案的EPICS CA协议,在网络出现单点故障时,对两节点间的网络通信而言无明显的切换时间,且故障期间没有发生丢包现象。网络单点故障并没有影响节点间的数据通信,改进的CA协议可以实现无缝切换的高可靠性要求,为PRP技术应用于反应堆仪控领域,提供了一种思路和实现方式。