The
Graphics Language: GLIP
All
standard displays use CMXä ’s
graphic-oriented special-purpose programming language called GLIP (Graphic
Language for Interactive Processing.) For system developers GLIP can be
used to create their own custom displays and Operator commands.
A CMXä
display is defined by GLIP code which is executed when the display is
called by the user. GLIP provides two methods of packaging executable
code, either as modules or as functions. Each has distinct uses and
applications in the language.
- A module is a is a
set of GLIP language executable statements. Because displays are
composed of modules, they can easily be created from a set of reusable
modules.
- A function is
similar to a module, except that it normally is called by another module or
function. It performs the operations required, then returns to the
calling module. All functions evaluate to a value.

GLIP is
full program language in every sense. Distinguished by a vocabulary rich
in graphic language operations, GLIP also features a robust lexicon of commands
for handling data processing functions, including;
- Data definition
- Directing logic flow
- Controlling digital
devices
- Controlling
interrupt priorities
- Handling recipes
- Program interaction
- Formatting data
- Bit manipulation
- String operations
- Arithmetic and
logical operations
- I/O for Operator
interaction, accessing files, logging data, and printing data
- OS access
- Access to all CMXä
databases
GLIP
supports five kinds of classes of variables and nine data types which are
declared by using the variable name and a keyword to indicate the variable
class. These include:
- Global
variables which are variables used within one display
- Console
variables which are consistent across all displays
- Local
variables used within specific modules, functions, or control structures as
temporary storage only
- Parameter
variables which are parameters to functions
- Disk Resident
variables are displays which reference other GLIP code to define the
implementation.
The data
types are: null, logical, character, integer, long integer, real, string, and
name.
GLIP also
opens access to all CMXä databases
including the following:
- Alarm and
Function Change Database which contains data used to route alarm
messages and to log changes made from the consoles.
- Algorithm
Database in which all Tag algorithms used throughout CMXä
reside
- Checkpoint Database
that holds the configuration data for periodically backing- up PV values
with CMXä ’s
check-pointing feature
- Console Database
that contains configuration data for console management.
- Continuous
History Database in which Tag PV values are stored
- Filename Database
for names, file numbers, and locations of system files
- Message Database
that records alarm messages, System messages, operator comments and sequence
messages
- Tag Database
which contains all individual Tag data including base data, input
algorithms, filter algorithms, control algorithms, output algorithms, and
alarm algorithms
- Unit Database
information such as the Unit’s name and a description. Unit prefix,
associated display Logging frequency balance period, Tag index number Unit
history file
- Instrument Driver
Database furnishes data such as instrument number, multidrop, group
number, channel number
- Time and Program
Schedule Database contains information used to perform System scheduling
and time of day updates
|