Professional Documents
Culture Documents
Hawk Win
Hawk Win
HAWKWIN
SOFTWARE MANUAL
AMOT
CONTROLS
Ver. 4
Form 1387 D9910
Copyright 1999
Table of Contents
1. INTRODUCTION ............................... 1-1
ii
iii
1. INTRODUCTION
1.1 Overview
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.
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-1
1-2
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
CR2
LS8
PS7
LS9
CR2
SOL4 FWD
Reset
CR2
SOL5 DWN
Start
LS8
CR3
CR3
PL4
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-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
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
LS1
LS2
SOL
DI1
DI2
Discrete
Input
Discrete
Input
DO1
Discrete
Output
SOL
LS1
DI1
DO1
Discrete
Input
LS2
Discrete
Output
DI2
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
Discrete
Output
Discrete
Input
Figure 2-4. Hard-wired and ladder logic circuits for AND, OR, and
AND-OR, also showing the Boolean expressions.
2-8
2-9
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.
OUTPUT
XOR
DI1
DI2
DO1
Discrete
Input
Discrete
Input
DI1
DI2
Discrete
Input
Discrete
Input
Discrete
Output
2-10
2-11
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
2-13
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
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
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
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-1
4. USING HAWKWIN
4-1
4-2
The Configuration box offers one or more choices. Click on a choice, then click
Customize. The Configure Inputs and Outputs dialog box will appear:
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:
4-5
4-6
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.
4-7
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.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.
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.
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.
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:
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.
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
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
AN
OBJECT
IN A
DELETE AN
OBJECT
FROM A
RUNG
AN
LINE SEGMENT
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
TO
ANOTHER
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
5-5
???
Closed contact
EXAMPLES
TO DRAW
DI1
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
Common
Shutdown
5-6
2.
3.
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.
7.
In the Edit Object Info dialog box, make any changes desired and
then click OK.
8.
9.
When you have inserted all the desired objects on the diagram, check
the layout for accuracy.
5.3 Miscellaneous
1.
2.
This screen is accessible using the pull down menu Edit and
Program Info.
5-9
5-10
3.
5-11
6. OBJECT DESCRIPTIONS
6-1
6-2
6-3
6-4
6-5
Class: N/A
Class: N/A
Alarm/Shutdown: N/A
Alarm/Shutdown: N/A
Parameters: N/A
Parameters:
1) Constant
6-6
6-7
Class: Assignable
Alarm/Shutdown: Assignable.
Parameters:
1)
2)
3)
4)
5)
6)
7)
8)
9)
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
6-10
6-11
Class: N/A
Alarm-Shutdown: N/A
Parameters:
1)
2)
3)
4)
Analog value
Force value
Minimum Limit
Maximum Limit
6-12
6-13
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.
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.
6-14
6-15
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
6-16
6-17
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
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
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
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
Class: N/A
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
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.
Class: N/A
Alarm/Shutdown: N/A
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
Description:
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
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
Class: N/A.
Alarm/Shutdown: N/A.
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
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 -
6-32
6-33
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
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.
Contact
TRUE
ELSE
FALSE
Class: N/A
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
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-36
6-37
Deviation above A
Deviation above A
Deviation above B
Deviation above B
TRUE
ELSE
FALSE
Class: N/A
Contact
Alarm/Shutdown: N/A
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
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
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
6-40
6-41
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
TRUE
ELSE
TRUE
FALSE
ELSE
FALSE
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
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-45
Description: The limit value block has an analog input that may be
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.
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
Coil
Class: N/A
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
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.
Class: N/A
Class: N/A
Alarm/Shutdown: N/A
Alarm/Shutdown: N/A
Parameters: N/A
Parameters: N/A
6-50
6-51
Alarm/Shutdown: N/A
Class: N/A
Parameters: N/A
Alarm/Shutdown: N/A
Parameters: N/A
6-52
6-53
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.
Class: N/A
Parameters:
Alarm/Shutdown: N/A
Parameters:
1
2
3
4
5
6-54
Type
Field
Instance
Indexed
Type Description
6-55
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.
Class: 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
Description: When the rung that the One Shot coil is placed on
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.
Class: N/A.
Alarm/Shutdown: N/A.
Class: N/A
Alarm/Shutdown: N/A
Parameters: N/A.
Parameters:
1)
2)
3)
4)
5)
6)
7)
6-58
6-59
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
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
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
6-64
6-65
Description: The Rate Limit block limits the slew rate of the output
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.
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
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.
Class: 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
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
6-70
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-71
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.
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:
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
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-73
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
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-75
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
be read via Modbus Function 01-Read Coil Status-. This allows Sequence
Diagram results to be monitored remotely.
Class: N/A
Alarm/Shutdown: N/A
Parameters: N/A
Class: N/A
Alarm/Shutdown: N/A
Parameters:
1) Setpoint
2) Hysteresis
3) Action (Rising/Falling).
6-78
6-79
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.
Class: 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
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.
Class: N/A
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
Class: N/A.
Alarm/Shutdown: N/A.
Parameters:
1)
2)
3)
4)
5)
6)
6-84
Parameters:
1)
2)
3)
4)
5)
6-85
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.
Class: N/A
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
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.
WARNING: The Stop Key has no predefined function. The programmer must ensure that a correct sequence of events when this key is
Class: N/A
Parameters:
1) Floating point constant
Alarm/Shutdown: N/A
Parameters: N/A
6-88
6-89
- to print the log of events to the serial port -, Exit Test Mode - XTM,
Disable View Mode - DVM.
Class: N/A
Class: N/A
Alarm/Shutdown: N/A
Alarm/Shutdown: N/A
Parameters: N/A
6-90
Parameters: N/A
6-91
Class: N/A
Alarm/Shutdown: N/A
Parameters:
1
2
3
4
5
Type
Field
Instance
Indexed
Type Description
Class: N/A.
Alarm/Shutdown: N/A.
6-92
6-93
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.
Class: N/A
Alarm/Shutdown: N/A
Parameters: N/A
6-94
6-95
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.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
7-1
7-2
7-3
Description
Contents
40001
= 0 if no Error
40002
Common Alarm
40003
Common Shutdown
40004
Tachometer 1
Tach1 (RPM)
40006
40008
40010
1-16
40018
40050
40066
40068
40070
7-4
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
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.
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-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
Base
Max. Num
Length
99
100
100
100
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.
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
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