MATLAB Answers

0

Add Customized Elements in Component Library in Matlab App Designer

Asked by Aman Ullah Khan on 19 Jul 2019
Latest activity Commented on by Sean de Wolski
on 13 Aug 2019
Is it possible to add customized symbols in the Component Library of Matlab App Designer.
I need to design an application that describes a manufacturing process. For this application I need to add user defined symbols as listed below to the Comonent Library
  1. Products (inputs/outputs) --> Spherical Shape
  2. Process operators --> Rectangular Shape
  3. Resources --> Rectangle Shape with Soft Edges
  4. Energies --> Hexagon Shape
  5. Information --> Diamond Shape
  6. Connector --> Arrow Shape
These symbols i.e. products (inputs/outputs), process operators, resources, eneriges and information have different shapes as described above. The symbols have to be r defined once with attributes and then can be combined via drag and drop from Component Library to display the manufacturing process. There are rules on how to connect the symbols to eachother. These rules define how the Symbols can be connected to each other and I guess thes rules have to described in the code.
So my question is can I use Matlab App Designer for this Application ? Is it the right tool for me to start off with to design this Application that depicts a manufacturing process.
I highly appreciate your time and your co-operation.
Thanks and Best Regards.

  0 Comments

Sign in to comment.

2 Answers

Answer by Divya Yerraguntla on 6 Aug 2019
 Accepted Answer

Hi,
This can be done by creating a custom ActiveX control, or by downloading and using an existing one. You can insert an ActiveX control through the GUIDE interface (left pane, button at the bottom right), or by using the 'actxcontrol' command:
https://www.mathworks.com/help/matlab/ref/actxcontrol.html. Each of these controls will have their own custom properties and events.
You could also try using Simulink to create customized blocks. Have a look at this link:

  1 Comment

Hi,
highly appreciate your time and response.
Thank you for the valuable suggestion as I am currently struggling to get a hands on start with this project using Matlab. Definitely I will check on both of these suggested solutions. And if I have questions i ll post here.
Thanks for your time and Feedback.

Sign in to comment.


Answer by Sean de Wolski
on 8 Aug 2019

You should strongly consider using SimEvents for this.

  2 Comments

Thanks Sean for the suggestion, highly appreciate your time. This was helpful.
I was reading about SimEvents and in SimEvents Blocks and Design Patterns, it says
"You can also build your own domain-specific blocks by using a Stateflow Discrete-Event Chart or MATLAB Discrete-Event System block. Further, you can use Simulink capabilities, such as masking subsystems and creating libraries, to build up SimEvents subsystems into component blocks that can be shared and reused by others."
This sounds something that might help me as I have to create libraries that contain blocks that create discrete manufacturing processes where a manufacturing process can contain sub manufacturing processes like a subsystem within the existing system. I have to figure out if it will possible to add attributes (with values) to built domain-specific blocks that will be used from the library per drag and drop option.
Another aspect that I am working is to implement .XML import. To figure out if there is a possibility to import these discrete manufacturing processes in .XML format with their attributes.
These links relating to SimEvents are very good examples to start off as hands on in the beginning and give an idea as to how the model can be designed.
Currently I am going through all possible means to model this project and it has been extremely helpful as I can slowly see the right tools to design this project.
Thanks Sean for your cooperation, much appreciated.
You're welcome!
Also, feel free to reach out to your MathWorks contact if you'd like to WebEx with someone regarding your specific challenge (i.e. getting XML->SimEvents)

Sign in to comment.