0% found this document useful (0 votes)
130 views96 pages

Chap15 S PDF

This chapter discusses human-machine interfaces (HMIs) for connecting computers to industrial programmable logic controllers (PLCs). It provides an overview of common HMI software packages and compares Allen-Bradley and Siemens PLCs/HMIs. The chapter then discusses historical panel design and the ISA standard for HMI development. It introduces various Siemens HMI hardware and the software tools for Allen-Bradley and Siemens to program HMIs. It provides a simple example of programming a button in Allen-Bradley's Studio 5000 View Designer to toggle a PLC bit for testing communication between the HMI and PLC.

Uploaded by

hằng nguyễn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
130 views96 pages

Chap15 S PDF

This chapter discusses human-machine interfaces (HMIs) for connecting computers to industrial programmable logic controllers (PLCs). It provides an overview of common HMI software packages and compares Allen-Bradley and Siemens PLCs/HMIs. The chapter then discusses historical panel design and the ISA standard for HMI development. It introduces various Siemens HMI hardware and the software tools for Allen-Bradley and Siemens to program HMIs. It provides a simple example of programming a button in Allen-Bradley's Studio 5000 View Designer to toggle a PLC bit for testing communication between the HMI and PLC.

Uploaded by

hằng nguyễn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 96

Chapter 15 HUMAN MACHINE INTERFACE

Introduction

Communications between processor and HMI (human machine interface) is an important subject
as well as constructing an operator interface. The chapter includes procedures for attaching
computers as HMI devices to the CompactLogix processor from A-B and the Siemens 1200
processor. Graphic control packages used are A-B’s RSView ME and Siemens’ WinCC. Other
packages exist and were not excluded based on their capabilities. The ones used are among the
more common and popular ones used today.

The following HMI panels communicating to PLC processors will be discussed in this chapter
followed by a lab that can show advantages and disadvantages of each.

RSView Studio WinCC OPC-


ME View UA
Fig. 15-1 HMI Graphic
Compact Compact Siemens Control Packages
Logix Logix 1200 PLC

Rockwell Products Siemens Siemens


or Allen-
Bradley
In each case, the emphasis is on getting a simple application operational and then expanding
from that, remembering the analogy of the kite flying with a simple string over Niagara River.
Later, the more difficult applications are discussed but only after a single button is programmed
from the HMI and communicates successfully to the PLC.

Historical Panel Design

The design of an operator panel requires much coordination with the programming of the PLC
and the design of the machine being controlled. Before the computer-designed systems, there
were individual component systems that were hard-wired to the control devices inside the panel.

Fig. 15-2 A Simple Control Panel


with Push Buttons and Switches
with Indicator Lights

Ch 15 Human Machine Interface 1


Fig. 15-3 This Printer is used for alarms for a process. Each alarm was recorded at the
time of occurrence and printed as a single line of data to be analyzed by a process
engineer or controls engineer.

Fig. 15-4 This panel


shows many discrete
devices as well as
mimic panels showing
process lines.

Meters show levels or


flows of various
devices.

Alarms are shown in


grids of illuminated
push buttons.

Ch 15 Human Machine Interface 2


Fig. 15-5 Alarm panels were designed with discrete panels that lit or blinked with each
alarm. Buttons were used to acknowledge each alarm point.

Fig. 15-6 Data was collected with recording devices similar to the above. Multiple
points were individually recorded and studied.

Ch 15 Human Machine Interface 3


Fig. 15-7 A handheld
thermocouple readout
device with paper
recording output

Fig. 15-8 Several discrete controller devices for process control. Each
device is capable of solving a single or multiple loops of process data
executing a PID formula and controlling the output of the control loop.

Ch 15 Human Machine Interface 4


Fig. 15-9

Whatever the appearance of the outside


of the panel, the inside many times
looks similar to the panel shown at left.
It is too easy for the panel to look like
this after a short time even though the
original plan showed a neat design with
well-organized wiring layout. This is
not just a rare bad example.

Fig. 15-10

The picture below is of a panel


designed in 1980 for a chemical
batching system. It should be seen as
what ‘was’ and not as what today
should be a good design. It cost
approximately $100K then and was a
divider between the operator room and
the instrument control room for the
process.

Ch 15 Human Machine Interface 5


ISA-101 Human Machine Interfaces for Process Automation Systems

ISA-101 (officially ANSI/ISA-101.01-2015) is the HMI specification meant to describe proper


development of an HMI panel. The specification is under development and should be referenced
as it may have input for your HMI design.

Hardware to Complement the Software

The following Siemens panels are available for selection to replace the various panels above.
Software allows the design of these ‘soft’ panels to be adapted to represent all the designs shown
above. Siemens, which provides a complete offering of hardware operator interface units to
complement the software requirements.

Fig. 15-11 Siemens HMI

Ch 15 Human Machine Interface 6


Fig. 15-12 Siemens HMI

Fig. 15-13 Siemens HMI

Ch 15 Human Machine Interface 7


Fig. 15-14 Siemens HMI
Ch 15 Human Machine Interface 8
Fig. 15-15 Siemens HMI
Ch 15 Human Machine Interface 9
Fig. 15-16 Siemens HMI

The hardware above shows the variable nature of hardware panels available for use. The cell
phone is also available with an app installed that communicates with the system software. Each
device gives a level of access to the PLC program and give visual feedback to the engineer or
plant personnel.

The Software for Development

We begin the software development of the three programs. Two programs exist in the A-B
platform and one is available from Siemens. We will also discuss an OPC-UA application for a
total of four different programming platforms.

Common Tags

The most obvious advantage of using any new PLC platform is the universal accessibility of data
tags. Tags created in any tool for any device are automatically and immediately accessible to
other devices. If, for example, a user creates a new tag in the PLC to measure temperature, that
tag is automatically created in the operator panel at the same time. This saves valuable
engineering time compared to earlier methods that require the tag to be created in each device.

The suspension bridge at Niagara Falls was started by flying a kite with a string attached across
the Niagara River. When wind conditions were favorable, the kite was flown across the river.
Then a string was attached to the thread and a bridge was the eventual result. Likewise,
programs in this chapter can be started with small threads and then expanded. It is best to get a
simple device such as a button programmed and fully working and then adding the rest of the
project after the button has been proved to thoroughly work in all modes

Ch 15 Human Machine Interface 10


Allen-Bradley’s New View Designer

Allen-Bradley recently released a new graphic HMI Development Environment. It is found on


Studio 5000 as ‘View’.

We began the View Designer with a project named ‘t7’ tied to a plc program in a processor
named ‘r4’.

Ch 15 Human Machine Interface 11


The plc application is already running and the application is selected under Project properties.
We select a 10.4 “ PanelView 5500 panel although we are never going to download to this HMI
panel. We plan to only use it in the emulate mode.

We then select the reference tab and tie the HMI to the processor ‘r4’ at IP address 192.168.0.4.

We then start with a button but use a rectangle instead of the pre-designed buttons.

Right click on rectangle. Choose Set tag to 1 on press, 0 on release. Then below is a box for the
tag. If attached properly above to the processor, the available bit may be seen in the Tag
window. Choose the appropriate variable.

Ch 15 Human Machine Interface 12


The tag we tied to resides in the PLC and is ready to be tested. If we were to toggle the button
(rectangle) on and off, we should see the contact respond accordingly with the emulator running.

Under View 5000’s Project tab, run the emulator program. With the emulator running, by
pushing the rectangle with the mouse button, the bit ‘a’ should turn on. It does. This is a good
test that the program is communicating properly with the HMI and gives you a positive feedback
that you are ready to proceed with other logic development. The button works!

In the state table for the rectangle (button), change the number of states to 2 and tie the states to
‘b’, the coil in the example. When the button is pushed, the color changes from green to orange.
The button now reflects the status of the coil ‘b’.

Ch 15 Human Machine Interface 13


We now have a button and indicator light similar to the ones used in the hard-wired system
previously used. We have a button and illuminated indicator that may be used together or
separately.

