BLOG

RTTasks 简介:EtherCAT 运动和 I/O 的实时编程

March 12, 2025

RTTasks 简介:EtherCAT 运动和 I/O 的实时任务

实时控制系统在现代工业自动化中起着至关重要的作用,使机器能够即时响应传感器反馈,精确同步多个轴,并果断地执行任务。尽管这些系统很重要,但传统上对这些系统进行编程需要专业知识,这通常会导致复杂、昂贵和耗时的开发周期。

RSI 的新软件功能, 实时任务,直接解决了这一挑战,简化了实时编程,使机器制造商和软件开发人员能够比以往任何时候都更快地创建强大、响应迅速的工业系统。

什么是实时任务?

从本质上讲, 实时任务 是一个创新的软件框架,允许开发人员轻松编写和执行自定义实时 RapidCode 旁边 RMP EtherCAT 主机和运动控制器。实时任务可简化实时用户逻辑(例如传感器处理、自定义控制回路或复杂逻辑)在确定的预定环境中的执行。

开发人员无需费力处理低级实时操作系统 (RTOS) 调用或手动管理线程同步和资源共享,只需将其实时功能定义为简洁、结构化的 C++ 函数(称为 RTTasks)即可。然后,实时任务自动管理线程创建、调度、同步和通信,从而提供工业自动化所需的可预测性和一致性。

为什么实时编程传统上很困难?

由于严格的定时和同步要求,实时编程历来需要深厚的专业知识。开发人员通常必须管理复杂性,例如:

  • 线程管理:确保线程按设定的间隔精确执行而不会受到干扰。
  • 优先级和日程安排: 管理优先级,使关键任务可以毫不延迟地运行。
  • 同步和资源共享:安全地跨线程处理数据,不会造成竞争条件或死锁。
  • 调试复杂性:在标准调试工具下,实时代码的行为通常有所不同,这使故障排除变得复杂。

这些挑战经常将实时控制局限于具有丰富实时操作系统知识的专业工程师,从而增加了项目时间和成本。

实时任务如何简化实时编程

实时任务,RSI 引入了一种简化的方法,可以抽象出大部分复杂性,使软件开发人员和工程师能够专注于核心应用程序逻辑,而不是底层基础架构。

主要简化包括:

  • 自动线程管理:该框架自动处理线程的创建和实时调度,确保确定性时序。
  • 内置调度和优先级处理:任务以精确的时间间隔自动执行,开发人员可以通过简单的 API 调用来设置优先级,从而避免手动优先级管理的复杂性。
  • 简化的数据通信:实时任务和非实时客户端软件之间的线程安全通信通过直观的全局变量处理。这些变量可确保一致和安全的数据交换,无需手动锁定或复杂的同步逻辑。
  • 增强的调试支持:实时任务使开发人员能够先在 Windows 上使用熟悉的调试工具(如 Visual Studio)在非实时模式下测试实时逻辑,然后再以实时模式进行部署。这显著提高了故障排除的效率。

一个实际的例子:实时传感器反馈

想象一下在 CNC 加工或 3D 打印设备中使用的基于激光的高度传感器。传统的非实时控制回路可能会引入明显的延迟或抖动,从而降低精度和性能。和 实时任务,开发人员可以轻松创建确定性的实时反馈回路:

  1. 传感器读取:每个实时任务周期每毫秒精确读取一次来自高度传感器的数据(典型周期速率为 1 kHz)。
  2. 实时处理:数据在相同的确定性周期内即时处理,例如过滤或平均读数。
  3. 立即调整动作:轴位置在下一个周期中即时调整,提供流畅、准确的实时校正。

以前,创建这样的响应能力需要大量的特定于 RTOS 的知识或定制的硬件解决方案。现在,实时任务通过简单的 C++ 函数和简化的 API 来启用此功能。

支持的平台和 API

实时任务支持多个平台,进一步增强了开发人员的灵活性和集成可能性:

  • 操作系统:在 Windows(使用 InTime 实时子系统)和 Linux(使用 PREEMPT_RT)上运行,支持在首选平台上部署。
  • 编程语言:任务以 C++ 实现以实现最佳性能,但可以通过 RSI 的 RapidCode API 从 C#、Python 或其他支持的语言无缝集成控制和管理。

与其他解决方案的比较

与基于RTOS的传统解决方案甚至RapidCode RT(RSI早期的实时编程方法)相比,实时任务显著降低了进入门槛。与需要购买专业开发套件或 SDK 的解决方案不同,Real-Tasks 具有内在的简单性、更高的生产力,并最终降低总拥有成本。

实时任务入门

将实时任务集成到您的工业自动化项目中非常简单:

  1. 写下你的实时逻辑 就像简洁、简单的 C++ 函数一样。
  2. 编译你的任务 使用 RSI 提供的适用于 Windows 或 Linux 的工具。
  3. 在 RMP 上部署任务 通过实时任务管理器。
  4. 监控和调试任务 使用熟悉的工具,例如 Visual Studio 或 RapidSetup 的内置诊断工具。

结论

RSI 的实时任务功能代表了工业自动化市场的一项有意义的创新。通过简化实时编程的复杂性,它使机器制造商、自动化工程师和软件开发人员等能够在没有大量实时系统专业知识的情况下构建功能强大、响应迅速的机器。

无论您是在开发先进的机器人、精密数控机床、包装系统还是复杂的测试设置,实时任务都能帮助您轻松可靠地实现强大、确定性的实时控制。

准备好改变您的实时编程方法了吗?
立即联系 RSI 以了解更多信息 实时任务 并了解我们如何帮助加快您的下一个工业自动化项目。

在这个页面上

今天开始开发!

1000+ 客户已经在我们的产品和团队的帮助下实现了自动化