基于模型的CANopen系统设计:机电一体化

技术更新:机电系统设计的共存的多学科阻碍了面向软件的建模原则的使用,比如UML,但是现代工具可以集成到一个工作工具链中。(1 / 2部分)

通过海基·萨哈博士 2015年1月23日

基于模型的设计已经成为行业的主流,但它主要用于开发单个控制功能或设备,而不是整个控制系统。当前的机电一体化系统正变得越来越复杂,同时,对质量、上市时间和成本的要求也在上升。分布的系统越来越多,但开发通常是逐个设备完成的,没有系统结构的系统协调。使用书面文档管理分布式系统的方法导致了效率低下和接口不一致。不一致的接口导致了这样一种情况:设计人员编写新的软件组件比重用现有组件更容易、更快。另一个典型的情况是,在系统的集成测试期间必须执行重要的接口调整。基于这样的经验,需要在多学科之间建立标准化的、语义良好的接口[16]。

在典型的机电一体化系统中,多学科并存,没有一个学科占主导地位。设计工作的多学科性质使得很难利用专门面向软件开发的建模原则,例如统一建模语言(UML)或系统建模语言(SysML)[1]。研究表明,不可能创造出一种适用于所有学科的最佳工具;相反,现有的最先进的工具可以集成到一个工作工具链中。

传统的分布式自动化

在典型的分布式系统中,一个功能可以分为几个设备,一个设备可以服务多种功能。以节点为中心的开发可能很困难,因为在开发之前不知道确切的功能分布。由于测试能力有限,以应用为中心的开发和仿真的效率也有限[11]。以软件为中心的开发,没有彻底的系统级管理,会导致严重的接口不一致。管理通信接口的旧方法是将通信描述嵌入到应用软件中[5]。从历史上看,这适用于非常小的系统,其中每种类型的设备只有一个实例。当设备在系统中存在不止一次时,这种方法通常会导致设计工件的重用或配置管理过程的采用。

由于现有方法的低效率,基于模型的设计变得越来越有吸引力。尽管传统软件开发中的需求管理是以文档为中心的,但在某些情况下,下一个版本的需求是从前一个版本的源代码中收集的[18]。基于模型的设计可以减少当前方法产生的缺陷和浪费的工作。

逻辑结构和物理结构的单独设计在管理两个并行模型及其连接时带来了挑战,而不存在不一致,并且仍然允许不完整的模型[1]。此外,如果使用基于模型的概念设计,则可以手动将模型转换为代码,或者可以单独开发和测试控件应用程序,彼此独立。更系统化开发的主要动机可以在装配和服务过程中找到,而不是在开发过程中,因为它们具有更高的意义[3]。系统化的配置管理可以解决严重的问题,例如在系统组装和服务过程中[3]。在整个开发过程中都需要系统的配置管理[18]。

现有的建模方法

系统复杂性的增加需要在开发过程中增加系统化[10]。在传统过程的最后阶段发现的大多数缺陷是由过程早期阶段需求获取中的失败引起的[10][18]。使用仿真模型,规范到模型的验证以及模型到代码的匹配更容易[9],并且使用经过验证的工具自动生成代码使得自动代码验证成为可能,并将审查的焦点从代码转移到模型。从仿真模型自动生成代码可以改善特别是高完整性系统的开发[9][10][11]。仿真模型实际上是一个可执行的规范,可以从中生成某些文档[9][10][15][18]。通过验证基本块并最大限度地重用它们,可以以更低的努力实现更高的完整性[15]。符合相应的标准有助于达到所需的质量[15]。仿真模型还可以记录结构块之间的接口,提高一致性,实现并行和协同开发,提高整体效率[10][12][18]。

旧的过程产生旧的结果[18];新的开发方法,如基于模型的设计,改进了设计。通常需要新的过程和工具来实现最大的改进。使用现有的、受约束的设计的新工艺不会显示出好处,但是使用新的、更复杂的设计可以发现好处。需要一种分阶段的方法来提供学习曲线。能够保持现有代码与从模型生成的新代码兼容也是很重要的。设计重用是提高生产力的主要方法之一。在安全相关系统设计中,接口和行为的系统管理是强制性的[7]。而不是使用基于模型的工具作为现有过程和工具的单独覆盖,自动化接口需要在工具之间实现[18]。将基于模型的工具与现有遗留工具连接起来可能需要对工具的内置功能进行更改,从而增加维护、开发和升级工具链所需的工作量。