The RSView ME Stand-Alone Application

RSView Studio is the older A-B product. It resides on the PC’s in NE 2350 but not in NE 2390.
To open RSView Studio and gain access to RSView ME, open the program and click on the New
tab. For Application name, the following example program used test.

The A-B product uses RSLinx Enterprise. This means that RSLinx Enterprise has the ability to
allow this software package to browse directly for the tag database and link existing tags and not
requiring a tag created in the HMI to complement the tag in the PLC.

When starting a new application, select Objects from the main menu. Notice the types of objects
Ch 15 Human Machine Interface 14
selectable. Under each selection are sub-menu selections. In the case of Push Buttons, the four
sub-menu selections are:

Momentary
Maintained
Latched
Multistate
etc

The pushbutton is a good example of a type of object that can be used for a number of different
operations. For example, momentary is the most used button with an exact simulation of a real
button in which the operator pushes the button and a ‘1’ appears in the data address of the
device. When the button is released, the button returns to a ‘0’. As simple as this is, it is a very
profound device in that the device continues to write a ‘1’ to the data tag until the device de-
activates and the device writes a ‘0’. Other button types have various other characteristics and
these characteristics allow the programmer flexibility in programming of the various functions
surrounding the logic of the pushbutton. More will be discussed later regarding some of the
button types.

RSView Machine Edition (ME) is designed


for the machine-level HMI and supports
operator interface solutions for the
monitoring and controlling of individual
machines or for small processes.

The system tree at left shows the graphical


application and is organized by area. These
include:

System
HMI Tags
Graphics
Alarms
Information
Logic and Control
Data Log
RecipePlus

For the simple assignments of this text, the


user can simply add a display and create the
appropriate graphics on the form. To test or
run the form requires a link to a PLC. The
procedure for linking to a PLC is included
next. The tags created for the PLC are used
in the graphic and any button or indicator
will reference the PLC tag.

Ch 15 Human Machine Interface


Fig. 15-2 RSView ME Project Tree 15
Remember that input and output bits used for a HMI are tags with internal addresses, not hard-
wired inputs or outputs. For A-B, the device should have a tag referring to an internal location.
For Siemens, the address should have an M prefix.

Then, configure the local directory per administration sign-in configuration of your pc.

After this configeration is complete, you may proceed with your HMI application and connect
the HMI screens to a PLC via RSView Enterprise as described above.

Creation of tags is accomplished either in the program tag or controller tag areas. Either may be
accessed by FactoryTalk. The type of tag must be considered since numeric tags must be scaled
and configured for proper display. Boolean tags must also be configured properly.

The project is begun with the following screen present. The project name is ‘test1’.

Ch 15 Human Machine Interface 16


First Screen with RSView Studio

Selecting the Main Display

Ch 15 Human Machine Interface 17


Building a Momentary Push Button

Establishing Communication with RSLinx Enterprise

Ch 15 Human Machine Interface 18


After Selecting Communication Setup under RSLinx Enterprise

Click ‘Add’ for Device Shortcut, Enter Name ‘test1’

Ch 15 Human Machine Interface 19


Highlight the Ethernet Device – PLC
When APPLY IS HIGHLIGHTED - CLICK IT

The Local Path is Determined for the Application

Ch 15 Human Machine Interface 20


The Local Path is set with ‘OK’

Back at the Ranch (I mean Button)


Ch 15 Human Machine Interface 21
Working with the Button –
Tab 1 - General

Establishing the PLC


Connection to the Button

Ch 15 Human Machine Interface 22


Click ‘Tag’ and the Link to
the PLC ‘test1’ is Displayed

Choose ‘Refresh All


Folders’

Ch 15 Human Machine Interface 23


PLC Tags are Shown in
the Online Tags

The Tag shows the


Tag/Expression with the PLC Tag

Ch 15 Human Machine Interface 24


Color and Captions Modified
under States Tab

The Common Tab Controls


Size, Position and Name of
the Button

It is time to try the button with the connection to the PLC. Run the display by choosing the
triangle in the command line. Test the screen with the button in the off and on position. View
the bit in the PLC online program.

Use the triangle for testing single screens. To run all


screens together in local mode, run the little man. There
may be problems with this operation as it invokes a
program called ‘KEP’ that may interfere with other
applications. Be careful when running the little man.

While building a screen or series of screens requires more instruction, we leave the A-B software
to discuss Siemens’ HMI interface.
Ch 15 Human Machine Interface 25
Siemens Win CC
WinCC flexible Interface

Project navigation Menu bar and buttons Work area Tools

Detail view The WinCC Interface Properties window

Work Area

In the work area we edit the objects of the project. All elements of WinCC flexible are arranged
around the work area. In the work area, we edit the project data either in the form of tables (for
example, variables), or graphically (for example, a process display). The upper part of the work
area contains a symbol bar. Here, the font, the font color or functions such as Rotate, Align, etc.
can be selected.

Ch 15 Human Machine Interface 26


The Root Screen

Tools

The tool window provides a selection of objects that you can insert in your screens; for example,
graphic objects and operating elements. In addition, the tool window contains libraries with
assembled library objects and collections of picture blocks. The objects are dragged and dropped
into the work area.

Properties Window

The properties of objects are edited in the properties window; for example, the color of screen
objects. The properties window is available only in certain editors. The properties of the
selected object are displayed in the properties window, arranged according to categories. Value
changes become effective as soon as an entry field is exited. If you are entering an invalid value,
it is color-enhanced.

By using QuickInfo, information is provided about the valid value range, for example. In the
properties window, animations and events of the selected object are configured also; here, for
example, a screen change when releasing the button.

Ch 15 Human Machine Interface 27


Dealing with Object Properties

Details View

In the Details view, additional details about the object highlighted in project navigation are
displayed.

Details of the Object

Operating Screens and Connections

A screen can consist of static and dynamic components. Static components, such as text and
graphs, are not updated by the control system. Dynamic components are connected to the
control system and visualize current values from the control system’s memory. Visualization
can be in the form of alphanumerical displays, curves and bars. Inputs at the operator panel that
are written to the memory of the control system are also dynamic components. They are
interfaced with the control system by means of variables. Initially, we are only generating a
screen for our conveyor control.

Root Screen or Start Screen

This screen was set up automatically and defined as start screen. Here, the entire plant is
represented. Buttons can be used to do the following: switching the operating mode between

Ch 15 Human Machine Interface 28


automatic and manual; starting and stopping the conveyor motor, and exchanging the box. The
movement of the bottle on the conveyor belt and the fill level of the box are represented
graphically.

Using button F6, we are jumping to the system screen:

The System Screen

Connections to S7 Control Systems

In the case of operator objects and display objects that access the process values of a control
system, a connection to the control system has to be configured first. Here we specify how the
panel communicates with the control system, and with which interface.

In Project navigation, click on Connections. Because of the settings in the hardware


configuration, all parameters are already set.

Establishing
the PLC
Connection

The IP address has to be assigned to the panel also. By means of Accessible devices, read out the
panel’s MAC address, or read it on the back of the panel.

Ch 15 Human Machine Interface 29


Assigning the
IP Address

Assigning the IP Address

After inputting the MAC address, the IP address can be assigned under Online & diagnostics. The
panel has to be in the Transfer Mode in this case. Change the IP address to 192.168.0.5 for all
applications.

Note
The IP address can also be checked or entered on the panel in the system control under Control
Panel at Profinet.

Configuring the Root Screen

Clicking on the button “System screens“ displays the system screen. We want to transfer the
function of the button System screens to the function key F6.
Ch 15 Human Machine Interface 30
Select System screens and in the Properties window below copy the function Activate screen at
Events Release.

A Start-Up or
System Screen

Function Key F6

Select function key F6 and in the Properties window below, insert the function Activate screen at
Events Release key. Then, delete the text field in the center, and delete or remove the button
System screens.

Defining a Function Key

