Simulink: Triggered subsystem result does not coincide with equivalent discrete system.
2 views (last 30 days)
Show older comments
Claudio Di Pietro on 19 Jul 2021
Answered: Harikrishnan Balachandran Nair on 22 Sep 2021
I have created two equivalent discrete systems. They are identical and run at the same sampling period, but one is composed of just simulink blocks that execute their tasks at the specified sampling rate, T, while the other is sampled via a triggered subsystem, still with sampling rate T.
The results should be identical just like the subsystems but as you can see they are not:
The simulink Model is attached below (TRIGGEREDSUBSYSTEM.slx). In order to run it you need to execute the m file PARAMETRISPMSM also attached.
Thank you in advance for your time.
Harikrishnan Balachandran Nair on 22 Sep 2021
I understand that you are trying to achieve the same functionality with and without using a 'triggered subsystem' , and you are expecting the results to be same in both cases.
In the attatched simulink model, you can observe that at t=0, the output from the PID controller outside the triggered subsystem is 0.313, while the output of PID controller inside the triggered subsystem is close to zero. The triggered subsystem executes for the first time at time t='T' , where there is a rising edge, and not at t=0. This delay is causing the output from the triggered subsystem to lag behind that outside the triggered subsystem by the sampling period 'T'.
Find more on Schedule Model Components in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!