Simulink RT - Lookup-Table for Strings

10 views (last 30 days)
Hey folks,
I´m actually trying to communicate with some industrial devices via TCP. The protocol is ASCII-based SCPI command structure. For that application I would like to create a lookup-table which takes a numeric value as an input/index and replies with the corresponding string (for example '*IDN?). Since strings are kind of accepted in Simulink but aren´t well handable, do you have any hints how this can be done? The solution needs to be code-generatable since I use a Speedgoat-machine on which the program runs.
Best
Jonathan
PS: Since I work on a campus license, I can use any available toolbox.

Accepted Answer

Dimitri MANKOV
Dimitri MANKOV on 27 Nov 2020
Hi Jonathan,
Which MATLAB release are you using? You could maybe try a construct based on String Constant and Multiport Switch blocks. String Constant blocks were introduced in Simulink in R2018a, and fully support code generation. For more information and examples about the usage of strings in Simulink, have a look here.
Best,
Dimitri
  1 Comment
johnnynoc4sh
johnnynoc4sh on 27 Nov 2020
Thank you very much Dimitri for you support!
This is exactly what I tried in the first place. It kinda works, but isnt the most beautiful solution. But I found another option which might help other people out:
I use Stateflow charts which output the desired string. Remember to switch the chart action language from Matlab to C because strings are only supported for C action language.
Best

Sign in to comment.

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!