The yellow corner on the F6 key indicates that the key is configured.

Ch 15 Human Machine Interface 31


Configuring the Buttons Automatic and Manual

Drag a button into the work area of the root screen.

Configuring a Button

At Label, enter Automatic.


Caution! Don’t press the input key; otherwise, a second line is generated.

Under Layout, enter position and size.

Ch 15 Human Machine Interface 32


Under Events Press select the function SetBitWhileKeyPressed under Edit bits.

Then, click on the field Tags (input/output) and using “…“ button, open the tag window. Here, it
is also possible to access the interface declaration of data blocks. As tag, select auto from the
Conveyor_DB [DB1].

Now, the button is to flash in the automatic mode, and change color. With a double click, select
under Animations\New animation Appearance.

Ch 15 Human Machine Interface 33


As tag, select automan of Conveyor_DB [DB1].

The button is to change color in the automatic mode; that means, when the variable automan has
the value 1. For the color change to become visible, change the foreground color at Appearance
to White and the background color to Green. At Flashing, say Yes.

Change Color of Button

Copy and paste the button Automatic. Place the inserted button under the Automatic button.

At Label, enter Manual. Caution! Don’t press the input key; otherwise, a second line is
generated.

HMI Tag

Under Events Press, select man from Conveyor_DB [DB1] as tag. The variable has to be selected,
because only then will the new HMI tag be generated.

Ch 15 Human Machine Interface 34


More Example
HMI Tags

The button is to change color in the manual mode; that means when the variable automan has the
value 0. For the color change to become visible, change the foreground color at Appearance to
White and the background color to Blue. Set Flashing to No.

Button Appearance

Visualization is opened in the RT simulator.

Running the Simulator


Ch 15 Human Machine Interface 35
Test the project of the conveyor control.
The automatic or manual mode is now pre-selected on the panel.

Start and Stop Buttons

Next, we configure the start and stop buttons.


The Start button is created exactly like the automatic and manual buttons.
The Stop button has a break contact function and has to remove the signal when operated.

- Create the Start button


- Set the background color to Green
- Under Events Press, select under bit editing the function SetBitWhileKeyPressed.
- Then select the tag on in Conveyor_DB [DB1].

Ch 15 Human Machine Interface 36


Next, do the following: Create the Stop button. Set the background color to Red.

Under Events, at Press, select under Bit editing the function ResetBit and at Release the function
SetBit with the tag off in Conveyor_DB [DB1].

Screen with Start and Stop Buttons

Ch 15 Human Machine Interface 37


Allen-Bradley Button Configuration

The choice of button type indicates the type of function desired. There is no need to program
both press and reset but rather only type and the function is performed.

Choice of Button Type Determines Function

Connections Tab on Push Button Function

The tag or expression may be programmed for the value as well as for an indicator. The
indicator actually is a second button with the state desiring to be displayed. This value may be
the same address as the value entry or a second address. To perform a similar function, Siemens
may require two buttons overlaying each other.

Ch 15 Human Machine Interface 38


Before we test the visualization, first another change has to be made in the Step7 program
In OB1, remove the assignment S3 and S4 when calling FB1.

Save and load the modified program.

Load the configuration to the panel, and test the Start and Stop buttons.

Inserting Graphics from the Graphics Folder

In the tool box under Graphics, open the directory tree WinCC graphics folder\SymbolFactory
256Colors\Conveyors, Misc.

Drag and drop the graphic of the conveyor belt to the root screen.

Ch 15 Human Machine Interface 39


In the tool box under Graphics, open the directory tree WinCC Graphic folder\SymbolFactory 256
Colors\Food.

Then drag and drop the picture of the beer bottle in the root screen.
Change the size and the position of the bottle.

Ch 15 Human Machine Interface 40


Note

All screen objects have to be within the work area (320x240 pixels).

Ch 15 Human Machine Interface 41


Control Program for Simulating the Bottle Movement

To simulate the bottle movement and the bottle sensor, we create a new block. The FB2
(simulation) below with tag declaration and networks consists of a counter that, through a start
signal, always counts up from 0 to 50.

In Network 1, the CTU (count upward) is inserted as multi-instance.


In Network 2, a bottle sensor pulse signal is read out when the count 50 is reached.
This simulates when a bottle leaves the conveyor.

Ch 15 Human Machine Interface 42


Configuring the Bottle Movement

Highlight the bottle and select under the tab Properties at Animations - Horizontal movement
(double click).

Ch 15 Human Machine Interface 43


As variable, select COUNT_VALUE of the Simulation_DB (DB2).
For range, enter from 0 to 50.

Change the bottle’s target position up to the conveyor end X150.

Ch 15 Human Machine Interface 44


Allen-Bradley Animation

The Allen-Bradley animation proceeds much the same as Siemens in that the device edited may
be animated in a number of ways including horizontal position. The position is a function of a
number in a location which is monitored and the beer bottle moved accordingly.

Ch 15 Human Machine Interface 45


In the project window, select the HMI tags.

Drag the slider in the window to the right in order to get to the column Acquisition cycle.
Set the acquisition cycle of the HMI tag to 100ms.

Ch 15 Human Machine Interface 46


Then save the project, load it to the panel and test it.

After 20 bottles, the conveyor motor stops. The bottle counter has to be reset before the next
start.

Ch 15 Human Machine Interface 47


Resetting the Bottle Counter

Drag a button into the root screen.

Fig. 15-162

As text, enter Exchange beer case and adjust the color Position & size to the button.

Ch 15 Human Machine Interface 48


Under Events Press, select under bit editing the function SetBitWhileKeyPressed.
Select the tag reset_counter from Conveyor_DB [DB1].

Set the acquisition cycle of the new HMI tag to 100ms.


Then save the project, load it to the panel and test it.

Ch 15 Human Machine Interface 49


Drawing the Beer Case

Draw a rectangle with a transparent background.


Enter the width of the border, the position and size.

Ch 15 Human Machine Interface 50


Draw a vertical line at a distance of 30 pixels.

Note

Although the measurements of the line are correct, it is drawn beyond the rectangle.
Change the form of the line ends to flush, and shorten the line by one pixel from 150 to 149.

Ch 15 Human Machine Interface 51


Draw a horizontal line spaced at 30 pixels

With copy and paste, create the remaining lines spaced at 30 pixels.

Ch 15 Human Machine Interface 52


Highlight the beer case by dragging a border around it with the mouse.

In the menu Edit select the function Group

Ch 15 Human Machine Interface 53


We don’t want to display the rectangle and the lines when the beer case is exchanged.
At Rectangle_1 and at the lines, generate the animation Visibility using the tag
Conveyor_DB_reset_counter at value 1 Invisible. For the lines, the animation can also be
copy/pasted.

Then save the project, load it to the panel and test it.

Ch 15 Human Machine Interface 54


Drawing Bottles in the Case

Enlarge the view and draw a circle in the lower right field of the box.

Ch 15 Human Machine Interface 55


Draw a second circle.

Group the two inserted cycles.

Ch 15 Human Machine Interface 56


At Circle_1 and Circle_2, generate the animation Visibility with the tag
Conveyor_DB_IEC_Counter_0_COUNT_VALUE value range 0 to19 Visible.

Ch 15 Human Machine Interface 57


Copy and paste the bottle.

For both circles, under Visibility change the value range of the tag
Conveyor_DB_IEC_Counter_0_COUNT_VALUE to 0 to18 Visible.

Ch 15 Human Machine Interface 58


Animation with visibility is available with Allen-Bradley as well. It is shown below with
visibility as a property with a tag or an expression with tags available to provide logic for the
visibility of a device, in this case, a circle.

Ch 15 Human Machine Interface 59


The expression editor gives the ability of the programmer to add logic to select the visibility of
an object.

Copy and paste the individual bottles.

At the animation Visibility of both circles decrease the value to by 1.


The last bottle has the value range from 0 to 0.

Ch 15 Human Machine Interface 60