建模工具、范围

项目中使用了Simulink工具,因为它实际上是研究和工业中具有开放接口的建模工具。它还解决了在其他建模语言和方法中发现的大多数问题[1]。最重要的好处之一是支持动态模拟。与可执行UML等例子不同,Simulink模型可以用于软件以外的学科建模。模型可以简单地制作,并且只基于行为。通过调整逻辑模型的层次结构,可以将物理结构包含到模型中。如果需要,可以开发模型以涵盖改进的动力学。

由于机械自动化应用的上市时间和功能安全要求越来越长,更高的生产率和对模型验证和设计重用的支持成为使用Simulink的重要原因。特性包括链接到需求管理,模型分析,在设计过程中对连续模拟的支持,测试覆盖分析,以及批准的代码生成能力[17]。使用Simulink模型可以为各种目的有效地重用模型。

越来越多的人使用IEC 61131-3编程语言进行评估,因为它们很好地标准化了。由于一些IEC 61131-3语言被功能安全标准推荐,它们的使用,特别是在安全关键实现中,已经增加了[7]。最近发布了一种标准化的基于xml的代码导入和导出格式,进一步改进了系统设计过程。

所提出的方法与技术无关。之所以选择CANopen作为示例集成框架,是因为CANopen标准家族涵盖了系统管理过程和信息存储。它得到许多商业工具链的支持,这些工具链可以无缝集成。该管理流程满足安全相关控制系统设计的要求[7],并定义了CANopen接口在IEC 61131-3可编程设备[2]中的出现方式。为了达到功能安全目标,需要一个可管理的过程[7]。市场上也有各种类型的现成设备可供选择,可实现高效的工业制造和维护。特别是设备配置文件,可以帮助重用公共功能,而不是不断地开发它们。与其他集成框架相比,CANopen在组装和服务方面也提供了广泛的优势。

首先回顾相关的CANopen问题,以使读者能够理解使用所呈现的通信描述的过程。接下来,展示基本的建模原则。在介绍了建模原理之后,接着进行了模型中的通信接口描述以及应用程序接口和行为的导出。建模细节不在本文的讨论范围之内。

CANopen、建模

CANopen系统管理过程定义了从应用程序接口描述到备件配置下载的整个系统生命周期的接口管理。该过程的第一个任务是将应用软件参数和信号接口定义为一个或多个配置文件数据库(CPD)[4]。接下来,定义为电子数据表(EDS)文件的节点接口可以由定义的概要数据库组成。EDS文件用作dcf (device configuration file)的模板。这些文件是特定于系统位置的,定义了系统中完整的设备配置。dcf可直接用于装配和服务,作为设备配置存储[19]。除了dcf之外,系统设计工具还生成通信描述,作为事实上的通信数据库格式,它可以直接用于设备或系统分析。具有清晰可区分阶段的过程可以提高结果质量,因为在过程的每个步骤中需要涵盖的问题数量有限[11]。

由于信号和参数的性质不同[14],需要对它们进行不同的处理[4]。信号通过进程映像在网络和应用程序之间定期更新和路由[2][4]。流程映像包含专用对象范围,用于支持方向和最常见数据类型的变量。相同的信息可以作为不同的数据类型访问。信号通常作为绝对IEC地址连接到全局变量[2]。信号声明包括用于消费者端可信性和有效性监视的元数据和连接信息。元数据用于合理性检查和访问路径声明。所有相关的应用开发信息自动从CANopen项目导出到每个应用可编程设备的软件项目中。导出的通信描述可以支持监视、故障排除和快速控制原型(RCP)。完成的CANopen项目在装配和服务中自动为设备配置提供服务。

位于对象字典中的进程映像还服务于同一设备内的功能或应用程序之间的通信[8],并且可以由不同的现场总线共享[6]。CANopen并不一定需要进程映像之上的软件层。内部对象访问类型可以定义为RWx(读写访问),以实现生产者设备内部的双向访问。外部访问类型应定义为RWR(对进程输入进行读写),以使信息能够分发到网络。应该始终使用访问类型RWW(进程输出上的读写)来处理输入信号,因为它们可以被多个应用程序共享。

