© 2010 UEI, Inc. All Rights Reserved UEISIM Desktop
© 2010 UEI, Inc. All Rights Reserved Overview The 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 Reserved 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 models signals and parameters without Simulink being installed. Signals and parameters are also accessible via a web page.
© 2010 UEI, Inc. All Rights Reserved 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 Reserved 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 Reserved 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 Reserved 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 Reserved 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 Reserved Data hierarchy This naming convention allows a hierarchical view of the model signals and parameters
© 2010 UEI, Inc. All Rights Reserved 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 Reserved 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 Reserved C# client API 1/4 Create a client object UeiSimTargetClient client = new UeiSimTargetClient(); Open communication with UEISIM client.Open(" "); Load and Start Model client.LoadApp("/tmp/test_ai_rt2, 2345); if(client.IsAppRunning()) { client.StopApp(); // Stop model if already running } client.StartApp();
© 2010 UEI, Inc. All Rights Reserved C# client API 2/4 Enumerate signals for(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 Reserved C# client API 3/4 Enumerate and tune parameters for(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] = ; client.SetParamValue(prmIdx, prmVals); }
© 2010 UEI, Inc. All Rights Reserved C# client API 4/4 Display timing stats Console.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 channel client.Close();
© 2010 UEI, Inc. All Rights Reserved LabVIEW API 1/4 Open communication and start application
© 2010 UEI, Inc. All Rights Reserved LabVIEW API 2/4 Enumerate and monitor signals values
© 2010 UEI, Inc. All Rights Reserved LabVIEW API 3/4 Enumerate and tune parameters
© 2010 UEI, Inc. All Rights Reserved LabVIEW API 4/4 Display timing stats
© 2010 UEI, Inc. All Rights Reserved LabVIEW client example
© 2010 UEI, Inc. All Rights Reserved 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 Reserved HTML5 client – default page
© 2010 UEI, Inc. All Rights Reserved HTML5 client – custom page