You are on page 1of 131

GAP 2.

16

Jean Philippe Monge


March 10-14, 2014
Industrial Turbomachinery Systems

This presentation is intended only for the individual or entity to which it is addressed and may contain information that is the Confidential and/or Proprietary Information of
Woodward, Inc., the disclosure of which may be in violation of applicable law. If you are not the intended recipient, or an employee or agent responsible for delivery to the
intended recipient,
Proprietary you are hereby notified that any dissemination, distribution, or copying of this message is strictly prohibited and you are requested to notify us
Information
immediately by●●●telephone.

1 Always innovating for a better future


Introduction

• GAP™ is a Windows™ based, high level, block-oriented


programming language.
• GAP Blocks are proven pieces of software.

Industrial Turbomachinery Systems


Always innovating for a better future
History

• WGSPL (Woodward Governor


Sequencer Programming
Language) - 1981
• MOE (Menu Oriented Editor) - 1984
• Ladder Logic - 1991
• ABLS (Application Block Language
Software) - 1991
• GAP (Graphical Application
Programmer) - 1993

Industrial Turbomachinery Systems


Always innovating for a better future
GAP Features
• The GAP program has sophisticated algorithms and
timing control that have been rigorously proven at
Woodward. Many blocks have been in service since
1984.
• Documentation is created along with the application
programming.
• Multi- GAP™
 Used for “Core” Functionality

Industrial Turbomachinery Systems


Always innovating for a better future
Sample of GAP Block
Category Name

Block Name

Output Fields
Input Fields

Rate Group
Block Type

Field Name: LMT.SS_FAILED.DELAY


CATEGORY.BLOCK_NAME.FIELD

Industrial Turbomachinery Systems


Always innovating for a better future
Sample of GAP Block
Category Name
Block Name

Output Fields
Input Fields

Nets

Rate Group

Block Type

Industrial Turbomachinery Systems


Always innovating for a better future
Block Connections

• Nets Connect GAP Blocks On The Same Page


 Variables Are Passed From The Output Fields To
The Input Fields.

Industrial Turbomachinery Systems


Always innovating for a better future
Block Connections

• Text Symbols on different pages


 A Text Symbol is used on the input or output of a
block when a net cannot be drawn.
Industrial Turbomachinery Systems
Always innovating for a better future
Tunable / Fixed Inputs

• Any analog or discrete input can be made fixed or


variable (tunable).
• By putting an asterisk (*) in front of the tunable will
allow the user to tune that input.
• Examples:
*TRUE (Can be adjusted to FALSE)
*10.0 ( -20, 100) (Can be adjusted in the
range of -20 to +100)

Industrial Turbomachinery Systems


Always innovating for a better future
Tunable / Fixed Inputs

Tunable True/False

Fixed 2.0

Tunable 10.0
Min = 2.0
Max = 100.0

Industrial Turbomachinery Systems


Always innovating for a better future
Rate Groups

• Guaranteed “Sample Rate” For The GAP


Block
 Millisecond Units
 No Faster / No Slower
• Each Rate Group:
 Looks At Inputs
 Processes Them
 Updates Outputs
• Rate Groups can be:
Rate Group  5 mSec
 10 mSec
 20 mSec
 40 mSec.
 80 mSec
 160 mSec.

Industrial Turbomachinery Systems


Always innovating for a better future
Rate Group Timing

10 mSec 10 mSec 10 mSec 10 mSec 10 mSec 10 mSec 10 mSec 10 mSec 10 mSec 10 mSec 10 mSec

10 mSec Rate Group

20 mSec Rate Group

40 mSec Rate Group

80 mSec Rate Group

Free Run

Industrial Turbomachinery Systems


Always innovating for a better future
Rate Group Execution Order

• Rate group execution order is from left to right.


• The Coder will not process a block until all of the
inputs to that block have been processed or come
from a different rate group.

Industrial Turbomachinery Systems


Always innovating for a better future
Opening an Application

Industrial Turbomachinery Systems


Always innovating for a better future
Getting Started

• Start by opening up the GAP program ver. 2.16.


• Click on the “OPEN” application.
• Use the Windows Browser, to select the file to open.

Industrial Turbomachinery Systems


Always innovating for a better future
Page One

List of GAP Pages

Change History

Master / System Info Block

Title Corner

Industrial Turbomachinery Systems


Always innovating for a better future
Page One

• Page One Displays the following:


 GAP Pages
 Title Corner
 Change History
 Master / System Info Block

Industrial Turbomachinery Systems


Always innovating for a better future
Adding Blocks

• Five types of GAP blocks available.


 Service
 Configure
 Process
 Interface
 Hardware

Industrial Turbomachinery Systems


Always innovating for a better future
Service Blocks

Industrial Turbomachinery Systems


Always innovating for a better future
Service Blocks

• These password protected blocks can be used while the


engine is running. It permits monitoring of values, and
tuning of tunable values.

Industrial Turbomachinery Systems


Always innovating for a better future
Configure Blocks

Industrial Turbomachinery Systems


Always innovating for a better future
Configure Blocks

• These password protected blocks cannot be used while


the engine is running. The blocks are used to set up
application specific variables, before actual operation of
the system starts.
• Example: (How many teeth on the Magnetic pickup?)

Industrial Turbomachinery Systems


Always innovating for a better future
Process Blocks

Industrial Turbomachinery Systems


Always innovating for a better future
Process Blocks

• These blocks are the base of the program.


• They consist of the logical block types, arithmetic block
types, and control block types.

Industrial Turbomachinery Systems


