App Designer and Simulink Interchange
6 次查看(过去 30 天)
显示 更早的评论
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 个评论
Prasanth Sunkara
2024-7-3
Are you using a CAN Shield on Arduino to get CAN data? Or, you are reading CAN data directly from your PC using Simulink?
回答(1 个)
Dinesh
2024-7-3
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
Documentation link for "writeDigitalPin()": https://www.mathworks.com/help/matlab/supportpkg/arduinoio.writedigitalpin.html
3 个评论
Monalisha
2024-7-5
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
Using Serial Command:Create Serial Port Object - MATLAB & Simulink (mathworks.com)
Using TCP/ IP Command: https://www.mathworks.com/help/instrument/tcpserver.read.html
Then this data recieved via MATLAB apis can be used direclty by the App Designer.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Modeling 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!