0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于实时系统的.NET执行环境ProCon NoTime详解

控制工程中文版 来源:控制工程中文版 2023-08-25 14:49 次阅读

实时系统的作用

对于机器人、高端制造业、医疗和过程控制(石油、天然气和电力)业务来说,实时处理非常重要。这些行业依赖实时数据处理以不断提高安全性、效率和可靠性。而确保这些行业的实时处理数据的一个关键因素是,系统要能够实时调度工作任务, 优先响应、管理和执行实时工作任务。

例如,现代汽车制造商依靠机器人在生产线上的协同工作来组装汽车。机器人传递零件、钻孔、焊接,或执行安全检查,都需要精确和连续地处理。在这些应用中,实时系统不仅必须在已经设定的、可预测的时间范围内处理数据,还必须确保关键任务(如安全相关任务)在不太关键的任务之前完成。

那么,如何确保数据按照设定的时间和方式处理呢?

答案是运用实时系统。

实时系统一般会提供以下功能:

596908c4-42d9-11ee-a2ef-92fbcf53809c.png

ProCon NoTime:实时.NET执行环境

ProCon NoTime是基于实时系统的.NET执行环境,与Windows共同或独立运行在一般工业计算机上。安装ProCon NoTime之后,工程师可以用Visual Studio基于以往的习惯开发基于.NET语言(如C#,VB.NET等)的实时程序。

59b96904-42d9-11ee-a2ef-92fbcf53809c.png

1.开箱即用

基于目前市场常见的实时系统,在开发时都需要面对不少问题:内存管理、与现有开发工具的兼容性、实时系统SDK学习,以及后续稳定性和可维护性挑战。

而通过NoTime,工程师只需要将原本运行在Windows上的.NET机器控制程序,通过调用LoadNoTimeAPP接口等简易操作,就可放到实时系统中运行,这样工作重心就能转移到设备运控及逻辑程序本身,无需担心实时性的实现了。

5a30b888-42d9-11ee-a2ef-92fbcf53809c.png

同样的程序运行在NoTime和Windows中会有显著的不同,以下我们通过一些简单的实验来展示。

2.实时的用户程序响应

这是一个经常出现的现象,一个外部信号进入控制系统,用户希望收到信号之后立刻进行一些计算和判断,然后进行某种形式的输出。这类问题常见于各类视觉检测应用中。

物品运动的速度是200mm/s,假设收到外部信号后,需要进行1万次浮点数运算,计算完成之后伺服电机急停。我们把相同的程序分别运行在Windows和NoTime环境中。(详见视频

通过图中的曲线可以看到Windows和NoTime两种环境中的区别。

5b1b418c-42d9-11ee-a2ef-92fbcf53809c.png

由于Windows并不是硬实时操作系统,而NoTime 125μs高精度线程可以精确地执行用户程序,所以这个结果是符合预期的。但是与传统的实时系统不同,NoTime用户并不需要其他额外的实时系统开发成本和SDK购买成本,直接使用标准的C#语言就可以获得硬实时系统的效果。

这个实验中用到了ProCon YKCAT2— —是基于windows和NoTime的运动控制库,我们将在后续介绍。

3.实时通讯

不同于“虚拟机”,或者Windows设备驱动类实时系统,NoTime基于完整的实时操作系统,可以完全地管理PC的其他硬件。因此我们可以实现实时的PC与PC或PC与PLC的通讯。

5b66a758-42d9-11ee-a2ef-92fbcf53809c.png

相同的代码,基于NoTime的Socket通讯,比基于Windows的更加稳定和敏捷。

5b9c05a6-42d9-11ee-a2ef-92fbcf53809c.png

对于贴合绑定、检测设备和叠片设备等来说,稳定的PC通讯可以显著缩短设备的CT,提高稳定性。

4.蓝屏机器控制

因为NoTime与Windows安全隔离,所以即使Windows因为病毒,兼容性等原因蓝屏,NoTime依然可以稳定运行,使设备始终处于受控状态。可以继续执行关键的保护和安全任务,避免人员或产品的损失。(详见视频)

5.NoTime高精度线程:与PLC一样的确定性,但是算力更强

基于PC的控制系统算力一般较强,但是一般认为计算周期的稳定性要逊于PLC。基于NoTime 125μs高精度线程,用户程序在125μs周期内精确地执行。每个周期可以执行约1.3万次浮点数运算(基于i5-8500,单核心)这样就兼具了算力与运算周期稳定的优势。

我们采集了每125μs的浮点数计算量,其中Windows管理intel i5-8500的5个核心,NoTime管理intel i5-8500的1个核心。如下图可以看到两者的对比:Windows响应用户程序的算力并不稳定,有些周期只能计算数十次或没有算力资源,这类情况需要等待Windows分配算力,造成用户程序的卡顿。

5c6484d6-42d9-11ee-a2ef-92fbcf53809c.png

以上,就是NoTime— —基于实时系统的.NET 执行平台。通过NoTime,软件工程师可以几乎无门槛地进入实时世界,同时继续享用X86系统的高算力优势。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    211

    文章

    28405

    浏览量

    207016
  • WINDOWS
    +关注

    关注

    3

    文章

    3544

    浏览量

    88662
  • 操作系统
    +关注

    关注

    37

    文章

    6818

    浏览量

    123319
  • 实时系统
    +关注

    关注

    0

    文章

    38

    浏览量

    14469

原文标题:ProCon NoTime:开箱即用的实时.NET执行环境

文章出处:【微信号:控制工程中文版,微信公众号:控制工程中文版】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Windows CE .NET 4.2 产品概述

    Windows CE .NET 4.2 产品概述一、介绍Microsoft? Windows? CE .NET 是Windows CE 3.0 的后续产品,它不仅是一个功能强劲的实时嵌入式操作
    发表于 07-07 10:13

    STN32开发板应用详解——基于仓储环境监控系统

    。温湿度以MSP430单片机为主控核心,利用DHT21数字温、湿度传感器检测仓库及其周边环境的温、湿度。本系统实现了对仓库的实时监控,这样可以提高仓库维护的实时性和准确性,发现问题能够
    发表于 06-13 16:32

    基于仓储环境监控系统——详解stm32开发板应用

    。温湿度以MSP430单片机为主控核心,利用DHT21数字温、湿度传感器检测仓库及其周边环境的温、湿度。本系统实现了对仓库的实时监控,这样可以提高仓库维护的实时性和准确性,发现问题能够
    发表于 06-14 15:06

    NET Core IoT的环境配置

    张高兴的 NET Core IoT 入门指南:环境配置、Blink、部署
    发表于 05-08 13:20

    程序的翻译环境执行环境有何不同

    操作系统环境中,程序载入内存的操作一般有操作系统完成。在独立的环境中(单片机等),程序的载入由手工完成,将可执行代码植入只读内存程序
    发表于 02-28 06:57

    实时系统VxWorks下设备驱动程序的编写详解

    实时系统VxWorks下设备驱动程序的编写详解
    发表于 03-29 12:26 15次下载

    基于NET的挖掘机实时监测系统设计与实现

    介绍了如何基于.NET 实现对挖掘机的实时监控。该实时监控系统基于MVC 模式和B/S 模式,采用三层逻辑设计结构,利用.NET 组件设计技
    发表于 12-16 14:58 9次下载

    WindowsCE_NET实时性能的测试与研究

    WindowsCE_NET实时性能的测试与研究
    发表于 10-25 09:26 4次下载
    WindowsCE_<b class='flag-5'>NET</b><b class='flag-5'>实时</b>性能的测试与研究

    ARM程序的执行过程详解

    本文主要详解ARM程序的执行过程,首先介绍了ARM程序的组成及ARM映像文件的组成,其次阐述了ARM程序的执行过程,最后介绍了RO、RW、ZI到底是什么。
    发表于 04-26 11:34 7213次阅读

    单片机执行指令过程详解

    单片机执行指令过程详解单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行。
    发表于 11-17 09:36 19次下载
    单片机<b class='flag-5'>执行</b>指令过程<b class='flag-5'>详解</b>

    YKCAT2如何搭建NoTime基本程序框架

    大家好,通过前面的几次实验,相信大家已经看到了YKCAT2在NoTime模式下,相较于运动控制卡方案带来的设备效率和稳定提升。
    的头像 发表于 11-01 14:29 469次阅读

    介绍NoTime模式下的高精度线程

    NoTime是基于实时系统构建的.NET控制台开发框架,用户可以使用VisualStudio方便快捷地开发基于.NET语言的
    的头像 发表于 04-06 10:38 546次阅读

    软着陆技术在半导体和3C组装设备中的应用

    ProCon P&P模块的软着陆功能,通过与伺服驱动器的高性能交互,以及NoTime技术,实现了高性能且用户可以自定义逻辑的柔性软着陆应用。
    的头像 发表于 07-24 14:28 906次阅读
    软着陆技术在半导体和3C组装设备中的应用

    扬尘在线监测系统实时环境监测的利器

    环境污染已成为当今社会的一大难题。扬尘在线监测系统,能够实时定位污染源,及时采取有效措施,有效地解决环境污染威胁。 一、扬尘在线监测系统的重
    的头像 发表于 07-27 15:15 850次阅读

    基于优先级调度的嵌入式实时操作系统内核详解(下)

    基于优先级调度的嵌入式实时操作系统内核详解(下)
    的头像 发表于 09-06 12:46 887次阅读
    基于优先级调度的嵌入式<b class='flag-5'>实时</b>操作<b class='flag-5'>系统</b>内核<b class='flag-5'>详解</b>(下)