Clear Filters
Clear Filters

App Designer and Simulink Interchange

22 views (last 30 days)
Min
Min on 2 Jul 2024 at 16:13
Commented: Min on 8 Jul 2024 at 11:51
Hi, i know it sounds a bit crazy but I want to interact between app designer and simulink.
I am working with Arduino Due, and I reahced where too many blocks in Simulink is causing some issue.
Now my approach is to read the CAN via Simulink and read that live CAN message then manipulate it within App designer.
Also, use App designer to manipulate the Arduino's I/Os.
The problem I am having is once the Simulink is connected to Arduino, I do not see any options that I can work with the Arduino's I/Os. Unless I have the Arduino blocks within the simlink that has constant block to it which can be manipulate within app designer. However, this case will not reduece the Simulink information that embedded to the Arduino.
Any ideas where I can reduce the Simulink and somehow work with Arduino at the same time?
I tried to read the CAN message via app designer, it crashed (this would be the ideal option but some reason it isn't working for me :(
Thanks!
  1 Comment
Prasanth Sunkara
Prasanth Sunkara on 3 Jul 2024 at 5:32
Are you using a CAN Shield on Arduino to get CAN data? Or, you are reading CAN data directly from your PC using Simulink?

Sign in to comment.

Answers (1)

Dinesh
Dinesh on 3 Jul 2024 at 5:33
Hello.
I don't think there is a direct way to interact between App Designer and Simulink. You might need to use MATLAB workspace variables to read and write off of Simulink as well as App Designer apps.
I don't think an app is required to manipulate Arduino's I/Os since you can achieve this using a MATLAB script.
You could make use of a MATLAB Function block in Simulink or simply use a MATLAB script to execute code that can manipulate Arduino's I/Os. Here's a sample function:
function ControlArduino()
a = arduino('COM4', 'Uno');
% Modify value of pin D13
writeDigitalPin(a, 'D13', 1);
pause(1);
writeDigitalPin(a, 'D13', 0);
end
Here is the documentation link for connecting to arduino: https://www.mathworks.com/help/matlab/supportpkg/connect-to-arduino-hardware.html
  3 Comments
Monalisha
Monalisha on 5 Jul 2024 at 9:35
Hello Min,
If I understand your use case clearly then you want to get the CAN recieve data and want to use it in App Designer.
Recommended Workflow:
From Simulink you can do a Build deploy start workflow. such that the code always executes in Hardware.
Send the CAN recieve data to a serial Block or TCP/IP Block in Simulink Model.
You can try recieving the CAN Data in Serial or TCP/IP , using MATLAB apis
Then this data recieved via MATLAB apis can be used direclty by the App Designer.
Min
Min on 8 Jul 2024 at 11:51
Hi Monalisha,
I never knew there is an option to receive and read the data from the serial or TCP/IP Block.
I will try it out and let you know.
Thanks!

Sign in to comment.

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!