[工业互联-16]:工业Windows操作系统与实时性方案

目录

第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操作系统的一些特点:

  1. 用户友好性:Windows操作系统以其直观的用户界面和易于使用的功能而闻名。它提供了可视化的桌面环境,使用者可以通过点击图标、拖放文件等简单的操作与系统进行交互。

  2. 多任务处理:Windows系统支持多任务处理,允许用户同时运行多个程序和应用程序。用户可以在后台同时进行多项任务,提高了工作效率。

  3. 软件兼容性:由于Windows市场份额大,许多软件和应用程序都针对Windows平台进行开发。这使得用户能够轻松获得各种应用程序,并享受广泛的软件兼容性。

  4. 硬件支持:Windows操作系统提供了广泛的硬件支持。它可以适用于各种硬件设备,如个人电脑、笔记本电脑、平板电脑、服务器等,支持不同的处理器架构和外设设备。

  5. 安全性:微软公司不断努力提高Windows操作系统的安全性。它提供了内置的防病毒和恶意软件保护功能,并定期发布安全更新和补丁,以保护用户的系统免受潜在的安全风险。

  6. 多媒体功能:Windows操作系统通常内置了强大的多媒体功能,包括音频、视频播放和编辑工具,以及图像处理和游戏支持。用户可以轻松地享受多媒体内容和娱乐体验。

需要注意的是,不同版本的Windows操作系统可能具有不同的功能和特点。某些版本可能更适用于个人用户,而另一些版本则更适用于企业用户或专业用户。因此,在选择Windows操作系统时,需要根据自己的需求和用途来做出决策。

1.2 Windows架构

以下是Windows操作系统的图形化显示架构示意图:

--------------------------------------------------
|                  用户界面(UI)                   |
--------------------------------------------------
|        Windows Shell       |       应用程序       |
--------------------------------------------------
|              Windows 窗口管理器              |
--------------------------------------------------
|                   图形设备接口(GDI)                  |
--------------------------------------------------
|          显示驱动程序(Display Driver)          |
--------------------------------------------------
|                   图形硬件(Graphics Hardware)               |
--------------------------------------------------

图中的各个组件说明如下:

  1. 用户界面(UI):用户界面是用户与Windows操作系统进行交互的部分。它包括桌面、任务栏、窗口、图标等可视化元素,以及用户输入设备(如键盘、鼠标、触摸屏)和输出设备(如显示器)。

  2. Windows Shell:Windows Shell是用户界面的外壳,它提供了桌面环境、开始菜单、任务栏等常见UI元素。用户可以通过Windows Shell启动和管理应用程序、文件和系统设置。

  3. 应用程序:应用程序是运行在Windows操作系统上的软件。它们通过用户界面与用户进行交互,执行各种任务,如文字处理、电子邮件、网页浏览等。

  4. Windows窗口管理器:Windows窗口管理器负责管理和控制窗口的显示和操作。它确保窗口的位置、大小、层叠和最小化/最大化等行为符合用户的期望。

  5. 图形设备接口(GDI):图形设备接口(GDI)是Windows操作系统用于绘制和渲染图形的图形库。它提供了API和功能,允许应用程序以图形方式显示文本、图像和图形元素。

  6. 显示驱动程序(Display Driver):显示驱动程序是连接操作系统和图形硬件之间的软件层。它负责将GDI的图形指令转化为图形硬件能够理解和显示的信号。不同的图形硬件可能需要特定的显示驱动程序。

  7. 图形硬件(Graphics Hardware):图形硬件是计算机系统中的物理设备,包括显卡、GPU(图形处理单元)和显示器。它们协同工作,通过接收和处理来自显示驱动程序的信号来显示图形内容。

通过这样的架构,Windows操作系统能够提供丰富的图形化用户界面和良好的图形性能,实现各种图形操作和交互。

第2章 工业Windows操作系统

2.1 简介

工业Windows是一种专门为工业控制和自动化领域设计的Windows操作系统。

