1. Thick Clients
The term thick or a “fat” client is commonly used in the context of a server/client architecture. This architecture consists of a server serving as a centralized hub for a system which has large amounts of storage and processing power. The client requests for the server to execute operations for it on a small subset of the server’s data. Based on this server/client architecture, a thick client runs an application locally and therefore demands less execution from the server and can be more autonomous. Conventional desktop personal computers are a good example of a thick client.
Thick clients are most attractive for applications that require distributed real-time control and analysis. These types of tasks require a feature-rich computer and general purpose operating system at each device. Having computing power at each distributed user interface will increase the hardware costs, but will save initial development costs as the application can be created for a common operating system such as Windows. A Windows based thick HMI client can be efficiently developed in the same environment as the system hardware with NI LabVIEW and the LabVIEW Touch Panel module. The unified graphical programming environment provided by LabVIEW allow for quick porting of tasks between the applications that are created for the server and client. In addition, the LabVIEW platform allows for the integration of complex logic and hundreds of drag-and-drop controls, graphs, and 3D visualization tool into the client application.
Figure 1. Thick-clients, such as NI's Touch Panel Computers, provide a HMI with processing power for local analysis and control.
A thick HMI client can also be used in your visualization application if its’ needs expand to included tasks such as historical data and alarm logging on the device, industrial bus connectivity or developing access control. This expanded functionality is provided by the LabVIEW Datalogging and Supervisory Control (DSC) module. The local processing capabilities makes a thick client a reliable source for logging and visualization as it is less dependent on enterprise network communication. Reliability of the thick client because important with the implementation of higher priority tasks. The inclusion of the Windows Embedded operating system on NI touch panel hardware allows for the exposure of volume and file write filters in LabVIEW to increase this reliability. A drawback of this client autonomy is the increased effort required to pushing updates live as it requires either downloading to individual devices or building infrastructure to automate the process. Based on these trade-offs, in applications that require local control and have headless controllers, such as PLCs or PACs, thick clients provide an efficient solution.
2. Thin Web-based Clients
In contrast to the thick client, a thin client does not run the program locally and relies heavily on the server for program execution. Web-based thin clients have gained popularity due to the ubiquity of the Internet allowing for increased remote accessibility of data. In the context of web-based thin clients applications run on the server and are accessed by the client through a standard web services protocol. On the client side a standard web browser is used to host the user interface.
A thin client is an ideal solution for a distributed system that is spread over a large area and has a high ratio of clients to servers. Since the visualization is contained within a standard web browser on the client it requires no or minimal installation. In addition, due to the off loading of tasks to a central server, a thin client requires only limited processing power and storage as their main function is to display an interactive web page. Centralizing the system’s applications also provides for ease of hardware and software maintenance and upgrades. This results in a lower cost of ownership for high volume deployments as compared to a thick client. Overall lower unit cost coupled with browser accessibility makes a thin client a good solution for portable visualization systems.
As more systems have shifted towards thin client architectures, more software applications have also exposed methods to access information through web services. The increase in available web services enables programmers to accelerate their visualization development through reuse. As an example NI Citadel, the historical database included with LabVIEW DSC, exposes web services to provide access to historical data, alarming, and events. To learn more refer to the LabVIEW Help: Accessing the Citadel Web Services. NI LabVIEW also provides the capability for a programmer to create their own web service to deploy to a server. Refer to Web Services in LabVIEW for more details on the implementation of this feature.
Figure 2. The thin-client interface developed in Adobe Flex calls a URL to run the deployed VI, which programmatically generates and streams XML data in response.
As thin clients are more dependent on the server, the reliability of the network on which they communicate becomes important. Many enterprise networks have a large amount of traffic increasing the variability of the network latency, which will delay the communication between the server and client. Due to this uncertainty, even with a dedicated network, thin clients are good solution for non-critical control and display.
Figure 3. Hundreds of lines of ActionScript in Adobe Flash are often necessary to create even simple thin client applications.
Web development knowledge is required for the creation of the interface because web-based thin clients use a web browser to visualize system information. For a rich interactive user interface more advanced development tools, such as Adobe Flash, AJAX, Microsoft Silverlight, and Java applets, are required to create applications. As these languages all require unique expertise used to write and script behaviors, the initial software development for comparable UIs requires a higher investment for thin clients as opposed to thick clients. As an alternative to acquiring this unique programming expertise, LabVIEW Web UI Builder provides a graphical programming environment to develop a web-based thin client application.
Learn more about how LabVIEW Web UI Builder accelerates thin client creation.
Figure 4. LabVIEW Web UI Builder is a stand alone editor for creating thin client applications.
3. Cabled Displays
Cabled displays divert from the server/client architecture that the thin and thick clients rely on and directly connect to system controllers to visualize and control I/O. Depending on the graphics capabilities of the controller these displays can range from the simplicity of an off the shelf VGA or DVI connected monitor to a custom designed display.
Off the shelf monitors provide a fast, inexpensive method to provide a user interface. Since it is directly connected to the controller it also is a very reliable method to visualize data. As some operating systems (OS) do not support rich graphics, it is important to first verify that the OS on your controller does support this capability. Another factor to consider is that this method consumes some of the system controller’s resources in order to execute the display logic and update. In addition, it has a range and scalability limited by the display cable length and display capabilities of the system controller.
Custom designed embedded displays share many of the same trade-offs as off the shelf monitors. Custom embedded displays allow the designer the flexibility to select the best display and driver chips for the application. As these displays do not come pre-packaged there is more investment up front in hardware configuration, communication and programming. In general custom designs also have less re-use increasing the overall engineering costs. As deployment volumes increase this initial investment may be justified; however, this unit volume threshold is typically on the order of thousands. To learn more about these custom design trade-offs refer to Build versus Buy - Understanding the Total Cost of Embedded Design.
With these trade-offs in mind here are two examples of custom embedded displays.
Serial Touch Panel Displays
There are a large number of serial touch panel displays on the market that provide color touch panels for custom embedded systems. Reach Technology is one such provider who has worked to develop custom interfaces to LabVIEW Real-Time. When used in conjunction with NI CompactRIO or NI Single-Board RIO, Reach displays can provide ideal solutions from flexible system prototypes to high-volume system deployments.
Simple character displays are relatively easy to program and serve as an adequate interface in many applications. This technology is relatively mature and several companies such as Matrix Orbital and Crystalfontz provide a broad array of solutions. These displays connect over a variety of communications buses including serial, I2C, and SPI.
The needs of an application will dictate what type of visualization is implemented whether it is a server/client architecture with thin or thick clients or a cabled display. If your application requires more distributed control or analysis the additional processing power of a thick client provides a good solution. However if remote accessibility for many clients is a larger care-about, a thin client implementation may be warranted. Finally, if a local user interface is required for a system controller the cost effectiveness of a cabled display is the best alternative.
With the close integration of hardware and software NI LabVIEW provides one software environment and one graphical programming language to develop both the system and a hybrid visualization solution increasing your productivity.