参数是控制软件行为的平稳变量;它们的值偶尔会改变,在CANopen系统中通常存储在每个设备的本地[2][4][14]。

应用程序可编程CANopen设备的参数必须始终位于对象字典中特定于制造商的区域。只有在包含设备配置文件兼容行为时才会出现例外。然后必须根据对应的设备配置文件找到参数。建议将特定于应用程序的参数组织为与特定于平台的对象分开的组;标准不定义参数对象的组织。访问参数有不同的方法,例如,将全局变量链接到对象或使用访问函数或函数块。

- Heikki Saha博士,自动化硕士,电子技术博士,TK Engineering Oy首席技术官;由数字项目经理Anisa Samarxhiu编辑,asamarxhiu@cfemedia.com

关键概念:

  • 基于模型的设计已成为行业的主流,但它主要用于开发单个控制功能或设备,而不是整个控制系统。
  • 由于现有方法的低效率,基于模型的设计变得越来越有吸引力。
  • 越来越多的人使用IEC 61131-3编程语言进行评估,因为它们很好地标准化了。
  • CANopen系统管理过程定义了从应用程序接口描述到备件配置下载的整个系统生命周期的接口管理。

考虑一下这个

如何使用基于模型的设计?

在线额外

请参阅下面的相关文章以及自动化中的其他CAN文章。

www.uva.fi

https://webstore.iec.ch/Webstore/webstore.nsf/Artnum_PK/47556

参考文献

[1]李志强,张志强,分布式系统设计流程:现场总线建模,硕士论文,清华大学学报,2008,p. 78。

[2]王志强,张志强,基于copen的分布式iec61131 -3应用的开发效率与质量研究,计算机工程,2012,pp. 10-15。

[3]张晓明,王晓明,智能传感器与执行器在系统生命周期中的应用,液压与气动,2011,no . 17- 20, pp. 169-181。

[4]张建军,张建军,张建军,基于cdn的cdn网络设计,计算机工程,2009,第4期。

[5]李建军,张建军,张建军,基于PDO的iec61131 -3直接表示变量的自动映射,计算机应用,2008,pp. 06-08-06。

[6]王志强,王志强,基于现场总线的应用程序接口设计,计算机应用与开发,2007,第7页。

[7]机械安全。与安全相关的电气、电子和可编程电子控制系统的功能安全,EN 62061,第198页。

[8]应用层函数,第4部分:网络变量与进程映像,中央计算机学报(英文版)。

[9]王志强,王志军,基于ISO 26262的软件开发流程研究,软件工程学报。

墨菲B。[10],韦克菲尔德,弗里德曼J。,最佳实践验证,验证、基于模型的设计和测试,SAE, 2008-01-1469。

[11]张建军,李建军,李建军,等。基于自动编码的自动生成系统。计算机工程,2004,24(1):1- 8。

[12]王志强,王志强,王志强。基于模型的安全关键系统设计方法。

[13]张建军,张建军,张建军,等。基于amesames仿真的发动机动力系统仿真与仿真研究。液压与气动,2007(1):1- 4。

[14]王晓明,王晓明,王晓明。基于模型的大型系统数据建模与管理[j] .系统工程学报,2014(10):1023 - 1023。

[15]王晓明,王晓明,王晓明,基于模型的高完整性系统设计方法研究。

[16]王志强,王志强,王志强,基于amesim的液压系统仿真模型生成方法研究,液压与气动,2011,(5):559 - 559。

[17]王晓明,王晓明,王晓明,等。基于自动编码的汽车生产安全控制系统。汽车工程学报,2004,17(1):1- 4。

[18]张建军,李建军,李建军,基于模型的嵌入式系统设计策略,计算机工程,2010,31(4):444 - 444。

[19]王晓明,张建军,基于bim技术的集成集成系统设计与应用,工程技术管理,2012,第4期,第1 - 4页。

[20]张晓明,张晓明,张晓明,等。基于数据集的数据集管理方法。计算机应用,2013,第1期,第1 - 6页。

参见相关文章控制工程在下面。