Download as pdf or txt
Download as pdf or txt
You are on page 1of 80

2000 AMOT Controls Corp.

HAWKWIN

All Rights Reserved


Printed in USA

SOFTWARE MANUAL

The Controls are Yours...

Trademarks used in this text:


Hawk-I and HawkWin are trademarks of AMOT Controls Corp.
Windows and Windows 95 are registered trademarks of Microsoft
Corporation. Modbus is a registered trademark of Modicon Ltd. Other
trademarks and trade names may be used in this document to refer to
either the entities claiming the marks and names or their products.
AMOT Controls Corp. disclaims any proprietary interest in trademarks
and trade names other than its own.
This document is based on information available at the time of its
publication. While efforts have been made to be accurate, the information contained herein does not purport to cover all details or variations in
hardware or software, nor to provide for every possible contingency in
connection with installation, operation, or maintenance. Features may be
described herein which are not present in all hardware and software
systems. AMOT Controls Corp. assumes no obligation of notice to
holders of this document with respect to changes subsequently made.

AMOT
CONTROLS

Ver. 4
Form 1387 D9910
Copyright 1999

AMOT Controls Corp. makes no representation or warranty, expressed,


implied, or statutory with respect to, and assumes no responsibility for
the accuracy, completeness, sufficiency, or usefulness of the information
contained herein. No warranties of merchantability or fitness for purpose
shall apply.

Table of Contents
1. INTRODUCTION ............................... 1-1

5. GETTING STARTED ........................... 5-1

1.1 Overview ...................................................... 1-1

5.1 Building the Sequence Diagram ....................... 5-1

1.2 Software Features ......................................... 1-1

5.2 Building the Analog Diagram ........................... 5-7

1.3 Host Computer Requirements ......................... 1-2

5.3 Miscellaneous .............................................. 5-10

1.4 Scope of This Manual ..................................... 1-2

6. OBJECT DESCRIPTIONS ................... 6-1


2. HAWKWIN AND LADDER LOGIC ...... 2-1

6.1 AMOT Ladder Logic Programming.................... 6-1

2.1 The HawkWin Program .................................. 2-1

6.2 Index of Objects ............................................ 6-2

2.1.1 HawkWins Ladder Logic ........................... 2-1


2.1.2 Basic Ladder Logic Concepts ....................... 2-4

7. COMMUNICATIONS ........................ 7-1

2.1.3 Configuring Inputs With Ladder Logic ......... 2-8

7.1 Introducing Modbus Protocol .......................... 7-1

2.1.4 Configuring Outputs With Ladder Logic ..... 2-10

7.1.1 General .................................................... 7-1

2.2 The Sequence Diagram ................................. 2-11

7.1.2 Coding ..................................................... 7-1

2.3 Planning The Program .................................. 2-11

7.2 Establishing Communications ........................... 7-3

2.4 Analyzing Ladder Logic ................................. 2-12

7.2.1 Networking units ...................................... 7-3


7.2.2 Configuring parameters ............................. 7-3

3. INSTALLING HAWKWIN ................... 3-1

7.2.3 Accessing data .......................................... 7-4

3.1 Host PC Requirements.................................... 3-1

7.2.4 Hawk-I Quick Block Registers .................... 7-4

3.2 Installing the HawkWin Program .................... 3-1

7.2.5 Memory map of all MODBUS registers ....... 7-5


7.3 Most common requests .................................. 7-6

4. USING HAWKWIN ............................ 4-1

7.3.1 Reading alarm/shutdowns ........................ 7-6

4.1 The Hawkwin Program................................... 4-1

7.3.2 Reading Input Status................................. 7-7

4.1.1 The Ladder Logic Diagram .......................... 4-1

7.3.3 Reading Coil Status ................................... 7-7

4.1.2 Input-Output Tables .................................. 4-1

7.3.4 Reading the display .................................. 7-7

4.1.3 Modernization of Relay Systems ............... 4-1

7.3.5 Reading Analog Inputs .............................. 7-8

4.1.4 Window Environment ................................ 4-2

7.3.6 Forcing Coils ............................................. 7-9

4.1.5 AMOT Icons .............................................. 4-2

7.3.7 Writing to Analog User inputs ................... 7-9


7.3.8 Writing to Setpoints ............................... 7-10

ii

iii

1. INTRODUCTION

1.1 Overview

The HawkWin program provides a complete upload and download


capability. Once the program has been put together on the host PC, it
can be downloaded to the Hawk-I with no further changes required.
Similarly, any program being used in a Hawk-I can be uploaded into a
PC, complete with all rung and programming notes that may have been
entered through the Hawk-Is built-in keypad.

This manual describes the installation and programming of HawkWin, a


proprietary, Windows-based software package that is used to program the
functions of the Hawk-I industrial controller. Applications of the Hawk-I
include engines, motors, pump monitoring, compressor control, well
control, generator set control, small scale automation, and process
monitoring and control.

1.3 Host Computer Requirements

1.2 Software Features

The user of this manual should have a basic understanding of ladder logic
and PLC programming. This manual is not intended as an in-depth
tutorial in ladder logic. HawkWin users who are not familiar with ladder
logic should consult a textbook on programmable logic controllers for
entry-level information on ladder logic.

HawkWin provides complete programming access to the Hawk-I


controller. HawkWin simplifies PLC programming by providing separate
windows for sequence and analog functions. Frequently used functions
such as override classes, first out annunciation and alarm, and alarm and
shutdown setpoints have been integrated into the software to enable fast
and easy programming.

The PC that hosts the HawkWin program must have certain minimum
performance specifications. These specifications are given in Section 3 of
this manual, which is entitled, Installing HawkWin.

1.4 Scope of This Manual

The HawkWin sequence diagram allows users to create customized


control logic for their own specific applications. The user can employ
drop down menus, keyboard commands, and a point and click mouse to
select and position a large number of control functions. HawkWin
provides single menu availability of inputs, outputs, timers, and display
messages. All object names are completely controlled by the user for easy
recognition and understanding during programming or troubleshooting.
The HawkWin sequence diagram is a convenient symbolic representation
of the operational flow of analog inputs, data, and outputs. By placing
and connecting objects in the sequence diagram, the user draws a
functional outline of the required control process. Drop down menus and
keyboard commands enable the programmer to set up complex control
schemes without writing line after line of computer code.
Embedded functions include PID control, split range control, multiplex,
setpoints constants, setpoints variables, and most standard math functions. Embedded features for bumpless transfer allow for easy auto/
manual control or multiple sensor switching.
An automatic event log eliminates the need for a separate data logger.
The HawkWin program automatically logs shutdowns, alarms, and
power ups and downs with a time and date stamp with no added
programming required.

1-1

1-2

2. HAWKWIN AND LADDER LOGIC


2.1 The HawkWin Program
The Hawk-Is HawkWin software uses a programming system called
ladder logic. Ladder logic is not a high-level programming language like
C++ or Java, nor is it a tedious, bulky code like machine language.
Instead, ladder logic is an easy-to-use, graphical method for setting up the
kinds of functions that the Hawk-I is to perform. When the programmer
creates the HawkWin program, HawkWin automatically generates the
digital language required to operate the Hawk-I. The programmer does
not have to learn a complex, high-level language, nor is it necessary to
type in and then debug hundreds of lines of code. The HawkWin
software does all the hard work.

In ladder logic, it is important to think UP TO DOWN and LEFT TO


RIGHT. The PLC scans DOWN from one rung to the next, and then
scans to the RIGHT along the rung to see if that input sequence of that
particular rung is on or TRUE. If the rung becomes active, then the
output of that particular rung is switched to TRUE. If not, the rung stays
in an off or FALSE condition. The PLC will scan DOWN to the next
rung only after it has verified the status of the rung that it is currently
checking.

L1

L2

PB14

CR1

LS7

CR1

The following section gives a brief and selective overview of ladder logic
programming. This manual is not intended to provide an in-depth
training in PLC programming. For a more complete presentation of
ladder logic, the Hawk-I user should consult a textbook on programmable logic controllers. Such textbooks are now offered by Prentice Hall,
Macmillan/McGraw-Hill, and the Industrial Text Company.

PL3

SOL
PS7

SOL3 UP

CR1

2.1.1 HawkWins Ladder Logic


Ladder logic is based on pre-computer industrial applications where
actual relays and switches were mounted in a physical setup that resembled a ladder. The power input of the ladder was on the left side (Fig.
2-1). When a series of switches allowed power to run to the coil of a relay
on a given rung, that rung of the ladder would perform certain pre-wired
control functions. A PLC such as the Hawk-I uses soft wiring. The
system is wired using computer software and internal digital memory
(Fig. 2-2) instead of actual wires. This soft wiring system is much more
flexible than the older hard-wired methods, and allows complex program
configurations to be set up and changed with just a few key strokes.
A typical PLC will scan through all the rungs of its programming
ladder in a fraction of a second. When all the input switches of any
particular rung are on or TRUE, that particular rung also becomes
active or TRUE, and the output devices connected to that rung will
turn on. Output devices are often called coils, because in the pre-PLC
era, an output device was usually a relay, which was activated by running
current through its magnetic coil. The output devices in the Hawk-I are
solid-state relays, digital relay-control outputs, and 4-20 mA analog
outputs, all of which can be used to control external equipment such as
valves, motor controllers, indicator lights, alarm horns, and shutdown
relays.

2-1

CR2

LS8

PS7

LS9

CR2

SOL4 FWD

Reset

CR2

SOL5 DWN

Start

LS8

CR3

CR3

PL4

Figure 2-1. Example of system control logic using hand-wired relays.

2-2

DI14

DI17

PB14

LS7

DO1

DO3

CR1

CR3

DO10

DO2

SOL3 UP

CR2

DO1

CR1
DI16

DO1

DI1

PS7

CR1

SOL

DI8

DI9

DO2

LS8

LS9

CR2

DO11
SOL4 FWD

START

RESET

DO2

Starkey

Reset key

CR2

DI8

DO3

LS8

CR3

DO12

DO3

DO4

SOL5 DWN

CR3

PL4

Figure 2-2. System control logic of Fig. 2-1 diagrammed with ladder logic.

When the PLC reaches the last rung in the ladder, it starts scanning the
ladder all over again. The interval required for one complete look at every
rung of the ladder is called scan time. After each scan, every rung of the
ladder logic is individually solved, outputs are updated, and information
is exchanged with other control devices as required by the programming.
The Hawk-Is ladder logic can interconnect various system inputs and
outputs to carry out a wide variety of logic and control operations. In
addition to its ladder logic program, the Hawk-I also has analog capabilities. If the optional analog inputs and outputs are provided, the Hawk-I
can utilize a wide variety of built-in functional blocks to perform more
complex operations such as thresholding, averaging, ramping, multiplexing, and even proportional-integral-derivative (PID) control functions.

2-3

2.1.2 Basic Ladder Logic Concepts


A basic ladder logic diagram will have two kinds of symbols. There will
be circles on the right side of the ladder rungs. On the left side of the
rungs, there will be symbols that look very much like the symbol for an
electrical capacitor. The round symbols are called coils, and the symbols
with vertical lines are called switches. The coils are what the ladder logic
turns on and off, and the switches control the on-off state of the coils.
Some coils and switches will have diagonal lines or slashes drawn through
them. This refers to their normal condition or logical state when no input
is applied to them. In positive logic, which is the kind of logic used in
Hawk-I programming, a plain symbol without a slash through it is
normally open, or off, or disengaged. Current will not flow through it,
and its Boolean logical state is FALSE, or 0. As a memory aid, note that
when the two vertical lines of the switch are not connected with a slash,
current will not flow.
Putting a slash through a symbol changes its normal condition, acting
like the NOT in Boolean algebra. A symbol with a slash is NOT open
when no input is applied. Instead, it is closed, or engaged, or on.
Again as a memory aid, note that the slash connects the two vertical
lines. Current will flow through this switch, and its Boolean logical state
is TRUE, or 1, without any input at all. This component will turn off
and become disengaged only when an input is applied to it.
In practical terms, what does this mean? A switch without a slash is
normally open (NO) or FALSE and will not pass current. Only when
activated will this switch give continuity. On the other hand, a switch
with a slash across it is normally closed (NC) or TRUE. Only when
activated will this switch open its contacts and stop passing current.
In fact, many types of commercial switches such as limit switches have
both FALSE (NO) and TRUE (NC) contacts available, giving the user a
choice. The soft switches in the Hawk-I can be conveniently changed
from TRUE to FALSE and vice versa by a click of the HawkWin
computers space bar, and the same switch can be designated as either
FALSE or TRUE in different parts of the ladder logic.
The outputs or coils operate in the same way. Imagine that the output in
question is an actual, physical relay. We know that relays can have
contacts that are either NC (TRUE) or NO (FALSE). If the relay contact
in question is TRUE or closed with the coil not energized, the ladder
logic symbol for that contact will have a slash through it. If the contact is
FALSE or open when the coil is not energized, the symbol will not have a
slash. An actual mechanical relay will often have both types of contact.

2-4

Those familiar with digital logic will see that adding a slash to a switch or
coil is the same as adding an inverter at the input of the device to negate,
complement, or NOT the device. In other words, the state of the device
will change from TRUE to FALSE, or from FALSE to TRUE. A few
simple examples will help to clarify this point. Figure 2-3 shows four
different ways of setting up a simple rung using ladder logic. On the
input or left side, there is a digital input switch called D1. On the output
or right side, there is a digital output called DO1. In this example, D1 is
a limit switch, and DO1 is supposed to activate a shutdown to protect
equipment from operating beyond a user-set limit. This limit may be a
pressure, a temperature, or the actual position of some part of the
machinery.
In Rung 1, neither D1 nor DO1 has a slash through it. This means that
input D1 is normally off or FALSE. D1 will not activate DO1 until the
set limit is exceeded and D1 becomes TRUE. In this case, DO1 is also
normally disengaged or FALSE. Its output will not turn on until D1
becomes TRUE. So in Rung 1, the shutdown output relay DO1 will
become TRUE and pass current only when D1 operates.
In Rung 2, D1 has been changed from normally FALSE (or open) to
normally TRUE (or closed) When D1 is TRUE, DO1 will sense current
and also become TRUE. In this case, current running through DO1
might be holding closed the contacts of a remotely-located relay that
enables equipment operation. When D1 detects that its set limit has been
exceeded, it will turn FALSE. Then DO1 will respond to the lack of
current by also turning FALSE, and the remote enabling relay will open,
thus acting as a shutdown relay and turning off the equipment that it
controls.
In Rung 3, DO1 has a slash, and DO1 does not have a slash.
This circuits output will act the same as the output of Rung 2, because in
each case a single NOT has been added to the logic of Rung 1, but the
actual circuit function is different from Rung 2. In Rung 3, D|1 is
normally FALSE so DO1s digital output will remain TRUE and pass
current until D1 sees that its limit is exceeded. Then D1 will become
TRUE, and this will activate the normally-TRUE DO1, which will then
become FALSE and stop passing current.
Many ladder logic programmers prefer to avoid using coils that are
TRUE or on when they receive no current. They find that programming is simpler and more intuitive when they use coils that are FALSE or
not on unless current is passing through them.

2-5

DI1
DO1
Discrete
Input

Discrete
Output

DI1
DO1
Discrete
Input

Discrete
Output

DI1