Always innovating for a better future
Interface Blocks

Industrial Turbomachinery Systems


Always innovating for a better future
Interface Blocks

• These blocks are used to interface with the outside


world.
• They consist of blocks that can communicate with RS-
232, and MODBus.
• There are other special blocks in this listing.

Industrial Turbomachinery Systems


Always innovating for a better future
Hardware Blocks

Industrial Turbomachinery Systems


Always innovating for a better future
Hardware Group

• These blocks are used to interface with the outside


world. They consist of blocks that can communicate
with analog inputs and outputs, discrete inputs and
outputs, Magnetic Pickups, RTD’s, Actuators, and
Position Sensors.

Industrial Turbomachinery Systems


Always innovating for a better future
Multiple Output Symbol

This indicates that the output


Goes to other inputs.

These inputs can be displayed by double-


Clicking on the block, and selecting the
Output option.

Industrial Turbomachinery Systems


Always innovating for a better future
GAP Block Repeat Inputs

• Certain blocks can as many inputs as the programmer


wants.
• These multiple inputs are called repeat inputs.

Industrial Turbomachinery Systems


Always innovating for a better future
Repeat Inputs

Double Click on the RPT to


the repeat fields.

Industrial Turbomachinery Systems


Always innovating for a better future
Repeat Inputs

Industrial Turbomachinery Systems


Always innovating for a better future
GAP Hot Keys
• FILE
 PREVIOUS SHEET- - - - - - - - - - - - - PAGE UP
 NEXT SHEET - - - - - - - - - -- - - - - - - PAGE DOWN
 OPEN SHEET - - - - - - - - - - - - - - - - CTRL+O
• VIEW
 MONITOR VALUES - - - - - - - - - - - - ALT+M

 BRANCH TO BLOCK - - - - - - - - - - - CTRL+B


 BRANCH BY TYPE - - - - - - - - - - - - SHFT+T
 BRANCH MANUALLY - - - - - - - - - - B
 RETURN TO LAST BRANCH - - - - - CTRL+L
 VIEW BLOCK OUTPUTS - - - - - - - - ‘>’
 VIEW BLOCK INPUTS - - - - - - - - - - ‘<’

 REFRESH SCREEN - - - - - - - - - - - - CTRL+R

 ZOOM IN - - - - - - - - - - - - - - - - - - - - SHFT+I
 ZOOM OUT- - - - - - - - - - - - - - - - - - SHFT+O
 ZOOM FULL- - - - - - - - - - - - - - - - - - SHFT+F
 ZOOM BACK - - - - - - - - - - - - - - - - - SHFT+B
 ZOOM TO FIT HEIGHT- - - - - - - - - - - SHFT+H
 ZOOM TO FIT WIDTH - - - - - - - - - - - SHFT+W
 ZOOM AROUND- - - - - - - - - - - - - - - SHFT+Z

Industrial Turbomachinery Systems


Always innovating for a better future
Multi GAP™

Using IFACE Blocks


In Multi GAP
With
Core Fuel Control
Applications

Industrial Turbomachinery Systems


Always innovating for a better future
Multi GAP™

Interface Multiple GAP Applications Using Multi-GAP

Core GAP Master GAP


Application Application

CORE 2nd Ring


GAP GAP

“Fuel Core” “Main GAP with user I/O”


Contains SYS.INFO block

Industrial Turbomachinery Systems


Always innovating for a better future
Multi GAP™

• Multi-GAP uses an IFACE block to interface multiple GAP


applications.
• The CORE GAP is not the Master and does not contain a
SYS.INFO block
• The The Master GAP is called the “2nd Ring” and is the
application that gets compiled.

Industrial Turbomachinery Systems


Always innovating for a better future
Multi GAP™ & IFACE Inputs

IFACE BLOCK IN THE MASTER


(Lists block inputs to the Master “FROM CORE” application)

CORE
GAP Block OUTPUT in the CORE application DIGITAL
CORE_GAP
TAG NAME REFERENCE VALUE

GG_SPDSW1 SPEED_SW.GG_SPDSW1.B_NAME

LINK TO EXTERNAL GAP FILE

CORE Inputs from CORE MASTER


IN
OUT

Industrial Turbomachinery Systems


Always innovating for a better future
Multi GAP™ & IFACE Inputs

IFACE BLOCK IN THE CORE


(Lists block inputs to the CORE “FROM MASTER” application)

IFACE
GAP Block INPUT in the CORE application HDWR
MASTER GAP APPLICATION
TAG NAME REFERENCE VALUE

AMB_TEMPA IFACE_HDWR.AMB_TEMPA.A_NAME

LINK TO EXTERNAL GAP FILE

MASTER
Inputs from CORE
OUT
MASTER IN

Industrial Turbomachinery Systems


Always innovating for a better future
Multi GAP™ & IFACE Inputs

CORE GAP APPLICATION


IFACE
HDWR
2nd Ring Block MASTER GAP APPLICATION
TAG NAME REFERENCE VALUE

AMB_TEMPA IFACE_HDWR.AMB_TEMPA.A_NAME

LINK TO EXTERNAL GAP FILE


IFACE INPUT
Use of an A_NAME block in the 2nd ring
to provide a temporary input in order to
pass a completeness check. Later the application
Engineer can replace the tunable with real
Hardware inputs located in the Master (2nd ring).

*GAP Blocks must have a valid input in order to pass a Completeness


check.
Industrial Turbomachinery Systems
Always innovating for a better future
Multi GAP™ & IFACE Inputs

MASTER GAP APPLICATION


