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