勇哥注:
这篇引用自公众号:机器之心ProU,介绍了一款软卡的功能。
其中介绍实时系统的需求与应用案例,讲得是比较好的,转载下来供大家参考。
一、对实时系统的需求
不断发展的全球化和消费者们对随需随取的数据的需求,以及持续在线、传感器全面覆盖等现实需求,正推动着数据的创建、收集和分析。据IDC(Internet Data Center)预估,到2025年,将有79.41 ZB的数据被创建,其中近30%的数据将需要实时系统进行实时处理。
对机器人、高端制造业、医疗和高精度过程控制(如石油、天然气和电力)业务来说,实时处理非常重要。这些行业依赖实时数据处理, 以不断提高安全性、效率和可靠性。而确保这些行业的实时处理数据的一个关键因素是,系统能够实时调度工作任务, 优先响应、管理和执行实时工作任务。
例如,现代汽车制造商依靠机器人在生产线上的协同工作来组装汽车。机器人传递零件、钻孔或焊接,或执行安全检查,所有这些任务都需要精确和连续的处理。在这个用例中,实时系统不仅必须能够在已经设定的、可预测的时间范围内处理数据,还必须确保关键任务(如安全相关任务)在不太关键的任务之前完成。
那么,数字化驱动的行业如何确保数据按照设计的时间和方式来处理呢?答案是运用实时系统。
二、什么是实时系统
实时系统”指具有硬件和软件组件的信息处理系统,这些硬件和软件组件执行实时应用程序功能,并能在可预测和特定时间限制内响应事件。实时系统的常见示例包括空中交通控制系统、过程控制系统和自动驾驶系统。
以下为实时系统的一些功能:
功能 | |
精确的时间控制 | 实时系统专用于执行确保要在精确的周期期限内执行的任务(低至微秒) |
更好的可预测性和可靠性 | 由于实时系统在已设定的、可预测的时间范围内处理数据,因此任务或工作负载的执行实际上是有保证的,从而提高了业务关键的可靠性 |
实时工作负载的优先级 | 当特定的实时工作负载必须在设定的截止时间内完成以避免严重的系统故障时,将某些工作负载优先于其他工作负载的能力至关重要。实时系统应具有这种调节工作负载或设定任务优先级的能力 |
三、实时系统的分类
为了使实时系统能够进行实时计算,它必须满足两个要求:
1. 及时性:在特定时间内产生预期结果的能力。
2. 同步性:协调独立时钟协同工作和同步执行的能力。
在评估实时系统时,技术团队可以衡量系统在完成事件或任务时的可预测性。通过检查系统的以下方面,可以进一步评估可预测性:
1. 延迟:两次任务之间的时间。
2. 计算抖动:两次计任务算之间的延迟变化。
实时系统的另一个重要特征是,它们能够并行执行实时和非实时工作负载,以避免严重的系统故障。
最后,了解实时系统通常如何分类的是非常重要的。基于时间约束,它们被指定为软实时系统或硬实时系统。软实时是指即使无法在指定时间内执行,系统仍能继续运行。如果系统错过了最后期限也不会导致严重后果。因为尽管输出质量不理想, 系统也可以继续运行。
然而,在某些行业,如机器人、汽车、公用事业和医疗保健,对同步、时序和最坏情况下的执行时间保证有更高的要求。这些例子属于硬实时分类。硬实时是指如果错过截止时间,系统将停止运行,这可能导致灾难性后果。
四、实时系统的应用
1.过程控制系统
过程控制系统用于连续生产且不会发生中断的工业应用中。这些系统通过测试流程、收集相关数据,并返回数据进行监控和可能的故障排除,帮助企业保持质量并提高性能。石油和天然气行业的公司作为过程控制系统的重要用户,往往能感受到实时系统从提高效率, 更安全地运行设施,到减少停机时间和损失带来的价值。
2.机器视觉
机器视觉用于帮助机器快速分析数据,以便它们能够看到周围环境,并根据视觉输入快速做出决策。这些机器通常是确保生产持续进行或关键流程继续进行的关键。实时系统有助于确保这类机器能够近乎实时地处理数据
3.机器人技术
机器人技术被用于各种复杂的应用,其中许多应用需要精确的时间控制,以确保安全的工作负载执行以及持续工作的能力。由于实时计算和处理的需要,实时系统是机器人操作系统的重要组成部分。
4.制造业
面向未来的制造商依靠从实时应用程序中获得的实时信息来避免产品质量问题,提高效率和性能,并最终获得竞争优势。嵌入式或基于PC的实时系统可以帮助制造商最大限度地提高生产率,提高产品质量和一致性,并增强工厂的安全性。
5.医疗保健和患者监测
医疗保健中数据处理的速度往往意味着生死之别。实时系统在维护患者的安全健康上的关键作用是,确保临床医生能够随时随地获取到来自患者监测系统(如心率监测器)的数据。
五、ProCon NoTime的功能
2022年ProU团队发布的ProCon NoTime组件, 使客户能够把程序运行在硬实时系统上, 以实现精确、稳定的执行, 并同时保持传统基于.NET on Windows的使用习惯。且任务周期和优先级都可由用户自行设定, 任务调度最高精度500μs, 对比目前行业常见的运动控制卡或软控产品来说,用户机器的稳定性和性能将往前迈出坚实的一步。
且基于ProCon机器控制平台, 机器控制能够更进一步具备硬实时系统的稳定性和通用操作系统的高算力和开放性。
六、ProCon NoTime的原理
ProCon NoTime组件是一个在硬实时系统上架构的.NET环境, 支持C#、VB.NET等语言开发的机器逻辑、运动、通讯、视觉程序。
用户只需要将.NET环境下的机器控制程序根据需求划分为希望实时系统执行的的程序部分和非实时系统执行的程序部分(比如HMI界面,MES系统交互等程序模块并没有必要运行在实时系统上的),系统会将用户希望实时系统运行的部分程序自动拷贝到基于实时系统的.NET环境下运行。
七、适合ProCon NoTime的应用场景
1. 中断快速任务
比如来自外部的数字量输入信号,需要尽快触发一个任务;或者是在计算任务完成后尽快触发一个数字量输出。如测试、分选设备完成被测物体放置后,需要快速开启测试任务,在获得测试结果后尽快输出一个数字量信号。基于ProCon NoTime的机器程序将不受Windows的影响,确保系统在1ms内可以响应用户设定的任务。保持测试周期的稳定,并提高机器产能。以传统运动控制卡为控制方案的机器程序运行在Windows中,会对机器的稳定性和产能产生不利影响。
2. 全闭环力控应用
在不少半导体封装测试设备中,核心工艺是高速、精密的搬运环节(Pick and Place),精确的力控是重要的工艺需求。全闭环的力控系统需要控制器快速、稳定地读取力传感器的信息,并完成力的闭环计算。高速、稳定的力控环计算需要基于实时系统,以保证最佳的力控精度。
3. 飞行拍摄
在3C应用中各类组装设备、叠片机、Mini LED固晶机广泛应用。基于ProCon NoTime,图像处理结果传送到运动系统则完全没有延迟,得以提升飞行拍摄的稳定性和效率。而传统的运动控制卡方案,视觉计算之后将结果传送给运动控制卡并开始运动控制,这个环节的每一步都需要Windows参与任务调度,并受到Windows抖动的影响,造成机器稳定性的下降。
正在研发中的NoTime Vision,将图像算法也运行在实时系统中,在验证项目中展示了惊人的视觉对位速度。
4. 安全应用与高价值产品保护
基于PC的传统控制方案,因为大部分用户机器控制程序运行在Windows上,因此当Windows受到病毒影响,或者是其他高算力任务需求执行时,机器控制的稳定性大幅度降低。甚至在由于软件原因导致的Windows蓝屏状态下,机器实际上处于失控的状态。这也是基于PC的控制系统相对于PLC来说最大的稳定性短板。
而基于硬实时系统的ProCon的运行并不依赖于Windows,即使Windows蓝屏之后用户机器依然处于受控状态。可以继续执行关键的保护和安全任务,避免人员或产品的损失。

