UEISIM Desktop www.UEIDAQ.com © 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. www.UEIDAQ.com © 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 model’s signals and parameters without Simulink being installed. Signals and parameters are also accessible via a web page. www.UEIDAQ.com © 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 www.UEIDAQ.com © 2010 UEI, Inc. All Rights Reserved Shared Data protocol UEISIM Simulation executable Client application LibSharedData LibSharedData PC #1 PC #2 UeiSimTarget.dll Web browser Client Application www.UEIDAQ.com © 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 www.UEIDAQ.com © 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” www.UEIDAQ.com © 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: www.UEIDAQ.com © 2010 UEI, Inc. All Rights Reserved Data hierarchy • This naming convention allows a hierarchical view of the model signals and parameters www.UEIDAQ.com © 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. www.UEIDAQ.com © 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 www.UEIDAQ.com © 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("192.168.100.2"); Load and Start Model client.LoadApp("/tmp/test_ai_rt2“, 2345); if(client.IsAppRunning()) { client.StopApp(); // Stop model if already running } client.StartApp(); www.UEIDAQ.com © 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); } www.UEIDAQ.com © 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] = 102.90; client.SetParamValue(prmIdx, prmVals); } www.UEIDAQ.com © 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(); www.UEIDAQ.com © 2010 UEI, Inc. All Rights Reserved LabVIEW API 1/4 Open communication and start application www.UEIDAQ.com © 2010 UEI, Inc. All Rights Reserved LabVIEW API 2/4 Enumerate and monitor signals values www.UEIDAQ.com © 2010 UEI, Inc. All Rights Reserved LabVIEW API 3/4 Enumerate and tune parameters www.UEIDAQ.com © 2010 UEI, Inc. All Rights Reserved LabVIEW API 4/4 Display timing stats www.UEIDAQ.com © 2010 UEI, Inc. All Rights Reserved LabVIEW client example www.UEIDAQ.com © 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 www.UEIDAQ.com © 2010 UEI, Inc. All Rights Reserved HTML5 client – default page www.UEIDAQ.com © 2010 UEI, Inc. All Rights Reserved HTML5 client – custom page www.UEIDAQ.com © 2010 UEI, Inc. All Rights Reserved