Top Different Types Of Errors In Simulink, MBD Engineer

Top Different Types Of Errors In Simulink, MBD Engineer

Hello guys, welcome back to our blog. Here in this article, we will discuss the top different types of errors in Simulink and what are the possible ways to fix them.

Ask questions if you have any electrical,  electronics, or computer science doubts. You can also catch me on Instagram – CS Electrical & Electronics.

Different Types Of Errors In Simulink

01. Compilation Errors

a. Block Parameter Errors: Assume you have a gain block with a non-numeric gain parameter, such as ‘abc’. A compilation error will result from this since the Gain block requires a numeric value.

b. Dimension Mismatch: A dimension mismatch error will occur when a 1×3 vector signal is connected to a block that is expecting a scalar input.

c. Data Type Mismatch: Not properly converting a double-precision floating-point signal before connecting it to a block that is expecting an integer signal. For instance, sending an Integer Delay block straight to a floating-point output.

d. Solver Configuration Errors: A configuration error will occur if a fixed-step solution is used in a model with continuous states, which normally calls for a variable-step solver.

02. Simulation Errors

a. Algebraic Loops: Simulink is unable to solve an algebraic loop that results from a Sum block’s output being immediately connected back to its input through a Gain block.

b. Singularity Issues: A division operation in a model block may cause the denominator to go to zero during simulation, which would result in a singularity error.

c. Numerical Instability: Numerical instability during simulation could result from a PID controller with extremely high gains causing the output to oscillate uncontrollably.

d. Infinite Loops: For instance, a Stateflow chart with transitions that don’t include a stopping condition would perpetually cycle between states, creating an infinite loop that would occur during simulation.

03. Execution Errors

a. Overflow/Underflow: When two large integers are added, the result is a value greater than the maximum represented by the integer type, which causes an overflow. This is an example of a block producing a value that exceeds the maximum range of the data type.

b. Memory Allocation Issues: For instance, executing a sizable simulation with an enormous amount of data in a MATLAB workspace variable can cause memory exhaustion and subsequent errors.

c. Timing Errors: If a model in a real-time simulation with Simulink Real-Time is unable to run within the given time step, a timing error will occur.

04. Code Generation Errors

a. Unsupported Blocks/Functions: When two large integers are added, the result is a value greater than the maximum represented by the integer type, which causes an overflow. This is an example of a block producing a value that exceeds the maximum range of the data type.

b. Fixed-Point Conversion Issues: For instance, executing a sizable simulation with an enormous amount of data in a MATLAB workspace variable can cause memory exhaustion and subsequent errors.

c. Unresolved External Functions: If a model in a real-time simulation with Simulink Real-Time is unable to run within the given time step, a timing error will occur.

05. Validation Errors

a. Requirements Mismatch: When a model is used to test against design requirements using Simulink Requirements, it fails because a signal during simulation does not remain within the necessary bounds.

b. Assertion Failures: An assertion block verifies that a signal stays positive, but when the signal shifts to a negative value during simulation, the assertion fails.

c. Verification Block Errors: To make sure a signal stays within a given range, use a Check Static Range block. During the simulation, an error happens if the signal goes above this range.

06. Licensing Errors

a. License Availability Issues: A licensing error occurs when you try to utilize a block from the Control System Toolbox because the toolbox license is not available.

07. File and Path Errors

a. Missing Files: An error occurs when the model tries to load an external MAT-file with initial conditions since the file is not present in the path that is given.

b. Invalid Paths: When attempting to load the model, an error occurs because it contains a reference to a custom library that is stored in a directory that is no longer valid.

08. Model Reference Errors

a. Incompatible Model References: When attempting to simulate, an incompatibility error occurs because the parent model employs a variable-step solver, while the referred model uses a fixed-step solver.

b. Circular Model References: Simulink is unable to resolve a circular dependency that arises when Model A references Model B, which in turn references Model A.

09. Initialization Errors

a. Initial Condition Errors: When attempting to simulate, an incompatibility error occurs because the parent model employs a variable-step solver, while the referred model uses a fixed-step solver.

b. Solver Initialization Failures: If the solver cannot find consistent initial conditions for the model’s states, it may fail to start the simulation. This can happen in models with complex systems of equations that are difficult to solve from the initial state.

10. Model Configuration Errors

a. Configuration Parameter Mismatch: Errors may occur during simulation if the blocks’ sample times are incorrectly specified. An instance of this could be when a continuous block is connected to a discrete sample time block without the necessary conversion.

b. Model Reference Configuration Issues: Sample times and solver types, among other compatible configurations, must be shared by referenced models with the parent model. If these setups are not compatible, attempting to replicate the model may result in failures.

11. Stateflow Errors

