Workspace/protection space monitoring (C14)

1.1 OverviewPAGEREF _Toc307406548 \h2

1.2 Description 5

1.2.1 Standard monitoring for axes 5

1.2.2 Characteristics of workspace/protection space monitoring 5

1.3 Programming 6

1.3.1 Defining workspaces and protection spaces 11

1.3.2 Activating workspaces and protection spaces 11

1.3.3 Deactivating workspaces and protection spaces 11

1.3.4 Clearing workspaces and protection spaces 11

More:

button Overview

button Description

button Programming


Overview

Task

Monitoring 3D bodies by definition of workspaces or protection spaces in a cylindrical or polygonal form with a constant height.

Effectiveness

Workspaces or protection spaces are defined, activated or deactivated by means of the #CONTROL AREA command. After a reset, all workspaces/protection spaces are deactivated. Monitoring always refers to the three current main axes of a channel. Workspaces or protection spaces are each programmed and take effect in relation to a specific channel.

Workspace/protection space monitoring is possible in the following cases:

q Linear motion blocks

q Circular motion blocks (regardless of the orientation G17/G18/ G19)

q Kinematic transformations (monitoring the tool centre point)

q Polynomial contouring (monitoring the interpolation points for the polynomial depending on dynamics and slope)

q Helical motions

The following are currently ruled out:

q Cartesian transformations ( #(A)CS )

Parameter definition

The parameters of workspaces/protection areas are defined for a specific channel directly in the NC program by means of # commands.

Ordering

Workspaces/protection spaces are also activated and deactivated in the NC program by means of # commands.


Description

More:

button Standard monitoring for axes

button Characteristics of workspace/protection space monitoring


Standard monitoring for axes

Software limit
switches

Up to now it has been possible to use axis-specific software limit switches for workspace monitoring. For every axis, a minimum and a maximum limit can be defined to limit the travel range of an axis. The software limit switches' positions can be defined by parameter definition in the axis configuration list [AXIS] or directly in the NC program.

Fig. 1-1: Software limit switches


Characteristics of workspace/protection space monitoring

Workspaces /
Protection spaces

A workspace is defined as a zone that the TCP is not permitted to leave. A protection space must never be touched by the TCP. Workspaces and protection spaces can be nested inside one another to any extent required. When areas are nested, protection space monitoring takes precedence over workspace monitoring.

Fig. 1-2: Definition of work/protection areas

3D bodies based on control areas

A workspace/protection space is defined by a three-dimensional body in space. Basically two different geometries are available. Circles or polygons can be defined with a third, constant dimension.

Cylinders are defined by a full circle in the basic plane.

Polygons can be of any complexity in the basic plane. Only the convex form shape (self-contained chain without overlaps) is mandatory. The X/Y/Z coordinates of the control spaces are referred directly to the three main axes of the channel configuration.

Example of X/Y basic plane (G17):

X à first main axis

Y à second main axis

Z à third main axis (constant due to min/max values)

Fig. 1-3: Example of a wrong and correct polygon contour

Control spaces are always defined from the point of view of the channel configuration's three main axes (Cartesian).

Fig. 1-4: Definition of 3D control spaces

Fig. 1-5: Example application

Path check

In the case of workspace/protection space monitoring, the path between the starting and end point is checked for a violation. In the case of normal linear and circular motion blocks, intersecting points with the defined control spaces are sought via equations. When polynomial contouring is activated or in the case of helical motions, the path is first segmented and then the individual points are checked. This results in the need for considerably more computing.

Fig. 1-6: Path check during space monitoring


Programming

Definition and
activation

Workspaces and protection spaces are defined and activated directly in the NC program. Different # commands are available for this purpose. Such a workspace/protection space command is initiated with #CONTROL AREA. Different options are then expected depending on the # command issued.

All possible states for one single control space are shown in the following diagram Fig. 1-7. In the diagram, the term "nop" stands for No Operation and thus for a direct state transition.

Fig. 1-7: State transitions caused by #CONTROL AREA-commands

Reset of control

The stored workspaces/protection spaces are not deleted when the control is reset. They are only deactivated and can be reactivated at any time by way of their IDs. You can use the clear command to explicitly delete workspaces/protection spaces.

More:

button Defining workspaces and protection spaces

button Activating workspaces and protection spaces

button Deactivating workspaces and protection spaces

button Clearing workspaces and protection spaces


Defining workspaces and protection spaces

Time of
definition

No workspaces/protection spaces are pre-defined when the controller starts up. A definition in the configuration lists is currently not possible. Workspaces/protection spaces are exclusively defined directly in the NC program.

The NC command for defining a control space contains the following syntax elements:

#CONTROL AREA START | END [ ID <expr> WORK | PROTPOLY | CIRC

MIN_EXCUR <expr> MAX_EXCUR <expr> ] (modal)