The programmer should always avoid setting up two different rungs that
control the same coil. For example, if both Rung 1 and Rung 2 of Fig. 23 were programmed into the Hawk-I, what would happen? The Hawk-I
would scan through the ladder logic as it is designed to do. When it
reached Rung 1, D1 would not activate if the set limit was not exceeded,
and DO1 would stay in the off position. But when the Hawk-I reached
Rung 2 a fraction of a second later, the Hawk-I would now see a D1 that
was labeled as normally closed. Current would be passed to DO1, which
would then turn on. It would stay on until the scan reached Rung 1
again, and so on. The result would be a very rapid switching of DO1
between on and off, making the limit switch nonfunctional.

DO1
Discrete
Input

Discrete
Output

DI1

For this reason, the programmer should ensure that each of the Hawk-Is
outputs appears in only one rung of the HawkWin ladder logic diagram.
The exception to this is the latched coil.

DO1
Discrete
Input

Discrete
Output

Figure 2-3. Four different limit switch circuits.

In Rung 4, both the switch and the output have slashes. This is the
equivalent of a TRUE-TRUE or a NOT-FALSE-NOT FALSE. In digital
logic, two NOTs cancel out, so Rung 4 should behave in the same way
as Rung 1. How does this happen? Switch D1 is normally TRUE until its
set limit is exceeded. In its normally-closed or TRUE state, D1 will pass
current to DO1, which will respond to the current by activating and
becoming FALSE. Only when limit switch D1 is activated will it stop
passing current. When DO1 stops receiving current, it will revert to its
inactive state, which the NOT slash tell us is NOT open or FALSE, but
TRUE (closed).
Figure 2-3 shows four distinctly different methods of implementing a
very simple operation that uses only one digital switch and one digital
output. More complicated programming tasks may be accomplished in a
wide variety of ways. There is no one set way to program the Hawk-I.
In fact, the HawkWin software encourages total flexibility when it comes
to writing programs.

2-6

2-7

2.1.3 Configuring Inputs With Ladder Logic


The digital or Boolean operations of AND, OR, and NOT are easy to
implement in ladder logic. As one example, in an industrial situation,
there may be several safe operating region sensors that detect critical
system variables such as temperature, pressure, and speed. If any one of
these sensors detects an unsafe situation, closes its internal switch, and
becomes TRUE, an equipment shutdown output should be triggered.

LS1

LS2

SOL

DI1

DI2

Discrete
Input

Discrete
Input

DO1
Discrete
Output

(a) AND: LS1 LS2 = SOL

SOL
LS1

DI1
DO1
Discrete
Input

LS2

Discrete
Output

DI2

(b) OR: LS1 + LS2 = SOL

LS3

SOL

DI1

DI3

Discrete
Input
DI2

Discrete
Input

DO1

LS2

Any kind of digital input function can be duplicated with ladder logic.
As one possible example, consider the exclusive OR or X-OR gate, often
called the any but not all gate. Figure 2-5(a) shows the Boolean inputs
and output for this gate, and Fig. 2-5(b) shows the truth table. How
would the X-OR function be implemented in the HawkWin program?
Figure 2-5(c) shows a simple way of doing this. If input A becomes
TRUE, the two switches referenced to input A will change state.
The upper switch will change from FALSE to TRUE and the lower
switch will change from TRUE to FALSE. This will give two TRUEs in
the upper branch of the rung, activating the output coil, which will also
change to TRUE.
Making input B TRUE will have a similar effect by making the lower
branch of the rung TRUE, which also makes the output coil TRUE.
But if both input A and input B are TRUE, all four switches will change
state, so neither branch of the rung will be TRUE. There will be no
continuous current path to the output, and the coil will not turn on.
The ladder logic for the X-OR function is shown here only as a teaching
aid to help familiarize the new user with the concepts of ladder logic.
The HawkWin program does not require the literal duplication of digital
logic gates. HawkWin is actually much simpler to implement than digital
logic, as the following sections of this chapter will show.

Discrete
Input

LS1

This situation calls for an OR-type input connection, which is easily


implemented in ladder logic (see Fig. 2-4b). If any input of an OR gate
becomes TRUE, the output of the gate also becomes TRUE. The AND
and AND-OR setups are also easy to configure (see Figs. 2-4a and c).
The NOT function can be inserted into a ladder logic diagram simply by
adding a slash to the appropriate symbol.

Discrete
Output

Discrete
Input

The NOT or slash gives considerable flexibility to a ladder logic diagram.


Suppose, for example, that a remotely-located switch is miswired, with
the wires going to the normally open (FALSE) instead of the normally
closed (TRUE) connection points. Instead of going out to the remote
location and rewiring the sensor, the user has the option of adding a slash
in a suitable area of the ladder logic. The NOT of the slash will cancel
out the NOT closed situation in the sensor, solving the problem quickly
and easily.

(c) AND-OR: (LS1 + LS2) LS3 = SOL

Figure 2-4. Hard-wired and ladder logic circuits for AND, OR, and
AND-OR, also showing the Boolean expressions.

2-8

2-9

2.1.4 Configuring Outputs With Ladder Logic

2.2 The Sequence Diagram

The outputs or coils are always at the right end of each rung. Coils
cannot have switches between them and the right side of the ladder
diagram.

The sequence diagram is the part of the Hawk-Is programming that deals
with the ladder logics switches and coils. The sequence diagram does not
contain any function blocks, which are confined to the analog diagram.

Several different coils can be activated by one rung of ladder logic. The
coils to be activated are simply placed along the rung like beads on a
string. As many coils can be activated as the rung will hold. If necessary,
extra rungs can be daisy chained into the ladder diagram to activate a
very large number of coils.

The planning and organization of the sequence diagram will depend on


the particular system that the user wants the Hawk-I to control. Specific
examples of programs for particular systems are beyond the scope of this
manual. A series of AMOT Applications Notes will give detailed suggestions for configuring various types of control systems. This manual is
aimed at giving the user the general information that is required to help
the user set up any specific particular control system that may be needed.

In AMOTs ladder logic, there are 13 positions or slots on each rung.


Each position can hold either a switch or a coil. Note than when functional blocks are inserted into the diagram, each block may be more than
one position wide. Functional blocks will be discussed later in this
chapter.
A
A+B
B

(a) Exclusive OR truth table


INPUT

OUTPUT

XOR

(b) Exclusive OR function implement in ladder logic

DI1

DI2
DO1

Discrete
Input

Discrete
Input

DI1

DI2

Discrete
Input

Discrete
Input

Discrete
Output

(c) Exclusive OR function implemented in ladder logic

Figure 2-5. Implementing an exclusive-OR gate with ladder logic.

2-10

2.3 Planning The Program


Some users will start writing their programs without any kind of preparation. Other users may want to do some preliminary planning. The
following suggestions may be helpful:
1. Develop a good understanding of what the control system is supposed
to do. Then make a list of all desired control functions such as alarm,
shutdown, level and temperature detection, sequencing, and timing.
2. Make a list of all the control devices that are available for use in the
system, such as shutdown valves, control solenoids, start and stop
switches, limit switches, and digital and analog sensors for all system
variables of interest. Also list the system components that must be
controlled, such as pumps, fans, relays, motors, and valves.
3. Draw a flow chart showing the kinds of processes that are going to take
place. The Hawk-I controller will be programmed to perform a number
of specific tasks or control functions such as start, shutdown, alarm, and
changing system speed or power. Once these control functions are listed,
the user should ask what inputs trigger these system functions. How are
these inputs communicated to the Hawk-I, and from what kinds of
sensors? What kinds of outputs are required in response to these signals?
4. Assign the inputs and outputs of the Hawk-I to specific input and
output terminals. For example, if you are using three different digital
liquid level sensors, they must be assigned to three pairs of discrete input
terminals. Consult the Hawk-Is wiring diagram to get the relevant pin
numbers and then prepare an Input-Output Assignment Table. Knowledge of the input and output assignments is necessary to program the
Hawk-I.
5. Translate the previously-identified input-output functions into ladder
logic and enter this ladder logic into the HawkWin program.

2-11

2.4 Analyzing Ladder Logic


Ladder logic is a rung-by-rung system. Each rung will have a distinct
function. Before describing how to program the ladder logic into the
HawkWin program, it will be useful to go through a number of ladder
logic rungs and analyze their individual functions in considerable detail.
This will give the programmer a better understanding of how ladder logic
operates.
To analyze ladder logic, it is useful to describe slashed switches and coils
as TRUE, and unslashed switches and coils as FALSE. This will give the
user a good intuitive feeling for how the logic works, especially in rungs
that contain a large number of switches. The examples that follow are
from a simplified motor control system, but their function is quite
general and can be applied to many different types of control systems.
1. Rung 1 in the motor control system (see Fig. 2-6) is an OK To Start
circuit. Only one switch (CSD, or Common Shutdown) controls the coil
LC1 or OK To Start,, and CSD is shown as TRUE. Under normal
conditions, the rung will be TRUE and the OK To Start circuit will be
TRUE. But if CSD is activated and becomes FALSE, then the rung is
FALSE, and OK To Start also becomes FALSE. Presumably, if this
Common Shutdown command is implemented, it will go to every motor
in the system as a master shutdown signal.
2. Rung 2 has only a coil (DISP) controlling the display module. When
there is no switch in a rung, that rungs input will always be TRUE. This
tells us that the display module is supposed to be on under all conditions.
3. In Rung 3, we have three switches controlling the System Ready
Display coil UM1. All of these switches must be TRUE for the coil to be
TRUE. Two of the switches are normally TRUE, namely the Healthy
Run switch and the Postlube Timer switch.
The middle switch, OK To Start, is labeled LC1, the same designation as
the OK To Start coil in the first rung. This means that this switch is
referenced to the OK To Start coil. When that coil changes its condition,
the switch will also change its condition, and Rung 3 will also be TRUE.
But suppose that the system is already running. Then the Healthy Run
switch will become FALSE, and the System Ready Display will also be
FALSE. Once again, this prevents the operator from trying to start the
system while it is already running.

2-12

CSD

LC1
Common
Shutdown

OK TO
START

DISP
Display
Inputs
LC3

LC1

TR12

DM1
HEALTHY
RUN

OK TO
START

START

SPETS

POSTLUBE
TIMER

SYSTEM
READY
DISPLAY

LC2
Start key

Speed

LC2

START
SEQUENCE
LC1

STOP

LC3
START
SEQUENCE

OK TO
START

Stop key

HEALTHY
RUN

LC3

HEALTHY
RUN

Figure 2-6. Simplified example of motor control system.

2-13

It is also undesirable to attempt to start the system while the Postlube


Timer is operating and putting the engine through the Postlube Sequence. If the Postlube Sequence is still operating, the Postlube Timer
switch will be FALSE and the System Ready Display will then be FALSE,
which in this case means that it is turned off.
4. Rung 4 is intended to disable the Start Sequence if the engine being
controlled is already running. The Start Key switch is FALSE, and the
Speed sensor is TRUE. If the start key is turned, the rung will become
TRUE and the Start Sequence coil will also become TRUE.
However, if the engine is already running, the Speed switch will respond
to the engine speed and be FALSE. Then the rung will be FALSE, and
the Start Sequence cannot be engaged. This is obviously a safety feature.
5. This rung is a little more complicated than the previous examples.
Note first of all that the condition of this rung depends on the condition
of the preceding Rungs 1 and 4. Rung 1 makes OK To Start TRUE, and
Rung 4 makes Start Sequence TRUE. It is clear that once Rung 4
becomes TRUE, Rung 5 will become true unless the Stop Key or
Common Shutdown is activated.

A different use of sequencing is shown in Fig. 2-7. This ladder logic is


designed to operate a start-up horn. The horn is intended to sound for a
preset interval when equipment starts to operate, thus warning personnel
to stand clear of moving parts such as conveyer belts.
1. Rung 1 (see Fig. 2-7) becomes TRUE when the START switch is
engaged. The switch referenced to the SETUP coil latches the circuit
TRUE even after the START switch becomes FALSE again.
2. In this rung, a switch referenced to the SETUP coil becomes TRUE
when the SETUP coil becomes true. Rung 2 then becomes TRUE and
starts TMR1, which is a timer that can be set to run for a certain interval
and then shut off again.
3. Rung 3 becomes TRUE when TMR1 and SETUP are TRUE, thus
turning on the start-up horn. Rung 3 remains TRUE and the horn
remains on until TMR1 turns itself off, thus shutting down the start-up
horn.

START

Note also that when Healthy Run is activated, a switch in Rung 5 that is
referenced to Healthy Run also becomes TRUE. This switch acts as a
latch. Even after the Start Sequence has finished and becomes FALSE
again, Rung 5 will still be TRUE because the Healthy Run switch is still
TRUE.
The concept of the latch is very important in ladder logic sequences.
For example, when starting a large engine, a more precise kind of control
is required than the manual key-turning system commonly used in
automobiles. Once cranking has begun, the engine start operation will
usually be controlled by a latched-on, pre-programmed Start Sequence.
This Start Sequence may, for example, keep cranking the engine until it
starts and comes up to speed on its own. If the engine does not start, the
Start Sequence will continue cranking only until a preset interval such as
30 seconds has passed, and then it will stop cranking. At that point the
Start Sequence will automatically shut down, and cannot be initiated
again until certain necessary operations such as Post-Lube have been
completed.
Sequencing is critical in ladder logic. In the examples just given, it is clear
that Rung 5 cannot become TRUE until Rungs 1 and 4 are TRUE.
Sequencing of this kind is a flexible and convenient way to program
control operations of many different kinds, especially when timers are
used.

2-14

RESET
LC1

Start key

Reset key

Setup

LC1

Setup

LC1
TO1
Setup

Timer

TR1
DO1
Timer

Horn

Figure 2-7. Ladder logic for start-up horn.

2-15

Note the Reset switch. When Rung 1 is latched to TRUE, it will change
to FALSE and turn off the horn instantly whenever the reset switch
becomes FALSE. In this case, the reset switch might be a normally-closed
(NC) push button switch. Safety or emergency stop switches are often
connected in this way.
Ladder logic can also be used to turn on a series of motors, one by one,
with specified timing intervals (Fig. 2-8).
1. Rung 1 is a typical start-up rung that contains emergency stop and
latch functions. The Emergency Stop switch is TRUE unless and until
the external emergency stop push button is activated. When Start
becomes TRUE, the rung becomes TRUE. Internal coil 1, which exists
only in the software, then becomes TRUE. The switch referenced to
Internal 1 also becomes TRUE and latches the rung TRUE even after the
Start switch or push button becomes FALSE again. 2. This rung uses a
switch referenced to Internal 1 to make Output M1 TRUE. This output
turns on the first motor in the sequence, which is Motor 1.
3. In Rung 3, when the switch referenced to M1 becomes TRUE, and
also if the Emergency Stop switch is TRUE, the rung becomes TRUE
and TMR1 is activated. TMR1 will become TRUE not immediately, but
after a preset interval of 30 seconds.
4. In this rung, when TMR1 becomes TRUE, Output M2 becomes
TRUE and turns on Motor 2.
5. In Rung 5, a switch references to Output M2 becomes TRUE after
Output M2 becomes TRUE. If the Emergency Stop switch is TRUE,
TMR2 will begin its pre-programmed countdown of 30 seconds.
6. In this rung, when TMR2 becomes TRUE after 30 seconds, Output
M3 becomes TRUE and turns on Motor 3.
Note that each rung is very simple. This kind of simplicity makes
checking and debugging the program much easier. Complicated rungs
can cause problems. The Hawk-I has 500 rungs available to the programmer, so there is no need to pack a lot of functions into one single rung.
Programming any kind of an emergency function requires great care.
For example, the Emergency Stop function can be programmed in two
different ways. The safe way is to have the external Emergency Stop pushbutton normally TRUE or closed. Then the Emergency Stop switches in
the ladder logic will be activated when the external circuit opens and
becomes FALSE. Note that if the external wiring is broken, the Emergency Stop circuit will immediately become FALSE and the equipment
will stop operating.

