基于Android的EPICS监视程序

Android Monitoring

当出于性能原因不需要布线时,由于快速实施,无线监控是粒子加速器等大型科学设施的理想选择。根据具体应用的要求,有几种无线口味:ZigBee,WiFi等。在本文中,提出了一个基于Android设备的EPICS无线监控系统,其中控制系统变量通过网络获取并在移动设备中发布。这允许操作员在信号传播的任何地方检查过程变量。在这种方法中,基于Python的服务器不断通过CA协议获取EPICS变量,并使用ICE中间件(一种面向开发分布式应用程序的工具包)通过WiFi网络发送它们。最后,移动设备读取并向操作员显示数据。通过有限的WiFi信号传播确保通信的安全性,遵循与NFC中较大距离相同的想法。通过这种方法,可以轻松实现本地监视和控制应用程序,这对于启动和维护阶段非常有用。

在现代大型科学和工业设施中,由于电子和计算设备的能力不断提高,需要越来越多的信息。因此,必须在设施的每个地方确保通信。这必须以可靠,快速和安全的方式完成。在这一点上,电缆似乎是完美的解决方案。但是,出于性能原因不需要它们时,无线是监控和控制的好选择。无线通信具有许多优点,如降低成本,移动性,可扩展性和易维护性。

市场上可以找到几种无线解决方案,如ZigBee,蓝牙或WiFi。用于WLAN,WiFi的IEEE 802.11标准是一种非常灵活的技术,易于实现,价格低廉且提供宽带宽。由于这些原因,它已在大规模系统中实施。

然而,对于工业用途中的这种应用,安全性可能是一个很大的缺点。无线网络中使用的无线电波会产生网络被黑客攻击的风险,使系统容易受到威胁,如拒绝服务,欺骗或窃听。因此,网络的体系结构变得至关重要。

本工作的目标是基于类似于近场通信(NFC)但使用WiFi标准技术的想法,在大型科学设施中构建用于数据监视目的的安全可靠的机器到机器系统。 NFC提供了很好的安全性来抵御外部攻击,因为信号在传输范围之外使物理上无法访问,因此数据交换只能在有限的半径范围内进行。该协议的缺点是4厘米或更短的传输距离不足以用于监视和控制目的。

因此,所提出的方法使用有限的现场通信方案,具有WiFi技术并且根据每个应用的特定特性限制信号功率。

在所呈现的模式中,考虑基于TCP网络的分布式环境,其中实现EPICS控制网络。系统通过WiFi网络获取所需数据并将其发布在基于Android的移动设备中,该移动设备必须位于无线物理传输范围内。双向通信不仅允许监视,还允许改变信号值,例如打开/关闭某个设备。

在设计无线通信系统时,安全性至关重要。 在许多设备消耗大量功率的大型科学设施(例如离子源和粒子加速器)中,入侵可能导致有害甚至灾难性的情况。 为了避免不希望的故障或数据丢失,无线标准的开发人员在协议中包含各种各样的安全相关特征。 最常用的工具之一是消息加密。 这用于保持数据完整性并防止在网络节点之间拦截传输的数据。

提供无线网络安全性的另一种方法是调整发射功率电平以控制超出工厂墙壁的信号溢出。 如果无线电信号超出设施限制“不可见”,则窃取或拦截信号变得非常困难。 这意味着抵御攻击的物理安全性。 该想法在图1中表示,其中位于传输范围之外的移动设备不能到达无线信号,因此不可能访问信息。 它还允许根据授权级别仅在设施的某些区域传播信号。 因此,有限的现场通信方法可以导致安全的安装,从而根据每个区域的特性限制传输功率。

大型科学设施是复杂的分布式系统,必须处理重要数据量并且必须集成不同的控制设备。在这种情况下,由于每个元素可能具有独立的行为,因此通过网络和元素之间分发消息,命令信号和/或要求的中间件可能非常有用。

如今,大多数科学设施都是使用EPICS作为中间件层构建的。它的广泛使用,使这个解决方案非常可扩展。实际上,许多供应商在其产品中加入了EPICS驱动程序。而且,如果需要定制设备,也可以进行内部开发。这是LFC应用中使用的主要控制系统。

另一方面,去年电子设备和新技术的生产成本的降低为平板设备开辟了新的市场。在大型设施中,具有用于网络环境的资源的小型轻型计算设备可以在很多方面帮助执行常规的操作和维护任务。从这个意义上讲,基于Android的平板电脑已经被选为移动监控设备,因为它的流行和许多工具包环境的可用性使得自定义应用程序的开发变得容易。