CORE
DIGITAL
CORE GAP Application CORE2_GAP
TAG NAME REFERENCE VALUE

GG_SPDSW1 SPEED_SW.GG_SPDSW1.B_NAME

LINK TO EXTERNAL GAP FILE

Linked outputs are not Valid CORE outputs that are


necessary listed in the IFACE Master block,
to pass a Completeness check are necessary to pass a
of the CORE. Completeness check of the
MASTER.

Industrial Turbomachinery Systems


Always innovating for a better future
Multi GAP™ & IFACE Blocks
Multiple GAP Applications Use the IFACE Block

Create External Application Link to add an IFACE Block

IFACE

Industrial Turbomachinery Systems


Always innovating for a better future
Multi GAP™ & IFACE Blocks

TAG names are created by the programmer.


It is good practice to use actual block names
as TAG names to assist in troubleshooting.

Industrial Turbomachinery Systems


Always innovating for a better future
Multi GAP™ & IFACE Blocks

When un-checked, the correct name of the


Master GAP application must be defined.

Industrial Turbomachinery Systems


Always innovating for a better future
Adding blocks to the IFACE
The IFACE is like one Large Block with interface or “inputs”
Being blocks from the source application

TAG Names
You can select an are not
existing block and checked
edit the name by the
Block Names must Completeness
exist in source Check.
application to pass a
completion check.
Industrial Turbomachinery Systems
Always innovating for a better future
Editing the IFACE block

Much like the Add option except


existing TAG names are displayed.

TAG names are created by the programmer.


It is good practice to use actual block names
as TAG names to assist in troubleshooting.
Industrial Turbomachinery Systems
Always innovating for a better future
Multi GAP™ & IFACE Blocks

It is good practice to have both the CORE


application and the Master application
within the same directory.

Industrial Turbomachinery Systems


Always innovating for a better future
Multi GAP™ & IFACE Inputs

The X shows inputs to the CORE application


that are coming from the Master Application.

You cannot “Branch” to these inputs,


they are located in a different application, the Master.

Industrial Turbomachinery Systems


Always innovating for a better future
Linking a CORE to your Application

• Name blocks can be a convenient method to provide valid block inputs in


the CORE application from name block outputs in the MASTER application.
• Name blocks use virtually no processor horsepower so they can be used
frequently.

Industrial Turbomachinery Systems


Always innovating for a better future
Other Functions

Is your head in a fog yet?

Industrial Turbomachinery Systems


Always innovating for a better future
Options Menu

Industrial Turbomachinery Systems


Always innovating for a better future
Rate Group Colors

Click on this selection box


To change colors of different
Rate groups.

Industrial Turbomachinery Systems


Always innovating for a better future
Rate Group Colors

Purple = Fastest Rate Group


Green = Slowest Rate Group

Industrial Turbomachinery Systems


Always innovating for a better future
Adding Text

• Adding a text box can help explain a function, or some


code!

Industrial Turbomachinery Systems


Always innovating for a better future
Completeness Check

• Before the GAP program generates an output file, a


validity test is performed on the program. This assures
that you have correctly typed all input numbers, and
that they are in correct syntax.
• Any errors found are listed in a Window.
• Help may be obtained about individual parameters in a
block or about the block itself.

Industrial Turbomachinery Systems


Always innovating for a better future
Compiling a GAP Program

• Once the completeness check has been successfully


passed, a “.cdr” file is produced.
• This “.cdr” file is then processed by the coder, which
creates a .rtss and a .exe file.

Industrial Turbomachinery Systems


Always innovating for a better future
Monitor GAP

Allows changes to tunables during a running


application and allows for watching the results

Industrial Turbomachinery Systems


Always innovating for a better future
GAP™ Editor/Monitor

Editor License (8928-810)


required to authorize the GAP
editor function for programming
in GAP.

Monitor License (8928-5007)


required to authorize the GAP
monitor function beyond the
trial period.

Industrial Turbomachinery Systems


Always innovating for a better future
Monitor Values

Industrial Turbomachinery Systems


Always innovating for a better future
ServLink and OPC Connection

The first time you access the ALT-M feature, Monitor GAP
will prompt you for the connection address

Click here to connect to a ServLink server

Input the address and select Connect to Control


Industrial Turbomachinery Systems
Always innovating for a better future
Monitor View
Main menu options
are limited in this When in the
mode. Monitor view
all GAP
appears gray
and the active
values appear
In color.

Industrial Turbomachinery Systems


Always innovating for a better future
Active Values

Industrial Turbomachinery Systems


Always innovating for a better future
Changing a Boolean Input

Boolean values
Can be changed
By double-clicking
On them.

Industrial Turbomachinery Systems


Always innovating for a better future
Running Changes

With the Input


changed, observe
logic change through
the GAP.

Industrial Turbomachinery Systems


Always innovating for a better future
Changing an Analog Value

Analog values
Can be changed
By double-clicking
On them.

Industrial Turbomachinery Systems


Always innovating for a better future
Things to Remember!!!
• Keep in mind that these
changes are in the GAP
application that is
running inside the
controller.
• If you leave the changes
in place, they will
remain as the
controlling values.
• Resetting the controller
power will return the
unit to the original
values.

Industrial Turbomachinery Systems


Always innovating for a better future
Various Block Descriptions

Industrial Turbomachinery Systems


Always innovating for a better future
ABSOLUTE

Absolute Value Block

This block takes the absolute value


of the Analog Input Field and
outputs it. The Analog Output Field
of this block is always a positive
value, regardless of the sign of the
input.

Question: What is the output of the


block?

Industrial Turbomachinery Systems