2-16

The unsafe method of wiring the Emergency Stop function is to use an


external push button that is normally open or FALSE. Pushing the
button would make the external circuit TRUE, signaling the Hawk-I to
make its internal Emergency Stop switches also TRUE. But if the
equipment is set up in this way, a break in the wiring will make the
Emergency Stop button useless. Furthermore, this problem might not
become apparent until an emergency actually occurred. The programmer
should carefully avoid this dangerous situation.

START

STOP
LC1

Start key

Stopkey

Internal
coil/contact

LC1

Internal
coil/contact
LC1
DO1
Motor

Internal
coil/contact
DO1

STOP
TO1

Motor 1

Stopkey

Timer 1

TR1
DO2
Timer 1
DO2

Motor 2
STOP
TO2

Motor 2

Stopkey

Timer 2

TR2
DO3
Timer 2

Timer 3

Figure 2-8. Ladder logic for sequential motor turn-on.

2-17

3. INSTALLING HAWKWIN
3.1 Host PC Requirements
AMOTs proprietary HawkWin computer program requires a host PC
with the following minimum capabilities:
IBM-compatible computer with an 80386 or faster microprocessor.
Microsoft Windows 95
At least 4 MB of RAM
3.5 inch disk or CD drive
VGA, EGA, XGA, or any other video adapter supported by Microsoft
Windows 95
256-color video adapter and compatible Microsoft Windows 95
Microsoft mouse or compatible pointing device
Serial Port

3.2 Installing the HawkWin Program


The software loading procedure is as follows:
1. Make a copy of the HawkWin disk and use the copy for the installation. Store the original HawkWin disk in a safe place.
2. Make sure that Windows 95 is running on your computer. Close any
open applications. The desktop should be displayed on the computer
monitor.
3. Insert the copy disk of HawkWin into Drive B, or whichever drive
accepts 3.5 inch, high-density magnetic disks.
4. Click on START, then click on SETTINGS, and then double click on
the ADD/REMOVE PROGRAMS icon. Windows 95 will now look into
your floppy disc drive for the HawkWin program. From this point
onward, following the prompts on the computer screen is all that is
necessary to install HawkWin.
5. When HawkWin is successfully installed on your host computer,
remove the diskette from the floppy drive and store it in a safe place.

3-1

4. USING HAWKWIN

4.1.4 Window Environment

4.1 The Hawkwin Program


The HawkWin program will have a familiar feel to anyone who is
accustomed to the Windows environment. Most operations are carried
out by pointing and clicking with an ordinary computer mouse. The
toolbar icons and the dialog boxes are designed for easy and intuitive use.

4.1.1 The Ladder Logic Diagram


Before starting to program with HawkWin, the user may decide to sketch
out the ladder logic program on a piece of paper. This may make it easier
to concentrate on the actual programming task. Putting a ladder logic
program on paper also allows for any necessary review by other personnel
before actual programming is undertaken.
The programmer may prefer to start the programming process with a
flowchart that describes the process to be controlled in a sequential
manner. Sequences and relationships that are hard to extract from general
process descriptions become much more obvious when expressed in
flowchart form. Once the flowchart is completed, then the programmer
can use either logic gates or contact symbology to implement the logic
sequences that the flowchart requires.
Logic gates will express a logical output sequence as a function of input
conditions, while PLC contact symbology will directly implement the
logic necessary to program an output rung. Some programmers use a
combination of both methods to clarify the programming that must be
performed.

4.1.2 Input-Output Tables


The assignment of inputs and outputs is a vital part of the preparation
required for programming. The programmer should draw up an I/O
assignment table that documents and organizes the inputs and outputs of
the Hawk-I. The programmer will need this information when it is time
to label inputs and outputs in the ladder logic diagram. If every step of
the programming is fully documented, any problems that may arise can
be dealt with much more easily.

4.1.3 Modernization of Relay Systems


In some cases, the Hawk-I may be replacing an older, hard-wired relay
control system. In such situations, the existing relay logic must be
translated into a suitable ladder logic diagram. The programmer should
be alert to the fact that relays may be contributing program functions
such as contact closure delay that will not appear in an ordinary logic
diagram. The Hawk-I will not have such internal delays unless they are
specifically programmed into the ladder logic diagram with a timer.

4-1

The HawkWin main screen features pull-down menus, toolbar-icons, a tree


view on the left, and a pane on the right to write the program.
The tree view provides an overview of your hardware hierarchy showing the
main unit with all inputs and outputs. Expand the list by clicking on the plus
sign for each branch. You can access the parameters of each component on
the tree view by double-clicking on the component.
The toolbar at the top of the HawkWin screen shows a number of icons.
The first 7 icons are standard Window icons, the rest are HawkWin
specific icons. Clicking on these icons will bring their associated dialog
boxes onto the screen.

4.1.5 AMOT Icons


4.1.5.1 Navigation Panel
Clicking this icon will show/hide the tree view on the left.

4.1.5.2 Complete Rung


This is the double-ended arrow icon. When a box has been
selected in a rung, clicking this icon will create a horizontal
line across the rung in the sequence diagram.

4-2

4.1.5.3 Select Object


This is the playing cards icon. Clicking this icon will cause the
Select Object to Place dialog box to appear:

Clicking a selection in the Object List will display numbered Instances


(if any were previously created) of the Object. Selecting a numbered
Instance and clicking OK inserts the Object/Instance in the Sequence
Diagram at the place designated.

4.1.5.4 Standard I/O Configuration


This is the cable ends icon. Clicking this icon will cause the
Standard I/O Configurations dialog box to appear:

The Configuration box offers one or more choices. Click on a choice, then click
Customize. The Configure Inputs and Outputs dialog box will appear:

In the following example we placed a discrete input:

This dialog box includes choices for analog and discrete inputs and outputs and a
tachometer input. The default tab is Discrete Inputs.

4-3

4-4

Click Configure Individual; the Discrete Inputs dialog box will appear:

Click Parameters; a Discrete Inputs dialog box will appear:

At the upper right, select Polarity (NO or NC) as desired.


(Normal is defined as the state of the contact when a healthy condition exists.)
Click Select All, Deselect All, or individual Discrete Inputs as
desired and then click Apply.
At the lower left, click Class selection as desired:
-Class A is always monitored.
-Class B is monitored when a timer expires or when and after it becomes healthy.
-Class b is monitored when a timer expires.
-Class C is monitored when and after it becomes healthy.
At the upper center, click Alarm or Shutdown selection as desired.
-Alarm will signal an abnormal condition.
-Shutdown will stop operation of the machine.

At the center, key in any Descriptive Text (input nomenclature) desired.


Click OK.

4-5

4-6

Click the Discrete Outputs tab to highlight it:

At the upper left (Pulses /Rev.), key in the number of pulses that the
Magnetic Pickup will see for one revolution of the engine.
At the top center (Resolution) you can select how often the reading
is updated.
At the right, key in desired Speed Values (RPM) for Overspeed,
At the center, use arrow buttons to select Number of Outputs (total
number of Discrete Outputs).
Click OK.

Underspeed, CTS (Crank Termination Speed), and Purge (engine


purge speed).
At the lower left, key in Descriptive Text as desired. By clicking OK
you will go back to the Configure Inputs and Outputs screen.

At the upper left, click Tacho. Inputs tab to highlight it:

At the lower right, click Parameters. The Engine Speed Values


dialog box will appear:

4-7

At the upper center, click Analog Inputs tab to highlight it:


At the lower right, click Parameters. The Analog Inputs dialog box will appear:

4-8

4.1.5.5 Parameters
Clicking this icon makes the Choose Parameter Group
dialog box appear:

At the upper left, click Input Type (thermo couple J or K, 4-20 mA or RTD).
If you selected a type of thermocouple:
At the left center, click desired Range of thermocouple to optimize
performance/accuracy. (Customized narrows the range that Hawk-I sees.)
At the lower left, click the desired display units of temperature (Degrees
C or Degrees F).
If you selected 4-20 mA transducers, at the lower left, click the desired
current input display Units:
Milliamperes (Milliamps) or engineering units (User Units).
Calibration is done by defining the true values of the 4 and 20 mA points.
At the left side, click desired Class or None:
-Class A is always monitored.
-Class B is monitored when a timer expires or when and after it becomes healthy.
-Class b is monitored when a timer expires.
-Class C is monitored when and after it becomes healthy.

Double clicking a selection in the Parameter Group list will cause the
appropriate dialog box to appear. This will permit the programmer to set
all the variables that must be defined to set up the function of that
particular program element.

At the upper center, key in Alarm Setpoints values for Lower and Upper limits,
and click Enable.
At the upper right, key in Shutdown Setpoints values for Lower and Upper limits,
and click Enable.
At the right side, select the desired action in the event of Sensor Failure (and
key Value) if Forced to Value is selected.
User can filter out incoming noise by entering a value in Filter.

4-9

4-10

4.1.5.6 Sequence Diagram


This icon brings the Sequence Diagram at the forefront (default).

4.1.5.8 Download
Click this icon to download the program from the PC to the
HAWK-I. A progress bar will be displayed.

4.1.5.9 Upload
Click this icon to upload the program from the HAWK-I to
the PC. A progress bar will be displayed.

4.1.5.10 Simulate
Selecting this icon brings the following screen to the forefront.

For further explanation see next Chapter Getting Started.

4.1.5.7 Analog Diagram


This icon brings the Analog Diagram at the forefront.

When clicking Run, the application program developed in


HawkWin runs on the PC. The two-line display of the HAWK-I is
also simulated on the PC screen.
You can close any contact by selecting it on the Sequence Diagram and
then clicking the Hlthy button. Selecting Unhty will open this contact.
The bottom of the screen displays the state of the 12 digital outputs:
Green = TRUE, Red = FALSE.
The scrollbar on the right enables speed to be simulated.

For further explanation see next Chapter Getting Started.

4-11

4-12

4.1.5.11 Monitor
Selecting this icon starts the Monitor Sequence. Clicking the icon
again will exit the Sequence.

When monitoring, the states in the Sequence Diagram, which are TRUE
will appear in green. The states which are FALSE will appear in red.
When monitoring, all Analog values will be displayed in the Analog
Diagram.

4.1.5.12 Quickblock
Selecting this icon brings the following screen to the forefront.

The Quickblock screen displays on the PC the states of all Digital Inputs
and Outputs, as well as the value of all Analog Inputs and Outputs.
Any defined Analog User Input will also be displayed. Tachometer
reading and value of Runtime Meters will be indicated.

To monitor, the PC needs to be connected to the HAWK-I, which


should be in the Run Mode.

Note: This mode also uses the serial port. This port then becomes unavailable
for any other application. You have to click the Close Button to exit the
Quickblock view.

Note: This mode uses the serial port. This port then becomes unavailable for
any other application.

4.1.5.13 About
This indicates the current version of HawkWin

4-13

4-14

5. GETTING STARTED
5.1 Building the Sequence Diagram
1.

At the top of Sequence Diagram, clicking the playing cards icon


will cause the Select Object to Place dialog box to appear:

In the Windows program, click on HawkWin to open it. The


sequence diagram will appear.
There are several ways to write a program in the sequence diagram.
One is to configure all inputs and outputs from the beginning. They
are then available for use by the programmer.
The second method presented here is to define the objects as we
develop the program.

2.

In the displayed sequence diagram, click on the desired location for the
center of the first object. A broken-line box will appear at this location:

Clicking a selection in the Object List will display numbered Instances


(if any were previously created) of the Object. Clicking New Instance
will create an Instance of an Object. Selecting a numbered Instance and
clicking OK will insert the Object/Instance in the Sequence Diagram at
the place designated by the rectangle.
3.

5-1

In the Object List, click on the type of object desired for insertion.
In the example below, the object chosen is a Class B:

5-2

4.

5.

At the upper corner, click OK. The object appears at the location
desired:

7.

When you have inserted all desired objects on the rung, click on one
of them.

8.

Then click the Toolbars double-ended arrow


icon this action
will insert a horizontal line linking the various objects:

9.

You can add comments for each rung on the left margin by simply
clicking on the left of the rung.

Click on the object to select it. Pressing the keyboard space bar will
step through the other options available:
CBE

CBE

CBE
Class B

6.

Class B

Class B

To insert other objects on the rung, repeat steps 2 through 6 (see


example below):

10. You can as well add a title to your program by clicking anywhere
above the first rung.
11. The first rung marked by a P is always evaluated by the processor,
regardless of the other rungs. Therefore all shut-down logic should be
placed on this first rung.
This guarantees that the system can shut down even if the HAWK-I is
trapped in a continous loop within a subroutine.
12. When you are satisfied with the rung layout, open the File menu, give
the diagram a file name, and save it.

5-3

5-4

Modifying the sequence diagram requires the following


keyboard operations.
TO INSERT

AN

OBJECT

IN A

DELETE AN

OBJECT

FROM A

RUNG

1. Go to the object using vertical and horizontal scroll bars.


2. Click the object. A broken-line box will appear around the object.
3. Press the DELETE key. The selected object will disappear.
TO MOVE
1.
2.
3.
4.
5.

AN

LINE SEGMENT

1. Click on the line segment. A broken line box will appear.


2. Press the DELETE key. The line segment within the broken line box will
disappear.

RUNG

1. Go to the desired rung and horizontal location using the vertical scroll bars.
2. Click at the desired location for the coil. A broken-line box will
appear.
3. In the toolbar, click the playing cards icon.
The Select Object To Place dialog box will appear.
4. In the Object List Dialog box, click the object desired.
5. In the Instances list, click the instance desired.
6. Click OK. The dialog box will disappear and an object will appear in
the broken-line box.
7. Click the object. Press the keyboard space bar to step through the
various choices available.
TO

TO DELETE

OBJECT FROM ONE RUNG

TO

ANOTHER

Go to the object using vertical and horizontal scroll bars.


Click the object. A broken-line box will appear around the object.
In the Toolbar, click the scissors icon. The object will disappear.
Go to the desired new location for the object and click.
In the Toolbar, click the paste icon. The object will reappear in the
location desired.

TO CHANGE DESCRIPTIVE TEXT BELOW

IN A

HORIZONTAL LINE

OF A

Sequence Diagram symbols include label variations of the images that are
available from the deck of cards menu. After the basic symbol is
inserted in the diagram, you can change it by selecting it and pressing the
keyboard space bar to cycle through the symbols various. Here are some
examples of contact symbols.
When using physical contacts:

DI1

???

Open contact

Unhealthy

DI1

Healthy

???

???

OF

COIL SYMBOLS

LINE SEGMENT

1. Click at the desired location of the line segment. A broken-line box


will appear, centered on a point (+).
2. Within the box, point to the desired location of the line segment (left
or right, above or below the center).
3. Click and hold the right mouse button, then drag the cross to draw a
line segment.

5-5

???

Closed contact

EXAMPLES
TO DRAW

When using logical contacts:

DI1

RUNG

1. Click anywhere on the rung. A broken-line box will appear.