ID <expr> | Unique identification of the diverse workspaces/protection spaces.
WORK | PROT | Distinction between definition of a workspace (WORK) or a protection space (PROT).
POLY | CIRC | Distinction between whether the basic geometric shape of the workspace or protection space is polygonal (POLY) or circular (CIRC).
MIN_EXCUR <expr> | Low limit of extension in the third dimension.
MAX_EXCUR <expr> | High limit of extension in the third dimension.

Sequence of NC command for defining a workspace/protection space

Every control space definition begins with #CONTROL AREA START and must be terminated with #CONTROL AREA END. Between these two commands, the basic geometric form of the workspace or protection space is programmed by means of DIN 66025 motion commands. A valid feed rate (F word) must be active.

Depending on the configured geometric shape, G02 or G03 is expected in the case of cylindrical control spaces and G01 in the case of a polygonal one, with corresponding motion blocks.

During the definition of the control space all positions must be programmed in absolute dimension (G90)!

Polygonal
control spaces

"POLY"

A two-dimensional polygon is defined by a string of linear NC motion commands. The string of points is checked for a convex profile. This means that connections between two adjacent points must not overlap. For the third dimension (third main axis), the minimum and maximum limits are defined in the start command.

First and last points identical

When defining polygonal control spaces, note that the first and last points must be identical. This rule makes sure that a closed contour is defined as a polygon.

Definition of a polygonal workspace:

Programming example

N10 #CONTROL AREA START [ID3 WORK POLY MIN_EXCUR=-50 MAX_EXCUR=50]

N20 G01 F1000 G90 X-150 Y75 (Start point)

N30 X-50 Y150

N40 X50 Y150

N50 X150 Y75

N60 X150 Y0

N70 X50 Y0

N80 X50 Y75

N90 X-50 Y75

N100 X-50 Y0

N120 X-150 Y0

N130 X-150 Y75 (End point identical with start point)

N140 #CONTROL AREA END

Cylindrical
control spaces

"CIRC"

When cylindrical control spaces are defined, two NC motion commands are needed in conformity with DIN 66025. The first motion command defines the starting point of the full circle and thus the absolute position of the control space. A circular NC motion command (G02/G03) is absolute expected as the second motion command. For the third dimension (third main axis), the minimum and maximum limits are defined in the start command.

Definition of a cylindrical protection space:

Programming example

N10 #CONTROL AREA START [ID4 PROT CIRC MIN_EXCUR=-70 MAX_EXCUR=70]

N20 G01 X100 Y0 F10000 (Start point for cyl. protection space)

N30 G02 G162 I50 J0

N40 #CONTROL AREA END

Overwriting of
control spaces

A control space can be overwritten by programming the same ID again. The prerequisite, however, is that the control space with this ID is not activated at this time.


Activating workspaces and protection spaces

Selection command

The tool TCP is checked for violations with all activated workspaces and protection spaces. Control spaces can either be activated singly via their unique ID or they can all be activated at once.

When workspaces are activated, the TCP must already be located in the valid workspace. Equally, when a protection space is activated, the TCP must not cause any violation at the current position.

The NC command for selecting a control space contains the following syntax elements:

#CONTROL AREA ON [ALL] | [ ID<expr>] (modal)

ID <expr> | Unique identification of the diverse workspaces/protection spaces.
ALL | All currently defined workspaces and protection spaces are activated.

Programming example

#CONTROL AREA ON [ID3] (Activate specific control space)

#CONTROL AREA ON ALL (Activate all defined control spaces)


Deactivating workspaces and protection spaces

Deactivation command

The monitoring function does not check deactivated control spaces for a violation. They are stored until they are cleared or the controller is shut down and can be reactivated at any time.

The NC command for cancelling a control space contains the following syntax elements:

#CONTROL AREA OFF [ [ALL] | [ ID<expr>] ] (modal)

ID <expr> | Unique identification of the diverse workspaces/protection spaces.
ALL | All currently defined workspaces and protection spaces are deactivated.

Programming example

#CONTROL AREA OFF [ID3] (Deactivate specific control space)

#CONTROL AREA OFF (Deactivate control space selected last)

#CONTROL AREA OFF ALL (Deactivate all active control spaces)


Clearing workspaces and protection spaces

Command for clearing

Informations of deleted control spaces are lost forever. The used memory space is released to enable definition of new control spaces. Only deactivated control spaces can be deleted.

The NC command for deleting a control space contains the following syntax elements:

#CONTROL AREA CLEAR [ALL] | [ ID<expr>] (modal)

ID <expr> | Unique identification of the diverse workspaces/protection spaces.
ALL | All currently defined workspaces and protection spaces are deleted and the memory space is released for new definition.

Programming example

#CONTROL AREA CLEAR [ID3] (Delete specific control space)

#CONTROL AREA CLEAR ALL (Delete all defined control spaces)