Always innovating for a better future
ADD

Add Block

This block adds the Analog Input


Fields together and outputs the
Analog result.

Question: What is the output of the


block?

Industrial Turbomachinery Systems


Always innovating for a better future
AND
And Block
This blocks output will be true only if all of the
Boolean Input Fields are true. Otherwise the
output of this block will be false.

Question: What is the output of the block?

AND Truth Table

IN_1 IN_2 IN_x AND Output

FALSE X X FALSE

X FALSE X FALSE

X X FALSE FALSE

TRUE TRUE TRUE TRUE

X = This input can be true or false.

Industrial Turbomachinery Systems


Always innovating for a better future
A_COMPARE
Analog Compare Block
This block determines whether the first input (IN_1) is
greater than/equal to or less than the second input
(IN_2), and can use a Hysteresis buffer (HYSTER) to
prevent chatter in the output.

When the Hysteresis is not used (HYSTER = 0):

The output (A_COMPARE) is set to true if the first


input is greater than or equal to the second input.
The output is set to false if the first input is less than
the second input.

Question: What is the output of the block?

Industrial Turbomachinery Systems


Always innovating for a better future
A_COMPARE

Analog Compare Block

Industrial Turbomachinery Systems


Always innovating for a better future
A_COMPARE

Analog Compare Block

Industrial Turbomachinery Systems


Always innovating for a better future
A_COMPARE
Analog Compare Block

Industrial Turbomachinery Systems


Always innovating for a better future
A_MUX_N_1

Analog Multiplexer Many to One Block


This block functions like a many-to-one
hardware Multiplexer. Use the Repeat
command to add inputs. The channel
selector field (SEL) is an integer input that
determines which input the output value will
be. If SEL is 4, the output will be the analog
value from IN_4.

If the SEL input is invalid ,< 1 or > than the


max # of available inputs, the output will
remain unchanged and will.be from the IN_x
of the last valid input.

Question: What is the output of the block?

Industrial Turbomachinery Systems


Always innovating for a better future
A_NAME

Analog Name Block


The block allows you to name an Analog value
and use that name throughout the rest of the
GAP application. A_NAME is useful for cases
where a tunable value is used as an input to
more than one block in an application. This
block simplifies program flow and reduces
processing time compared to using several
tunable values scattered in different locations
of the program. A_NAME can also make it
easier to follow Analog signals in the program
flow.

Question: What is the output of the block?

Industrial Turbomachinery Systems


Always innovating for a better future
A_SW
Analog Switch Block
This block is used to switch
between two analog inputs.

When the control field is set to


false, the normally closed input is
passed to the output.

When the control field is set to


true, the normally open input is
passed to the output.

Industrial Turbomachinery Systems


Always innovating for a better future
A_TO_INT

Analog To Integer Block

This block accepts an Analog value and


converts it to an integer by truncating
any fractional part.

The inputs/outputs are in a repeat


group.

Question: What is the output of the


block, OUT_1, OUT_2?

Industrial Turbomachinery Systems


Always innovating for a better future
B_ALARM

Boolean Alarm Block


This block has the same function as a latch
block but with special features built in. There
are three outputs B_ALARM, HORN and
LIGHT which can be used to indicate that an
alarm has occurred. The input can be
delayed or bypassed all together. The
latching output can be reset if the input is
false.
Note: The acknowledge (ACKN) input will
reset the HORN output regardless of the state
of the input, but will not affect the B_ALARM
or LIGHT outputs.
Industrial Turbomachinery Systems
Always innovating for a better future
B_NAME

Boolean Name Block

The block allows you to name a Boolean value


and use that name throughout the rest of the
GAP application. B_NAME is useful for cases
where a tunable value is used as an input to
more than one block in an application. This
block simplifies program flow and reduces
processing time compared to using several
tunable values scattered in different locations of
the program. B_NAME can also make it easier
to follow Boolean signals in the program flow.

Question: What is the output of the block?

Industrial Turbomachinery Systems


Always innovating for a better future
B_SW
Boolean Switch Block
This block is used to switch
between two Boolean inputs.

When the control field is set to


false, the normally closed input is
passed to the output.

When the control field is set to


true, the normally open input is
passed to the output.

Industrial Turbomachinery Systems


Always innovating for a better future
CURVE_2D
2-Dimensional Curves Block
This block is a two dimensional table lookup block. The
X_IN represents a point along the x-axis of a simple line
graph. The output represents the y-axis value that
corresponds to the specific x-axis value. If the X_IN is less
than the minimum X_IN value in the table or greater than
the maximum X_IN value in the table, the CURVES_2D
block will extrapolate using the slope of the last two
points on the table. If a truncated output is desired,
provisions must be made in the data table to provide this
function.
X In
0 1000 2000 3000 4000 5000 6000 7000 8000
0
-100
-200
-300
Y Out

-400
-500
-600
-700
-800

Industrial Turbomachinery Systems


Always innovating for a better future
DATA_LOG Blocks

• The Datalog block


collects data into a
buffer on the CPU
module or an
expansion memory
module.
• This data can be
retrieved for analysis
after an event such
as a shutdown.

Industrial Turbomachinery Systems


Always innovating for a better future
DATA_LOG Blocks
CPU_040, CPU_060 and ATL_332CPU Operation

T/F Trigger
InputsFor NV Memory TRUE When Active
(Hardware dependant)

RAM “Hardware specific” Maximum amount of time that data is


recorded.
(Dependant on collection rate and hardware)

T/F Triggers Output


(When NOT collecting
data)