2. In the Toolbar, click the two-headed arrow icon. A horizontal line will
fill the rung.

OBJECT

1. Double-click the object. The Edit Object Info box will appear.
2. In the Object Descriptive Text window, type the text desired and click
OK. The dialog box will disappear and the text you typed will appear
below the object.

DI1

TO FILL

AN

CBE
Common
Shutdown

CBE

Coil on when rung


is satisfied

Common
Shutdown

Coil off when rung


is satisfied

5-6

5.2 Building the Analog Diagram


1.

2.

In the Toolbar, click the sine wave icon


The analog diagram layout screen will appear:

3.

In the Hawk-I Toolbar, click the playing cards icon


The Select Object To Place dialog box will appear:

4.

In the dialog box Object List, click on the type of object desired for
insertion.
In the example below, the object chosen is Analog Input 1.

5.

At the upper right corner, click OK. The object chosen will appear at
the location desired:

In the analog diagram layout, click the location where you want to put
the first object. A broken-line box will appear at the location chosen:

5-7

5-8

6.

Double-click on the object to select it. The Edit Object Information


dialog box will appear:

7.

In the Edit Object Info dialog box, make any changes desired and
then click OK.

8.

To insert another object on the analog diagram, repeat steps 2 through 8.


To delete an object, click it and press Delete.
To copy an object, click it and press Ctrl-c or click the copy button
on the tool bar then click on the desired location and press Ctrl-v, or
click the paste button on the tool bar.
To link objects with connection lines, click between objects.
A broken line box will appear, centered on a point (+).
Double-clicking the right mouse button to the left, right, above, or
below the point will create a line segment at the place clicked. To
remove a line segment, double-click the right mouse button on it.

9.

When you have inserted all the desired objects on the diagram, check
the layout for accuracy.

5.3 Miscellaneous
1.

It is nescessary to configure the communication port to communicate


properly with HAWK-I for download/upload.
By using the pull-down menu Transfer and Configure Port, you
will access the following screen:

2.

To document the program you can enter information about the


author and description of the program in the following screen:

This screen is accessible using the pull down menu Edit and
Program Info.

5-9

5-10

3.

Important note: HawkWin has been developed to take full


advantage of class logic.

Any Input can be assigned a class. We define four different classes.


-Class A is always monitored.
-Class B is monitored when a timer expires or when and after it becomes healthy.
-Class b is monitored when a timer expires.
-Class C is monitored when and after it becomes healthy.
When a Class A input becomes closed, a message is automatically displayed on
the HAWK-I screen. This is defined as first-out annunciation.
This event is also automatically recorded in a log which can store up to 64 events.
Classes B, b, C will produce the same result when they are enabled. It is then
necessary to use their associated coils in the sequence diagram to make them active.

5-11

6. OBJECT DESCRIPTIONS

6.1 AMOT Ladder Logic Programming


Ladder logic is a symbolic programming method that is used to create PLC programs.
As both PLCs and PLC applications have become more advanced, their ladder logic programs have
become more complex. AMOTs ladder logic is an enhanced programming method that contains
many pre-programmed functions of considerable sophistication.
To proceed with the necessary programming tasks, the experienced PLC programmer may
require little more than a glossary of AMOTs HawkWin ladder logic language. The following pages provide this information.
Section 5.2 gives an alphabetical index of the ladder logic objects that are available in HawkWin.
Section 5.3, which is also alphabetical, describes each object in detail.
Note that the letter S adjacent to the object title indicates that the function is available in the
Sequence Diagram. The letter A adjacent to the object indicates that the function is available in
the analog diagram. Some objects are available in both diagrams.

6-1

6.2 Index of Objects

OBJECT ............................................................. PAGE

OBJECT ............................................................. PAGE

ADD CONSTANT -ADK-- (A) ..................................................... 6-6


ADDITION -ADD- (A) ................................................................ 6-7
ANALOG INPUT -AI- (S) (A) ......................................................... 6-8
ANALOG OUTPUT -AO- (A) ....................................................... 6-11
ANALOG USER INPUT -AUI- (S) (A) ......................................... 6-12
ANALOG USER OUTPUT -AUO- (A) ......................................... 6-14
AUTO/MANUAL -AM- (S) (A) ..................................................... 6-15
BITWISE AND -AND- (S) ............................................................ 6-17
BITWISE OR -OR- (S) ................................................................. 6-19
BITWISE XOR -XOR- (S) ............................................................ 6-20
CLASS B -CB-, CLASS b -CLB-, CLASS C -CC- (S) .................... 6-21
COMMON ALARM -CA-, COMMON SHUTDOWN -CS- (S) ... 6-22
CONFIGURE DISABLE -CD- (S) ................................................ 6-23
COSINE -COS- (S) ...................................................................... 6-24
COUNTER -CN- (S) .................................................................... 6-25
DATE/TIME -DT- (S) ................................................................... 6-27
DISCRETE INPUT -DI- (S) ......................................................... 6-28
DISCRETE OUTPUT -DO- (S) ................................................... 6-30
DISPLAY INPUTS -DISP- (S) ...................................................... 6-31
DISPLAY MESSAGE -DM- (S) ..................................................... 6-32
DIVIDE BY CONSTANT -DVK- (A) ............................................ 6-34
DIVISION -DIV- (A) .................................................................... 6-35
EQUALITY -IEQ- (S) .................................................................... 6-36
GREATER THAN -IGT- (S) .......................................................... 6-37
GREATER/EQUAL -IGE- (S) ........................................................ 6-38
GROUP AVERAGE -GA- (S) (A)................................................... 6-39
INEQUALITY -INE- (S) ............................................................... 6-41

INVERSION -INV- (A) ................................................................. 6-42


JUMP TO SUBROUTINE -JS- (S) ................................................ 6-43
LESS THAN -ILT- (S)................................................................... 6-44
LESS/EQUAL -ILE- (S) ................................................................. 6-45
LIMIT VALUE -LM- (A) ............................................................... 6-46
LINKED SHIFT LEFT -SLL- (S) .................................................. 6-47
LINKED SHIFT RIGHT -SRL- (S) .............................................. 6-48
LOGICAL COIL/CONTACT -LC- (S) .......................................... 6-49
MAXIMUM -MAX- (A) ................................................................ 6-50
MINIMUM -MIN- (A) .................................................................. 6-51
MULTIPLEXER -MUX- (A) ......................................................... 6-52
MULTIPLICATION -MUL- (A) ................................................... 6-53
MULTIPLY BY CONSTANT -MLK- (A) ...................................... 6-54
NATURAL EXPONENT -EXN- (S) ............................................. 6-55
NATURAL LOG -LN- (S) ............................................................. 6-56
NEGATION -NAG- (A) ................................................................. 6-57
ONE SHOT -OS- (S) .................................................................... 6-58
PID CONTROLLER -PID- (S) (A) ............................................... 6-59
PRINT MESSAGE -PM- (S) ......................................................... 6-61
PWL TABLE -TBL- (A) ................................................................. 6-62
RAISE TO POWER -XY- (S) ........................................................ 6-63
RAMPING MUX -RMP- (A) ........................................................ 6-64
RATE LIMIT -RAT- (A) ................................................................ 6-66
RESET KEY -KRS- (S) .................................................................. 6-67
RUNTIME METER -RTM- (S) (A) ............................................... 6-68
SCALE VALUE -SC- (A) ................................................................ 6-69

6-2

6-3

OBJECT ............................................................. PAGE

SEQUENCE MATH COPY -ICP- (S) ........................................... 6-70


SEQUENCE MATH ADDITION -IAD- (S) ................................. 6-71
SEQUENCE MATH SUBTRACTION -ISB- (S) ........................... 6-72
SEQUENCE MATH MULTIPLICATION -IML- (S) .................... 6-73
SEQUENCE MATH DIVISION -IDV- (S) ................................... 6-74
SEQUENCE MATH MODULUS -MOD- (S) ............................... 6-75
SEQUENCE TO ANALOG -SA- (S) (A) ........................................ 6-76
SEQUENCE USER INPUT -SUI- (S) ........................................... 6-77
SEQUENCE USER OUTPUT -SUO- (S) ..................................... 6-78
SETPOINT CONSTANT -SK- (A) ................................................ 6-79
SETPOINT VARIABLE -SV- (A) ................................................... 6-80
SHIFT LEFT -SL- (S) .................................................................... 6-81
SHIFT RIGHT -SR- (S) ................................................................ 6-82
SINE -SIN- (S) .............................................................................. 6-83
SPEED -SP- (S) (A) ....................................................................... 6-84
SPLIT RANGE -SRC- (A) ............................................................. 6-85
SQUARE ROOT -SQR- (S) ........................................................... 6-86
START KEY -KST- (S) .................................................................. 6-87
STOP KEY -KSP- (S) .................................................................... 6-88
SUBTRACT CONSTANT - SBK- (A) ........................................... 6-89
SUBTRACTION -SUB- (A) .......................................................... 6-90
SYSTEM FUNCTIONS -SYS- (S) ................................................. 6-91
TANGENT -TAN- (S) .................................................................... 6-92
TIMER -TM- (S) ........................................................................... 6-93
TOGGLE -TG- (S) ........................................................................ 6-95
USER ALARM/SHUTDOWN -AS- (S) ......................................... 6-96

6-4

6.3 List of Objects

6-5

ADD CONSTANT -ADK- (A)

ADDITION -ADD- (A)

Description: This analog function adds a specified constant to its

Description: This analog function adds its two input values to

input to produce its output value.


The operation is OUTPUT_VAL = INPUT_VAL + CONSTANT.

produce its output value.


The operation is OUTPUT_VAL = INPUT_VAL_A + INPUT_VAL_B.

Sequence Diagram Services: N/A

Sequence Diagram Services: N/A

Class: N/A

Class: N/A

Alarm/Shutdown: N/A

Alarm/Shutdown: N/A
Parameters: N/A

Parameters:
1) Constant

6-6

6-7

ANALOG INPUT -AI- (S) (A)

Description: The analog inputs reflect the values read by the


thermocouple, and 4-20 mA loop inputs. The value produced is the
temperature for the thermocouple inputs or the RTD or a user-scaled
value for the 4-20 mA loop inputs. There are also four setpoints, two
alarm and two shutdown. In addition to being used by Class logic, these
setpoints can be used to activate corresponding contacts in the Sequence
Diagram, usually when the analog input is assigned a Class of NONE.

Sequence Diagram Services:


Alarm LO contact
Alarm HI contact
Shutdown LO contact
Shutdown HI contact.

Class: Assignable
Alarm/Shutdown: Assignable.

Parameters:
1)
2)
3)
4)
5)
6)
7)
8)
9)

Class -A, B, b, C, or NONE


Type - Type J T/C, Type K T/C, 4-20 mA loop, RTD
Units - Depends on type selected
Alarm LO setpoint
(with ENABLE)
Alarm HI setpoint
(with ENABLE)
Shutdown LO setpoint
(with ENABLE)
Shutdown HI setpoint
(with ENABLE)
Sensor Fail action - Keep last valid value or Force to value
Sensor Fail force-to value.

In addition, if the type selected is 4-20 mA loop, and user Units is


selected, the following Parameters are accessible:
1) 4 mA scale value
2) 20 mA scale value
3) Units Text
The Analog Input Object is primarily used in the Analog
Diagram as an input to another object.
Double-click on it to access its definition.

6-8

The user may apply a low-pass filter on the incoming signal to minimize
the effects of noise. HawkWin will automatically calculate the cutoff
frequency for the filter, by converting the value in seconds from the filter
field.

6-9

ANALOG OUTPUT -AO- (A)


You can also use the Analog Input Object in the Sequence Diagram.

Description: The analog outputs drive the 4-20 mA loop outputs.


The physical outputs can actually be driven from 0 to 24 mA. The analog
output function takes an analog diagram value and scales it, based on
user parameters, to a physical current output.

Sequence Diagram Services: N/A


Class: N/A
Alarm/Shutdown: N/A
Parameters:
By pressing the spacebar you can select the relevant state of the object.
For instance you can select the set of contact representing the high
shutdown value.
This contact will then close when the Analog Input reaches the high
shutdown value.

1) Input value corresponding to 4 mA


2) Input value corresponding to 20 mA.
The Analog Output Object needs to
have an input on its left side.
Double-click on it to define the
range of values driving the 4-20 mA
output.
NOTE::
In this version of HawkWin, users
can only select a Current Output.

6-10

6-11

ANALOG USER INPUT -AUI- (S) (A)

Description: An analog user input is a value that may be input either


in View mode from the front panel keyboard or from the Modbus
communications. The value can be changed by the Hawk-I key pad
from within View Mode by using the UP and DOWN keys.

The Force Value parameter can be set in the Sequence Diagram by


energizing the AUI coil. This allows the user to set a given value into the
Analog diagram at a particular set of events in the Sequence.

Sequence Diagram Services:


Coil.

Class: N/A
Alarm-Shutdown: N/A

Parameters:
1)
2)
3)
4)

Analog value
Force value
Minimum Limit
Maximum Limit

A default value is provided for


power on conditions (Analog Value).
The Min and Max limits are
provided to prevent the user from
taking the Analog User Input
outside of a predefined range.

6-12

6-13

ANALOG USER OUTPUT -AUO- (A)

AUTO/MANUAL -AM- (S) (A)

Description: An Analog User Output allows the user to take any

Description: This coil provides bumpless transitions between

analog value available in the Analog Diagram and make it available for
display as part of a User Message and/or to make the value available via
the communications.

manual and automatic operating modes. If this coil is TRUE, then the
system is in manual mode. If this coil is not TRUE, then the system is in
automatic mode.

Sequence Diagram Services: N/A

Sequence Diagram Services:

Class: N/A

Coil

Class: N/A

Alarm/Shutdown: N/A
Alarm/Shutdown: N/A
Parameters:
1) Display line
2) Range (0-1 / 0-100)
3) Display Text Same display operation as Display Message
Use this object in the Analog Diagram.

Parameters: N/A
This object has no parameters.

When the coil is INACTIVE, the Auto/Manual function is in Auto


mode, passing its input directly to its output. When the coil goes
ACTIVE the current input value is copied into the internal Manual
Value register, and the Display Text is written to the display. While the
coil is active this value can be increased or decreased over the full output
range. To view this manual value the Display Text should include the
corresponding Auto/Manual display specifier e.g. @M1

6-14

6-15

BITWISE AND -AND- (S)

Description: The AND function performs a logical bitwise AND on


two registers or alternatively a register and a constant, this is useful when
working with bit packed data.
The coil service allows the destination register to be set according to the
result of the logical operation.

This object is generally used in conjunction with the PID object.


It gives the ability to manually drive the output of the PID.

Sequence Diagram Services:


Coil

Class: N/A
Alarm/Shutdown: N/A
Parameters:
1
2
3
4
5
6
7

Word format
8
Left Operator Type
9
Left Operator Field
10
Left Operator Instance
11
Left Operator Indexed
12
Left Operator Constant
13
Left Operator Type Description

Right Operator Type


Right Operator Field
Right Operator Instance
Right Operator Indexed
Right Operator Constant
Right Operator Type Description

The Auto/Manual Object should be activated from the Sequence


Diagram using the associated coil. When activated, the PID object is
automatically deactivated.

6-16

6-17

BITWISE OR -OR- (S)

Description: The OR function performs a logical bitwise OR on two


registers or alternatively a register and a constant, this is useful when
working with bit packed data. The coil service allows the destination
register to be set according to the result of the logical operation.