a. Undeclared Events: In a Stateflow chart, an error will occur during simulation if an event is used in conditions or transitions without being properly defined.

b. Transition Conflicts: There may be competing criteria between two transitions from the same state, making it unclear which transition should take place. This may result in a simulation error or strange behavior.

c. Unreachable States: In a Stateflow chart, a state may be created such that there is no legal transition leading to it, rendering it inaccessible. If the state is necessary for the logic of the model, then this can be a mistake.

12. Errors in Signal Routing

a. Unconnected Signals: An illustration would be if a signal output port was disconnected, which would result in a warning or error, particularly if the signal was intended to be used in another part of the model.

b. Invalid Bus Signals: For example, bus signals have to follow a set format. An error will occur if a bus creation block is configured wrong, if an element is missing, or if the element is typed erroneously.

c. Direct Feedthrough Issues: Certain blocks, such as the Sum block, need inputs that are supplied indirectly or with dependencies on states that will occur later. If this is broken, direct feedthrough faults may occur.

13. Model Optimization Errors

a. Incompatible Optimization Settings: For instance, mistakes may arise when optimization parameters (such as eliminating dead code) are applied during code generation and clash with other model variables. For instance, maintaining traceability between the model and the generated code may become challenging if specific optimizations are enabled.

b. Excessive Inline Parameters: Overusing the “Inline Parameters” option in the Model Configuration Parameters can cause errors if it results in conflicts or the exceeding of certain thresholds during simulation or code generation.

14. MATLAB Function Block Errors

a. Syntax Errors: Simulink will identify syntactic errors in MATLAB function blocks, such as missing parenthesis or erroneous variable declaration, while the function is written.

b. Unsupported Functions: For instance, not all MATLAB functions are supported by MATLAB function blocks, particularly those that involve file I/O or certain toolbox operations. An error will occur if an unsupported function is used.

c. Data Type Issues: For instance, mistakes during simulation may occur if a MATLAB Function block is designed with assumptions about input data types that are not upheld by the model. For example, receiving an integer when expecting a double input.

15. Data Store Errors

a. Data Store Read/Write Conflicts: For instance, simulation errors or warnings may occur if several blocks access a Data Store Memory block concurrently in a fashion that might result in race situations.

b. Data Store Name Conflicts: During model compilation, name conflict errors may arise from two Data Store Memory blocks that have the same name but different scopes.

16. Signal Conversion Errors

a. Implicit Signal Conversion Issues: For instance, implicit conversion mistakes may result by connecting signals of various data types without the use of explicit conversion blocks (such as a Data Type Conversion block). An implicit conversion of a Boolean signal to an integer, for instance, could not work as intended.

b. Loss of Precision: There may be a loss of precision when converting a high-precision signal (such as a double) to a lower-precision signal (such as a single or integer), which could lead to errors or warnings.

17. Execution Order Errors

a. Incorrect Block Execution Order: Simulink may provide errors or unexpected behavior if it determines a different order for blocks that execute in a critical order (e.g., a block must execute before another for correct results). When utilizing interdependent blocks, such as subsystems with various sample times, this can happen.

b. Deadlock Situations: The execution order in intricate models with feedback loops may result in a deadlock scenario where blocks are stuck waiting on one another forever, stopping the simulation from running.

18. Visualization and Plotting Errors

a. Scope Block Errors: For instance, if a scope block is set up to show more signals than it is capable of handling (for example, an excessive number of axes or channels), this could lead to a simulation error or improper visualization.

b. Incorrect Signal Logging Configuration: Misconfigured signal logging can result in issues before, during, or after simulation. Examples of this include logging a nonexistent signal or utilizing a nonexistent variable for logging.

19. External Interface Errors

a. Incorrect External Input Configuration: When simulating using external inputs, errors may occur if the input data format differs from what the model anticipates (for example, sample times or data types).

b. Communication Interface Errors: When a model communicates with external hardware (e.g., through external mode or Simulink Real-Time), errors may arise from improper communication interface settings, such as utilizing the wrong IP address or port.

20. Parameter Tuning Errors

a. Out-of-Range Parameters: When tuning parameters, it might lead to simulation mistakes if a parameter is set to a value that is not within its permitted range (for example, a negative gain in a scenario where only positive values are permitted).

b. Parameter Inconsistency: Errors and inconsistencies can arise when a parameter value is changed in a way that conflicts with other parameters or block settings. A sample time parameter could be changed, for example, without affecting related timing parameters in other blocks.

These examples all show typical mistakes made when designing and simulating Simulink models, stressing the value of meticulous configuration and verification at every turn.

This was about “Top Different Types Of Errors In Simulink”. Thank you for reading.

Also, read:

About The Author

Share Now