Port Select
“cannot be blank”

Multiplier on rate group collection rate

Industrial Turbomachinery Systems


Always innovating for a better future
DATA_LOG Blocks

• When START_LOG is triggered true and the COLLECTING and


PRINTING outputs are FALSE, the Datalog will collect data into its
buffer.
• When the buffer is full, the BUF_FULL output will go TRUE.
• The newly collected data will overwrite the oldest data in the buffer
in a circular motion.
• The maximum amount of data MAX_SEC (in seconds) is calculated
as follows:
 MAX_SEC = (Buffer Size * RG(sec) * LOG_RATE) / (NUM_ANALOGS + NUM_BOOLS)(4)

► Buffer Size = 16,384 if using the 2301D


► Buffer Size = 49,152 if using the ATL_332CPU
► Buffer Size = 131,072 if using the RAM on the Netcon CPU module
► Buffer Size = 262,144 if using the memory expansion module with small ram installed
► Buffer Size = 1,310,720 if using the memory expansion module with 4 Meg RAM.

Industrial Turbomachinery Systems


Always innovating for a better future
DATA_LOG Blocks

• Three fields were MicroNet, NetCon500, and Atlas PC


using the NT_CPU and VX_CPU GAP Blocks
added that are valid
only when using the
NT_CPU or VX_CPU
blocks.
• This will allow for a
larger buffer but the
system must have
the resources
available.

Industrial Turbomachinery Systems


Always innovating for a better future
DATA_LOG Variables
INTEGER VALUES CANNOT BE USED

Analog Variables
Boolean Variables

Industrial Turbomachinery Systems


Always innovating for a better future
DATA_LOG Input Logic

Typical Input logic on an ATLAS SC

Industrial Turbomachinery Systems


Always innovating for a better future
DATA_LOG Output Logic

Typical
Output
logic on an
ATLAS SC

Industrial Turbomachinery Systems


Always innovating for a better future
DEADBAND
Deadband Block
This block provides a deadband controller. When the enable (ENBL) input is
true, the block compares DEMAND and VAL inputs. If the difference
between DEMAND and VAL is equal to or less than the first deadband
window size (DB_1) the block will not take any action and the outputs
RAISE_VAL and LOWER_VAL will both be false. If DEMAND is greater than
VAL by more than DB_1, RAISE_VAL will be true. If VAL is greater than
DEMAND by more than DB_1, LOWER_VAL will be true. A second window
size is provided (DB_2) that, when exceeded, causes the EXCD_DB_2 output
to go true.

Added a hysteresis(HYSTER) input. This new input only affects the


EXCD_DB_2 output. When the difference between the VAL and DEMAND
inputs exceed the DB_2 setpoint the output EXCD_DB_2 output will go TRUE.
However, the difference between VAL and DEMAND must be less than (DB_2
- HYSTER) before the EXCD_DB_2 output will go back FALSE.

Industrial Turbomachinery Systems


Always innovating for a better future
DELAY
Delay Block
This block is used to provide a delay function.

This block sets the output (DELAY) to true, when the


trigger field (TRIGGER) stays true for longer than the
delay time (DLY_TIME). The output will go false, when
the trigger field stays false longer than the negative
edge delay time (NEG_DTIME). If the trigger field
changes states but does not maintain that change for
the specified time interval, the output will not change
state. The remaining time field (R_TIME) displays the
time remaining until the output changes states.

Industrial Turbomachinery Systems


Always innovating for a better future
DELAY
Delay Block

Industrial Turbomachinery Systems


Always innovating for a better future
DIVIDE
Divide Block
Divide block. This block performs a
divide function. It takes IN_1 and
divides it by IN_2.

Output = IN_1 / IN_2 or


dividend/divisor.

Question: What is the output of the


block?

Industrial Turbomachinery Systems


Always innovating for a better future
HSS_BUS
High Signal Select Block
The HSS_BUS block performs a high signal select function
of multiple Analog input values. The output of the
HSS_BUS block will equal the input with the highest input
value provided the value is not higher than the high limit
(HI_LIM) or lower than the low limit (LOW_LIM) inputs.

There are several Boolean outputs which provide status


of what input signal is the highest value and individual
outputs to indicate whether the output of the HSS_BUS is
being limited by either the LO_LIM or HI_LIM. There is a
SEL_x output for each input signal respectively which is
set true when its corresponding input value is the highest
value. The Boolean output for HI_LIM limit indication is
HI_LIM_I and LO_LIM_I for the LO_LIM limit indication.

Question: What is the output of the block?

Industrial Turbomachinery Systems


Always innovating for a better future
I_COMPARE
Integer Compare Block

The block accepts two integer input


values and compares them. The
block has three outputs that
indicate IN_1 is less than (LT),
greater than (GT) or equal to (EQ)
IN_2.

Industrial Turbomachinery Systems


Always innovating for a better future
I_TO_AN
Integer to Analog Block

This block accepts an integer


value and converts it to an
Analog value.

The inputs/outputs are in a RPT


group.

Industrial Turbomachinery Systems


Always innovating for a better future
LAG
Lag Block
The purpose of this block is to
perform the Lag function on the input.
This block, which is a low-pass filter,
generates a delay in the time it takes
for the output signal (LAG) to match a
change in the input (IN). This block
can be used to ignore noise from the
input. The output is lagged according
to the Lag Tau value (LAG_TAU). The
derivative field (DERIV) is the rate of
change of the input.

Industrial Turbomachinery Systems