最后,为了集成EPICS和Android系统,使用了ICE工具包。主要是因为它有许多编程语言的库,但除此之外,网络安全问题是其功能的关键问题。

这些技术的主要特征总结:

  • EPICS:它是一种基于中间件方法的控制解决方案,面向分布式控制系统。它在全世界范围内用于创建软实时控制系统,专门用于大型科学设施,如粒子加速器和望远镜。 EPICS可以定义为构建可扩展控制系统的架构,工具和代码的集合以及主要科学实验室和行业之间的协作。它是免费和可靠的,并且越来越多地选择在战略项目中实施控制系统,如ITER(国际热核实验反应堆)或ESS(欧洲散裂源),这可以简化开发人员之间的反馈以改进它。如前所述,网络控制系统由于其成本优势和易于集成而基于TCP网络。但是该协议具有非确定性特征,这使得其在控制系统中的使用变得困难。 EPICS的使用最大限度地减少了这些缺点。几个EPICS控制器(IOC)沿着设施传播,与不同的设备相关联:传感器,DAQ系统等。这些IOC通过TCP / IP标准网络使用称为信道访问(CA)的协议在它们之间进行通信并共享信息(过程变量或PV)。
  • ICE(Internet通信引擎):这是一个面向对象的工具包,用于构建分布式应用程序。 它允许传达两种或多种性质非常不同的应用程序(操作系统,编程语言……)。 ICE提供了不同的安全解决方案,如通过SSL的加密通信和身份验证,所有ICE语言绑定都支持这种解决方案。
  • Android:监控应用程序是在Android平台上开发的。 Android是一个基于Linux内核修改版本的移动操作系统。 由于移动设备的计算能力正在快速增长并且价格在降低,因此其用途在工业和科学设施的不同领域中迅速普及。 Android是这类设备的领先操作系统之一,它正在日复一日地更新和添加服务,为开发人员提供了大量工具来创建任何类型的应用程序。

建议的LFC模式如下:EPICS控制系统将在网络中不断发布PV。 基于Python的服务器通过轮询程序通过EpicsCA访问此信息。 EpicsCA是一个库,它提供了从Python程序通过CA协议读取和写入Epics Process Variables的方法。 此外,该程序初始化ICE主机应用程序,通过具有有限传输功率的WiFi网络创建用于传递到Android设备上托管的ICE客户端的对象(通信器),以及以适当的结构组织EPICS PV。 确保良好的吞吐量。

最后,客户端在Android移动设备上运行。 这个用Java编写的应用程序创建了一个代理,通过ICE连接到服务器,并调用想要读/写的对象(通信器)。 用户界面向操作员显示所需信息,并允许使用触摸屏轻松写入EPICS PV。

所提出的设想旨在用于大型科学设施,以便在正常操作和维护阶段期间简化操作员的任务。主要思想是允许它们根据传输功率控制和监控真空系统的主要变量,无论它们在扩散半径内的哪个位置。这一事实可以避免中央计算机的依赖。

Android的应用程序是使用ADT(Android开发工具)在Eclipse中开发的,并在Android SDK 上提供的模拟器上进行了测试。该程序是为API Level 7(Android 2.1)编写的,与所有较新的版本和API兼容。除了ICE特定的库和用于构建XY图的那些库之外,项目中使用的所有库都随ADT一起提供。这些最后一个是从“androidplot”项目导入的,它提供了一个纯Java API,用于在Android应用程序中创建动态和静态图表。

本文讨论了在大型工业和科学设施中使用无线通信进行监测和传感,提出了所谓的LFC方法。此外,还介绍了该技术的特定应用。无线设备的优势使该技术成为普通有线和固定监测站的有趣替代方案。但是,只要涉及无线通信,安全就变得至关重要。调整传输功率允许仅在所需半径内传播信号,从而避免外部攻击。根据应用特性限制传输功率的良好机制也是必要的。

特别是,涉及非常异构环境的EPICS网络分布式应用程序利用了ICE工具包的简单性和功能以及基于Android的设备的多功能性,用于LFC实现。

未来工作的主要目的是通过SSL协议实现加密通信和身份验证。还预计将EPICS监视器系统集成到基于Python的服务器中,以避免轮询以提高整体吞吐量。

发表回复