它通过在标准Windows操作系统的基础上进行适应和优化,以满足工业环境中对可靠性、实时性和安全性的高要求。

下面是工业Windows系统的一些特点:

  1. 实时性能:工业Windows系统具有更高的实时性能,可以处理和响应实时任务。它优化了系统资源的分配和调度,以确保关键任务能够按时完成。

  2. 长期支持(LTS):工业Windows系统通常提供长期支持,包括定期的安全补丁和软件更新。这对于长期运行的工业设备和系统非常重要,以确保其稳定性和可靠性。

  3. 工业通信协议支持:工业Windows系统广泛支持各种常用的工业通信协议,如OPC(OLE for Process Control)、Modbus、Ethernet/IP等。这使得工业设备和系统能够与其他设备和系统进行数据交换和通信。

  4. 防护和安全性:工业Windows系统在安全性方面提供了额外的功能和保护层。它们具有防火墙、用户身份验证、数据加密和访问控制等安全措施,以保护工业网络和系统的安全。

  5. 工业相关应用支持:工业Windows系统支持各种专业工业应用程序和工具,如SCADA(Supervisory Control and Data Acquisition)系统、PLC(Programmable Logic Controller)编程软件、HMI(Human Machine Interface)软件等。

  6. 硬件兼容性:工业Windows系统支持广泛的硬件设备,包括各种传感器、执行器、控制器和外围设备。它们具有良好的硬件兼容性,并能与各种工业设备和系统进行集成。

总之,工业Windows系统是为满足工业控制和自动化领域的特定需求而设计的定制化Windows操作系统。它具有优化的实时性能、安全性和通信能力,可在工业环境中提供可靠而高效的操作和控制。

2.2 常见的工业Windows操作系统版本

  1. Windows Embedded Standard(嵌入式windows):这是微软早期推出的工业Windows版本,基于Windows XP或Windows 7的内核开发。它提供了丰富的工业功能和API接口,适用于各种工业控制和自动化应用

  2. Windows Embedded Compact:也被称为Windows CE,是面向嵌入式系统的Windows操作系统。它具有小型化、实时性能和硬件兼容性等特点,适用于低功耗和资源有限的工业设备。如windows手机。

  3. Windows 10 IoT Enterprise:这是基于Windows 10工业物联网操作系统。它提供了先进的安全性功能和现代化的用户界面,并支持各种工业设备和应用程序

  4. Windows Server:Windows Server是适用于服务器环境的Windows操作系统。它提供了可靠性、可扩展性和安全性,适用于大规模工业控制和数据管理应用

  5. Windows 11 IoT Enterprise:这是最新发布的Windows IoT企业版操作系统,基于Windows 11桌面版。它具有现代化的用户界面和增强的安全性,适用于工业物联网和自动化领域

需要注意的是,每个工业Windows版本都有特定的功能和适用范围。在选择工业Windows操作系统时,需要根据实际需求、硬件兼容性和软件支持等因素进行评估和选择。

此外,一些工业应用也可能使用定制的特定版本的Windows操作系统,以满足特定的工业需求和标准。

2.3 定制化工业Windows

是针对特定工业应用需求进行定制和优化的Windows操作系统版本。

