1 / 21

UEIPAC HMI

UEIPAC HMI. Overview. The UEIPAC is an embedded Linux based system without any graphical interface. It is very good at network connectivity which makes it possible to create remote graphical user interfaces (also known as HMI Human-Machine-Interface). Client-Server.

jonah
Download Presentation

UEIPAC HMI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UEIPAC HMI

  2. Overview • The UEIPAC is an embedded Linux based system without any graphical interface. • It is very good at network connectivity which makes it possible to create remote graphical user interfaces (also known as HMI Human-Machine-Interface).

  3. Client-Server • Server typically runs on UEIPAC. • Example: server acquires data and publishes it for remote display(s) • One or more client can connect to a server • A HMI client written in C# can display data acquired on UEIPAC in a chart • A client can subscribe to variable updates • The client gets notified only when variable value change exceeds a given deadband

  4. LibSharedData • The shared data protocol is implemented in a shared library • Linux: libshareddata.so • Windows: UeiSharedData.dll • Both server and client(s) use the same shared library to communicate.

  5. UEIPAC Application #1 server Application #2 client LibSharedData LibSharedData UEIPAC PC #1 PC #2 Web browser LibSharedData LibSharedData Application client Application client

  6. LibSharedData 1/2 • 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 using Web Sockets

  7. LibSharedData 2/2 Variables are simply designated using a unique name Variable type can be a scalar or array of : • Int32 • Int16 • Int8 • Double • Float

  8. Protocol 1/3 Client or server sends a request to libshareddata • put_value<name>=<value> • put_value_json<name>=<value> • get_value<name> • get_value_json<name> • subscribe_value <name> • Etc..

  9. Protocol 2/3 Libshareddata implements a C API that hides the protocol away Bindings are available for C#, VB.NET, LabVIEW and Python

  10. Protocol 3/3 Web browsers can directly connect to remote processes using web sockets and a little bit of javascript programming. Data can be displayed using standard HTML controls or more advanced HTML5 ones

  11. UEIPAC server example • Create Server: • UeiSharedDataCreate("tcp://192.168.100.2:2345", &handle); • Acquire voltages: • DqAdv207Read(hd, devn, clsize, cl, NULL, fdata); • Publish voltages: • UeiSharedDataPut(handle, “voltages",UeiSharedDataTypeDbl, clsize, fdata);

  12. Share Data Client • Shared Data client is an application that provides a quick way to test a server.

  13. C# client • Create a client object • UeiSharedDataClientclient = new UeiSharedDataClient(); • Open communication with server • client.Open("tcp://192.168.100.2:2345"); • Get shared variable value • double[] voltages = client.GetDouble(“voltages", 16);

  14. C# client

  15. LabVIEW client • Call VIs to open communication with server and read “voltages” variable values

  16. LabVIEW client

  17. HTML5 client Web sockets are part of HTML5. Supported in the following browsers: • Google Chrome (fastest javascript engine) • Firefox • Safari for MacOS and iOS • Android web browser • Internet Explorer 10

  18. HTML5 client There are many HTML5 UI library out there. Most are business oriented, but are usable forindustrial applications Jquery UI library provides a very easy way to manipulate UI elements of a web page UEIPAC comes with a default web page to view shared data: http://192.168.100.2:2345/shareddata.html

  19. HTML5 client

  20. SVG lab (still experimental) A set of HTML5 UI controls for web based scientific and industrial applications Uses SVG (Scalable Vector Graphics) for drawing Use javascript for programming. • Chart • Slider • Maybe more...

More Related