Always innovating for a better future
LAG_2
Lag 2 Block
This block is used to perform the Lag function on the
input with a Lag Tau from another block.
This block, which is a low-pass filter, generates a delay
in the time it takes for the output signal (LAG) to
match a change in the input (IN). This block can be
used to ignore noise from the input. The output is
lagged according to the Lag Tau value (LAG_TAU). The
derivative field (DERIV) is the rate of change of the
input.
The main difference between LAG and LAG_2 is that in
LAG_2, the Lag Tau can be an input from another
block. Thus, LAG_2 must calculate all the internal
variables every time the block is executed. These
extra calculations cause LAG_2 to need 30-50% more
execution time than LAG.

Industrial Turbomachinery Systems


Always innovating for a better future
LATCH
Latch Block
This block looks at a single Boolean input (TRIGGER)
and sets the output (LATCH) true if the input is set true.
If the input is false and the reset (RST) is set true, the
output will return to false. If both the input and the
reset are true, the output will remain latched true
because the input has priority over the reset.

TRIGGER Field Transition RST Field Value LATCH Output Value


false to true true true
false to true false true
true to false false since TRIGGER transition true
true to false is true or goes true false

If the input goes from false to true, the output is set to true regardless of the state of the reset
field.

Since the input is a rising edge trigger, when it goes from true back to false, the output will remain
true until the reset goes true.
Industrial Turbomachinery Systems
Always innovating for a better future
LATCH1
Latch 1 Block
• The LATCH1 is a multiple input latch
block.
• The LATCH1 block has two kinds of
latched outputs: the LATCH1 output
which is a logical or of all the inputs,
and individual latched outputs for each
input.
• If any input goes to the true state, the
LATCH1 output goes TRUE. Also,
when any input goes into the true state,
its corresponding SEL_n output is
latched TRUE.
• An input that goes into the true state
must be reset before it can go into the
true state again.
• The LATCH1 output and the SEL_n
outputs can be reset only by a true
state on the RST input.

Industrial Turbomachinery Systems


Always innovating for a better future
LATCH1

• When an input goes into the true state, its Latch 1 Block
ALM_NO_n output will be set to an integer
which represents the relative order in which
that input went into the alarm state (for
instance, if input number three was the
second input to go true after a reset, the
ALM_NO_3 field would contain the integer 2).
• The FIRST_ALM output is an integer which
will have the number of the alarm that caused
the LATCH1 output to be set TRUE (for
instance, if Input number 4 was the first input
to go true after a reset, it would cause the
LATCH1 output to be set to TRUE, and the
FIRST_ALM field would contain the integer
4).
• The first out reset input (FA_RST) will reset
the FIRST_ALM back to 0 even if there are
inputs that are true, the next input to go true
will be displayed in FIRST_ALM.
• The HORN output will go TRUE when any
input goes into the alarm state; it can be reset
to FALSE by either RST (reset) or ACK
(acknowledge). When the OVRD input is
TRUE, the outputs are prevented from going
TRUE.

Industrial Turbomachinery Systems


Always innovating for a better future
LSS_BUS
Low Signal Select Block
The LSS_BUS block performs a low signal select function
of multiple Analog input values. The output of the
LSS_BUS block will equal the input with the lowest input
value provided the value is not higher than the high
limit (HI_LIM) or lower than the low limit (LOW_LIM)
inputs.

There are several Boolean outputs which provide status


of what input signal is the lowest value and individual
outputs to indicate whether the output of the LSS_BUS
is being limited by either the LO_LIM or HI_LIM. There
is a SEL_x output for each input signal respectively
which is set true when its corresponding input value is
the lowest value. The Boolean output for HI_LIM limit
indication is HI_LIM_I and LO_LIM_I for the LO_LIM
limit indication.

What is the output of the block?

Industrial Turbomachinery Systems


Always innovating for a better future
MULTIPLY
Multiply Block
The MULTIPLY block can be used
to perform simple multiplication
of 2 or more inputs up to a
maximum of 50 input values.
Output = IN_1 x IN_2.

What is the output of the block?

Industrial Turbomachinery Systems


Always innovating for a better future
NOR
NOR Block
This blocks output will be true only if
all of the Boolean Input Fields are false.
If any one of the inputs is true then the
output of this block will be false. This
block is similar to an OR gate except
the output is negated.

IN_1 IN_2 IN_x NOR Output


FALSE FALSE FALSE TRUE
TRUE ---------- ---------- FALSE
---------- TRUE ---------- FALSE
---------- ---------- TRUE FALSE

Industrial Turbomachinery Systems


Always innovating for a better future
NOT
Not Block

This block negates the input


Boolean value.

What is the output of the block?

Industrial Turbomachinery Systems


Always innovating for a better future
ONE_SHOT

One Shot Block


This block is used to latch the output at true for a specified
amount of time, when triggered by the input.

This block sets the output (ONE_SHOT) to true, only when


the input (TRIGGER) goes from false to true, like a rising
edge trigger. The output stays true for the specified delay
time (DLY_TIME) even if the input goes back to false during
that delay time. When the delay time expires or the reset
(RST) goes true, the output is set to false even if the input is
still true. The input must return to false and then go true,
while the reset is false, before the output will be set to true
again. The remaining time field (R_TIME) displays the
amount of time remaining before the output function times
out.

Industrial Turbomachinery Systems


Always innovating for a better future
ONE_SHOT

One Shot Block

Industrial Turbomachinery Systems


Always innovating for a better future
OR
Or Block
This blocks output will be false only if
all of the Boolean Input Fields are false.
If any one of the inputs is true then the
output of this block will be true.

What is the output of the block?

“OR” Truth Table (X = don’t care)