How to Improve Plant Operations through Better HMI Graphics

A number of good texts are available for better design of HMI graphics including:

The High Performance HMI Handbook by Bill Hollifield, Dana Oliver, Ian Nimmo and Eddie
Habibi

Designing for Situation Awareness (An approach to User-centered Design) by Mica R. Endsley
and Debra G. Jones

Human Machine Interface (HMI) Design: The Good, The Bad, and The Ugly (and what makes
them so) by Paul Gruhn, P.E.

From Hollifield: “Five areas are primary in the successful design of a good HMI screen system.
They are:

 Situation Awareness
 Using Color Effectively
 Interpreting the data
 Depicting Device State
 HMI Display Organization

Situation awareness relates to the goals and objectives of a specific job or function. First of all,
designers and engineers form in their heads another mental model of the process than an
operator. By understanding how operators select and use goals, designers can better understand
how information is perceived. Without understanding the user’s goals on Situation Awareness,
the information that is presented has no meaning.”

Hollifield gives a number of graphic displays of the evolution of the operator interface. The
following figure was found until the mid 1980’s. These panels were created and manufactured
for the plant floor and were extremely difficult to change once deployed.

Fig. 15-17
Example of a Control Wall

More computer driven HMI panels began emerging to replace these panels although the early
computer replacements were extremely expensive, especially when compared to today’s HMI.
Early HMI panels also had the disadvantage of little ability to extract or analyze process data.
Ch 15 Human Machine Interface 61
From Hollifield: “When the modern systems were introduced, they included the capability to
create and display graphics for aiding in the control of the operation. However, there were no
guidelines available as to how to create effective graphics. Early adopters created graphics that
mimicked P&ID or schematic drawings, primarily because they were readily available. The
limited color palette was used inconsistently, and screens began to be little more than crowded
displays of numbers on a P&ID.”

Fig. 15-18
Early Graphic
Showing Many
Problematic
Practices

Early graphics were a stark contrast to the hard-wired panels of earlier times. They were
developed primarily from the P&ID drawings of the process but lacked any methods to quickly
diagnose problems in the plant. While this style was accepted and promoted, there are severe
problems with this design as noted by Hollifield and others. The next few pages outline some of
the common mistakes made by continuing to use the design shown above.

With each design, the operator must be considered first. The operator may be a person with little
or no process education and may have little or no training from the factory. He or she may be on
the job only a few days and be required to make quick decisions concerning the operation of the
plant. While there are not many examples of plants being destroyed because of operator error,
the operation of the plant must be considered from all angles and the HMI panel is the first place
an operator or maintenance person should go for help. The following example shows 3-D design
but is of little help with actual information.

Fig. 15-19
A Flashy Graphic
inappropriate for
Actual Operational
Control

Ch 15 Human Machine Interface 62


Hollifield points out: “There are no trends, condition indicators, or key performance elements.
You cannot easily tell from this graphic whether the operation is running well or poorly. That
situation is true for more than 90 percent of the graphics used throughout industry today because
they were not designed to incorporate such information. Instead, they simply display dozens to
hundreds of raw numbers lacking any informative context.”

Justification for HMI Improvement

Again from Hollifield: “Poorly performing HMIs have been cited time and again as significant
contributing factors to major accidents. Yet, our industry has made little significant change in
HMI design. There is another industry that learns from its accidents and has made phenomenal
advancement in HMI design based on new technology. That industry is avionics. The resulting
improvement in pilot situation awareness is one of the largest contributing factors in the decades-
long decline in aviation accidents.

Fig. 15-20
Garmin G2000
Avionics Package
in a Small Plane

Modern avionics feature fully-integrated electronic displays as shown in Fig. 15-20. These depict
all of the important information, not just raw data, needed by the operator (i.e., pilot). Position,
course, route, engine diagnostics, communication frequencies, and automated checklists are
displayed on moving maps with built-in terrain proximity awareness. Real-time weather from
satellite is overlaid on the map. Detailed database information on airports is available with just a
click. Situation awareness and abnormal situation detection is far improved by these advances.
This capability – impossible even a dozen years ago in multi-million dollar airliners – is now
standard on even the smallest single engine aircraft.” The following shows an example of a great
deal of information yet no real information about the process. This is not what to do!

Fig. 15-21
All Data, No Information

Ch 15 Human Machine Interface 63


The mental process of comparing each number to a memorized mental map of “what is good” is a
difficult cognitive process. Operators have hundreds (or even thousands) of measurements to
monitor. Thus, the results vary by the experience and memory of the operators as well as how
many abnormal situations they have personally experienced with this particular compressor.
Training new operators is difficult because the building of these mental maps is a slow process.
Adding more numbers to a screen like this one does not aid in situation awareness; it actually
detracts from it.

By contrast, a bank of analog indicators, as in Fig. 15-18, can represent these numbers much
more effectively. Analog is a powerful tool because humans intuitively understand analog
depictions.

Fig. 15-22 Analog Depiction of Information

Ch 15 Human Machine Interface 64


Further Explanation of Moving Analog Indicators

We are hard-wired for pattern recognition. With a single glance at this bank of properly designed
analog indicators, in Fig. 15-19 above, the operators can tell if any values are outside of the
normal range, by how much, the proximity of the reading to both alarm ranges, and the values at
which interlock actions occur. Analog depictions such as these moving analog indicators are a
key element of HPHMI.

In just a second or two of examination, the operator knows which readings, if any, need further
attention. If none do, the operator can continue to survey the other portions of the operation. In a
series of short scans, the operator becomes fully aware of the current performance of their entire
span of control.

The knowledge of what is normal is embedded into the HMI itself, making training easier and
facilitating abnormal situation detection, even before alarms occur, which is highly desirable.

Similarly, depiction of PID controllers is accomplished with the addition of easily scanned
setpoint, mode, and output information, as in Fig. 15-20. If the final control element has a
position feedback signal, deviation is easily and effectively shown on the output scale.
Mechanical deviations are prime causes of abnormal situations, and they should be made easy to
spot.

The subtle, slight gradients and shadows are intended to increase prominence of the live
elements. Images in printed form are often significantly different than images shown on a screen.
For that reason, other modifications to increase printed visibility have been made on some
depictions in this paper. Actual design of HPHMI elements concerns their appearance on the
screen.

Ch 15 Human Machine Interface 65


Fig. 15-23 Analog Depiction of PID Controllers

Proper User of Color

Color must be used consistently. People have several types of common color-detection
deficiency (e.g., red-green, white-cyan, green-yellow). For this reason, the most important rule
for color is this:

Color, by itself, is never used as the sole differentiator of an important condition or status

Most graphics throughout the world violate this principle. A color palette must have a limited
number of distinguishable colors used consistently. Bright colors are primarily used to bring or
draw attention to abnormal situations, not normal ones. Screens depicting the operation running
normally should not show brightly saturated colors, such as bright red or green pumps,
equipment, valves, and similar items.

When alarm colors are chosen, such as bright red and yellow, they are used solely as an aspect of
the depiction of an alarm-related condition and for no other purpose. If color is used
inconsistently, then it ceases to have meaning. There should not be very many colors, and all
colors must be easily distinguishable.

Graphics with color-neutral gray backgrounds on LCD screens are effective. They also enable
the lights in the control room to be turned back to bright – where they should be. Poor graphics
began with dark backgrounds and bright colors due to 1980s-90s CRT hardware limitations. This
scheme resulted in major glare and reflection problems which were addressed by dimming the
control room lights. For operator alertness, the control room lighting should actually be brighter
than a typical office, all day and all night.

Depicting Process Values

The display of live values on the screen should be shown in a different way than static text:

● The choice of a bold, dark blue is a good choice with the gray background and
differentiates live values from static text done in black or dark gray as in Fig. 15-22.
● Leading zeros are not displayed, except on fractional values (e.g., 0.27). Values are
Ch 15 Human Machine Interface 66
shown only to the precision needed by the operator.
● In tables or columns, generally align numbers on the decimal point.
● Units of measurement are displayed in non-bold text near the value.
● Point names should not be shown on the screen by default. It should never be necessary
for an operator to have to type in a point name in the entire HMI.
● Process values can have a variety of diagnostic conditions. Fig. 15-22
shows a clear, concise, and visible way for depicting those. Color coding is not
recommended.
● When items are “selected,” that status should be indicated. Surrounding the selected
item with a white outline is a good practice.

Fig. 15-24
Depicting Process
Values

Depicting Alarms

Proper alarm depiction should also be redundantly coded based upon alarm priority (color /
shape / text). Alarm colors should not be used for non-alarm related functionality.

When a value or object comes into alarm, the separate alarm indicator appears next to it, as
shown in Fig. 15-23. The indicator flashes while the alarm is unacknowledged (one of the very
few proper uses of animation) and ceases flashing after acknowledgement but remains visible as
long as the alarm condition is in effect. People do not detect color change well in peripheral
vision, but movement such as flashing is readily detected. Alarms thus readily stand out on a
graphic (and on multiple screens) and are detectable at a glance.

Fig. 15-23 shows that the most common methods of alarm indication are a direct violation of the

Ch 15 Human Machine Interface 67


basic rule of color use, as they are different solely by the use of color.

Fig. 15-25
Depiction of Alarms

It is highly beneficial to include access within the HMI to the alarm rationalization information
contained in the Master Alarm Database as show in Fig. 15-243. If these terms are unfamiliar,
you are advised to read the ISA 18.2 standard for Alarm Management in the Process Industry, or
read the API RP-1167 Alarm Management Recommended Practice if you are in the pipeline
industry. PAS offers free white papers explaining both documents.

Fig. 15-26
Linked Alarm Information

Ch 15 Human Machine Interface 68


Depicting Profiles of Temperature or Pressure

Consider these alternative distillation column temperature profile displays. When only numbers
are shown, even an experienced operator may easily miss a suboptimal condition. Additionally, a
new operator will find it difficult to build a mental map of a proper profile. The desire is for all
operators to recognize normal and abnormal profiles at a single glance.

Fig. 15-27
Measurement Profile

A correct profile can be seen at a glance as a straight line.

Depicting Dynamic Equipment

So what about the paradigm of using bright green to depict “ON” and bright red for “OFF” (or
vice versa in the power industry)? This is an improper use of color. The answer is a depiction
such as Fig. 15-26.

The relative brightness of the object shows


its “ON-oFF” status, as does the use of a
process value word next to it. Equipment
items brighter than the background are
“ON” (think of a light bulb inside them).
Items darker than the background are
“OFF.” If equipment has no status that is
sensed by the control system, but is desired
on the graphic anyway, it is shown as
transparent to the background color. The
status word can indicate several
conditions, as shown. Remember, if any of
those are also alarm conditions, the
separate alarm indicator will appear next to
the equipment when it is in an alarmed
state.

Fig. 15-26 - Depicting Status with


Ch 15 Human Machine Interface 69
Redundant Coding and Proper Color
Usage
Bars vs. Pointers

Attention to detail is important. It is typical to use bar graph elements to show relative positions
and values. While this may be better than simply showing numbers, it is inferior to the use of
moving pointer elements since the bar disappears as the bar’s value gets low. The human eye is
better at detecting the presence of something than its absence. And, the low condition may be
more important than the high condition and should have equal visual prominence. The example
in Fig. 15-27 is superior in showing relative values, besides the color improvement.

Fig. 15-28
Bars vs Pointers

Depicting Level Indication

Vessel levels should not be shown as large blobs of saturated color. A simple strip depiction
showing the proximity to alarm limits is better. A combination of trend and analog indicator
depictions is even better such as Fig. 15-28. The right-hand edge of the trend replaces the pointer
and provides context.

Fig. 15-29
Vessel Levels

Depicting Control Valves and Shutoff Valves

Control valves turn out to be one of the more complicated items to depict. The tendency is to
want to cram too much data into a small space. Traditionally, we depict a control valve
(throttling, variable position) with a domed head depiction and an automated block valve (only
on-off) with a rectangular head depiction.
Ch 15 Human Machine Interface 70
In keeping with equipment depictions, the valve body is filled darkly for closed and brightly for
open. This also follows the P&ID paradigm for block valves. The same method can depict the
state of three-way valves. The solenoid and position switch statuses can also be shown if desired.

Fig. 15-30
Control and Automated
Block Valves

Depicting Equipment Commands

When DCS/SCADA points are built that indicate equipment state, the control engineer can usually
decide which words to display to represent the current state. The choices they make are often poor.
The most common example is “RUN” and “STOP.” Do these represent the equipment’s status, or
a command to it? “RUNNING” and “STOPPED” are much better status indication words. “STOP”
and “START” are commands, not statuses.

Similarly, the graphics need to differentiate clearly between status indications and command
possibilities. In general, the graphic indicates the current state, and faceplate interactions are used
to command changes to that state. It is common to have a point type that includes both a switch-
type (binary) output command and binary status feedback, commonly called a Digital Composite
Point. Fig. 15-30 shows a compact graphic presentation of those statuses. Selecting the graphic
element would call up the faceplate for the actual interaction.

Fig. 15-31
Digital Composite
Point Depiction

Ch 15 Human Machine Interface 71


Use of Trends

The most glaring deficiency in HMI today is the general lack of properly implemented trends.
Every graphic generally has one or two values on it that would be far better understood if presented
as trends. However, the graphics rarely incorporate them.

Instead, engineers and managers believe vendor claims that their operators can easily trend any
value in the control system on demand with just a click. This is incorrect in practice; a properly
scaled and ranged trend may take 10 to 20 clicks/selections to create and usually disappears into
the void if the screen is used for another purpose (like calling up a different graphic).

This deficiency is easily provable; simply walk into the control room and count how many trends
are displayed. Our experience in hundreds of control rooms is that trends are vastly underutilized
and situation awareness suffers due to that.

Trends should be embedded in the graphics and appear, showing proper history, whenever the
graphic is called up. This is generally possible but is a capability often not utilized. Trends
should incorporate elements that depict both the normal and abnormal ranges for the trended
value. There are a variety of ways to accomplish this as shown in Fig. 15-31. The range indicator
could also indicate the alarm and interlock ranges (see the later Level 1 Overview Example; Fig.
15-44).

Fig. 15-32
Trend Depiction of
Desirable Ranges

Ch 15 Human Machine Interface 72


Depicting Tables

Even tables and checklists can incorporate proper principles as shown in Fig. 15-32. Consistent
colors and status indication can be integrated. The intent is to make the abnormal stand out.

Fig. 15-33
Tables and
Checklists

Depicting Shutdown Activation

Operators must have the ability to shut down operating equipment manually and quickly. However,
when an important action with significant consequences is based upon operator input, the input
should have a confirmation mechanism that avoids inadvertent activation. The “cancellation”
option should be consistently implemented.

It should never be possible to make a single selection on a screen that results in an inadvertent
shutdown. A “Shutdown button” should call up at least one, and perhaps two, layers of
confirmation before it is possible to actually cause such a significant event.

The “defaults” of such mechanisms should be on the safe option. Always consider what an
inadvertent “ENTER” will do and label screen items with full clarity.

Major process upsets have occurred by mistyping an input (for example, opening a slide valve to
47 percent instead of 4.7 percent). Older DCSs using membrane keyboards are particularly
susceptible to this type of error. Error checking methods should be used to require confirmation
of numerical entries that seem inappropriate.

Ch 15 Human Machine Interface 73


Fig. 15-34
Layers of Confirmation

Depicting Interlock Functionality

Interlocks are functions whereby normal control actions are overridden by predetermined process
conditions. An example would be to override a steam valve to the closed position if the
equipment temperature or pressure is too high. There are several HMI-related issues to be
addressed for interlocks, and these must be handled regardless of whether the interlock is
implemented in the DCS or in a separate Safety Instrumented System.

