Two Methods for Breaking Data Dependency Loops in System Level Models

版本 1.1.0.1 (625.6 KB) 作者: Michael Burke
Methods for removing data dependencies with a minimum number of blocks
1.3K 次下载
更新时间 2016/9/1

查看许可证

Creation of a system by integrating multiple validated subcomponents is a task common to Simulink® and C. In both environments integration issues arise as the number of components increases. Problems include miss-matched data types, scaling and ensuring the correct signals are available, to name a few. These are all challenges that systems integrators are used to solving. However; the integration process in Simulink exposes data dependency issues that are normally hidden in the C development environment.
Data dependency is the requirement that for any calculation, all the values on the right hand side (RHS) of equation are known prior to starting the calculation. The value on the left hand (LHS) side is dependent on the values of the right hand side. In the contexts of subsystems, the concept of calculation order is equivalent to execution order of the subsystems.

LHSn = f (RHSn)

The C language does not prevent users from writing equations where the LHS is assigned before the RHS. This means that an old or non-initialized data can be used which can result in unexpected or incorrect results.

LHSn = f (RHSn-1)
LHSn = f (??)

Unlike C, Simulink contains built in analysis tools that prevent this from happening. Users of Simulink are familiar with these diagnostic, which are most commonly referred to as algebraic loops. Loops are broken by explicitly setting the order of calculation. This paper focuses on how to easily and systematically break these loops.

Two methods are covered in this paper, using function-call subsystems and unit delay blocks. Both of these methods can be used to define the execution order of the system.

引用格式

Michael Burke (2024). Two Methods for Breaking Data Dependency Loops in System Level Models (https://www.mathworks.com/matlabcentral/fileexchange/15368-two-methods-for-breaking-data-dependency-loops-in-system-level-models), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2007a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Modeling 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.1.0.1

Updated license

1.1.0.0

Updated copyright

1.0.0.0