本文图片来源:盟通科技
在现有计算机操作系统中,Linux和Windows是应用最为广泛的操作系统,在工业自动化与工业互联网领域也被广泛应用。Windows依靠其较为友好而强大的图形化界面帮助使用者降低学习成本及提高人机交互性,但很遗憾的是,Windows操作系统通常难以在实时性要求高的工业应用场景中使用。因此,Windows实时扩展方案也就成为了部分用户的迫切需求。
为帮助需要在Windows实现实时扩展的从业人员,来自德国的Acontis公司带来了成熟、可靠且高效的实时扩展方案,针对不同且更细致的需求,给出了相应的方案供用户选择。接下来本文将简单介绍Acontis公司、讲解其方案并表现其特点,助力相关项目的实现和落地。
01 公司简介
来自德国的Acontis公司是最早研究应用工业互联网总线协议的一批方案服务提供商,该公司在2004年即加入了EtherCAT 技术协会(ETG)。在长期的18新利苹果版下载中,Acontis逐渐意识到Windows实时扩展技术的必要性与其可观的前景,因此研发推出了EC-Win这一个可以让用户在Windows系统上,实现专业、开放的实时EtherCAT平台的解决方案。经多年的研发积累和市场化应用,Windows实时扩展方案已成为其重要的技术服务之一,在业界受到了广泛的关注,也收获了良好的口碑。
盟通科技作为Acontis公司在中国区的唯一合作伙伴,促进了EthehrCAT相关技术的推广和分享,为进一步的双赢乃至多赢奠定了坚实基础。盟通科技乐于帮助每一位有需要的用户,来帮助实现EtherCAT技术与Windows实时扩展等需求。
02 EC-Win:一款基于EtherCAT的实时方案
盟通科技推出了为Windows系统提供专业开放的实时EtherCAT平台解决方案——EC-Win。其核心组件是强大的EC-Master主站,该主站经过专门优化和验证,与可靠的Windows实时技术与虚拟机管理程序等配套技术完美匹配。
▲图 1 EC-Win结构示意图
EC-Win解决方案的硬件平台采用了多核系统,方案中的Windows系统在独立的CPU核心上运行,EtherCAT主节点和实时应用程序则在另外的核心运行。快速且经过优化处理的Inter和Realtak网络控制器驱动为方案的高实时性保驾护航;另一方面,EC-Win对虚拟机的集成确保了实时应用程序与EtherCAT从站的同步、本地PC定时器与EtherCAT从站的分布时间同步,是EC-Win方案实时性的重要保障。为帮助用户诊断和监测,EC-Win推出了针对性的诊断工具EC-Lyser,全方位的保证方案的实时性。
EC-Win解决方案支持微软的Visual Studio,用户可以使用Visual Studio作为开发和调试的工具,将Windows应用开发部分与实时应用开发部分相整合,避免昂贵的扩展控制卡、虚拟机管理程序或其他更加昂贵的的Windows实时扩展方案。
EC-Win解决方案通过隔离的方法来处理实时应用程序和非实时的Windows部分。与使用专有RTOS或全实时环境不同,此解决方案在隐藏的实时虚拟化解决方案之上嵌入了标准的实时环境。这个虚拟化环境是关键,与传统的实时扩展相比,它可以更好地让实时应用程序与Windows系统隔离。这样一来可以有效防止发生系统故障等问题,更好地帮助用户的开发工作。
▲图2为EC-win原理架构图
总结下来,EC-Win具有以下特点:
● 集成式虚拟机管理程序:将Windows系统和实时部分(操作系统)完全隔离,有效避免Windows 系统故障(蓝屏)。
● 对实时部分提供标准支持:为抢占式多任务、线程、事件、信号量、互斥锁等提供Win32编程示例。
● 支持32位或64位模式:支持多种模式的Windows系统。
● 快速高分辨率的系统定时器(分辨率低于 10 纳秒):其中断频率最高可达20kHz。
● Windows系统和实时部分均可运行于多个CPU内核(SMP:对称多处理):这对于四核或其他多核CPU尤其重要。
● Windows和实时部分之间采用虚拟TCP/IP网络:因此,可以使用EtherCAT诊断的全部功能。
● 支持Microsoft Visual Studio的舒适开发和调试环境:可以通过以太网进行远程调试。
另外,EC-Win还提供了一个适配的管理程序来帮助用户管理,其程序页面如下图,该程序具有诸如将兼容 EtherCAT 的硬件分配给实时环境;为实时环境分配其他硬件;Windows和实时环境的 CPU 分配和内存配置可通过GUI完成等独有功能。
▲图3 EC-Win管理工具
03 LxWin:并行运行Linux——Windows扩展新方案
如果说EC-Win是更偏向于于EtherCAT的实时方案的话,那么Lxwin则是更具有普适性的实时方案。
LxWin解决方案是将一个实时的Linux系统和Windows一起运行在同一个系统上。LxWin同样使用了一个分离的方法,把实时应用和非实时的Windows部分隔开:LxWin在虚拟机环境中嵌入了一个Linux硬实时内核,使用LxWin提供的虚拟机管理程序,可以并行运行和实时管理Windows和极快的实时Linux系统。
作为LxWin解决方案的重要组成部分,Linux是在工业领域应用最为广泛的实时操作系统,由于Linux确定的硬实时行为、包含多样的开发工具以及对硬件驱动程序和软件的广泛支持,领先的工业控制器制造商广泛使用Linux作为实时开发环境,典型应用是具有高实时要求的PLC、运动控制和数字控制系统。
▲图4 EC-Win介绍
如果客户当前使用的解决方案将Windows的GUI系统和基于Linux的控制器模块分为2 个不同的部分,且需要将二者整合,那么,LxWin 是将此类解决方案整合到一个硬件上的特有方法。进而使Eclipse或Microsoft Visual Studio(从VS 2015开始)可用于Linux的实时软件开发中。
LxWin具有的最显著的优点有:
● 硬件整合:节省第二个控制器系统或智能插件卡,提高了平均无故障时间。
● 利用Linux的实时特性,可以实现微秒级的响应时间。
● 软件兼容。可以在同一个系统上运行Windows和Linux的应用程序,包括支持EtherCAT等实时通信协议的软件。
不同于LxWin直接将Linux作为是实时内核,在当前的实时开发领域,部分Windows实时扩展方案是通过让专有的实时环境与 Windows 并行(有时甚至嵌入到 Windows 中)来实现实时功能的扩展。实时扩展环境的开发者往往需要多方面综合考虑专有环境的可用性。这对于使用者来说是一个不小的挑战,因为用户们可能需要重新学习并使用该 Windows 实时扩展的专有环境来开发实时应用程序。开发人员必须依靠实时内核或环境的供应商提供的功能来决定要实现的功能,有时可能会耗费大量时间调试,甚至最终可能导致功能的缺失。
盟通科技推出的 LxWin 的优势就在于,开发人员根本不需要理会 Linux 内核配置和构建, LxWin 附带的 Linux 内核已经提供补丁、配置和硬实时内核的测试功能,最终可以实现非常短的Cycle time,最短可低至50微秒。Linux的优势除了作为实时内核之外,Linux 本身带来的可用优势也有很多,如:Socket 套接字接口,完整的 POSIX API,用户空间/内核空间隔离,多任务处理和多进程等复杂功能。
当今市场上,几乎所有的硬件的驱动程序都适配 Linux系统,这意味着开发人员无需等待供应商实现或发布特定的驱动程序。另外,借助 Linux 可以使用大量的软件库、协议栈和中间件(包括开源代码和封闭源代码的商业产品):C++ STL、Boost、Corba、OPC / UA、DDS、AVB / TSN、EtherCAT、PROFINET、基于软件的 PLC、运动控制库、CNC解决方案等等。
盟通科技推出LxWin 附带的所有 Linux 组件代码也是开源的。如有需要,客户可以深入调试内核,即 LxWin 的客户可以获得整个 Linux 源代码的解决方案,以确保其对软件的最大控制权。同EC-Win一样,Lxwin完全支持研发人员使用 Microsoft Visual Studio进行实时应用程序的软件开发和调试工作。