Sequence Diagram Services:


Coil

Class: N/A
Alarm/Shutdown: N/A

The registers must be in unsigned word format and either or both


registers may be indexed to allow programmatic selection of an object
instance.
Either of the registers (providing it is not a constant) is defined as the
destination, which is then updated to contain the result.

Parameters:
1
2
3
4
5
6
7

Word format
8
Left Operator Type
9
Left Operator Field
10
Left Operator Instance
11
Left Operator Indexed
12
Left Operator Constant
13
Left Operator Type Description

Right Operator Type


Right Operator Field
Right Operator Instance
Right Operator Indexed
Right Operator Constant
Right Operator Type Description

As for the BITWISE AND object, the registers must be in unsigned word
format and either or both registers may be indexed to allow programmatic selection of an object instance. Either of the registers (providing it
is not a constant) can be defined as the destination, which is then
updated to contain the result.

6-18

6-19

BITWISE XOR -XOR- (S)

Description: The XOR function performs a logical bitwise exclusive


OR on two registers or alternatively a register and a constant, this is useful
when working with bit packed data. The coil service allows the destination
register to be set according to the result of the logical operation.
Sequence Diagram Services:
Coil

Class: N/A
Alarm/Shutdown: N/A

CLASS B -CB-, CLASS b -CLB-, CLASS C -CC- (S)

Description: The Class functions allow the respective classes to be


enabled (e.g., monitored).
By definition, Class A functions do not require a coil. They are always
enabled and are never bypassed. Class A functions should prevent startup, and should initiate shutdowns immediately.
Class b functions are enabled after the expiration of the Class B
timer. They are used for inputs such as vibration that should be
ignored during the start sequence, but which must become healthy
within a given time period.
Class B functions, such as lube oil pressure, are activated a short time
after start-up when the Class b Timer expires or a healthy state is reached.
Class B is especially useful when the Class b timer is set for a relatively
long time period.
Class C inputs, such as compressor suction pressures, are activated only
after that channel reaches a healthy state for the first time.

Sequence Diagram Services:


coil
contact.

Parameters:
1
2
3
4
5
6
7

Word format
8
Left Operator Type
9
Left Operator Field
10
Left Operator Instance
11
Left Operator Indexed
12
Left Operator Constant
13
Left Operator Type Description

Right Operator Type


Right Operator Field
Right Operator Instance
Right Operator Indexed
Right Operator Constant
Right Operator Type Description

Identical to the BITWISE AND object, the registers must be in unsigned


word format and either or both registers may be indexed to allow programmatic selection of an object instance. Either of the registers (providing it is
not a constant) can be defined as the destination, which is then updated to
contain the result.

Class: N/A

Parameters: N/A
Classes B, b and C should be enabled using their respective coils to be
operational. This is done in the Sequence diagram.
Note that Class functions can be disabled. This is useful during a system
shutdown, to ensure that the Hawk-Is display will not be cluttered by
irrelevant Alarm or Shutdown messages.

6-20

6-21

COMMON ALARM -CA-, COMMON SHUTDOWN -CS- (S)

CONFIGURE DISABLE -CD- (S)

Description: These contacts become TRUE whenever there is an

Description: This object prevents the Hawk-I from going into

unhealthy alarm condition (for COMMON ALARM contact) or an


unhealthy shutdown condition (for COMMON SHUTDOWN
contact). This is basically an OR function. Any designated unhealthy
condition or tripped sensor that is assigned a CLASS and that CLASS
coil is enabled can activate a COMMON ALARM or COMMON
SHUTDOWN.

CONFIGURE mode when, for example, a system is up and running.


Whenever this coil is TRUE, CONFIGURE mode cannot be switched
on, even when the CONFIG LINK contacts on the back of the HawkI are shorted. This is a safety feature that prevents configuration
activities from taking place while the controlled system is operating.

Sequence Diagram Services:


Contact.

Class: N/A

Sequence Diagram Services:


Contact.

Class: N/A
Alarm/Shutdown: N/A

Alarm/Shutdown: N/A

Parameters: N/A
The COMMON SHUTDOWN is generally used on the first rung
marked with a P, as this rung is always evaluated by the processor.

6-22

Parameters: N/A

Warning:
The program should allow the operator to override this coil in order to be
able to upload or download the program.

6-23

COSINE -COS- (S)

COUNTER -CN- (S)

Description: The COS function takes a single floating point register

Description: A counter functions similarly to a T-ON timer, except

and calculates the cosine. The result is returned to this register which
must be a floating point value. The register may be indexed to allow
programmatic selection of an object instance.

that the counter counts activations of its PULSE coil rather than seconds,
as does a timer.
Our counter can only count up.
The counter is enabled and its value set to zero when the ON coil is
activated. The counter counts on the leading edge of an input
pulse. When the ON coil goes inactive, the counter rests, so that
the next time the ON coil goes active, the counter will begin
counting up from zero again.
The current counter value may be displayed in a display message or print
message (see Display Message and Print Message descriptions). The
current counter value may also be accessed via Modbus.

Sequence Diagram Services:


Coil

Class: N/A
Alarm/Shutdown: N/A

Sequence Diagram Services:


ON coil
PULSE coil
RUNNING contact
DONE contact.

Parameters:
1
2
3
4
5

Type
Field
Instance
Indexed
Type Description

Class: N/A.
Alarm/Shutdown: N/A.
Parameters:
1) Counter preset - the value up to which the counter counts
2) Counter minimum - the minimum counter preset which
can be entered from the front panel
3) Counter maximum - the maximum counter preset which
can be entered from the front panel.

6-24

6-25

DATE/TIME -DT- (S)

Description:

This function can be set to trigger on any specified


time or date. It can change its state every midnight, or every Monday. It
can also function in an OR fashion, triggering every Monday, every
Wednesday, every Friday, or every hour. The DATE/TIME function is
powered by a master clock that has a battery backup. The master clock
can be set or reset from the front panel of the Hawk-I.

Sequence Diagram Services:


Contact

Counter Increment:
The counter actually increments its count
when its PULSE coil goes from inactive to
active.

Class: N/A
Alarm/Shutdown: N/A

Counter Running:
The RUNNING contact will be TRUE
while the ON coil is active and the counter
has not counted to its preset value.

Counter Done:
When the counter reaches its preset value,
the RUNNING contact will go FALSE and
the DONE contact will go TRUE for as
long as the ON coil remains active.

6-26

Parameters:
1)
2)
3)
4)
5)

Month
Date
Day of week
Hour
Minute

(with ENABLE)
(with ENABLE)
(with ENABLE)
with ENABLE)
(with ENABLE)

6-27

DISCRETE INPUT -DI- (S)

Description: A discrete input contact reflects the condition of the


corresponding physical discrete input connection. A discrete sensor such
as a switch is connected to the two terminals of a discrete input. This
sensor can either be open (not connected) or closed (continuity exists
between the two terminals). Depending on the design of the sensor,
either the open state or the closed state can be the healthy condition.
When the open state is healthy, the sensor is Normally Open (NO).
When the closed state is healthy, the sensor is Normally Closed (NC). A
discrete input is assigned a Contact state (NO or NC) and a Class such as
A, B , b, or C. If the Class is other than NONE, then the discrete input
will generate an Alarm or a Shutdown when the input goes to the
unhealthy state.

Sequence Diagram Services:


Contact

Class: Assignable
Alarm/Shutdown: Assignable
Parameters:
1) Class - A, B, b, C, or None
2) Action - Alarm or Shutdown (valid if Class is A, B, b, or C)
3) Contact - Normally Open (NO) or Normally Closed (NC)

6-28

In the Sequence Diagram, a discrete input contact will reflect either the
physical or logical state of the physical input, depending on what was
chosen in the discrete input configuration menu. When discrete input
contacts are configured to reflect physical states, then a discrete input
contact will be TRUE when the sensor is closed. When the inputs are
configured to reflect logical states, then a discrete input contact will be
TRUE when the sensor state matches the contact state.

6-29

DISCRETE OUTPUT -DO- (S)

Description: A discrete output physical contact reflects the state of


the corresponding output coil. When the coil is active, then a discrete
output which is a relay will be closed, and a discrete output which is a
relay driver will be in the ON state, i.e., able to sink current to ground.
The Set and Reset coil functions perform a latching function. The output
goes to the corresponding state when the coil becomes active, and
remains in that state even when the coil becomes inactive. The output
will not change state until the opposite coil is activated to force the
output into the opposite state.

Class: N/A.
Alarm/Shutdown: N/A.

DISPLAY INPUTS -DISP- (S)

Description: This coil enables the built-in rolling input display


function. When Display Inputs is enabled, all enabled analog inputs are
displayed in order, followed by the tachometer reading. The display
automatically advances every 2 seconds. The display scroll can be stopped
on the current channel by pressing the LEFT key. The display can be
manually scrolled up or down in its given order by using the UP or
DOWN keys. The display can be returned to automatic advance by
pressing the RIGHT key.

Sequence Diagram Services:


Coil

Class: N/A
Alarm/Shutdown: N/A

Parameters:
1) Configure State the state the output will
enter in configure mode.

6-30

Parameters: N/A

6-31

DISPLAY MESSAGE -DM- (S)

Description: The Display Message coil allows the user to write


messages to the Hawk-Is display. In addition to text, the messages can
have embedded data specifiers to allow the display of such information as
a tachometer reading or an analog input value. This is a background
function when no alarms are occurring. Any alarm will override the
DISPLAY MESSAGE function.

Sequence Diagram Services:


Coil

The embedded specifiers are of the form:


@<optional digit><type letter><instance>.
The optional digit allows the display width of the value to be specified;
otherwise, the display width is a default value. The type letter can be
either upper or lower case. The instance number begins at 1. As an
example, to display the first B timer, use @t1. When combined with text,
an entire message might look like B timer: @t1.
Embedded specifier type letters are:

Class: N/A.
Alarm/Shutdown: N/A.

Parameters:
1) Line - selects the display line for the message
2) Offset - Selects the display offset from the left edge of the
display for the message for multiple messages on a line
3) Display Text - Selects the text and data to be displayed.

C E F HI MS T UV WZ -

Current counter count;


Time elapsed on timer;
Floating point variable;
Runtime hours as floating point;
Analog input value;
Auto/manual percentage;
Tachometer speed;
Time remaining on timer;
Analog input units text;
Analog user output value;
Word variable;
System Clock.

Functions V and I are a special case in which an upper case letter


displays the value in fixed format, while a lower case letter displays the
value in floating point format. For all other types, both upper and lower
case letters are treated the same.

6-32

6-33

DIVIDE BY CONSTANT -DVK- (A)

Description: This analog function block divides its input value by a


specified constant to produce an output value.
The operation is OUTPUT_VAL = INPUT_VAL / CONSTANT.

DIVISION -DIV- (A)

Description: This analog function block divides one input value by


the other input value to obtain its output value. The operation is
OUTPUT_VAL = INPUT_VAL_A / INPUT_VAL_B.

Sequence Diagram Services: N/A


Sequence Diagram Services: N/A
Class: N/A

Class: N/A
Alarm/Shutdown: N/A

Alarm/Shutdown: N/A

Parameters: N/A
After placing this object in the
analog diagram, double-click
on it to access its parameters.

Parameters:
1) Floating point constant.

6-34

6-35

EQUALITY -IEQ- (S)

GREATER THAN -IGT- (S)

Description: The IEQ function takes two registers and is used to

Description: The IGT function compares two registers to see whether

compare two registers or a single register and a constant for equality. A


contact is provided to make the rung on the right of the IEQ function
healthy or non-healthy depending on the result. Registers may be signed
word, unsigned word or floating point. Either register may be indexed to
allow programmatic selection of an object instance.

one specified register is greater than the other or alternatively greater than a
constant. A contact is provided to make the rung on the right of the IGT
function healthy or non-healthy depending on the result. Registers may be
signed word, unsigned word or floating point. Either register may be indexed
to allow programmatic selection of an object instance.

Sequence Diagram Services:

If Left register > Right register then

Contact

TRUE
ELSE
FALSE

Class: N/A

Sequence Diagram Services:


Contact

Alarm/Shutdown: N/A

Class: N/A
Alarm/Shutdown: N/A
Parameters:
Parameters:
1
2
3
4
5
6
7

Word format
8
Left Operator Type
9
Left Operator Field
10
Left Operator Instance
11
Left Operator Indexed
12
Left Operator Constant
13
Left Operator Type Description

Right Operator Type


Right Operator Field
Right Operator Instance
Right Operator Indexed
Right Operator Constant
Right Operator Type Description

1
2
3
4
5
6
7

Word format
8
Left Operator Type
9
Left Operator Field
10
Left Operator Instance
11
Left Operator Indexed
12
Left Operator Constant
13
Left Operator Type Description

Right Operator Type


Right Operator Field
Right Operator Instance
Right Operator Indexed
Right Operator Constant
Right Operator Type Description

First select the variable type-Unsigned Word, Sign Word, or Floating


Point. The user can then choose the relevant variable in the Combo-Box.

6-36

6-37

GREATER/EQUAL -IGE- (S)

Description: The IGE function compares two registers to see


whether one specified register is greater than or equal to the other or
alternatively less than or equal to a constant. A contact is provided to
make the rung on the right of the IGE function healthy or non-healthy
depending on the result. Registers may be signed word, unsigned word
or floating point. Either register may be indexed to allow programmatic
selection of an object instance.

GROUP AVERAGE -GA- (S) (A)

Description: The group average function creates an ongoing


arithmetic operation that averages the outputs of a particular group of
sensors. A typical application is thermocouples that are attached to the
cylinders of an engine. If the temperature of any one thermocouple
deviates from the overall average by more or less than a preset threshold
value, an alarm or shutdown function can be triggered.

Sequence Diagram Services:

If Left register >= Right register then

Deviation above A
Deviation above A
Deviation above B
Deviation above B

TRUE
ELSE
FALSE

Sequence Diagram Services:

Class: N/A

Contact

Alarm/Shutdown: N/A

Class: N/A

Parameters:

Alarm/Shutdown: N/A

1) Deviation set points:


Lower A
Upper A
Lower B
Upper B

Parameters:
1
2
3
4
5
6
7

Word format
8
Left Operator Type
9
Left Operator Field
10
Left Operator Instance
11
Left Operator Indexed
12
Left Operator Constant
13
Left Operator Type Description

Right Operator Type


Right Operator Field
Right Operator Instance
Right Operator Indexed
Right Operator Constant
Right Operator Type Description

2) Select Inputs:
Allows selection of inputs to
be included in the group.

First place the Group Average object in the analog diagram. Note that
this object needs to be connected to another object. For instance an
Analog User Output.

6-38

6-39

By double-clicking on the object, you will access a screen which allows


you to define two bands; a lower band - band A and an upper band band B. Band A will be defined with a lower point and upper point, band
B will be defined the same way.
HawkWin can then monitor if the average stays between those two
bands.

INEQUALITY -INE- (S)

Description: The INE function takes two registers and is used to


compare two registers or a single register and a constant for inequality. A
contact is provided to make the rung on the right of the INE function
healthy or non-healthy depending on the result. Registers may be signed
word, unsigned word or floating point. Either register may be indexed to
allow programmatic selection of an object instance.

Sequence Diagram Services:


Contact

Class: N/A
Alarm/Shutdown: N/A

Parameters:

Programers can then use the relevant


