© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
UEISIM Desktop
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
OverviewThe UEISIM is a Linux based system that
runs Simulink models.
UEISIM Desktop allows remote monitoring and parameter tuning while a model is running.
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
Remote monitoring/Parameter tuning
• External mode:• Use Simulink itself as client to connect to the
UEISIM target.• UEISIM Desktop:
• A client written in C#, C/C++ or LabVIEW can display the model’s signals and parameters without Simulink being installed.
• Signals and parameters are also accessible via a web page.
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
Extra features (UEISIM desktop only)
• Remotely start/stop simulation• Host PC client can start or stop simulations
remotely• Timing statistics:
• Average simulation step execution time• Minimum step execution time• Maximum step execution time• Model execution time
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
UEISIM
Simulation executable
LibSharedData
Client application
PC #2
Client Application
UeiSimTarget.dll
PC #1
Web browser
LibSharedData
Shared Data protocol
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
Shared data protocol• Implements a simple message based
protocol (set/get variable) using JSON or binary data representation
• Local processes communicate over UNIX sockets
• Remote processes communicate over TCP/IP sockets
• Web browser communicate over Web Sockets
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
Signal Monitoring • A model automatically publishes all “exported” signals
under the name:• /model_name/block_name/signal_name
• To export a signal, right-click and set “Storage Class” to “Exported Global”
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
Parameter tuning• A model also publishes all tunable parameters under
the name:• /model_name/block_name/param_name
• For example the constant block “value” parameter is tunable:
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
Data hierarchy• This naming convention allows a hierarchical
view of the model signals and parameters
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
Shared Data Client Shared Data client is an application that provides a
quick and easy way to monitor a model.
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
Client API
UEISIM Desktop API supports C/C++, .NET (C#, VB), LabVIEW and Javascript
The API provides the following services:• Start/Stop Simulation• Enumerate and read signals• Enumerate, read and write parameters• Reboot or shutdown UEISIM• Read timing statistics and CPU load
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
C# client API 1/4Create a client objectUeiSimTargetClient client = new UeiSimTargetClient();
Open communication with UEISIMclient.Open("192.168.100.2");
Load and Start Modelclient.LoadApp("/tmp/test_ai_rt2“, 2345);
if(client.IsAppRunning())
{
client.StopApp(); // Stop model if already running
}
client.StartApp();
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
C# client API 2/4Enumerate signalsfor(int sigIdx=0; sigIdx< client.GetNumSignals(); sigIdx++)
{
string sigName = client.GetSignalName(sigIdx);
double[] sigVals = client.GetSignalValue(sigIdx, client.GetSignalWidth(sigIdx));
Console.Write("{0} = {1}", sigName, sigVals);
}
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
C# client API 3/4Enumerate and tune parametersfor(int prmIdx=0; prmIdx=0<client.GetNumParams(); prmIdx=0 ++)
{
string prmName = client.GetParamName(prmIdx);
double[] prmVals = client.GetParamValue(prmIdx, client.GetParamWidth(prmIdx));
Console.Write("{0} = {1}", prmName, prmVals);
// Tune parameter
prmVals[0] = 102.90;
client.SetParamValue(prmIdx, prmVals);
}
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
C# client API 4/4Display timing statsConsole.WriteLine("Model ran for {0} secs", client.GetExecTime());
Console.WriteLine("Min TET = {0}", client.GetMinTET());
Console.WriteLine("Max TET = {0}", client.GetMaxTET());
Console.WriteLine("Avg TET = {0}", client.GetAvgTET());
Close communication channelclient.Close();
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
LabVIEW API 1/4Open communication and start application
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
LabVIEW API 2/4Enumerate and monitor signals values
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
LabVIEW API 3/4Enumerate and tune parameters
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
LabVIEW API 4/4Display timing stats
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
LabVIEW client example
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
HTML5 client • UEISIM Desktop web interface is built on top
of web sockets• Web sockets are part of HTML5. Supported in
the following browsers: Google Chrome Firefox Safari for MacOS and iOS Android web browser Internet Explorer 10
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
HTML5 client – default page
© 2010 UEI, Inc. All Rights Reservedwww.UEIDAQ.com
HTML5 client – custom page