Fig. 15-35
Interlock Symbology

Interlocks are implemented using logic structures, usually “blocks” or “points” or “ladders.” These
are usually complicated and cryptic to understand when displayed using the native capabilities of
the DCS (e.g., logic point detail). They may activate infrequently since they are usually designed
to protect against an abnormal situation. Due to this, the operator may not encounter them for
months. When they activate, the operator may not remember being told about “the new column
interlock” implemented a year ago and have no idea why he cannot start feed to the column. If this
occurs at 2 a.m. on a Saturday night, then the engineer is (deservedly) likely to get a phone call
and production may be delayed.

Therefore, every interlock, when activated, needs to indicate that activation on the appropriate
Level 2 and 3 display. The strategy may be different for those displays.

Ch 15 Human Machine Interface 74


Fig. 15-36
Interlock Before and After
Activation

For Level 2 displays, a small bank of interlock symbols can be created, with functionality as
shown in Fig. 15-37 and 47. An element next to it can indicate the interlock action conditions.
When an interlock becomes active, any element that it is affecting (such as a pump or control
valve) should have the interlock symbol appear next to it. In this manner, the operator can clearly
see which interlocks are in effect and what items they are affecting.

Fig. 15-37
Interlock Diagnostic Table

For Level 3 displays, a more detailed view of the interlock can be shown such as in Fig. 15-38.
When active, the specific interlock symbol can be displayed next to each initiator signal and
affected output. For Level 3 displays, an interlock diagnostic element should be created, clearly
showing the possible initiators and possible actions taken by the interlock. This does not have to
be complicated; a table such as the following can often suffice.

Ch 15 Human Machine Interface 75


Fig. 15-38
Shutdown Initiator with First-Out

When an interlock shuts down a piece of equipment, a “First Out” indication is often desirable
since some of the other initiators may activate after the shutdown trip occurs. Fig. 15-38 is a
simple example of a Shutdown “First Out” Table:

Shortly after the compressor shuts down due to high vibration, the oil pressure also drops which
produces another shutdown initiator. As a result of equipment isolation, the suction pressure may
also drop sufficiently to activate another shutdown initiator. Thus, by the time the diagnostic
graphic is consulted, three separate shutdown causes are present and the question is – which is
the original culprit? Two are a consequence of the immediately prior shutdown, and the actual
cause of the shutdown is shown via the “First Out.” The vibration reading depicted is “currently”
much less than the shutdown limit (since it quits shaking after the shutdown), thus the high
vibration indication (the “X”) needs to be latched until reset.

Startup Map

Consider the principle illustrated by Fig. 15-39. The roadmap for a proper startup is clearly
depicted and progress is visible. (In this case, the trend lines “grow from the left.”) The roadmap
reflects the proper rates and conditions for temperature rise, staggered feed introduction, and
staggered additive introduction. It takes many pages of written procedures to describe what this
single diagram more clearly depicts. The structure gives the operator proper situation awareness
and shows not only what has happened, but what is coming up next. A picture of a P&ID
sprinkled with live values can do none of this, yet startup graphic elements like this are
extremely rare. People may say, “But it costs money to design custom elements like this!” Yes,
but we don’t save money by not painting lane divider lines in our roads. A single poorly-
executed startup often costs much more than proper HMI development.

Ch 15 Human Machine Interface 76


Fig. 15-39
High Performance Element
Designed for Startup Use

Navigation and Command Buttons

Multiple methods of navigation should be provided. The operator should be able to go up and
down through the hierarchy, side to side through the process, and call related details, trends, and
shutdown status displays from any graphic. This navigation capability should work with all
available methods provided by the DCS vendor – mouse or touch screen target selections,
keyboard keystrokes, context sensitive menus, or others.

Fig. 15-40
Navigation Buttons
and Targets

Every screen (particularly Level 2) should have navigation targets to the most likely other
screens that the operator would access. When a P&ID depiction is used, any process line entering
or exiting the screen should contain a navigation link to the relevant graphic. Navigation buttons
or targets should be consistent and simple (and not look identical to command buttons). Most
control systems provide pre-made navigation button objects, including many that are
inappropriately colored, needlessly 3-D, and overly intrusive.

The system and graphics should be configured so it is never necessary for the operator to type in
a point name or graphic name. Some DCSs have arrays of programmable keys, which can be
assigned to call up certain displays or combinations of displays. For systems that do not,
programmable key arrays are inexpensive on the computer accessory market.

Ch 15 Human Machine Interface 77


Implementing an entire navigation structure in a single Windows-type pull-down hierarchical
menu (i.e., one with “sub-menus” that pop-out of the side) is generally not recommended,
particularly a structure more than two levels deep.

The Main Menu: It is desirable for the operator to have two-click access from any graphic to any
other graphic, to supplement any other navigation method used. Every graphic should have a
consistently placed “Main Menu” navigation button. It opens a simple text screen, logically and
hierarchically arranged, with one-click navigation links to all graphics.

Display Hierarchy

Displays should be designed in a hierarchy that provides progressive exposure of detail. Displays
designed from a stack of P&ID schematic designs will not have this; they will be “flat” like a
computer hard disk with one folder for all the files. This does not provide for optimum situation
awareness and control. A four-level hierarchy is desired.

Fig. 15-41
High Performance
HMI Display
Hierarchy

Ch 15 Human Machine Interface 78


Level 1 – Operation Overview

Fig.15-42 Example Level 1 Display

This is a single graphic showing the operator’s entire span of control, the big picture. It is an
overall indicator as to how the operation is running. It provides clear indication of the current
performance of the operation by tracking the Key Performance Indicators as in Fig. 15-44.

Level 1 Overview graphics are usually not designed for making control interactions (i.e., no
faceplate zone).

The Fig. 15-44 example is from a large power plant. We often hear “But it doesn’t look like a
power plant!” Correct! Does your automobile instrument panel look like a diagram of your
engine surrounded by numbers? The display is designed so that it is easy to detect if the plant is
running well or poorly and that important abnormal conditions and alarms stand out clearly.
The Level 1 graphic is ideal for display on a large, perhaps off-console, monitor. Many have
purchased such large screens with little idea of how to make the best use of them.

Ch 15 Human Machine Interface 79


Level 2 – Unit Control

Fig. 15-43 Example Level 2 Display of a Reactor

Every operation consists of smaller, sub-sectional unit operations. Examples include a single
reactor, a pipeline segment, a distillation train, or a compressor station. A Level 2 graphic exists
for each separate major unit operation. It is designed to contain all the information and controls
required to perform almost all operator tasks associated with that section from a single graphic as
shown in Fig. 15-45.

Notice how the analog indicators and controllers are lined up for easy scanning rather than being
scattered all around a P&ID depiction. Ease of abnormal situation detection is an important
HPHMI design consideration.

When properly designed, most operator actions will occur at Level 2, and the Level 3 graphics
will be used only for more detailed troubleshooting.

Ch 15 Human Machine Interface 80


Level 3 – Unit Detail

Fig. 15-44 Example Level 3 Display

Level 3 graphics provide all of the detail about a single piece of equipment. These are used for
detailed diagnosis of problems. They show all of the instruments, interlock status, and other details.
A schematic or P&ID type of depiction is often desirable for a Level 3 display.

The Fig. 15-46 example shows what could be created “from scratch” as a Level 3. Besides the
P&ID depiction, other HPHMI elements are included. In existing systems, most graphics are
actually Level 3. See the “HPHMI Implementation on a Budget” section in the Part 2 document
for guidance about this.

Level 4 –Support and Diagnostic Displays

Level 4 displays provide the most detail of subsystems, individual sensors, or components. They
show the most detailed possible diagnostic or miscellaneous information. A “Point Detail”
display is a typical example. The dividing line between Level 3 and Level 4 displays can be
somewhat gray.

Ch 15 Human Machine Interface 81


OPC and Visual Basic