contacts in the Sequence Diagram.
For instance in the screen on the left the
contact GADBH will be closed when the
group average reaches the upper point of
band B.

1
2
3
4
5
6
7

Word format
8
Left Operator Type
9
Left Operator Field
10
Left Operator Instance
11
Left Operator Indexed
12
Left Operator Constant
13
Left Operator Type Description

Right Operator Type


Right Operator Field
Right Operator Instance
Right Operator Indexed
Right Operator Constant
Right Operator Type Description

Select the members of the group


by double-clicking Select Inputs.

6-40

6-41

INVERSION -INV- (A)

Description: This analog block performs an inversion in its input


value to produce its output value.
The operation is OUTPUT_VAL = 1 / INPUT_VAL.

Sequence Diagram Services: N/A

JUMP TO SUBROUTINE -JS- (S)

Description: This object has two functions. The first one is to


branch from the main program to a subroutine. The second function
enables to come back from the subroutine to the main program.

Sequence Diagram Services:


Coil

Class: N/A

Class: N/A

Alarm/Shutdown: N/A

Alarm/Shutdown: N/A

Parameters: N/A

Parameters: N/A

The subroutine will be visible through the tree-view on the left side of
the screen.

6-42

6-43

LESS THAN -ILT- (S)

Description: The ILT function compares two registers to see whether


one specified register is less than the other or alternatively less than a
constant. A contact is provided to make the rung on the right of the ILT
function healthy or non-healthy depending on the result. Registers may be
signed word, unsigned word or floating point. Either register may be indexed
to allow programmatic selection of an object instance.
If Left register < Right register then

LESS/EQUAL -ILE- (S)

Description: The ILE function compares two registers to see


whether one specified register is less than or equal to the other or
alternatively less or equal than a constant. A contact is provided to make
the rung on the right of the ILE function healthy or non-healthy
depending on the result. Registers may be signed word, unsigned word or
floating point. Either register may be indexed to allow programmatic
selection of an object instance.
If Left register =< Right register then

TRUE
ELSE

TRUE
FALSE

ELSE
FALSE

Sequence Diagram Services:

Sequence Diagram Services:

Contact

Contact

Class: N/A

Class: N/A
Alarm/Shutdown: N/A
Alarm/Shutdown: N/A
Parameters:

Parameters:
1
2
3
4
5
6
7

Word format
8
Left Operator Type
9
Left Operator Field
10
Left Operator Instance
11
Left Operator Indexed
12
Left Operator Constant
13
Left Operator Type Description

6-44

Right Operator Type


Right Operator Field
Right Operator Instance
Right Operator Indexed
Right Operator Constant
Right Operator Type Description

1
2
3
4
5
6
7

Word format
8
Left Operator Type
9
Left Operator Field
10
Left Operator Instance
11
Left Operator Indexed
12
Left Operator Constant
13
Left Operator Type Description

Right Operator Type


Right Operator Field
Right Operator Instance
Right Operator Indexed
Right Operator Constant
Right Operator Type Description

6-45

LIMIT VALUE -LM- (A)

LINKED SHIFT LEFT -SLL- (S)

Description: The limit value block has an analog input that may be

Description: The SLL function is a single register function which

of any value, but the blocks output is restricted to a limited range that is
set by the user.

performs a logical left shift on only WORD registers, this is useful when
working with bit packed data and when performing certain arithmetical
functions. The most significant bit shifted out of the register is passed to
the link bit, which may be used by a succeeding SLL or SRL function. In
a similar manner the link bit from the last shift instruction is carried in to
the least significant bit of the register. The register may be in signed or
unsigned word format and may be indexed to allow programmatic
selection of an object instance. The register is updated to contain the
result of the operation.

Sequence Diagram Services: N/A


Class: N/A
Alarm/Shutdown: N/A

Sequence Diagram Services:


Coil

Parameters:
1) Lower limit
2) Upper limit.
Suppose that the input entering the limit value block ranges between 100 and 300 units, which could correspond to degrees Centigrade, force
(tension vs. compression), etc.. Then the user sets the lower limit of the
block to 100 and the upper limit to 200. With inputs between 100 and
200, the output of the block will equal the input. But if the input falls
below 100, the output of the block will stay at 100. Correspondingly, no
matter how high the input of the block becomes, the block output will
never rise above 200.

6-46

Class: N/A
Alarm/Shutdown: N/A
Parameters:
1
2
3
4
5

Type
Field
Instance
Indexed
Type Description

6-47

LINKED SHIFT RIGHT -SRL- (S)

LOGICAL COIL/CONTACT -LC- (S)

Description: The SRL function is a single register function which


performs a logical left shift on only WORD registers, this is useful when
working with bit packed data and when performing certain arithmetical
functions. The least significant bit shifted out of the register is passed to
the link bit, which may be used by a succeeding SLL or SRL function. In
a similar manner the link bit from the last shift instruction is carried in to
the most significant bit of the register. The register may be in signed or
unsigned word format and may be indexed to allow programmatic
selection of an object instance. The register is updated to contain the
result of the operation.

Description: An logical coil or contact exists only inside the software

Sequence Diagram Services:

of the Hawk-I. It is used to store intermediate results in the Sequence


Diagram. It has the same coil and contact services as a discrete coil or
contact, but it has no direct connection to any physical inputs or outputs.
The Set and Reset coil function perform a latching operation. The output
goes to the corresponding state when the coil becomes active, and
remains in that state even when the coil becomes inactive, until the
opposite coil is activated to force the output into the opposite state.
NOTE:
These logical coils ARE NOT the MUDBUS logical coils. See SEQUENCE
USER OUTPUT.

Coil

Class: N/A

Sequence Diagram Services:

Alarm/Shutdown: N/A
Parameters:
1
2
3
4
5

Type
Field
Instance
Indexed
Type Description

Coil
Set Coil
Reset Coil
Contact.

Class: N/A
Alarm/Shutdown: N/A
Parameters: N/A

6-48

6-49

MAXIMUM -MAX- (A)

Description: This block has two inputs, A and B, and a single

MINIMUM -MIN- (A)

Description:

output. The function of the block is to transfer the larger of the two
input values to the output. The smaller input is ignored. If A > B, then
Output = A. If A < B, then Output = B.

The minimum block has two inputs, A and B, and a


single output. The function of the block is to pass the lesser value of A or
B to the output. The input with the larger value is ignored. If A < B, then
Output =B. If A > B, then Output = B.

Sequence Diagram Services: N/A

Sequence Diagram Services: N/A

Class: N/A

Class: N/A

Alarm/Shutdown: N/A

Alarm/Shutdown: N/A

Parameters: N/A

Parameters: N/A

6-50

6-51

MULTIPLEXER -MUX- (A)

MULTIPLICATION -MUL- (A)

Description: The multiplexer block has three analog inputs: A, B, and

Description: This analog function block multiplies two input values

S. It has a single output. If the analog value present at S is 0 or negative, then


the analog value at B will be passed to output B. If the analog value present at
S is greater than 0, then the analog value at A will be passed to output B. If,
for example, Input A= 50, Input B = 75, and S = 1, then the output of the
multiplexer block will be 50. If Input A = 50, Input B = 75, and S = -1, then
the output of the multiplexer block will be 75.

together to produce its output value.


The operation is OUTPUT_VAL = INPUT_VAL_A * INPUT_VAL_B.

Sequence Diagram Services: N/A

Alarm/Shutdown: N/A

Class: N/A

Parameters: N/A

Sequence Diagram Services: N/A


Class: N/A

Alarm/Shutdown: N/A
Parameters: N/A

6-52

6-53

MULTIPLY BY CONSTANT -MLK- (A)

NATURAL EXPONENT -EXN- (S)

Description: This analog function block multiplies the input value

Description: The EXN function takes a single floating point register

by a specified constant to produce its output value.


The operation is OUTPUT_VAL = INPUT_VAL * CONSTANT.

and calculates the natural exponent. The result is returned to this register
which must be a floating point value. The register may be indexed to
allow programmatic selection of an object instance.

Sequence Diagram Services: N/A


Class: N/A
Alarm/Shutdown: N/A

Sequence Diagram Services:


Coil

Class: N/A
Parameters:

Alarm/Shutdown: N/A

1) Floating point constant.

Parameters:
1
2
3
4
5

6-54

Type
Field
Instance
Indexed
Type Description

6-55

NATURAL LOG -LN- (S)

NEGATION -NEG- (A)

Description: The LN function takes a single floating point register

Description: This analog function block negates the input value to

and calculates the natural log. The result is returned to this register which
must be a floating point value. The register may be indexed to allow
programmatic selection of an object instance.

produce its output value.


The operation is OUTPUT_VAL = - INPUT_VAL.

Sequence Diagram Services:

Class: N/A

Sequence Diagram Services: N/A

Coil

Alarm/Shutdown: N/A

Class: N/A
Alarm/Shutdown: N/A

Parameters: N/A

Parameters:
1
2
3
4
5

Type
Field
Instance
Indexed
Type Description

NOTE:
This function returns the natural logarithm-Napierian-of a floating point,
NOT the decimal logarithm.

6-56

6-57

ONE SHOT -OS- (S)

PID CONTROLLER -PID- (S) (A)

Description: When the rung that the One Shot coil is placed on

Description: The PID or Proportional-Integral-Derivative Control-

becomes TRUE, then the corresponding contact will close for one scan
through the Sequence Diagram. On the next scan, the contacts associated
with the coil will once more become FALSE. The coil will not activate
again until the associated rung has gone FALSE and then TRUE again.

ler can be used to control almost any industrial process that involves lags
and dead times. The inherent offset of the proportional control action is
eliminated by the integral portion of the controller, and loop oscillation is
suppressed through the derivative action. When properly tuned, a PID
controller will smoothly regulate the dynamic response of a complex
process or system. A complete explanation of PID control and loop
tuning is beyond the scope of this manual.

Sequence Diagram Services:


Coil
Contact.

Class: N/A.
Alarm/Shutdown: N/A.

Sequence Diagram Services:


Coil

Class: N/A
Alarm/Shutdown: N/A

Parameters: N/A.

Parameters:
1)
2)
3)
4)
5)
6)
7)

6-58

Action (Direct, Reverse)


Range (0-1, 0-100)
Gain
Deadband
Integral
Derivative
Input filter.

A PID Controller coil forces the


PID to track when active.
Otherwise, the PID operates
normally.

6-59

PRINT MESSAGE -PM- (S)

Description: The display message coil allows the user program to


write messages to the serial port. In addition to ASCII coded text, the
messages can have embedded data specifiers to allow the display of such
items as the value of the tachometer reading or an analog input value.
The data is written when the coil goes from inactive to active, and there
is no handshaking or buffering. A carriage-return line feed is added at the
end of the message.

Sequence Diagram Services:


Coil

Class: N/A
Alarm/Shutdown: N/A

When the coil is INACTIVE the PID operates normally, driving its
output based on the values of its PV and SP inputs. When the coil goes
ACTIVE the PID output tracks its T input. Typically the PID coil and
the associated Auto/Manual coil will both be driven by a discrete input
which is connected to an AUTO/MANUAL switch. This will allow full
auto/manual operation with bumpless transfers.

6-60

Parameters:
1) Display Text - Selects the text and data to be displayed.

6-61

PWL TABLE -TBL- (A)

Description: The PWL function is useful to represent a nonlinear


process. It allows Piece Width Linearization of a curve. The PWL Table
graphs this curve.

Sequence Diagram Services: N/A


Class: N/A
Alarm/Shutdown: N/A

RAISE TO POWER -XY- (S)

Description: The X^Y function takes two floating point registers


and raises one to the power of the other. The result is returned to this
register which must be a floating point value. The register may be
indexed to allow programmatic selection of an object instance.
Left Operator
x
Right Operator y

Sequence Diagram Services:


Coil

Class: N/A
Parameters:

Alarm/Shutdown: N/A

Parameters:
1
2
3
4
5
6
7

Word format
8
Left Operator Type
9
Left Operator Field
10
Left Operator Instance
11
Left Operator Indexed
12
Left Operator Constant
13
Left Operator Type Description

Right Operator Type


Right Operator Field
Right Operator Instance
Right Operator Indexed
Right Operator Constant
Right Operator Type Description

This object will have any analog signal as input and can drive any analog
output. User should enter starting point -First Input and ending point Last Input, to define the scaling of the X-axis. HawkWin automatically divides the difference between Last Input and First Input in 16
equal intervals. This will define the X-axis.
The user should then enter the Y-value for each mark on the X-axis. To
do so select the relevant line on the table and then enter the Y-value in
Current Output.
NOTE:
The curve is automatically plotted as you enter the values in the table.

6-62

6-63

RAMPING MUX -RMP- (A)

Description: The Ramping Multiplexer block has three analog


inputs called A, B, and S. There is a single output. If the analog value
that is present at S is <0, then the analog value at B will be passed to the
output. If the analog value at S is 0 or greater, then the analog value at A
will be passed to the output.

When the multiplexer switches because of a changing value at S, then the


rate of change of the output is limited by the value given in the Percent
Per Second parameter box. User can enter one rate when switching from
B to A and a different rate when switching from A to B.

Sequence Diagram Services: N/A


Class: N/A
Alarm/Shutdown: N/A
Parameters:
1) Percent Per Second: Maximum slew rate when multiplexer
switches. Rate from A to B and B to A.
2) Instance: Occurrence of this function block.
3) Descriptive Text: Documentation for function block.

6-64

6-65

RATE LIMIT -RAT- (A)

RESET KEY -KRS- (S)

Description: The Rate Limit block limits the slew rate of the output

Description: The Hawk-I user will want to know the precise

to the value selected in the Amount Per Second parameter. The output
slew rate may be lower than the value selected, but it cannot be higher.
The effect is to buffer the control system against excessively rapid changes
in parameter values.

connection between the RESET key on the front of the controller and
the RESET function coil in the software. The user should keep in mind
that the reset function does not always work as one might expect,
depending on the current status of the Hawk-I in terms of previously
existing alarms and shutdowns. In other words, if the RESET button is
pressed in certain situations, nothing will happen. There are further
complications depending on whether the RESET function is programmed to used the key on the Hawk-I, or whether the RESET
function is remotely triggered. It is beyond the scope of this manual to
explain the precise boundaries of the situations in which the RESET key
functions in a direct and transparent way. The user is therefore advised to
avoid programming any internal RESET coils unless they are absolutely
necessary. The user is further advised to exhaustively test any and all
Hawk-I programming that utilizes the RESET function.

Sequence Diagram Services: N/A


Class: N/A
Alarm/Shutdown: N/A
Parameters:
1) Amount Per Second.
Note that this value is dependent on the range of the input. Also note
that the system update rate for the Hawk-I is 100 ms. Therefore, if
and when the input value is changing, the value of the output will change
by only 1/10 of the rate per second setting during every 100 ms scan.

Sequence Diagram Services:


Contact
Coil

Class: N/A
Alarm/Shutdown: N/A
Parameters: N/A

User can enter a rate for positive change - Rate UP - , and a rate for
negative change - Rate DN -.

6-66

6-67

RUNTIME METER -RTM- (S) (A)

SCALE VALUE -SC- (A)

Description: The Runtime Meter can accumulate runtime in

Description: The Scale Value Block performs a y = mx + c calcula-

increments of minutes and hours up to a limit of 65,535 hours. The


resolution is 1 minute. The Runtime Meter operates only when the
system is running. While the system is running, the meter can be enabled
and/or disabled at any stage of operation, depending on the programming of the rung that enables the meter. The user can define up to 12
Runtime Meter objects.

