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

news2024/11/17 7:47:20

目录

第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软件环境下进行开发与调试。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PXE-网络批量装机

目录 【1】安装dhcp、tftp-server、httpd、syslinux、关闭防火墙、挂载镜像 【2】配置dhcp服务 【3】配置tftp服务 【4】拷贝pxe服务器的相关文件到tftp的根目录 【5】创建pxelinux.cfg文件 【6】配置httpd 【7】Kickstart自动化文件 【8】重启所有服务 【9】验证 【1…

C#对DataGridView控件的常用操作

1998年我开始接触Powerbuilder 6.5之前,使用过FoxPro 2.5B和Visual Base 5,比较而言,对数据库应用的开发,FoxPro 2.5B对开发人员很友好,开发程序速度快,Visual Base 5则几乎没有多少的优势,用上…

webpack5搭建与基本配置

webpack基础构建 新建文件夹进入文件夹查看是否安装node,命令:node-v创建package.json文件,命令:npm init -y安装webpack和webpack-cli,(命令自动创建出package-lock.json文件和node_modules文件夹&#x…

残差网络(ResNet) -深度学习(Residual Networks (ResNet) – Deep Learning)

在第一个基于cnn的架构(AlexNet)赢得ImageNet 2012比赛之后,每个随后的获胜架构都在深度神经网络中使用更多的层来降低错误率。这适用于较少的层数,但当我们增加层数时,深度学习中会出现一个常见的问题,称为消失/爆炸梯度。这会导…

MachineLearningWu_6_FeatureScaling

x.1 feature scale 接下俩我们将考虑数据的不一致性,例如有的数据的范围很大,可能分布在好几千,但是我们的weight矩阵最好是在[-1, 1]的小数,如果数值太大就会导致我们的weight变化也很大,如下面这个例子就并不好&…

编译型语言和解释型语言的区别

1.操作系统怎么识别编程语言 计算机能识别二进制数,但是无法识别编程语言,比如你把 01000001100通过相关手段输入计算机中计算机就能识别其中的含义并且执行对应的命令,但是你输入 print(hello world)计算机就无法识别其含义,这就…

基于springboot+mybatis-plus+mysql+vue音乐网站管理系统

基于springbootmybatis-plusmysqlvue音乐网站管理系统 一、系统介绍1、系统主要功能:2.涉及技术框架:3.项目说明: 二、功能展示三、其它系统四、获取源码 一、系统介绍 1、系统主要功能: 音乐播放 用户登录注册 用户信息编辑、头…

4. PS切图

4.1常见的图片格式 jpg图像格式: JPEG ( .JPG )对色彩的信息保留较好,高清,颜色较多,我们产品类的图片经常用jpg格式的gif图像格式 : GIF格式最多只能储存256色,所以通常用来显示简单图形及字体,但是可以保存透明背景和动画效果,实际经常用于一些图片小动画效果png图像格式&am…

Tomcat 线程池

目录 概述 tomcat线程池工作原理 关键源码 Connector 配置 Executor 线程配置 tomcat核心组件(题外) 概述 Tomcat 是一个流行的 Java Web 服务器,它使用线程池来处理客户端请求。线程池是一组预先创建的线程,用于执行并发任…

FreeRTOS ~(七)互斥量 ~ (1/3)互斥量解决互斥缺陷

前情提要 FreeRTOS ~(四)同步互斥与通信 ~ (2/3)互斥的缺陷 FreeRTOS ~(五)队列的常规使用 ~ (2/5)队列解决互斥缺陷 FreeRTOS ~(六)信号量 ~ (2/…

Android Camera2 获取RAW数据

这边文章主要记录下在Android系统上,如何通过Camera2 API去拿到RAW数据,也是当个备忘。 平时我们拿实时预览数据,更多的是获取yuv数据。一般涉及到raw域算法在APP层实现的时候,我们才会用到获取raw数据。 APP上集成Raw算法的思路…

【CSDN新星计划】初阶牛C/C++赛道——顺序程序设计(运算符和表达式)

目录 🍉2.运算符和表达式 2.1 C运算符 2.2基本的算术运算符 2.3自增( )自减( - - )运算符 2.4算术表达式和运算符的优先级与结合性 2.运算符和表达式 2.1 C运算符 C语言提供了以下运算符: (1)算术…

印度反垄断机构偏袒亚马逊,谷歌对滥用安卓市场地位罚款提出质疑

根据路透社消息,谷歌指控印度反垄断机构在其安卓系统调查中对亚马逊持偏袒态度,并向印度最高法院提起诉讼,对其关于滥用安卓市场地位的罚款提出质疑。 印度竞争委员会(CCI)最近要求谷歌改变商业模式,称谷歌…

结合具体场景举例说明chatgpt预训练模型中Tokenization的原理

假设我们有一个场景,Alice想向Chatbot询问一部电影的推荐。她发送了一条消息:“你好,能给我推荐一部好看的电影吗?” 在这个场景中,Chatbot使用了ChatGPT预训练模型。首先,Chatbot需要对Alice的消息进行Tok…

【力扣周赛】第 108 场双周赛

文章目录 Q1:6913. 最长交替子序列思路竞赛时代码代码优化 Q2:6469. 重新放置石块思路竞赛时代码 Q3:6923. 将字符串分割为最少的美丽子字符串解法1—— dfs回溯 剪枝 判断解法2——动态规划 Q4:6928. 黑格子的数目代码优化 成绩…

Jenkins持续集成

文章目录 Jenkins介绍Jenkins的特征 Jenkins架构Gitlab安装1. Gitlab代码托管服务器安装2. Gitlab添加组、创建用户、创建项目 jenkins安装安装JenkinsJenkins插件管理Jenkins用户权限管理Jenkins凭证管理安装Git插件和Git工具设置SSH免密登录 Maven安装和配置JenkinsDockerspr…

【数据结构】栈和队列详解

⭐️ 往期相关文章 ✨链接1:数据结构和算法的概念以及时间复杂度空间复杂度详解 ✨链接2:【数据结构】手撕顺序表 ✨链接3:【数据结构】手撕单链表 ✨链接4:【数据结构】双向带头循环链表 ⭐️ 栈和队列 🌠 栈 栈是…

react-native项目手机预览

初始化项目 使用 expo 初始化 react-native 项目,https://reactnative.cn/docs/environment-setup 运行项目 执行 start 命令运行项目 拿起你的iPhone手机,安装 expo APP,https://expo.dev/client 或者到 APP store 搜索下载。下载完成之…

基于TCP协议的聊天系统TCP-ChatSystem

基于TCP协议的点对点聊天系统 网络协议:TCP 聊天形式:点对点 所用技术:socket、多路转接、线程池、互斥锁、条件变量、MFC等。 功能点:注册、登录、添加好友、聊天等。 实现示意图 客户端登陆注册消息流转图: 客…

【MATLAB第54期】基于LSTM长短期记忆网络的多输入多输出滑动窗口回归预测模型

【MATLAB第54期】基于LSTM长短期记忆网络的多输入多输出滑动窗口回归预测模型 往期第13期已实现多输入单输出滑动窗口回归预测 本次在此代码基础上,新增多输出滑动窗口功能。 多输入单输出滑动窗口回归预测 一、实现效果 往期文章提到了对单列时间序列数据进行滑…