这种定制化可以通过以下方式实现:

  1. 硬件驱动定制:根据特定的工业设备需求,定制硬件驱动程序以确保其他设备和传感器与Windows操作系统完美兼容。这包括开发或适配定制的设备驱动程序,以确保设备和系统的稳定性和性能。

  2. 实时性能优化:针对实时性要求高的工业控制和自动化应用,对Windows操作系统进行实时性能优化。这可能涉及对调度算法、中断处理、资源分配等方面进行调整,以实现更好的实时性能和响应能力。

  3. 安全性增强:针对工业环境中的安全需求,定制化工业Windows可以提供额外的安全功能和防护层。这包括数据加密、访问控制、安全认证等安全措施,以提高系统的安全性。

  4. 特定应用支持:针对特定的工业应用需求,定制化工业Windows可以预装或支持特定的工业应用程序和工具。这包括SCADA系统、PLC编程软件、HMI界面等,以提供更好的集成和工作环境。

  5. 系统稳定性保障:为了确保工业系统的稳定性和可靠性,定制化工业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提供了以下主要特点和功能:

  1. 实时性能:INtime® for Windows能够在Windows操作系统上实现硬实时性能,具有微秒级的响应时间和精确度。它提供了可靠的时钟和调度机制,保证应用程序能够按时执行,并与外部设备实时通信。

  2. 可靠性和稳定性:INtime® for Windows具有高度的可靠性和稳定性,能够在长时间运行和负载变化的情况下保持可预测的性能。它采用了先进的调度算法和资源管理机制,确保各个任务之间的优先级和相互干扰问题。

  3. Windows集成:INtime® for Windows是在Windows操作系统上运行的,可以与Windows应用程序进行无缝集成。它与Windows共享硬件接口、文件系统和网络协议栈,支持与Windows程序之间的数据交换和通信。

  4. 多核支持:INtime® for Windows具备多核和多处理器的支持,可在多个核心上分配和运行实时任务。它还提供了优化的多核调度机制,以实现任务的有效利用和性能最大化。

  5. 开发工具和环境: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软件环境下进行开发与调试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/35744.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Sumifs函数(excel)

SUMIFS 函数是一个数学与三角函数,用于计算其满足多个条件的全部参数的总量。excel如何使用Sumifs函数? 工具/原料 联想ThinkPad X1 windows7 WPS office2021 方法/步骤 首先运行office软件,打开一份表格,今天我们要计算以“…

ASL-QPSO|改进量子粒子群自适应算法及其实现(Matlab)

作者在前面的文章中介绍了量子粒子群算法,量子粒子群算法不但继承粒子群算法的优点,还有它自身计算模型更加简洁,控制参数更少等更加突出的优势,但依然存在着一定的局限性。 例如也会存在着早熟收敛的问题,随着迭代次数…

Android oss policy上传

OSS Policy方式上传 一、 流程对比1.1 普通上传1.2 服务端签名后直传 二、获取上传的policy签名配置三、请求OSS上传文件四、调用应用服务器接口同步文件五、关于上传OSS报错注意事项六、附送链接 一、 流程对比 1.1 普通上传 缺点: 上传慢:用户数据需…

OpenCloudOS社区开源,助力软件开发

早前红帽宣布限制源代码访问性的政策,并解释说RHEL相关源码仅通过CentOS Stream公开,付费客户和合作伙伴可通过Red Hat Customer Portal访问到源代码,由此也导致非客户获取源码越来越麻烦, 据了解,CentOS是红帽发行的…

设计模式之责任链模式

文章目录 1、基本介绍2、包含角色3、场景推导4、责任链模式的优缺点5、使用场景 1、基本介绍 王二狗本来是干Android开发的,最近公司想让他把IOS的活也干了,但是Windows笔记本不能开发IOS,所以二狗提出买一台Mac笔记本电脑。这花钱的事需要领…

用android studio 测试发行包

在google play 发行app,需要用bundle,而不是apk。 bundle 比apk 要小很多,比如我的app-release.aab 29,736 KB, 而app-release.apk 是62,305KB。这就是少了一半多。但是apk 直接复制就可以安装,bundle 需要上传google…

前置微小信号放大器怎么用

前置微小信号放大器是一种用于将微弱信号从传感器转换成足够强度的信号以便更好地进行检测和处理的设备。它主要应用于各种传感器领域,例如温度传感器、压力传感器、光学传感器和生物传感器等。前置微小信号放大器的作用是提高信号的信噪比,减小噪声干扰…

Java类和对象

文章目录 什么是面向对象类的语法类的实例化 类和对象的关系this引用this引用的特性类的构造方法构造方法的特性 对象初始化的流程封装访问限定符包的概念常见的包 Staticstatic修饰成员变量static修饰成员方法 代码块的概念内部类内部类的特性 什么是面向对象 面向对象是解决…

Spring Cloud Alibaba 之 Nacos精讲

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