tion. By varying the slope of the calibration equation, the Scale Value
Block can match a given range of an analog input parameter to any scale
that the user selects. Once the Scale Value Block is programmed, the data
conversion is automatic. If, for example, the lowest analog value of
interest was 0 C, and the highest value was 400 C, then the user could
set the block output to vary between 0 and 100. In this case, the block
output would be a percentage of full scale, or 400 C.

Sequence Diagram Services:


Coil

Class: N/A

Sequence Diagram Services: N/A


Alarm/Shutdown: N/A

Alarm/Shutdown: N/A
Parameters: N/A

6-68

Parameters:
1)
2)
3)
4)

Input point A
Output point A
Input point B
Output point B

6-69

SEQUENCE MATH COPY -ICP- (S)

Description: The ICP function is used to copy the contents of a


source register to a destination. Source and destination registers may be
different or similar types (Unsigned word, Signed Word or Floating
point). The sequence math copy function may therefore be used to
translate between different numerical formats.
The source and destination type, field and instance are obtained from
those functions which have instances in the application program (.hwk).

Sequence Diagram Services:

SEQUENCE MATH ADDITION -IAD- (S)

Description: The IAD function allows the user to perform addition


on two registers or a register and a constant. The function takes two
registers or register and a constant, which may be either an unsigned
word, a signed word or a floating point. Either or both registers may be
indexed to allow programmatic selection of an object instance. Either of
the registers (providing it is not a constant) can be defined as the
destination, which is then updated to contain the resulting sum.

Sequence Diagram Services:

Coil

Coil

Class: N/A

Class: N/A

Alarm/Shutdown: N/A

Alarm/Shutdown: N/A
Parameters:

Parameters:
1
2
3
4
5
6
7
8

Left Operator Word format 9


Left Operator Type
10
Left Operator Field
11
Left Operator Instance
12
Left Operator Indexed
13
Left Operator Constant
14
Left Operator Type Description
Right Operator Word format

6-70

Right Operator Type


Right Operator Field
Right Operator Instance
Right Operator Indexed
Right Operator Constant
Right Operator Type Description

1
2
3
4
5
6
7

Word format
8
Left Operator Type
9
Left Operator Field
10
Left Operator Instance
11
Left Operator Indexed
12
Left Operator Constant
13
Left Operator Type Description

Right Operator Type


Right Operator Field
Right Operator Instance
Right Operator Indexed
Right Operator Constant
Right Operator Type Description

6-71

SEQUENCE MATH SUBTRACTION -ISB- (S)

Description: The ISB function allows the user to perform subtraction on two registers or a register and a constant. The function takes two
registers or register and a constant, which may be either an unsigned
word, a signed word or a floating point. Either or both registers may be
indexed to allow programmatic selection of an object instance. Either of
the registers (providing it is not a constant) can be defined as the
destination, which is then updated to contain the resulting value. Either
register may be declared as the destination if a constant is not used.

SEQUENCE MATH MULTIPLICATION -IML- (S)

Description: The IML function allows the user to perform multiplication on two registers or a register and a constant. The function takes
two registers or register and a constant, which may be either an unsigned
word, a signed word or a floating point. Either or both registers may be
indexed to allow programmatic selection of an object instance. Either of
the registers (providing it is not a constant) can be defined as the
destination, which is then updated to contain the resulting product.
Sequence Diagram Services:

Sequence Diagram Services:


Coil

Coil

Class: N/A

Class: N/A
Alarm/Shutdown: N/A
Alarm/Shutdown: N/A
Parameters:
Parameters:
1
2
3
4
5
6
7

Word format
8
Left Operator Type
9
Left Operator Field
10
Left Operator Instance
11
Left Operator Indexed
12
Left Operator Constant
13
Left Operator Type Description

6-72

Right Operator Type


Right Operator Field
Right Operator Instance
Right Operator Indexed
Right Operator Constant
Right Operator Type Description

1
2
3
4
5
6
7

Word format
8
Left Operator Type
9
Left Operator Field
10
Left Operator Instance
11
Left Operator Indexed
12
Left Operator Constant
13
Left Operator Type Description

Right Operator Type


Right Operator Field
Right Operator Instance
Right Operator Indexed
Right Operator Constant
Right Operator Type Description

6-73

SEQUENCE MATH DIVISION -IDV- (S)

SEQUENCE MATH MODULUS -MOD- (S)

Description: The IDV function allows the user to perform division

Description: The MOD function allows the user to derive the

on two registers or a register and a constant. The function takes two


registers or register and a constant, which may be either an unsigned
word, a signed word or a floating point. Either or both registers may be
indexed to allow programmatic selection of an object instance. Either of
the registers (providing it is not a constant) can be defined as the
destination, which is then updated to contain the resulting division.

modulus from an integer division on two registers or a register and a


constant. The function takes two registers or register and a constant,
which must be an unsigned word. Either or both registers may be
indexed to allow programmatic selection of an object instance. Either of
the registers (providing it is not a constant) can be defined as the
destination, which is then updated to contain the result.

Sequence Diagram Services:

Sequence Diagram Services:

Coil

Coil

Class: N/A

Class: N/A

Alarm/Shutdown: N/A

Alarm/Shutdown: N/A

Parameters:
1
2
3
4
5
6
7

Word format
8
Left Operator Type
9
Left Operator Field
10
Left Operator Instance
11
Left Operator Indexed
12
Left Operator Constant
13
Left Operator Type Description

6-74

Right Operator Type


Right Operator Field
Right Operator Instance
Right Operator Indexed
Right Operator Constant
Right Operator Type Description

Parameters:
1
2
3
4
5
6
7

Word format
8
Left Operator Type
9
Left Operator Field
10
Left Operator Instance
11
Left Operator Indexed
12
Left Operator Constant
13
Left Operator Type Description

Right Operator Type


Right Operator Field
Right Operator Instance
Right Operator Indexed
Right Operator Constant
Right Operator Type Description

6-75

SEQUENCE TO ANALOG -SA- (S) (A)

SEQUENCE USER INPUT -SUI- (S)

Description: This function passes preset analog values to the analog

Description: This input allows the user to initiate Hawk-I

diagram. The connection is made through the Hawk-Is software. The


output of the Sequence to Analog coil will be discrete in nature (a coil or
switch will be either TRUE or FALSE). The state of the Sequence to
Analog coil will be controlled by the objects to its left in the ladder logic
rung that it occupies.

functions remotely through the Modbus connection. This Sequence


Diagram contact reflects the corresponding Modbus coil status as set by
Modbus function 05 (Force Single Coil). This allows Sequence Diagram
operations to be controlled by Modbus commands.

Sequence Diagram Services:


Sequence Diagram Services: N/A
Class: N/A
Alarm/Shutdown: N/A

Contact

Class: N/A
Alarm/Shutdown: N/A

Parameters:
1) Value - when coil is ACTIVE
2) Value - when coil is INACTIVE

Parameters: N/A

6-76

6-77

SEQUENCE USER OUTPUT -SUO- (S)

SETPOINT CONSTANT -SK- (A) (S)

Description: This object corresponds to a Modbus logical coil. It can

Description: The setpoint constant is an analog diagram switch that

be read via Modbus Function 01-Read Coil Status-. This allows Sequence
Diagram results to be monitored remotely.

changes state of a contact at a point that is programmed by the user. An


analog input is compared to a selected constant value. This is a discrete
kind of TRUE-FALSE or FALSE-TRUE thresholding. The set points are
set in the Sequence Diagram, but the setpoint constant function represents an interconnection between the Sequence Diagram and the analog
diagram. The user-specified action determines if the contact closes when
the input is above or below the setpoint. The user may also specify a
hysteresis.

Sequence Diagram Services:


Coil

Class: N/A
Alarm/Shutdown: N/A
Parameters: N/A

Sequence Diagram Services:


Contact.

Class: N/A
Alarm/Shutdown: N/A
Parameters:
1) Setpoint
2) Hysteresis
3) Action (Rising/Falling).

6-78

6-79

SETPOINT VARIABLE -SV- (A) (S)

SHIFT LEFT -SL- (S)

Description: The setpoint variable is an analog diagram object that

Description: The SL function is a single register function which

is similar to the setpoint constant, except that in this case, the output of
the switch depends on the difference between two analog values that are
selected and programmed by the user.

performs a logical left shift on a WD register, this is useful when working


with bit packed data and when performing certain arithmetical functions.
The most significant bit shifted out of the register is passed to the link
bit, which may be used by a succeeding SLL or SRL function. A logical 0
is shifted into the least significant bit of the register. The register may be
in signed or unsigned word format and may be indexed to allow programmatic selection of an object instance. The register is updated to
contain the result of the operation.

Sequence Diagram Services:


Contact.

Class: N/A

Sequence Diagram Services:


Alarm/Shutdown: N/A

Coil

Class: N/A
Parameters:
1) Hysteresis
2) Action

Alarm/Shutdown: N/A
Parameters:
1
2
3
4
5

6-80

Type
Field
Instance
Indexed
Type Description

6-81

SHIFT RIGHT -SR- (S)

SINE -SIN- (S)

Description: The SR function is a single register function which

Description: The SIN function takes a single floating point register

performs a logical right shift on a WD register, this is useful when


working with bit packed data and when performing certain arithmetical
functions. The least significant bit shifted out of the register is passed to
the link bit which may be used by a succeeding SLL or SRL function. A
logical 0 is shifted into the most significant bit of the register. The
register may be in signed or unsigned word format and may be indexed to
allow programmatic selection of an object instance. The register is
updated to contain the result of the operation.

and calculates the sine. The result is returned to this register which must
be a floating point value. The register may be indexed to allow programmatic selection of an object instance.

Sequence Diagram Services:


Coil

Class: N/A

Sequence Diagram Services:


Coil

Alarm/Shutdown: N/A

Class: N/A
Alarm/Shutdown: N/A
Parameters:
1
2
3
4
5

6-82

Type
Field
Instance
Indexed
Type Description

Parameters:
1
2
3
4
5

Type
Field
Instance
Indexed
Type Description

6-83

SPEED -SP- (S) (A)

SPLIT RANGE -SRC- (A)

Description: The speed function is a switch that reflects the status of

Description: The Split Range function block is used in the analog


diagram. This block allows a single input that can have any given value to
be split into two outputs. These outputs are ranged from 0-1 or 0-100 to
drive two outputs in a linear relationship.

the tachometer or magnetic pickup value of output pulses per second as


compared to various user setpoints. In addition, the tachometer reading
can be accessed directly in the analog diagram.
WARNING: OVERSPEED is merely a contact. Unless combined into the
Sequence Diagram in an appropriate manner, it will not shut a machine

Sequence Diagram Services:

Sequence Diagram Services: N/A


Class: N/A
Alarm/Shutdown: N/A

SPUSP - underspeed contact


SPOSP- overspeed contact
SPPPS - purge permit speed contact
SPCTS - crank termination speed contact
SPCES - engine turning speed (>0) contact.

Class: N/A.
Alarm/Shutdown: N/A.
Parameters:
1)
2)
3)
4)
5)
6)

6-84

Pulses per revolution - how many sensor pulses equal 1 RPM


Underspeed
Overspeed
Purge permit speed
Crank termination speed.
Pickup resolution.-

Parameters:
1)
2)
3)
4)
5)

Output Range (0-1 or 0-100)


Input point for A output (0)
Input point for A output (maximum)
Input point for B output (0)
Input point for B output (maximum)

Suppose that the input range is 0 to 500. Output A: 0% = 0 input; 100%


= 350 input. Output B: 0% - 200 input; 100% = 500 input. In this case,
the output of a PID function block would be split into two outputs that
are scaled in a way appropriate to the process that must be controlled.

6-85

SQUARE ROOT -SQR- (S)

START KEY -KST- (S)

Description: The SQR function takes a single floating point register

Description: The Start Key is located on the front panel of the

and calculates the square root. The result is returned to this register. The
register may be indexed to allow programmatic selection of an object
instance.

Hawk-I. Its function must be programmed before it will operate. The


results of operating the Start Key will depend on its location in the ladder
logic diagram. The Start Key function can also be programmed to operate
when a remote contact is cycled.

Sequence Diagram Services:


Coil

Class: N/A

Sequence Diagram Services:


Contact

Class: N/A
Alarm/Shutdown: N/A
Alarm/Shutdown: N/A

Parameters: N/A

Parameters:
1
2
3
4
5

6-86

Type
Field
Instance
Indexed
Type Description

6-87

STOP KEY -KSP- (S)

SUBTRACT CONSTANT - SBK- (A)

Description: The Stop Key is located on the front panel of the

Description: This analog function block subtracts a user-set constant

Hawk-I. The user must program its function before it will operate.
The results of pressing the Stop Key will depend on how it was programmed into the Sequence Diagram. The Stop Key function can be
assigned to a remote switch.

value from the input value.


The operation is OUTPUT_VAL = INPUT_VAL - CONSTANT.

WARNING: The Stop Key has no predefined function. The programmer must ensure that a correct sequence of events when this key is

Sequence Diagram Services: N/A


Class: N/A
Alarm/Shutdown: N/A

Sequence Diagram Services:


Contact

Class: N/A

Parameters:
1) Floating point constant

Alarm/Shutdown: N/A
Parameters: N/A

6-88

6-89

SUBTRACTION -SUB- (A)

SYSTEM FUNCTIONS -SYS- (S)

Description: This analog function block subtracts one input

Description: This coil enables three System Functions, Print Log

value from the other input value. The operation is OUTPUT_VAL =


INPUT_VAL_A - INPUT_VAL_B.

- to print the log of events to the serial port -, Exit Test Mode - XTM,
Disable View Mode - DVM.

Sequence Diagram Services: N/A

Sequence Diagram Services:


Coil

Class: N/A

Class: N/A

Alarm/Shutdown: N/A

Alarm/Shutdown: N/A

Parameters: N/A

6-90

Parameters: N/A

6-91

TANGENT -TAN- (S)

Description: The TAN function takes a single floating point register


and calculates the tangent. The result is returned to this register which
must be a floating point value. The register may be indexed to allow
programmatic selection of an object instance.
Sequence Diagram Services:
Coil

Class: N/A
Alarm/Shutdown: N/A

Parameters:
1
2
3
4
5

Type
Field
Instance
Indexed
Type Description

TIMER -TM- (S)

Description: The range of the timer is 1 second to 32,000 seconds. A


timer allows time intervals to be included in the Sequence Diagram. A timer
may be started and stopped by its ON coil, and its condition may be read by
two contacts, RUNNING and DONE. The actions of this coil and these
contacts depend on the timer mode that is selected by the user.
If the timer is configured as an ON timer,
the timer will begin timing down from its
preset value toward zero when the ON coil
is activated. While the ON coil is active
and before the timer expires, the RUNNING contact will be TRUE. When the
counter expires, the RUNNING contact
will go FALSE and the DONE contact will
go TRUE for as long as the ON coil
remains active. When the ON coil goes
inactive, the timer resets. When the ON
coil goes active again, the timer will once
more begin timing down from its preset
value.
If the timer is configured as a T-OFF timer, it
will begin to time down when the ON coil
goes inactive. The RUNNING contact is
TRUE while the timer is counting. The DONE contact is TRUE either
when the ON coil is active, or when the timer is counting. The DONE
contact may thus be used as a one-shot output with a length equal to the
timers preset value.

