he
6.2 Proaram Interpreter
The program interpreter is the central control unit of the
system. It reads program statements, checks for correct
syntax and executes them. It synchronizes different tasks
and is responsible for a consistent internal system status.
The program statements can either be entered via GUI,
from existing source files with measuring programs or
directly via keyboard input.
The interpreter operates with a special programming
language which has programming constructs such as
variables, conditional defines, definition of procedures
and loops. When executing a command, the interpreter
interfaces with the database, calls sensor and image
processing functions, executes calculation programs and
handles error situations.
Using the GUI it is not necessary to know individual
programming statements because all required
commands are generated by the system. Advanced
programmers can operate the system by direct input of
program statements in command mode.
The integrated program generator is able to create
optimized measurement programs for single points,
elements or complete workpieces. Stored program files
can be edited in the bulit-in Motif editor. These files can
be executed in automatic mode whereby the operator
can stop and continue an automatic process at any time.
Fig. 5 shows an example of a measuring program for a
circle element measurement.
6.3 Database
All system data such as measurement and calculation
results or sensor parameters are stored and managed by
a network database (db_Vista). It is based on a data
structure that stores a measured element with a unique
and reproducable relation to all relevant sensor data and
observations. This method is useful to generate a
measuring sequence out of the database information at
any time.
Two types of elements are managed: a) regular
geometric elements as they are computed by the contour
algorithm; b) elements which are formed by a number of
discrete 3D points (min. 1) belonging to the same object
part (e.g. points on a plane or profile).
Repeated measurements for series inspections are
stored under the reference element generated in teach-
in. While the reference element has a special indicator
(0) the following measurments of this element are stored
with a higher index. So it is possible to make a statistical
analysis of elements.
During measurement, all relevant information is directly
stored in the database (on harddisk) in order to maximize
data security at risk from unforseen interruptions.
A large variety of database interactions can be
performed using SQL (Standard Query Language). As an
example, almost any kind of ASCII output format (e.g.
CAD interfaces or protocol files) can be generated using
SQL programming. The user can write his own SQL
programs in order to perform data operations for his
specific application.
1, type = circle);
db put. elem (name = "holel", index
- 1);
db set elem (name "holel", index
sen_stat_write (4, status = on);
sen_stat_write (10, status = on);
sen par write (4, led = 99);
sen par write (10, led - 99);
sen pos abs (60, hor - 0.00000);
im cont init (name - "bohrung", index - 1, type - circle);
db put observ (1);
db set observ (1);
sen pos abs (40, hor=-7.00000, ver=2.00000, disz610.00000);
im set live (40);
im winpar write (40,x_pos=204,y_pos=171,x_size=176,y_size=256) ;
im cont, process (40, REF ELEM);
sen do measure (60);
sen pos. abs (60, hor = 0.017453);
db put observ (2);
db set observ (2);
sen pos abs (41, hor=5.00000, ver=12.00000, disz665.00000);
im set live (41);
im winpar write (41,x_pos=200,y_pos=150,x_size=164,y_size=256) ;
im_cont_process (41, REF_ELEM) ;
sen_do_measure (60);
im cont, calc (ALL, REF ELEM);
Fig. 5. Example of measuring program for a circle element measurement