目录
第1章 Windows操作系统
1.1 简介
1.2 Windows架构
第2章 工业Windows操作系统
2.1 简介
2.2 常见的工业Windows操作系统版本
2.3 定制化工业Windows
第3章 EtherCAT实时Windows方案
3.1 实时Windows的缘由
3.2 总体框架
3.3 ROS2方案
3.4 方案1:使用实时驱动程序
3.5 方式2:使用独立CPU Core调度
3.5.1 INtime® for Windows
3.5.2 acontis EC-Win
第1章 Windows操作系统
1.1 简介
Windows是由微软公司开发的一系列操作系统。
它是目前全球使用最广泛的桌面和服务器操作系统之一。
Windows操作系统的版本包括Windows 10、Windows 8、Windows 7、Windows Vista、Windows XP等。
以下是Windows操作系统的一些特点:
-
用户友好性:Windows操作系统以其直观的用户界面和易于使用的功能而闻名。它提供了可视化的桌面环境,使用者可以通过点击图标、拖放文件等简单的操作与系统进行交互。
-
多任务处理:Windows系统支持多任务处理,允许用户同时运行多个程序和应用程序。用户可以在后台同时进行多项任务,提高了工作效率。
-
软件兼容性:由于Windows市场份额大,许多软件和应用程序都针对Windows平台进行开发。这使得用户能够轻松获得各种应用程序,并享受广泛的软件兼容性。
-
硬件支持:Windows操作系统提供了广泛的硬件支持。它可以适用于各种硬件设备,如个人电脑、笔记本电脑、平板电脑、服务器等,支持不同的处理器架构和外设设备。
-
安全性:微软公司不断努力提高Windows操作系统的安全性。它提供了内置的防病毒和恶意软件保护功能,并定期发布安全更新和补丁,以保护用户的系统免受潜在的安全风险。
-
多媒体功能:Windows操作系统通常内置了强大的多媒体功能,包括音频、视频播放和编辑工具,以及图像处理和游戏支持。用户可以轻松地享受多媒体内容和娱乐体验。
需要注意的是,不同版本的Windows操作系统可能具有不同的功能和特点。某些版本可能更适用于个人用户,而另一些版本则更适用于企业用户或专业用户。因此,在选择Windows操作系统时,需要根据自己的需求和用途来做出决策。
1.2 Windows架构
以下是Windows操作系统的图形化显示架构示意图:
--------------------------------------------------
| 用户界面(UI) |
--------------------------------------------------
| Windows Shell | 应用程序 |
--------------------------------------------------
| Windows 窗口管理器 |
--------------------------------------------------
| 图形设备接口(GDI) |
--------------------------------------------------
| 显示驱动程序(Display Driver) |
--------------------------------------------------
| 图形硬件(Graphics Hardware) |
--------------------------------------------------
图中的各个组件说明如下:
-
用户界面(UI):用户界面是用户与Windows操作系统进行交互的部分。它包括桌面、任务栏、窗口、图标等可视化元素,以及用户输入设备(如键盘、鼠标、触摸屏)和输出设备(如显示器)。
-
Windows Shell:Windows Shell是用户界面的外壳,它提供了桌面环境、开始菜单、任务栏等常见UI元素。用户可以通过Windows Shell启动和管理应用程序、文件和系统设置。
-
应用程序:应用程序是运行在Windows操作系统上的软件。它们通过用户界面与用户进行交互,执行各种任务,如文字处理、电子邮件、网页浏览等。
-
Windows窗口管理器:Windows窗口管理器负责管理和控制窗口的显示和操作。它确保窗口的位置、大小、层叠和最小化/最大化等行为符合用户的期望。
-
图形设备接口(GDI):图形设备接口(GDI)是Windows操作系统用于绘制和渲染图形的图形库。它提供了API和功能,允许应用程序以图形方式显示文本、图像和图形元素。
-
显示驱动程序(Display Driver):显示驱动程序是连接操作系统和图形硬件之间的软件层。它负责将GDI的图形指令转化为图形硬件能够理解和显示的信号。不同的图形硬件可能需要特定的显示驱动程序。
-
图形硬件(Graphics Hardware):图形硬件是计算机系统中的物理设备,包括显卡、GPU(图形处理单元)和显示器。它们协同工作,通过接收和处理来自显示驱动程序的信号来显示图形内容。
通过这样的架构,Windows操作系统能够提供丰富的图形化用户界面和良好的图形性能,实现各种图形操作和交互。
第2章 工业Windows操作系统
2.1 简介
工业Windows是一种专门为工业控制和自动化领域设计的Windows操作系统。
它通过在标准Windows操作系统的基础上进行适应和优化,以满足工业环境中对可靠性、实时性和安全性的高要求。
下面是工业Windows系统的一些特点:
-
实时性能:工业Windows系统具有更高的实时性能,可以处理和响应实时任务。它优化了系统资源的分配和调度,以确保关键任务能够按时完成。
-
长期支持(LTS):工业Windows系统通常提供长期支持,包括定期的安全补丁和软件更新。这对于长期运行的工业设备和系统非常重要,以确保其稳定性和可靠性。
-
工业通信协议支持:工业Windows系统广泛支持各种常用的工业通信协议,如OPC(OLE for Process Control)、Modbus、Ethernet/IP等。这使得工业设备和系统能够与其他设备和系统进行数据交换和通信。
-
防护和安全性:工业Windows系统在安全性方面提供了额外的功能和保护层。它们具有防火墙、用户身份验证、数据加密和访问控制等安全措施,以保护工业网络和系统的安全。
-
工业相关应用支持:工业Windows系统支持各种专业工业应用程序和工具,如SCADA(Supervisory Control and Data Acquisition)系统、PLC(Programmable Logic Controller)编程软件、HMI(Human Machine Interface)软件等。
-
硬件兼容性:工业Windows系统支持广泛的硬件设备,包括各种传感器、执行器、控制器和外围设备。它们具有良好的硬件兼容性,并能与各种工业设备和系统进行集成。
总之,工业Windows系统是为满足工业控制和自动化领域的特定需求而设计的定制化Windows操作系统。它具有优化的实时性能、安全性和通信能力,可在工业环境中提供可靠而高效的操作和控制。
2.2 常见的工业Windows操作系统版本
-
Windows Embedded Standard(嵌入式windows):这是微软早期推出的工业Windows版本,基于Windows XP或Windows 7的内核开发。它提供了丰富的工业功能和API接口,适用于各种工业控制和自动化应用。
-
Windows Embedded Compact:也被称为Windows CE,是面向嵌入式系统的Windows操作系统。它具有小型化、实时性能和硬件兼容性等特点,适用于低功耗和资源有限的工业设备。如windows手机。
-
Windows 10 IoT Enterprise:这是基于Windows 10的工业物联网操作系统。它提供了先进的安全性功能和现代化的用户界面,并支持各种工业设备和应用程序。
-
Windows Server:Windows Server是适用于服务器环境的Windows操作系统。它提供了可靠性、可扩展性和安全性,适用于大规模工业控制和数据管理应用。
-
Windows 11 IoT Enterprise:这是最新发布的Windows IoT企业版操作系统,基于Windows 11桌面版。它具有现代化的用户界面和增强的安全性,适用于工业物联网和自动化领域。
需要注意的是,每个工业Windows版本都有特定的功能和适用范围。在选择工业Windows操作系统时,需要根据实际需求、硬件兼容性和软件支持等因素进行评估和选择。
此外,一些工业应用也可能使用定制的特定版本的Windows操作系统,以满足特定的工业需求和标准。
2.3 定制化工业Windows
是针对特定工业应用需求进行定制和优化的Windows操作系统版本。
这种定制化可以通过以下方式实现:
-
硬件驱动定制:根据特定的工业设备需求,定制硬件驱动程序以确保其他设备和传感器与Windows操作系统完美兼容。这包括开发或适配定制的设备驱动程序,以确保设备和系统的稳定性和性能。
-
实时性能优化:针对实时性要求高的工业控制和自动化应用,对Windows操作系统进行实时性能优化。这可能涉及对调度算法、中断处理、资源分配等方面进行调整,以实现更好的实时性能和响应能力。
-
安全性增强:针对工业环境中的安全需求,定制化工业Windows可以提供额外的安全功能和防护层。这包括数据加密、访问控制、安全认证等安全措施,以提高系统的安全性。
-
特定应用支持:针对特定的工业应用需求,定制化工业Windows可以预装或支持特定的工业应用程序和工具。这包括SCADA系统、PLC编程软件、HMI界面等,以提供更好的集成和工作环境。
-
系统稳定性保障:为了确保工业系统的稳定性和可靠性,定制化工业Windows可以进行系统稳定性测试和优化。这包括解决系统崩溃、内存泄漏、软件兼容性等问题,以提高系统运行的可靠性和稳定性。
定制化工业Windows能够满足特定的工业需求,并提供更好的性能、可靠性和安全性。这种定制化通常由专业的工业自动化和控制系统供应商或Windows集成商进行,根据具体场景和需求进行定制和交付。
第3章 EtherCAT实时Windows方案
3.1 实时Windows的缘由
在Windows系统中,仅需使用一块标准以太网卡即可运行EtherCAT主站协议栈。即Windows系统下配置EtherCAT主站不需调用特殊的接口网卡,可以直接运行在内置于主板中的板载以太网控制器或低成本的外部标准网卡上。
当然,Windows并不是一个实时操作系统(RTOS),这意味着用户难以确保实现EtherCAT周期时间具有的确定性、稳定性和实时快速等特性。虽然EtherCAT在Windows上能够实现大于10毫秒的更新频率,但即使这些相对较慢的周期时间也难以保证用户能顺利稳定地实现,也因此,通常情况下,用户无法在该系统内使用EtherCAT的分布式时钟(DC)功能。
一个提高Windows性能的思路是把Windows网络驱动程序替换为商业公司,提供的实时以太网驱动程序,通过替换驱动程序并使用商业公司提供的优化驱动程序来消除Windows网络协议栈的影响。这个思路让软实时行为的实时性得到了很大改善,进而能够在系统中使用分布式时钟功能。但是,该方案仍然缺少确定性,因此,不建议在生产过程中使用。
另一个更好的思路是同时运行普通Windows和实时操作系统,如EC-Win。
EC-Win 指的是一种使用acontis公司 提供的实时虚拟机管理程序的相关技术技术,同时在Windows 和 RTOS系统运行的硬实时解决方案,从而可以创建出速率快、确定性好、且基于硬实时行为的EtherCAT应用程序,其更新速率可以达到20kHz(50毫秒)。
3.2 总体框架
3.3 ROS2方案
ROS2是开源的机器人操作系统,架载在其他操作系统之上:
一方面提供机器人编程环境,
另一方面也为ROS应用程序提供一个实时、分布式通信的中间件系统,如下图所示。
ROS并没有对Windows进行改造和优化,因此ROS的实时性,很大程度还收到Windows非实时性调度的影响。
其他实时Windows方案,都是有商业化公司,针对特定的工业应用,提出了自己的整套的解决方案,比如Windows实时性优化 + EtherCat主站。
3.4 方案1:使用实时驱动程序
为了实现更快的更新速度,我们用acontis内核模块EcatDrv和优化的实时以太网驱动程序来取代标准的Windows调度和网络驱动程序。
EcatDrv 内核模块提供从用户空间直接访问物理网络控制器所需的权限。这样就可以发送和接收EtherCAT帧,而无需在两者之间使用任何Windows软件。
采用这种方案的结果是降低了 CPU 负载,减少了抖动,规避了其他的网络通信过程所产生的不利后果。
更新速率的体系结构:> = 1 毫秒(难以保证)
3.5 方式2:使用独立CPU Core调度
基本思想是:
(1)采用独立的CPU Core,混合操作系统
(2)非实时性的UI应用程序,运行在Windows操作系统环境下。
(3)实时性的数据处理应用程序,运行在实时Linux操作系统环境下。
(4)EC-Win负责通过TCP/IP通信协议在Windows和Linux操作系统之间跨操作系统平台发送数据。
3.5.1 INtime® for Windows
INtime® for Windows是TenAsys公司提供的一款实时操作系统(RTOS)软件,专为在Windows操作系统上提供硬实时性能而设计。它允许在Windows环境下实时运行应用程序,并保证了实时控制和响应能力。
INtime在PC机环境,把部分Core隔离出来,专用与实时性处理。
INtime® for Windows提供了以下主要特点和功能:
-
实时性能:INtime® for Windows能够在Windows操作系统上实现硬实时性能,具有微秒级的响应时间和精确度。它提供了可靠的时钟和调度机制,保证应用程序能够按时执行,并与外部设备实时通信。
-
可靠性和稳定性:INtime® for Windows具有高度的可靠性和稳定性,能够在长时间运行和负载变化的情况下保持可预测的性能。它采用了先进的调度算法和资源管理机制,确保各个任务之间的优先级和相互干扰问题。
-
Windows集成:INtime® for Windows是在Windows操作系统上运行的,可以与Windows应用程序进行无缝集成。它与Windows共享硬件接口、文件系统和网络协议栈,支持与Windows程序之间的数据交换和通信。
-
多核支持:INtime® for Windows具备多核和多处理器的支持,可在多个核心上分配和运行实时任务。它还提供了优化的多核调度机制,以实现任务的有效利用和性能最大化。
-
开发工具和环境:INtime® for Windows提供了强大的开发工具和环境,包括调试器、性能分析器、配置工具等。它与常用的开发工具集成,如Visual Studio,方便开发人员进行应用程序的开发、调试和测试。
INtime® for Windows广泛应用于许多实时控制和嵌入式系统领域,如工业自动化、机械控制、航空航天、医疗设备、交通运输等。它为在Windows环境下需要实时控制和可预测性能的应用提供了可靠的解决方案。
3.5.2 acontis EC-Win
把RTOS Linux系统和Windows系统结合起来将在Windows上获得最佳的实时性能。
Acontis提供了一个可以同时运行在Windows和实时Linux(RT-Linux)上的基于Windows的实时管理程序。结合EC-Master,我们可以调用这套完整的解决方案来在Windows上实现EtherCAT。(EC-Win)
借助 EC-Win,EtherCAT 主站协议栈关联的EtherCAT应用程序可在 RT-Linux 上运行,从而实现高达20 kHz(50 微秒)的更新速率的硬实时性能。此外,acontis 还提供了为 Linux系统优化的实时以太网驱动程序,进一步提高了 EtherCAT 的整体性能。
通过acontis的实时管理程序,Windows和RT-Linux被安全地分开,从而为实时Linux应用程序(包括EtherCAT)提供保护,使其免受Windows系统故障的影响。
虽然该方案存在有操作系统层面的拆分,对于Windows上的应用程序和实时Linux系统上的应用程序,用户仍然都可以在用户更为熟悉的Microsoft的Visual Studio软件环境下进行开发与调试。