Sequence Diagram Services:


ON coil
RUNNING contact
DONE contact.

Class: N/A.
Alarm/Shutdown: N/A.

6-92

6-93

TOGGLE -TG- (S)

Parameters:
1)Timer preset - the value in seconds which the timer times
2)Timer type - T-ON or T-OFF
3)Resolution 1sec or 100mS
4)Timer minimum - the minimum timer preset which can be
entered from the front panel
5)Timer maximum - the maximum timer preset which can be
entered from the front panel
Note that the current time value and elapsed time value may be displayed
in a user message (see User Message Coil description). The current time
value may also be accessed via Modbus.

Description: The Toggle Coil toggles, or discretely changes its state


from TRUE to FALSE or from FALSE to TRUE, on the rising edge of an
input. The Reset Coil forces the Toggle Coil state to FALSE no matter
what its present state may be. The Set Coil forces the Toggle Coil state to
TRUE without regard to its present state.

Sequence Diagram Services:


Toggle coil
Set coil
Reset coil
Contact

Class: N/A
Alarm/Shutdown: N/A
Parameters: N/A

6-94

6-95

USER ALARM/SHUTDOWN -AS- (S)

Description: The User Alarm/Shutdown Coil allows the user to


define any logical event as an alarm or a shutdown. This is an extension
of the built-in ability of the Hawk-I to generate an alarm or a shutdown based on the value of an analog or discrete input.

Sequence Diagram Services:


Coil

Class: Assignable
Alarm/Shutdown: Assignable
Parameters:
1)Class- A, B, b, C, or none
2)Action - Alarm or Shutdown (valid if Class is A, B, b, or C).

6-96

7. COMMUNICATIONS

7.1. Introducing Modbus Protocol


7.1.1. General
MODBUS Protocol is a messaging structure, widely used to establish
master-slave communication between intelligent devices.
This protocol defines a message structure that controllers will recognize
and use, regardless of the type of networks over which they communicate.
It describes the process a controller uses to request access to another
device, how it will respond to requests from the other devices, and how
errors will be detected and reported. It establishes a common format for
the layout and contents of message fields.

7.1.2. Coding
A MODBUS message sent from a master to a slave contains the address
of the slave, the command (e.g. read register or write register), the
data, and a check sum (LRC or CRC).
The basic structure of a MODBUS frame is then: address, function, data
and checksum.

The function code field of a message frame contains eight bits (RTU).
Valid codes are in the range of 1 ... 255 decimal. When a message is sent
from a master to a slave device the function code field tells the slave what
kind of action to perform. Examples are: read the ON / OFF states of
discrete Inputs, read the data contents of registers, read the diagnostic
status of the slave, write to coils or registers, or to allow loading, recording, or verifying the program within the slave.
When the slave responds to the master, it uses the function code field to
indicate either a normal (error-free) response or that some kind of error
occurred (called an exception response).
The data field of messages sent from a master to a slave device
contains information which the slave must use to take the action
defined by the function code. This can include items like discrete and
register addresses, the quantity of items to be handled, and the count
of actual data bytes in the field.
If no error occurs, the data field of a response from a slave to a master
contains the data requested. If an error occurs, the checksum contains
an exception code that the master application can use to determine
the next action to be taken.
For more information on Modbus protocol, refer to:
http://www.modicon.com/techpubs/toc7.html

Each message is expressed by using several consecutives bytes. The


MODBUS protocol comes in 2 modes:
1) ASCII transmission mode: Each eight-bit byte in a message is sent as 2
ASCII characters.
2) RTU transmission mode: Each eight-bit byte in a message is sent as 2
four-bit hexadecimal characters.
The Hawk-I uses the RTU mode. The main advantage of this mode is
that its greater character density allows better data throughput than
ASCII for the same baud rate.
In RTU mode, the address field of a message frame contains eight
bits. Valid slave device addresses are in the range of 1 ... 255. A
master addresses a slave by placing the slave address in the address
field of the message. When the slave sends its response, it places its
own address in this address field of the response to let the master
know which slave is responding.

7-1

7-2

7.2 Establishing Communications


7.2.1. Networking units
Since Modbus protocol is just a messaging structure, it is independent of
the underlying physical layer. It is traditionally implemented using serial
communications, RS232, RS422, or RS485 over a variety of media (e.g.
fiber, radio, cellular, etc.). It can also be use with Ethernet Modbus
TCP/IP-.
Hawk-I controllers use an RS-232C compatible serial interface that
defines connector pinouts, cabling, signal levels, transmission baud rates,
and parity checking. Hawk-Is can be networked directly or via modems.
On a Modbus network, controllers communicate using a master-slave
technique, in which only one device (the master) can initiate transactions
(queries). The other devices (the slaves) respond by supplying the
requested data to the master, or by taking the action requested in the
query. Typical master devices include other logic controllers or PCs .
The master can address individual slaves, or can initiate a broadcast
message to all slaves. Slaves return a message (response) to queries that are
addressed to them individually. Responses are not returned to broadcast
queries from the master.
Hawk-I model 8630B and 8632A operate only as slaves.

7.2.2. Configuring parameters


At the master level, users select the desired mode -Modbus Serial-, along
with the serial port communication parameters (port number, baud rate,
parity mode: none, data bits: 8, stop bits:1, polling rate ). The mode and
serial parameters must be the same for all devices on a Modbus network.
At the Hawk-I level, users should select:
Unit Address -from 1 to 255 Baud Rate -must match the master Address +1 -yes or no-: this feature adds 1 to every incoming message
address (some communications software subtract 1 from the
MODBUS address before transmitting the request)
Request To Send -lo or hi-: this feature defines the request bit as a low
or high (most systems use low)
These parameters can be accessed in Configuration Mode from the
Communications menu. See the Configuration Mode flow chart in the
Hawk-I Hardware Manual.

7-3

7.2.3. Accessing data


Once the communications parameters between master and slave have been
configured, it is then possible to send/receive messages.
Reminder: a Modbus message contains: address, command, data and check
sum.
Each slave is identified to the master by its address.
The command (e.g. read register or write register) is often implicitly
taken care of by the SCADA system being used.
Data is stored in the Hawk-I memory at locations called registers. Each
register has a specific address (do not confuse with unit address) and
contains specific type of information. Registers can contain logical values
or numeric values expressed as integers of floating point variables.
AMOT supplies two tables containing a list of Hawk-I registers.

7.2.4. Hawk-I Quick Block Registers


This table contains registers that can only be read -using function code
03-. This is the table used to generate the Quick Block view in Hawkwin.
Each register is defined with its address, description and contents.
Register

Description

Contents

40001

System Error Status

= 0 if no Error

40002

Common Alarm

First out Alarm (source and Type Number)

40003

Common Shutdown

First out Shutdown (source and Type Number)

40004

Tachometer 1

Tach1 (RPM)

40006

Digital Inputs 1-16

Packed Digital Input Status 0=open 1=closed

40008

Relay Output Status 1-12

Packed Relay Output Status 0=open 1=closed

40010

MODBUS Packed Logical Coils

1-16

40018

Thermocouple Analog Input 1

IEEE Floating Point (2 registers)

40050

4-20mA Analog Input 17

IEEE Floating Point (2 registers)

40066

4-20mA Analog Output 1 (percent) IEEE Floating Point (2 registers)

40068

4-20mA Analog Output 2 (percent)

40070

Analog User Output Register 1

IEEE Floating Point (2 registers)

Note: This is only a portion of the table.

7-4

7.2.5. Memory map of all MODBUS registers

7.3. Most common requests

This table is organized in several sheets.


The Main Sheet summarizes all accessible data, per type, such as Digital
Inputs, Digital Outputs, Tachometers, Timers, Counters, Analog Inputs,
Analog Outputs, and so on.
The Hawk-I memory is organized in blocks of 100 registers, each block
containing only one type of object. The table describes the way those
blocks are used.
The first column indicates type of object, the second column indicates
the starting address for this type of object, the third column indicates the
maximum number of instances of this particular object that can be
created in Hawkwin, the fourth column is the length (number of
registers) needed to store this type of data, the fifth column indicates the
number of addresses reserved for this particular type of object in sets of
100. Each block contains 100 registers, the sixth column indicates the
number of memory blocks needed to store this data.

7.3.1. Reading alarm/shutdowns

Parameter Object Type

Base

Max. Num

Length

Sample:
Digital Inputs

1000

64

256

Hundreds

Block Size

300

In the sample above, the digital inputs are stored in registers starting at
address 1000. The maximum number of digital inputs allowed in
Hawkwin is 64.
Each digital input needs 4 registers to be fully described (This information is available on the digital inputs sheet):
Register # 1: Class Type
Register # 2: Alarm Type
Register # 3: Contact Type
Register # 4: reserved for future used
The total number of registers needed is 64 x 4 =256.
A block is a set of 100 addresses and can contain only one type of object,
therefore 3 blocks are needed to cover those 256 addresses.
After the Main Sheet, each additional sheet covers in detail a particular
type of data:
Digital Inputs, Digital Outputs and so on.

Use:
Get information on source and type of the last alarms and shutdowns
generated by the Hawk-I
Query:
Last COMMON ALARM is stored in register 40002, last COMMON
SHUTDOWN is in register 40003.
Response:
Each register has 2 bytes. The lowest 8 bits represent the instance number
or source/channel number. For example, if the value in the first 8 bits is
1, then it represents the first instance of either a Digital Input, Analog
Input, or User Alarm/Shutdown. A value of 24 would represent the 24th
instance, and so on.
The second byte, which is the 8 highest bits, represents the type of alarm/
shutdown. There are 3 possibilities:
A value of 1 (00000001 in binary) represents a Digital Input
A value of 4 (00000100 in binary) represents an Analog Input
A value of 19(00010011 in binary) represents a User Alarm/Shutdown
Example:
If register 40002 contained 00000100 00000011, then there is an alarm
on Analog Input 3
Note:
If the SCADA package interprets the register as a numerical value, then:
- an alarm generated by a digital input will have the value 256 (1 in
second byte) plus instance number. For example, a reading of 257
represents alarm in DI1.
- an alarm generated by an analog input will have a numerical value of
1024 (4 in second byte) + numeric value of instance
- an alarm generated by a User alarm object will have a value of 4864 (19
in second byte) + instance number.

The following pages cover the most common data requests, their use,
how the query is expressed, and how the slave responds

7-5

7-6

7.3.2. Reading Input Status


Use:
Reads the ON / OFF status of discrete inputs in the slave. Broadcast is
not supported.
Query:
The states of the 32 digital inputs in Hawk-I are stored in two registers,
40006 and 40007 (using the Quick Block table). The status of each input is
packed as one input per bit of the registers.
The query message singles out one bit inside a register. Inputs are addressed
starting at 0 for bit 1, and 15 for bit 16 (inputs 1 ... 16 are addressed as 0 ...
15). To request the state of digital input 1, call register 40006.0.

Response:
Some masters directly interpret the register as two bytes for two ASCII
characters. However, if the system brings back a numerical value, it is then
necessary to convert it into an ASCII value prior to interpreting it. For
instance if address 220 as a numeric value of 16725, expressed as 01000001
01010101 in binary, then the first character will have the ASCII value of 65
(decimal value of 01000001), which represents A, the second will have the
value 85 (decimal value of 01010101), which is U.
Address

220

Numeric value

16725

Display reading

AU

221

222

223

224

225

226

227

Response:
Status is indicated as: 1 = ON; 0 = OFF.

7.3.5. Reading Analog Inputs

7.3.3. Reading Coil Status

Use:
Display or log onto master unit any value acquired by Hawk-I sensors.

Use:
Reads the ON / OFF status of discrete outputs in the slave. Broadcast is
not supported.
Query:
The state of Hawk-Is 12 relay outputs are packed as one coil or relay per
bit in register 40008 (using the Quick Block table). The query message
specifies the bit to read . Coils are addressed starting at one (coils 1 ... 12
are addressed as 1 ... 12).
To access state of relay 8, call address 40008.8.
Response:
Status is indicated as: 1 = ON; 0 = OFF.

7.3.4. Reading the display


Use:
Display on the master unit the 2 lines x 16 characters of the Hawk-I.
Query:
Use Modbus table of registers
Line 1 is stored starting at address 220 to 228 with 2 characters per
register (or one character per byte). Each byte contains the value in
ASCII of the character. Line 2 is stored starting at address 230 to 238.

7-7

Query:
Use Quick Block. Each Analog input, as a floating point value, is stored
in two consecutive registers or four bytes. It is necessary to indicate to the
master that the requested value is a floating point and then point to the
first register. The master will automatically poll both registers.
For instance, to access Analog Input 17, call for F40050. F indicates
floating point.
Response:
Brings back the numeric value of analog input 17 as a floating point.
Note:
IEEE floating points orders: (often refered as the big endian vs little
endian issue)
Given a 32 bits floating point number of 4 bytes, F1 F2 F3 F4:
- 8630 returns in first register: F1 F2; in second register: F3 F4 (hi
byte, lo byte order)
- 8632 returns in first register: F3 F4; in second register: F1 F2 (hi
byte, lo byte order)
It may be necessary to select the relevant method at the master level.
Most master/SCADA packages offer the option of changing the
Modbus 32 bit floating point order.

7-8

7.3.6. Forcing Coils


Use:
Forces a single coil to either ON or OFF. When broadcast, the function
forces the same coil reference in all attached slaves.
In the Hawkwin ladder, this writes to Sequence User Input or any of the
Hawk-I keys. This type of input allows the user to initiate Hawk-I
functions remotely. The sequence diagram contact reflects the corresponding Modbus coil status.
Object Type
MODBUS Coils

Base

Max. Num

Length

99

100

100

100

Storage for Sequence User Inputs


SUI1: register 0, SUI2: register 1

Stop key: register 100, .


Keys

Query:
The query message specifies the coil reference to be forced. Coils are
addressed starting at zero (coil 1 is addressed as 0).
All panel keys can be activated by writing directly to their respective registers:
(100=STOP, 101=START, 102=DOWN, 103=RIGHT,104=ENTER,
105=UP, 106=LEFT, 107=RESET)
Note:
The forced state will remain valid until the Hawk-Is logic changes the
state of the coil. The coil will remain unchanged if it is not programmed
in the controllers logic.

7.3.7. Writing to Analog User inputs


Use:
Pass an analog value to the Hawk-I from a remote master. This can be
used to pass a value for recipes for instance.
Query:
Use MODBUS table of registers. Depending on the system used, it
might be necessary to add a 4 (to enable the Modbus write function) in
front of the address as well as an F for floating point.

Sample:
Analog User Input Base

Element Size:
Input #
1
1
1
1
1

4400

9
Size
2
2
2
2
1

Register
Float value
Force value
Minimum value
Maximum value
Spare

Offset
0
2
4
6
8

To write to AUI1, use address F44400.


Response:
Write a numeric value from the master to the float value of AUI1 in the
Hawk-I.

7.3.8. Writing to Setpoints


Use:
Directly write to a setpoint from a remote PC
Query:
Use MODBUS table addresses, adding a 4 and F.
For instance to write to SK1:
Setpoint (Constant) Base
Element Size:
Input #

1
1
1

7900
5

Register

Size

Offset

Address

Setpoint
Hysteresis

2
2

0
2

7900
7902

Direction

7904

(0=Rising,
1=Falling)

Use F47900
Response:
Write to SK1 value entered at PC level.

7-9

7-10

You might also like