OPC is short for OLE for Process Control. OLE is short for Object Linking and Embedding.
OPC strives to connect industrial automation with software programs (sometimes referred to as
enterprise systems) to share data. OPC is an open system with shared standard approaches.
Currently seven standards comprise the OPC system. OPC Foundation is the organization to
oversee the adoption and creation of these standards.

OPC is a program that works with OLE (Object Linking and Embedding) a technology
developed by Microsoft for the purpose of embedding and linking to documents. OLE stands for
OLE for Process Control. Included in OPC are devices that provide aid to the programmer in
areas such as:

 Alarms and Event

 Redundancy: Industrial applications frequently require high availability and reliability


that can be easily achieved by implementing communication redundancy

 Client Server Architecture: The client/server nature of OPC enables users to architect
connectivity solutions that would previously be prohibitively expensive.

 Historical Data Access: OPC Historical Data Access (OPC HDA) specification is used to
archive and retrieve process data. Also included are trends reports using the OPC HDA
client applications.

DDE and OPC are integrated into the Allen-Bradley product through RSLinx. See the opening
tabs for these applications in RSLinx below:

Fig. 15-45

Microsoft’s Access and Crystal Reports are examples of the power of using OPC with Visual
Basic.

Ch 15 Human Machine Interface 82


Graphic Standards From Windows Standards

Graphics come in many flavors but not all file formats are suitable for all purposes. How do you
know which is best? Some standards exist for a specific company. Other standards for graphics
are general and used by most. Some of these are:

Practical Design of Logic with HMI

From early in the chapter, A-B’s design allows for a Push Buttons with the selection Multistate.
The memory circuit can be turned on or off from the multistate button. The better memory
circuit can also be turned on or off from the program. The memory circuit then must be able to
report to the HMI the present state. The program for this function is left as an exercise.

From HMI
Turn On
Fig. 15-46

From HMI
Turn Off
View Status
Memory
On HMI
Circuit
From Program
Turn On

From Program
Turn Off

The use of multistate buttons to provide this logic is useful but not necessary. The use of a single
button on the screen is an advantage in that one button can be used to turn on the memory, turn
off the memory and display the present state of the memory. All three functions can be
accomplished with a single button. All the time in advertising, we hear the ad for buy one, get
one free or the ‘two-fer’ ad. This is a real ‘three-fer’. Buy one button and get the ‘start’ button,
the ‘stop’ button and the ‘indicator’ light in the same button.

Ch 15 Human Machine Interface 83


Stop
Fig. 15-47

Stop/Start
Start
Run

Pump
Run

Where to Put the Logic

The following conveyor system has five outputs, lights for percent complete of packages going
down conveyor 1 to conveyor 2. Write a program to turn on these lights based on the fact that
packages must pass photo-eye 1 to enter the storage area and pass photo-eye 2 to exit. This
program was solved in Ch. 8 using greater/less-than statements and discrete outputs. It is
possible now to turn on these outputs in the HMI program with no statements in the Ladder other
than the Up-Down counter.

You may find it easier or better to provide the logic in the HMI or Ladder. There is usually a
preference in most companies for one or the other or you may decide for them.
Storage
Storage area not Storage Storage Storage
area empty empty area 50% area 90% area full

Photoeye 1 Photoeye 2
Packages in Packages out

Conveyor 1 Temporary Conveyor 2


storage for 100
packages
Fig. 15-48

Consider Multi-State Indicators for the application above using RSView Studio as an example:

Fig. 15-49

Ch 15 Human Machine Interface 84


Example: Expressions that return numeric values

For these examples, assume tag1 = 5 and tag2 = 25.

Expression Returned
Value
tag1 5
tag1 + tag2 (arithmetic 30
operator)
~tag1 (bitwise operator) -6
SQRT(tag2) (mathematical
function)

Example: Expressions that return true/false values

Expression Returned value


tag1 > 20 (relational 1 (true) if tag1 is greater
operator) than 20

0 (false) if tag1 is less


than or equal to 20
Industry\Valve AND 1 (true) if both valves are
Municipal\Valve open

(logical operator) 0 (false) if one or both


valves are closed

Ch 15 Human Machine Interface 85


Example: Controlling visibility with If-Then-Else logic

To create a graphic object that is to be visible only when tag1 exceeds a specified value

1. Draw the object.


2. In the Visibility animation dialog type the expression:

If (tag1 > 55) Then 1 Else 0

3. Specify that the object is to be visible when the expression is true.

From 1973, an HMI That Worked

In 1973, I was intensely involved in a project involving an HMI for three stations for a glass
manufacturing line. The program was written entirely in assembler on a 16 k machine (IBM
System 7). The HMI portion was to be six screens for the entire line including the three stations.
What happened to that project was the complete explosion of need for a manual back-up that
could over-ride the automatic system originally envisioned. The only response was to create a
manual back-up system that expanded the original six screens to 66 screens. Along the way, a
complete diagnostic system was also developed since electricians and operators could not be
expected to keep the line operational without good data concerning the sensors on the machine
and which if any were not operating correctly. The eventual HMI program consisted of about
23k assembly statements found in 66 individual over-lay programs running in a 384 word over-
lay area of the computer.

The program was a tree-designed system with operators being asked a series of choices from
which they successively moved further out a branch of the tree. In the end it worked and was
accepted by the operators and plant engineers. It took way too long and enveloped my time for
more than two years. Hopefully the lessons learned from experiences such as these would be
helpful for future engineering efforts.

One of the two learned was the conflict between production and the hypothetical original design
that insisted on complete automatic control. The manufacturing environment was not ready for
the complete automation of the theorist. If a production supervisor found it more advantageous
to have the destination of glass be on a take-off point on the right side instead of the left, he
wanted that flexibility. The automatic system did not give that kind of flexibility and he refused
to use the system until developed to his needs. The other lesson was that of complete diagnostic
reporting. The operation was not going to succeed until every switch was operational (for glass
tracking) and these switches were constantly falling into disrepair due to the moving glass. It
was only after a dedicated line on each display showed the active status of any broken switch and
its exact location was the tracking system allowed to function.

From 1998, an HMI System Divided

In 1998, I worked on a system for a steel company that saw the dividing of the project into
multiple assignments with four engineers working simultaneously on two PLC/HMI programs.
The PLCs were Modicon and the HMI was Wonderware. In this project I was responsible for
the PLC program for process control. My counterpart worked on the HMI portion from India.
Two individuals programmed the steel movement portion of the project from their office in
Toronto, Canada. The most difficult portion was the HMI portion for the steel movement. It

Ch 15 Human Machine Interface 86


involved a number of rules for the handling of the steel. These rules were total written from the
Wonderware software platform.

The rules for the handling of the steel were similar to those of a baker with an oven big enough
to handle multiple cakes with various baking times and temperatures. If a cake was in the back
of the oven and was ready to come out, could a new cake be inserted in its place given the time
over-lap of a second or third cake presently in the oven or ready also to be placed in the oven?
The rules allowed for proper bake time and temperature for each individual cake while
controlling the temperature of the overall oven.

From an article in the dmcinfo website, we see an intriguing topic:



Multiplexing Arrays of UDTs in TIA Portal V14
By Jason Mayes
Dated 12/06/2016

It's back!

When V13 SP1 was first released, one of the features I was most excited about was the ability to
multiplex arrays of custom UDTs on a PLC using a simple index tag on an HMI. This feature
allowed me to use a single faceplate or screen to display or modify data from multiple objects by
simply changing a single tag. I was so excited, I even wrote a blog post about it then!
Unfortunately, it was a feature to be short lived and, due to some unexpected consequences,
mysteriously disappeared with the release of Update 3.

Now that TIA Portal V14 has been released, the very first thing I did was look to see if it was
back. And I'm in luck!”

You may ask what is an UDT and how does a UDT save time with graphic development. This is
a good article to start exploring how this is done.

Also, we are introduced in the above article to an open library for Siemens. It is described in the
following:

“The Siemens Open Library was developed by DMC, Inc. over several years. Through a joint
collaboration with Siemens Industry, DMC documented the library and released it as an Open
Source Library open for anyone to use and distribute. The Library is Open Source and will allow
for users to contribute content to help enhance the overall availability of functionality to the
greater Siemens User Community.”

Again this sounds like something to look into in your job if Siemens is the plc of choice.

Ch 15 Human Machine Interface 87


Summary

This chapter is the only chapter solely dedicated to the HMI graphic panel. In Ch. 7, we had a
short tutorial involving getting the Siemens’ HMI attached to the S7-1200. That was an
introduction to the HMI panel and useful for encouraging students to use the panels instead of
wiring to buttons and lights. This chapter expands on that first experience in that both Siemens
and A-B are discussed as well as types of product.

The basic panels for both manufactures are introduced and explored. Buttons as well as other
devices are built. Some examples of how to use various graphics are included as well. The
chapter ends with a discussion of graphics standards and a common problem that I commonly
refer as the ‘three-fer’ button. The chapter is not meant to be an exhaustive study of HMI panels
but as a starting point for students needing to learn some graphics before launching their careers.

While this chapter begins the broad development of HMI panels, the design of panel interfaces
and screen interfaces continue in subsequent chapters, especially the chapter on motion and the
chapter on pid control.

Ch 15 Human Machine Interface 88


Lab 15.1 Revisit - The Cash Register

The basic lab is copied from Chapter 7 as follows:

Design a simple cash register similar to one found at McDonald’s or Burger King. To do this,
determine a menu of five or six items from the restaurant. Also, include a Total button or a clear
button or possibly both. Also, include a means for backing out of a mistake without starting over
from zero. Display the cost of the total order in the PLC at an address in the data table. Use
floating point math and you are encouraged to do so.

For example:

Whopper
Whopper Cancel Last
Combo

Whopper New
Dbl Combo Fries Order
Fig. 15-49

Whopper Jr Total/Tax/
Combo Drink Optional

Find the approximate prices from a McDonald’s or Burger King for the items chosen. When an
item is entered, its count is incremented automatically by one. If a button is entered multiple
times, the count is incremented to display the total count. If a mistake is made, the attendant
must be able to back up at least one entry and erase the last item or decrement that item by one.

Hints to the base lab:

Notice that counters may be referenced as either Count Up or Count Down. If the count is
counting up, the count is incremented in rung 0000. If the count is counted down, the count is
decremented in rung 0001. Individual inputs are used to increment each product choice.
However, to decrement the count, a separate button labeled “Cancel Last” is used. This button
must remember the last product chosen and decrement that item. Use the logic in chapter 7
“Relay Instructions” to remember when a button was pushed.

Use the Count Up/Count Down logic for holding active counts for the various items in the cash
register.

Make the following changes for the application:

1. Display the total price for the order on the screen. Use Floating Point numbers where
possible. Display totals in $xx.xx format.

Ch 15 Human Machine Interface 89


2. Add a second screen to allow the manager to change base prices for each item. Do not
include a password to move from screen to screen.

3. Include a button to add 6.25% tax if not “To Go” for the order.

4. Include a ‘live’ count of the number of each item ordered.

5. Create means for going from Screen 1 to Screen 2.

6. Screens should resemble the following for Lab 15.1:

Whopper 1

Burger 3 Order ToGo

Fries 0 Reset

Onion R Cancel Last


Fig. 15-50
2
Chicken 0
Wh Cmb 2 $17.31

Price of Whopper

Price of Burger Fig. 15-51

Price of Fries

Price of Onion Rings

Price of Chicken

Price of Whop Cmbo

Lab 15.2 Build the Conveyor application as described above for Siemens. Then build the
same application for A-B. Compare the two. You will need to write PLC logic to move the
elements and increment counts. You do not need to copy the programs included but may write
your own programs.

Ch 15 Human Machine Interface 90


Questions

1. How would you build the following pushbuttons in Siemens? Describe:

Momentary
Maintained
Latched
Multistate
Interlocked
Ramp

2. Describe how to demonstrate the flow of a liquid of red color through a series of pipes.
Several hand valves are in the path of the flow. How would one describe this graphic with
A-B, Siemens?

3. You are assigned the task of describing a ride at an amusement park graphically. The ride is
a zip-line. You may place sensors at the beginning and end of the ride. Describe the graphic
using A-B and then Siemens controllers and HMI.

4. For the following device, what is the animation property used to move the clock’s hand.

Fig. 15-52

5. Why would one design a PLC and HMI system with OPC and Visual Basic rather than one
of the packages described in this chapter?

6. Write code to accomplish the memory circuit in Fig. 15-188 using A-B, Siemens.

7. Describe how the programmer would animate the bottle on the conveyor moving right to left
for Allen-Bradley, for Siemens.

8. Describe how A-B and Siemens shows each bottle being entered into the case of bottles.

9. When designing the Cash Register program, what differences were noted between how A-B
and Siemens handle math data types?

10. Why is it important that a memory circuit such as Fig. 15-188 be able to be programmed?

Ch 15 Human Machine Interface 91


11. Using either A-B or Siemens ladder logic, write a cash register program that uses an
accompanying HMI program with only three items [hamburger, fries, drink]. Include logic
to calculate the total price ignoring tax. Ignore the ‘cancel last’ button and combo logic as
well.

12. Using A-B or Siemens ladder logic, write a program that could be used to show the
movement of a bottle across a conveyor belt and populate a case. Use a case of 12. Use a
start and stop button to start the operation. Use a reset button to set the bottle counter in the
case back to 0 and allow another operation to fill the case with bottles.

13. If you were moving a program from real pushbuttons to an HMI, what one thing must you
do?

Ch 15 Human Machine Interface 92


Setting the PG/PC Interface for Runtime Simulation

In order to establish a connection between runtime simulation at the PG/PC and theS7-1200
CPU, first we have to set the PG/PC interface to TCP/IP.

No. How it’s done


1 Open the system control
 with "Start > System control"
(start menu for the simplified access to the programs under Windows XP)
 or with "Start > Settings > System control"
(for the classical start menu as in earlier Windows versions).

2 Now double click on the icon

"Set PG/PC interface"

3 In the tab "Access Path", set the following parameters:


1. For the access point of the application, select from the drop down
menu "S7ONLINE [STEP 7]".
2. In the list of Interface Parameter Assignment Used, highlight the
interface "TCP/IP(Auto) -> with your network card that is connected directly to
the panel and the control system; for example, Intel(R) PRO/100 VE.
3. Then click OK and confirm the message that follows with OK also.

Starting the Configuration in Runtime

Click on the button Start runtime.

Ch 15 Human Machine Interface 93


Alternately, the following must be set up to get the PID program to run properly with the HMI simulate mode:

Click on the SetPG/PC Interface box above:


We are going to use the Siemens program TIA Portal V14 in order to run the program given for the ball-in-tube lab.
This program will be used to download the PLC program but not the HMI program.

Choose the third of the Broadcom choices. Click OK.

This allows the Siemens program to run the HMI program in simulate mode. Then download the program to the PLC.
Do not download the HMI program since we do not have the HMI to download to.

Ch 15 Human Machine Interface 94


Then click on the HMI’s Screen, Screen_1. Notice the Start Simulation button turn blue. It now allows the student to
run the HMI via simulation mode from the screen of the pc.

We need to find the variables that need to be written to the historical data. Click on Laser Input and get the tag
Laser_Percent. This tag is one to be written to the historical data logger.

Ch 15 Human Machine Interface 95


Next, go to the Historical data tag under HMI tags. Set the variables from the HMI screen above that are to be saved.
Fill in the appropriate fields and start the historical logger. This circular file will contain the data from the analog data
saved. Then run the program and run the Historical data logger. It is a circular file and will wrap around after the
table fills up.

Ch 15 Human Machine Interface 96

You might also like