二次-InsCode Stable Diffusion 美图活动一期

模型: AbyssOrangeMix2 - SFW_Soft NSFW_AbyssOrangeMix2_sfw.safetensors 参数配置: 正:Mountains and seas, people 负:NSFW, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochr…

手把手教大家实现 npm 包,并发布 npm 仓库,搭建文档(二)

昨天写了第一篇文章,反响平平 一个 NPM 包,帮助数十万程序员提高数十倍效率,难道不开源出来?(一) 首先贴下我们的官网 【预览页】 https://kennana.github.io/toolkit-use/ 我们的推特 【toolkituse】 https://twitter.com/Toolkituse 我们的github 【toolkit-u…

【人工智能与机器学习】基于卷积神经网络CNN的猫狗识别

文章目录 1 引言2 卷积神经网络概述2.1 卷积神经网络的背景介绍2.2 CNN的网络结构2.2.1 卷积层2.2.2 激活函数2.2.3 池化层2.2.4 全连接层 2.3 CNN的训练过程图解2.4 CNN的基本特征2.4.1 局部感知(Local Connectivity)2.4.2 参数共享(Parameter Sharing)…

Django_类视图(五)

目录 类视图优点 使用方法 定义类视图 添加类视图路由 类视图原理 类视图的二次封装 类视图二次封装代码如下 编写视图 配置路由 访问url结果 源码等资料获取方法 类视图优点 使用django的函数视图,如果要让同一个视图实现不同的请求方式实现不同的逻辑…

unity3d 入门1

新建一个3D core项目; 自动新建一个示例场景,仅包含2个对象,一个主摄像机,一个方向光;在Hierarchy层次视图中看到如下;场景使用一个小立方体来表示,下面的对象也使用一个小立方体 表示&#xf…

dedecms后台数据库备份迁移流程

dedecms网站正常使用需要两部分,网站文件和数据库.两者缺一不可. dedecms上传网站文件后,还要导入数据库,如果您只有网站后台备份,没有其他格式sql备份文件,请按照下面流程重装dedecms,并操作恢复数据库 . 需要选确定/wwwroot/data/backupdata/下是否有对应备份 如不存在备份…

使用TypeScript实现贪吃蛇小游戏(网页版)

本项目使用webpackts所编写 下边是项目的文件目录 /src下边的index.html页面是入口文件 index.ts是引入所有的ts文件 /modules文件夹是用来存放所有类的 index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"…

FreeRTOS 低功耗模式设计 STM32平台

1. STM32F105RBT6 的三种低功耗模式 1.1 sleep睡眠模式、stop停机模式、standby 待机模式 1.2 STM32中文参考手册有介绍STM32 低功耗模式的介绍 2. FreeRTOS 采用的是时间片轮转的抢占式任务调度机制&#xff0c;其低功耗设计思路一般是&#xff1a; ① 当运行空闲任务&#…

第三章 SSD存储介质:闪存 3.1

3.1 闪存物理结构 闪存芯片从小到大依此是由&#xff1a;cell&#xff08;单元&#xff09;、page&#xff08;页&#xff09;、block&#xff08;块&#xff09;、plane&#xff08;平面&#xff09;、die&#xff08;核心&#xff09;、NAND flash&#xff08;闪存芯片&#…

C/C++指针从0到99(详解)

目录 一&#xff0c;指针的基础理解 二&#xff0c;指针的基本使用 三&#xff0c;为什么要用指针 四&#xff0c;指针与数组的联系 五&#xff0c;指针的拓展使用 1&#xff09;指针数组 2)数组指针 3&#xff09;函数指针 结构&#xff1a;返回类型 &#xff08;*p)…

算法的时间复杂度

算法的时间复杂度 什么是时间复杂度 时间复杂度是衡量算法执行时间随输入规模增长而增长的度量标准。它描述了算法运行时间与问题规模之间的关系&#xff0c;用于评估算法的效率和性能。 通常情况下&#xff0c;时间复杂度表示为大O符号&#xff08;O&#xff09;&#xff0…