IN_1 IN_2 IN_x OR Output


FALSE FALSE FALSE FALSE
TRUE X X TRUE
X TRUE X TRUE
X X TRUE TRUE

Industrial Turbomachinery Systems


Always innovating for a better future
PID_2
PID Block
PID_2 control block. This block performs a
proportional (P), a proportional-integral (PI), or a
proportional / integral / derivative (PID) control
function.
The set point is compared to the process input and
a corrective output (scaled from 0 to 100) results
from the sensed error.

Industrial Turbomachinery Systems


Always innovating for a better future
RAMP
Ramp Block

This block is a RAMP, it will ramp to a certain point depending on which position is selected. It will also ramp at a certain rate
depending on which rate is selected. It can be initialized to a certain value on power up, and it has a reverse output function. The
output is in units and the rates are in units/sec. The P_SEL_x inputs are like a priority encoder, when USE_REV is FALSE, P_SEL_1 has
the highest priority then P_SEL_2 and so on until the last P_SEL_x which will have the lowest priority. The rate at which the ramp will
move is determined by the DFLT_RATE, (Default rate) R_SEL_x and R_SP_x. If there are NOT any R_SEL_x and R_SP_x then the ramp
will move at the DFLT_RATE. If an R_SEL_x and R_SP_x are being used then the ramp will move at the rate being selected by R_SEL_x.
If they are being used and NOT selected then the output will move at the DFLT_RATE. The rates are priority encoded to, with R_SEL_1
being the highest.

Industrial Turbomachinery Systems


Always innovating for a better future
SFC_STEP
Sequential Function Chart Step Block

Sequential Function Chart (SFC) step block. This function block formalizes a sequence
of actions and is based upon the IEC-1131 Sequential Function Chart specification.
This block complements the B_ACTION block in offering an elegant way of designing
and implementing sequential control actions associated to the Sequential Function Chart.

The coder uses special loop-breaking logic for the SFC_STEP block such that the
SFC_STEP output field acts as a loop-breaker when needed. Explicit definition of
ZMINUS1 blocks are not needed for loops created by the SFC_STEP or TRAN_x output fields.

Industrial Turbomachinery Systems


Always innovating for a better future
SUBTRACT
Subtract Block
Output = IN_1-IN_2 or Minuend
Input-Subtrahend Input.

What is the output of the block?

Industrial Turbomachinery Systems


Always innovating for a better future
T_FLIPFLOP

• BLOCK DESCRIPTION:
 T flip-flop block. This block is a
toggle-type flip-flop.
 When the Reset Input is true, the
output will always be set false.
 T_FLIPFLOP: The output will
toggle to its alternate condition or
state every time either of the
toggle Inputs (IN_1, IN_2) goes
true.

Industrial Turbomachinery Systems


Always innovating for a better future
ZMINUS1

• When not in a "loop", the ZMINUS1 block causes a


delay from its Analog Input Field to its Analog
Output Field of one Rate Group. More than one
ZMINUS1 block may be connected together in
series. The second block will have a delay of 2 rate
groups etc. This is used to create digital dynamics.

• When in a "Loop", the ZMINUS1 block will break the


loop at the position of the ZMINUS1 block. For
example if block 1 feeds block 2 and block 2 feeds
block 3 and block 3 loops back to block1, this is a
"loop". The "loop" must be broken by the loop
breaker blocks, ZMINUS1_I, ZMINUS1_B, or
ZMINUS1, and the placement of the ZMINUS1 will
determine the place the "loop" is broken. If the
ZMINUS1 block is inserted between block 3 and
block 1, the execution order will be 1-2-3-z,
however, if the ZMINUS1 block is inserted between
block 2 and block 3 the execution order will be 3-1-
2-z. Notice the ZMINUS1 block is always last.

Industrial Turbomachinery Systems


Always innovating for a better future
ZMINUS1_B

• When not in a loop, the ZMINUS1 block causes a


delay from its input to its output of one Rate Group.
More than one ZMINUS1_B block may be connected
together in series. The second block will have a
delay of 2 rate groups etc. This is used to create
digital dynamics.

• When in a Loop, the ZMINUS1_B block will break


the loop at the position of the ZMINUS1_B block.
For example if block 1 feeds block 2 and block 2
feeds block 3 and block 3 loops back to block1, this
is a loop. The loop must be broken by the loop
breaker blocks, ZMINUS1_I, ZMINUS1_B, or
ZMINUS1, and the placement of the ZMINUS1_B will
determine the place the loop is broken. If the
ZMINUS1_B block is inserted between block 3 and
block 1, the execution order will be 1-2-3-z,
however, if the ZMINUS1_B block is inserted
between block 2 and block 3 the execution order
will be 3-1-2-z. Notice the ZMINUS1_B block is
always last.

Industrial Turbomachinery Systems


Always innovating for a better future
Exercises

Always innovating for a better future


Exercise #1 – Testing Various GAP Blocks

ANSWER:
• ANALOG COMPARE block
 Increase the IN_1 input to 10.5. What is the A_COMPARE output?
 What is the a_equal output?
 Lower the IN_1 back to 5.0. Increase the HYSTER input to 1.0. Increase the
IN_1 input above 10.5. What is the A_COMPARE output? Why.
 Increase the IN_1 input above 11.5. What is the A_COMPARE output?
 Decrease the IN_1 input back towards 5.0. When does the A_COMPARE
output switch back to FALSE?
 Set the IN_1 input to exactly 10.0. What is the A_COMPARE output?
 What is the A_EQUAL output?

