发布日期:2022-04-17 点击率:55
这些天来大家都在谈论基于建模的设计,但是这对开发者究竟意味着什么呢?就如何使用基于建模的开发方法而言,我们并没有一个明确的切入点,因为我们缺乏清晰的切入路径,目前几乎没有哪两家机械制造商就基于建模的设计是什么达成共识,更别提开发者应该从已开发模型的仿真中得到什么了。
通过仿真实现早期功能测试
仿真是基于模型开发的关键要素之一,当然,这一要素极其复杂,谈论起来并不是一个轻松的话题。毕竟,开发人员必须在建模前完全确定什么是必须被仿真的。
在这里,差别主要表现在以下两方面
▇个别域(机械、过程模型、物料流程等)之间
▇机器模型和控制功能之间
前者主要影响仿真工具和建模类型的选择(FE模型、微分方程组、物理建模等;见表1),而后者表现为一种根本性的差异。当然,我们最终应该将机器模型和控制功能放在一起进行测试,但是在开发的时候必须将这两者分开看待。
控制功能的建模类型取决于正在使用的目标系统,例如,我们通过仿真工具“Automation Studio Target forSimulink”,仅需点击按钮就能将Simulink中执行的控制算法或者在Stateflow中制定的步序传输至贝加莱硬件。
在建模的时候,在机器模型和控制功能之间应该有一个明确的区分
当我们创建一个适合的机器模型的时候,情况会变得有些复杂,建模工具和层次细节度的选择很大程度上取决于我们想得到的结果。例如,如果你想表现薄膜挤出生产线上放卷过程的动态特性,那么已经拥有张力控制系统的你再为驱动创建一个热模型将变得没有多大意义。但是,如果该模型将会被用来测量仿真中的系统限值,那么热特性就必须被考虑在内。
虚拟机的不同变体
就像为控制逻辑建立仿真模型一样,我们不仅可以在开发机也可以在实时系统(如工业控制器或工业PC)上建立机器模型。机器模型拥有多种配置可能,我们必须从中选择一种配置与特殊情况相匹配。因此,本文的剩余部分将侧重介绍“虚拟机”的一些最常见的变体。
机器仿真
如果目标纯粹是为了确定机器行为和开发机上已开发的控制功能之间的相互作用,那么最有效的方式就是将这两个仿真模型(机器和机器逻辑)连接起来。对于整体仿真而言,最简单的处理方式是在相同的开发环境中创建这两个模型。例如,Simulink不仅可以实现对子模型的仿真,而且还可以将它们作为一个完整的模型进行仿真。出于可持续性开发的考虑,这些子模型会被存储于功能库中,以便于提供给后续的开发项目重复使用。如果想要在不同的工具中实现系统模型和控制逻辑,那么对于整体仿真而言,就需要有各自的导入选项。例如,在MapleSim中创建的物理机模型被导入Simulink后,会与在Stateflow中建立的控制逻辑以及在Simulink中创建的闭环控制器相连。
通过仿真工具“B&R Automation Studio Target for Simulink?”,仅需点击按钮就能将模型算法和功能移植到控制器中
软件在环仿真
我们利用统一的接口可以创建软件在环仿真,这需要将两个(或更多)工具连起来用于仿真,因此必须保证顺利实现基于周期的同步通信以及双向数据交换。例如,让我们想象一下,在Simulink中建模的系统正在连接贝加莱仿真PLC,它以“ARsim”为名称集成于Automation Studio开发环境中。除了贝加莱指定的PVI接口之外,我们还可以采取OPC和WinIO协议进行数据交换,通过UDP方式实现同步通信。接下来的步骤如下:首先,针对一个扫描周期求解在Simulink中建立的机器模型的微分方程组,将结果传输至仿真控制器作为过程变量(完全按照随后将会在真实系统中完成的那样),并为同步通信分别提供时钟信号。然后在ARsim环境中执行一个控制周期,再将执行结果随同时钟信号一起返回到Simulink中。开发计算机中的观察器会查看非实时域上的仿真,但是该方法需确保虚拟机与控制器之间始终保持高质量的实时通信。在现实中,这些流程的进度是非常缓慢的,而软件在环仿真却可以加快例如挤出机中温度曲线的观察速度,还可以缓慢地查看液压系统中的快速过程。
下一篇: PLC、DCS、FCS三大控
上一篇: 索尔维全系列Solef?PV