全球电机网

微信扫一扫

微信小程序
天下好货一手掌握

扫一扫关注

扫一扫微信关注
天下好货一手掌握

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

   2023-11-22 730
导读

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

实时系统的作用

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

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

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

  答案是运用实时系统。

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


  ProCon NoTime:实时.NET执行环境

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


  1.开箱即用

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


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


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

  2.实时的用户程序响应

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


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


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


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

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

  3.实时通讯

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


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


  对于贴合绑定、检测设备和叠片设备等来说,稳定的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分配算力,造成用户程序的卡顿。


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


 
(文/小编)
 
反对 0 举报 0 收藏 0 打赏 0 评论 0
0相关评论
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:https://www.qqdj.wang/news/show-2146.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2023上海普利世通数字技术有限公司

沪ICP备2023016534号-1