简介
工业4.0已经到来,生产线需要新技术来应对客户日益增长的新功能需求,使用配备嵌入式 Linux 的单板计算机来处理所需的许多功能是大势所趋。这样大多数工业控制系统都需要实时性能,开发人员不得不面对这样一个事实:Linux原本并不适用于实时环境。不过多年来很多人都在尝试让Linux实现实时运行,如今PREEMPT_RT有助于获得一些实时功能。
计算系统提供不同的时间响应,公司需要谨慎选择合适的硬件设备,在更新系统之前,他们需要了解一些实时性能方面的数值测量,以估计新设备是否足够强大。本文介绍对嵌入式Linux的不同设备进行实时应用基准测试的技术。
动机
工业 4.0
工业4.0是用来描述第四次工业革命概念的术语:新工业化进程背后的主要理念是建立相互关联的生产线。第四次工业革命影响到自动化、数据交换和计算系统方面的制造技术,当然,在这一创新理念中,还将面临新的计算、通信和自动化技术问题,以满足日益增长的需求。
工业 4.0 趋势的主要支撑是物联网和云计算,这些技术也有助于实现智能工厂的新概念。
在新型智能工厂中,网络物理系统通过物联网技术监控物理过程,从而保证设备之间以及设备与人类之间的通信与合作。
工业 4.0 概念背后的主要设计原则可归纳如下:
- 互操作性
机器、设备、传感器和人之间相互连接和通信的能力,通常由物联网提供支持。
- 信息透明度
系统创建物理数据虚拟副本的能力,以便利用传感器数据增强模型。
- 技术辅助
这是指系统通过支持人类的机制实现自我辅助的能力,通过汇总和可视化信息,快速做出决策并尽快解决紧急问题。此外,还可以增加在人们工作期间为其提供支持的能力,以减少不安全情况的发生,或在人们从事过于繁重的工作时为其提供建议。
- 分散决策
系统自主决策的能力,尽可能自主地执行任务。
如上所述,工业4.0的主要理念是将机器和系统连接起来,创建智能网络,其中的设备可以自主地相互控制,收集有用的数据并采取相应行动,以防止意外事件的发生并提高生产率。
工业4.0的应用实例包括:设备可以自主预测故障,触发维护流程以避免经济损失;系统可以自组织物流,对客户要求的意外变化做出反应。
迄今为止,在所谓的第三次工业革命中,网络和流程的连通性仅限于一家工厂。而随着工业4.0概念的提出,这些界限将不复存在,事实上,多个工厂将不受地域限制地相互连接。因此,在工业4.0工厂中,除了已在使用的监控和故障诊断方法外,由于整合了来自世界各地不同工厂的信息,设备将能够自我预测问题和健康状况。工业4.0所提供的所有这些特性和功能都对其实施提出了新的挑战。特别是对于计算机行业来说,很容易发现以下问题:
- 安全问题:由于许多设备相互连接,很容易出现安全违规和信息隐藏方面的挑战。
-可靠性和稳定性问题:为了使设备正常工作并达到预期要求,必须始终遵守相关规定,例如,必须为需要实时运行的应用程序提供设备和系统,以保证毫无例外地满足时间要求。 - 灵活性和适应性问题:由于技术发展非常迅速,因此需要有灵活的设备和系统来尽快满足客户的要求。
要求。 - 计算能力:为了能够分析海量数据,需要具有良好存储能力的强大设备来处理这些数据。
总之,工业4.0概念改进了许多系统功能,提供了令人着迷的特性,然而,为了满足客户的要求并保持合格,我们将面临影响许多不同学科的新技术挑战。正如本论文所理解的,在各种计算机挑战中,实时行为导致的可靠性问题将是主要挑战,然而,由于使用了适应性强的开源解决方案,灵活性和适应性问题也将得到间接解决。
参考资料
- 软件测试精品书籍文档下载持续更新 https://github.com/china-testing/python-testing-examples 请点赞,谢谢!
- 本文涉及的python测试开发库 谢谢点赞! https://github.com/china-testing/python_cn_resouce
- python精品书籍下载 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
工业控制系统的演变
通用工业控制系统(ICS Industrial Control Systems)
ICS多种类型的系统,其主要目标是使用仪器来管理工业流程。这些系统包括设备、网络和控制装置,用于在物理过程进行持续监控,操作并自动化。综合控制系统广泛应用于许多行业和领域,例如:电力、交通、化工、制药、食品和饮料、汽车、航空航天、电子产品、水、石油和天然气。
ICS有多种架构,但最常见的是监控和数据采集(SCADA Supervisory Control and Data Acquisition)系统和分布式控制系统(DCS Distributed Control Systems)。这些系统通常使用 PLC 实现。
下图显示了控制系统的基本结构。当然,这个基本模型只是一个示例,有助于理解更复杂的实际系统是如何工作的。
一般来说,综合控制系统包括传感器、执行器、操作界面和逻辑控制装置。
传感器测量物理特性,如温度、强度、速度等,然后将这些信息转换成电信号,在需要时由控制逻辑读取;执行器设备根据控制器提供的信息执行相应的操作;操作员(或用户)界面是机器与人进行交互的地方;最后,逻辑设备控制所有机器操作并决定要做的动作,即控制器读取来自操作员和传感器的输入,然后阐述这些信息并向执行器发送信号。
ICS 的特点是周期性执行,在一个时间段内最重要的宏观步骤是
- 输入采集
- 控制算法执行
- 输出执行
通过这些步骤,工业控制系统可以周期性地持续管理复杂的物理过程。
在处理这类系统时,重要的是要注意所谓的阐述时间,即执行控制算法所需的时间。
事实上,控制系统只有在正确的时间产生正确的结果时才能正常工作,也就是说,它必须计算出正确的结果,但更重要的是,它必须遵守其最后期限。
工业控制系统的历史
当ICS开始计算机化时,需要能够处理这些系统的特殊设备:尤其是PLC,自20世纪70年代末发明以来,一直是工业领域的主要支持设备。
可编程逻辑控制器 (PLC Programmable Logic Controller)
PLC可以被看作是:"一种工业数字计算机,经过加固,适用于生产过程的控制,如装配线、机器人设备或任何需要高可靠性控制的活动"。就其特性而言,它可以被视为硬实时系统的完美范例,因为:它必须在明确规定的时间内根据输入产生输出,否则就会出现非预期结果。
PLC推动了第三次工业革命的到来,使工业系统以计算机为基础。由于PLC能够适应不同的使用情况,因此一直是许多领域使用的可靠而灵活的设备。
多年来,计算机行业开始发展,个人计算机(PC)也开始应用于工业领域,这场革命也影响到了PLC,随着时间的推移,PLC也在不断发展,但发展速度较慢。事实上,PLC生产商在设计自己的专用集成电路(ASIC)时更倾向于使用旧技术,而不是计算机市场上已经使用的新技术。
虽然PC的发展速度快于PLC,但它们的架构和可靠的实时操作系统的缺失在很大程度上影响了不让它们执行控制操作的选择。因此,控制领域被认为是属于PLC的,因为可靠性是生产的必要条件,在生产中,由于控制系统的错误行为而造成的哪怕是很小的延迟,都会对生产成本产生很大的影响。
比如封盖设备停止正常工作时,例如,瓶子没有盖好,生产线就必须停止,以便将错误的瓶子取出,然后重新启动生产线,当然,所有这些都是非常昂贵的,应该尽可能避免。
虽然PC并不用于控制目的,但由于其良好的计算能力,在工业领域得到了广泛应用,特别是用于人机界面 (HMI Human Machine Interface) 和处理复杂的计算。
之所以需要使用PC,是因为早期的PLC依靠按钮和指示灯来提供操作界面。然而,随着时间的推移,用户控制和监控界面变得越来越复杂,需要使用更新的机制。也就是说,PLC 在许多方面都需要与人互动,例如
因此,仅靠一些按钮和发光二极管(LED Light Emitting Diodes)已经不够了。
总之,PC和PLC都已应用于工业领域,例如例如:通过通信接口与 PLC相连的成型机用于提供图形用户界面 (GUI),用户可通过图形用户界面与系统进行交互,而 PLC 则负责处理需要实时执行的控制算法。
随着分布式架构的普及和多设备的使用,新的通信协议被引入到设备间的数据交换中,有时,使用的通信协议成为真正的开放标准协议,如Modbus、Ethercat等。事实上,再举一个同样的例子,PLC和负责运行人机界面的 PC 需要相互通信,以便用户界面对系统状态做出相应的反应。
如今的趋势是使用嵌入式系统,这些系统凭借其强大的计算能力,能够将不同的功能整合到单一设备中,如SBC。这些新的一体化设备结合了不同的功能,例如,可编程逻辑控制器和人机界面服务可以在一个设备中同时运行,即图形用户界面和控制算法在同一个嵌入式系统硬件上运行。
1.2.3 集成多种功能的工业控制系统
多年来,工业系统不断发展,功能不断扩大,并形成了新的架构。如今,几乎所有设备在智能化和接口方面都在不断发展,例如:新的简易设备、网络功能和处理I/O的主要目标(降低布线复杂性)已经问世并投入使用。
虽然连接到独立PLC的PC一直是工业自动化系统的标准,但如今情况正在发生变化,几乎每个领域都出现了新的一体机概念。比如新型智能电视。它将过去由许多设备提供的不同功能结合在一起,因此,如今只需一台具备多种功能的设备就能取代过去使用的各种组件。在这种特定情况下,选择一体化系统是因为它方便、简单、体积小,或者仅仅是因为不再有单独的组件。
回到 ICS,如今的一体化设备必须具备许多功能,例如
- 包括触摸屏在内的人机界面。
- PLC
- 网络接口和连接功能。
- 各种类型的 I/O。
- 安全功能。
- 数据存储和管理
- 报警和状态通知。
最显著的变化是在操作界面和控制器层面,以前由不同设备提供的功能已合并到单个设备中。
除了已经完成的工作外,新的一体化设备还将处理工业4.0概念所要求的所有新功能,当然,还包括选择不同的设备。
供应商推广这些新型单板计算机设备的原因有很多,例如
- 降低价格:单个设备比多个设备更便宜。
- 体积减小:一个设备取代多个系统,所需空间也随之减小。
- 使用方便:由于同一设备可用于多种功能,因此可在同一开发环境中实现大多数功能。
- 减少布线:设备越少,需要的电缆越少。
- 缩短产品上市时间:由于使用方便,产品上市时间可以大大缩短。
- 功能不断增加:更新的设备提供了许多新功能。
例如,人机界面和 PLC 之间的通信由于两个软件在同一台机器上运行而变得更加简单。对此,Maple Systems的工程经理 Sam Schuy 说:"当 PLC 和人机界面合二为一时,只需要一个编程软件就可以对 PLC 功能和人机界面功能进行编程。从学习曲线的角度来看,它缩短了学习如何使用和编程产品所需的时间"。
下表对集成设备与传统分离式实施之间的主要区别进行了比较:
这些新型一体化设备的诞生意味着要重新评估系统应做什么以及它到底能做什么。事实上,尽管技术在不断发展,新系统的功能也比过去强大得多,但综合布线系统必须充分满足其要求,才能取得成效。因此,在统一设备的概念中,需要考虑将多种功能集成到一个设备中产生的问题。
1.3 混合临界系统和异构设备
上节中介绍的一体化设备及其存在的问题很容易被认为属于混合临界系统(MCS)。
事实上,根据定义,混合临界系统是由硬件和软件组件组成的系统,必须执行一定数量的具有不同临界度的应用程序,即系统必须提供具有不同紧急程度的多种功能。通常情况下,MCS是通过嵌入式计算设备实现的,这些设备负责在同一硬件上运行具有不同关键性的指定功能,而这些硬件必须共享计算和/或通信资源。
虽然最常见的MCS属于功能安全概念,但也存在其他混合临界度系统,它们可能需要运行具有不同紧迫性的功能,如ICS。事实上,功能的临界等级并不仅仅取决于其安全等级,它还会受到许多因素的影响,例如:可靠性、可用性、完整性和安全性。因此,即使 MCS 最明显的用途是飞机和汽车等安全关键型系统,但 ICS 也可被视为属于 MCS 的范畴,因此在此也将予以讨论。
就ICS而言,各公司都在努力通过提供更新的功能和服务来保持领先地位,例如创新的人机界面(HMI)就使用了触摸屏显示器,提供华丽的图形用户界面(GUI)。此外,工业控制系统的复杂性也在不断增加,系统配备了多个传感器和执行器,以提供工业4.0概念所引入的附加服务。除了这些额外的功能和服务,集成控制部分的一体化设备也在不断涌现,这尤其要归功于处理器功率的提升。
具体而言,由于MPSoC,处理器的功率也在不断提高。因此,如今许多功能都可以在同一芯片上运行,但这一趋势也提高了MCS的复杂性,因为有些功能的运行必须遵守严格的时间限制,以使系统正常运行。因此,有些功能的优先级要高于其他功能,而且由于使用了 MPSoC,情况会变得更加复杂。
MPSoC
是由多个处理器和内核组成的片上系统(SoC multiple processors and cores System on chip)。由于具有低成本、高性能、高能效和低面积等特点,它们通常以嵌入式应用为目标。
MPSoC可包含多个组件:处理元件、存储器、I/O元件、网络模块、安全内核,它们互连相互连接,为多媒体、电信、安全和工业应用提供所需的性能。
MPSoC也越来越多地用于实时应用,即其行为不仅取决于其功能,还取决于其响应时间。
通常情况下,在MPSoC中运行实时应用程序会引发MCS问题,因为必须共享可用资源,才能执行关键程度不同的各种任务。当然,在MPSoC中共享资源会导致延迟增加的原因有很多,这里仅总结其中一些:
- 转换旁路缓冲区(TLB Translation Lookaside Buffer)未命中:在使用内存管理单元(MMU Memory Management Unit)和虚拟地址与物理地址分离的系统中,TLB可帮助快速将虚拟地址转换为物理地址,起到缓存的作用,将已转换的最常用地址存储在缓存中。因此,由于不同的内核会执行不同的应用程序,在执行实时任务时,TLB 的缺失会导致意想不到的延迟。
- 处理器缓存:通常,缓存在CPU和主内存之间提供高速缓冲,但特别是在多核设备上,缓存共享很容易导致更大的延迟。
- 总线争用:片上总线用于让不同 SoC的外设进行通信:但例如,当内存传输直接通过直接内存访问(DMA)外设进行时,用于移动数据的通道与 CPU 共享,这取决于可用带宽,可能会减慢某些任务的执行速度。因此,总线争用是MPSoC中非确定性的来源,会导致延迟增加。
综上所述,MPSoC 确实是一种功能强大的设备,可以将不同的应用集成到单个SoC中。然而,正如我们已经预料到的那样,MPSoC 内部的资源共享可能会导致实时应用程序错过最后期限。
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!