发布时间:2023-05-15
众所周知,Windows 操作系统实时性差,不适合在实时性要求高的应用场景使用。
于是,不少厂商为挽留 Windows 用户,并能继续使用 Windows 强大的图形化界面,纷纷推出基于 Windows 环境的实时应用。
这里,我们要先排除一个误区,即 Windows 下的实时扩展并不能使 Windows 本身改造成为实时操作系统(RTOS),而是通过专有实时环境与 Windows 并行(有时甚至嵌入到 Windows 中)来实现实时功能扩展。
然而,并非所有的 Windows 实时扩展使用的方式都相同,实时扩展环境的开发者往往需要多方面综合考虑专有环境的可用性。
这对于使用者来说是一个不小的挑战,因为他们必须重新学习并使用该 Windows 实时扩展的专有环境来开发实时应用程序。
此外,他们必须依靠实时内核或环境的供应商提供的功能来决定要实现的功能,有时可能会耗费大量时间调试,甚至最终可能导致功能的缺失。
Acontis 最新的 Windows 实时扩展解决方案 LxWin 与传统 Windows 实时扩展的工作原理不同,它提供了一种新颖的替代方案,可以给需要运行实时应用程序的用户一个更好的选择。
首先,LxWin 在实时应用程序和非实时 Windows 之间使用了一种更加高效的隔离方法。
LxWin 没有使用专有的 RTOS 或实时环境,而是在 hypervisor 环境之上嵌入了 Linux 硬实时内核。与传统的实时扩展相比,hypervisor 环境至关重要,可确保与 Windows 更好的隔离。
此外,LxWin 使用开源 Linux 作为RTOS,而非专有 RTOS,这是一项关键因素。
在过去的几年中,Linux 已成为工业实时应用中使用最广泛的操作系统。这意味着开发人员可以使用开源社区为 Linux 提供的所有流行工具和软件包,无需学习新的特殊RTOS。
在 Windows 实时扩展中,将 Linux 用作 RTOS,对于需要实时行为的工业应用来说是非常合适的。
最初,实时Linux 开发工作是由Open Source Automation Development Lab(OSADL)驱动的,AMD、英特尔、宝马、罗氏、Phoenix Contact 和 KUKA 等主要公司都是该组织的成员。
2016年,随着实时 Linux 的开发变得越来越流行,Linux 基金会接管了该项目,将主线 Linux 内核本身变为实时操作系统(有关更多信息,请参见 Real Time Linux 项目网站)。
由于 Acontis 所处的独特地位,使得我们可以看到工业应用上使用最广泛的操作系统的趋势。
今天,我们的 EtherCAT Master 软件EC-Master 支持超过25种不同的操作系统,它通常需要在实时操作系统中运行才能获得最佳的性能,其中Linux 是最受欢迎的选择。
如下图所示,在所有使用 EC-Master 客户中,超过35%的人使用 Linux,并且越来越多的新客户选择Linux,我们希望这一比例会继续增加。
除了 EtherCAT 应用程序,现在整体的工业市场中也正有这种大趋势。越来越多的机器设备、运动控制、机器人控制、PLC、半导体制造设备以及测试解决方案的全球领先供应商都已经开始实施 Linux-RT,其他传统的实时操作系统逐步被取代。
当然,将 Linux 用于实时应用程序仍然存在着一些挑战,最困难的任务之一是为实时行为配置 Linux 内核。
在将主线 Linux 内核完全实现为实时内核之前,开发人员必须为内核打一些补丁并重新配置内核以实现实时性。这些补丁通常称为 RT-PREEMPT,补丁的数量往往不止一个,但也并非所有补丁都必须。
Acontis LxWin 的优势就在于,开发人员根本不需要理会 Linux 内核配置和构建, LxWin 附带的 Linux 内核已经提供补丁、配置和硬实时内核的测试功能,最终可以实现非常短的周期时间,可低至50微秒。
除了作为实时内核之外,Linux 本身带来的可用优势也有很多,如:Socket 套接字,完整的 POSIX API,用户空间/内核空间隔离,多任务处理和多进程等复杂功能。
当今市场上,几乎所有的硬件都可以使用 Linux 的驱动程序,这意味着开发人员无需等待专有的实时扩展平台的供应商实现或发布特定的驱动程序。
另外,借助 Linux 可以使用大量的软件库、协议栈和中间件(包括开源代码和封闭源代码的商业产品):C++ STL、Boost、Corba、OPC / UA、DDS、AVB / TSN、EtherCAT、PROFINET、基于软件的 PLC、运动控制库、CNC解决方案等等。
当然,由于 Linux 的开源的性质,Acontis LxWin 附带的所有 Linux 组件代码也是开源的。如有需要,客户可以深入调试内核,即 LxWin 的客户可以获得整个 Linux 源代码的解决方案,以确保其对软件的最大控制权。
最后,使用 LxWin 的开发人员无需放弃他们偏爱的 Microsoft 开发环境,这意味着使用 Microsoft Visual Studio 完全支持实时应用程序的软件开发和调试。
本文所用图片出自本公司合作伙伴德国Acontis公司所提供的资料,版权归合作伙伴德国Acontis公司所有。