2

I would like to use Matlab Simulink Real-Time C API to write programs (in C or in Java) that will work on a Linux machine. However the C API is a dll that is supposed to work only on a Windows machine.

Does Wine work with the Simulink Real-Time C API ?

EDIT : I am developing simulink models on a Windows computer. I then use this computer to load the Simulink model into the Xpc target (a Speedgoat machine).

When we go in production, the Xpc target computer is locally connected to a Linux computer. We have access via SSH to the Linux computer. If we want to update the simulink model of the Xpc target computer, the only way is to go via the Linux computer.

Romain
  • 1,385
  • 2
  • 15
  • 30
  • What about just installing Windows on that machine? If SImulink runs on Windows that would be the natural solution and Linux is not really needed. – NoDataDumpNoContribution Nov 26 '15 at 08:58
  • @Trilarion Installing windows on that machine is not an option. We have already developed a lot of command line tools (for remote access, debugging, etc.) that are Linux specific. – Romain Nov 26 '15 at 09:02
  • Why is this off-topic? – Romain Dec 01 '15 at 13:51
  • For an explanation of offtopic see [here](http://stackoverflow.com/help/dont-ask). SO wants answerable questions. That means they must be not too open ended, not to subjective, give enough information. So I guess if you would narrow the aim down of your question and give more details what you want/require, it should make answerable / on-topic questions. – NoDataDumpNoContribution Dec 01 '15 at 15:26
  • @Trilarion Ok thanks I changed the question – Romain Dec 07 '15 at 12:19
  • It seems at least my version of Linux Matlab has no [lib]xpc library that I can find. If that is true for any version of Matlab, you'd indeed need some way to run Windows code. Wine or a virtual machine running windows are both performant options. To see if wine works with Matlab and Simulink, you'll have to install it and see. – rubenvb Dec 07 '15 at 13:20
  • 1
    I am not sure if you have picked the right api, could you describe what you are trying to do? There full feature "Simulink Real-Time" is not available on linux. It is impossible to create and deploy an application which is suitable for that API. Do you really want to access an XPC target or maybe something else? – Daniel Dec 08 '15 at 15:56
  • @Romain: The problem with your question isn't that it did not receive enough attention. It is unclear what you really want. To precise the comment. Do you have a a Speedgoat system you want to read the data from? How did you build the application and how did you load it to the system? – Daniel Dec 12 '15 at 15:58

2 Answers2

2

To use the host interface from linux, the only possibly I see is to contact the speedgoat support and hope for a library compiled for Linux or a protocol documentation. To communicate with the system there is no need to have any simulink component in between. My expectation is that you won't receive a positive answer, but give it a try. Especially receiving a protocol documentation would allow you to write fully platform independent code.

Having a speedgoat with an Ethernet host interface, another possibility is to establish a network connection between your development PC running Windows and the speedgoat using the Linux PC as a network bridge. If you need assistance setting up this, I recommend to ask a question at superuser.

Community
  • 1
  • 1
Daniel
  • 36,610
  • 3
  • 36
  • 69
0

I would recommend Using Virtual Box

(Alows you to run another OS in Linux)

But it is possible to run almost anything in wine if you configure it right,

The first thing you would need to do is install (Wine) and (Play on Linux) from the Software store then find out everything it will need to run properly (Microsoft Fonts, Internet Exporer 8) and so on,

Once this is done it should work but it is a matter of trial and error with wine.

Hope This helps :)

  • If you need a full walkthough i require your OS, Ver, The sofware and other relivent info. – izaya Fearon Dec 08 '15 at 22:34
  • Linux computer is on Debian 8. – Romain Dec 12 '15 at 20:16
  • At least for the speedgoat systems with Ethernet, this is a possible way to go. For a system with rs232 connection check in advance if the virtualisation solution can make the port on your pc available to the virtual machine. – Daniel Dec 12 '15 at 20:24
  • it seems this guy has more experience in this case I would recommend his answer. – izaya Fearon Dec 12 '15 at 20:27