Industrial Turbomachinery Systems


Always innovating for a better future
Exercise #1 – Testing Various GAP Blocks

ANSWER:
• ANALOG SWITCH block
 Toggle the CTRL input to TRUE. What is the A_SW output?
 Toggle the CTRL input back to FALSE. What is the A_SW
output?

Industrial Turbomachinery Systems


Always innovating for a better future
Exercise #1 – Testing Various GAP Blocks

ANSWER:
• LOW SIGNAL SELECT BUS block
 With IN_1 at 5.0 and IN_2 at 10.0, the lowest signal between the two
input is 5.0, and therefore the output on LSS_BUS is 5.0, and the
SEL_1 output is TRUE. Is this True?
 Increase the IN_1 input to 11.0. What is the output on LSS_BUS?
 Does the SEL_X output change?
 Decrease the IN_1 input to 0.0. What output went TRUE?
 Will the HI_LIM_I output ever go TRUE with this configuration?

Industrial Turbomachinery Systems


Always innovating for a better future
Exercise #1 – Testing Various GAP Blocks

ANSWER:
• Logic OR block
 Toggle the IN_1 input to TRUE. What is the OR output? Toggle
the IN_1 input to FALSE.
 Toggle the IN_2 input to TRUE. What is the OR output? Toggle
the IN_2 input to FALSE.
 Toggle the IN_3 input to TRUE. What is the OR output? Toggle
the IN_3 input to FALSE.
 Write the truth table for a 3 input OR block.

Inputs 1 2 3 Output
0 0 0
0 0 1
0 1 1
0 1 0
1 0 0
1 0 1
1 1 0
1 1 1

Industrial Turbomachinery Systems


Always innovating for a better future
Exercise #1 – Testing Various GAP Blocks

ANSWER:
• Logic AND block
 Toggle the IN_1 input to TRUE. What is the AND output?
 Toggle the IN_2 input to TRUE. What is the AND output?
 Toggle the IN_3 input to TRUE. What is the AND output?
 Write the truth table for a 3 input AND block.
Inputs 1 2 3 Output
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Industrial Turbomachinery Systems
Always innovating for a better future
Exercise #1 – Testing Various GAP Blocks

ANSWER:
• MULTIPLY block
 What is the multiply output of 8.0 * 0.1?
 Increase the IN_2 to 2.0. What is the multiply output of 8.0 *
2.0?
 Increase the IN_2 to 10.0. What is the multiply output of 8.0 *
10?

Industrial Turbomachinery Systems


Always innovating for a better future
Exercise #1 – Testing Various GAP Blocks

ANSWER:
• ANALOG NAME block
 What is the A_NAME output when 25.0 is on the input?
 Decrease the IN to 5.0. What is the A_NAME output?

Industrial Turbomachinery Systems


Always innovating for a better future
Exercise #1 – Testing Various GAP Blocks

ANSWER:
• DELAY block
 Toggle the TRIGGER to TRUE. How long before the DELAY output
goes true? Toggle the TRIGGER input to FALSE.
 Increase the DLY_TIME to 10 Seconds. Toggle the TRIGGER to
TRUE. How long before the DELAY output goes TRUE?
 Increase the NEG_DTIME to 5.0 Seconds. Toggle the TRIGGER to
FALSE. How long before the DELAY output goes FALSE?
 What does the R_TIME output do?

Industrial Turbomachinery Systems


Always innovating for a better future
Exercise #1 – Testing Various GAP Blocks

ANSWER:
• ONE SHOT block
 Toggle the TRIGGER input to TRUE. How long does the
ONE_SHOT output stay on?
 Increase the DLY_TIME to 10.0 Seconds. Toggle the
TRIGGER input FALSE then back to TRUE. How long does
the ONE_SHOT output stay on?
 Toggle the TRIGGER input FALSE then back to TRUE. As
quick as possible toggle the RST input to TRUE. What does
the ONE_SHOT output do?
 What does the R_TIME output do?
Industrial Turbomachinery Systems
Always innovating for a better future
Exercise #1 – Testing Various GAP Blocks

ANSWER:
• LATCH block
 Toggle the TRIGGER input to TRUE. What is the LATCH output?
 Toggle the RST input to TRUE. Does the LATCH output go FALSE?
 Toggle the TRIGGER input to FALSE, and toggle the RST input to
FALSE. The LATCH output should be FALSE.
 Toggle the TRIGGER input to TRUE, then FALSE. The LATCH
output should be TRUE. Toggle the RST input to TRUE, then FALSE.
Does the output go FALSE?
 Most of the time, the TRIGGER input and the RST input are set by a
ONE_SHOT block.

Industrial Turbomachinery Systems


Always innovating for a better future
Exercise #1 – Testing Various GAP Blocks

Boolean Write

Add to Start
Comment
Engine OR
Variable
block

Industrial Turbomachinery Systems


Always innovating for a better future
Exercise #1 – Testing Various GAP Blocks

Boolean Read
Comment
Variable

Industrial Turbomachinery Systems


Always innovating for a better future
Exercise #1 – Testing Various GAP Blocks

Analog Read
Comment
Variable

Industrial Turbomachinery Systems


Always innovating for a better future
Exercise #1 – Testing Various GAP Blocks

Analog Write
Comment
Variable

Add to Load
ADD block

Industrial Turbomachinery Systems


Always innovating for a better future
Congratulations!! You have completed the GAP Class

Industrial Turbomachinery Systems


Always innovating for a better future
Like Us  Follow Us  Watch Us

Always innovating for a better future

Always innovating for a better future

You might also like