# Introduction

Access to CNC data is by means of CNC objects which are addressed by the index group and index offset. The following tasks are provided and must be addressed via separate ports:

- SDA,
- COM
- GEO

## Notice

Code page CP1252 is used.

## CNC architecture

CNC objects can be accessed via IndexGroup and IndexOffset.

Overview of CNC architecture

The figure above lists the following CNC classes as an example:

- Decoding (BF DEC)
- Path preparation (BF BAVO)
- Interpolator (BF BAHN)
- Position control (BF LR)
- Spindle (BF SPINDEL)

## Access attributes

CNC class instances provide objects that have different attributes. Depending on the CNC configuration, each CNC class creates instances and links them to a CNC architecture. Access can then be made to these object attributes via services. Either:

- read
- write
- read/write

## Platform, channel and axis

Depending on the CNC class, the instance can be global throughout the platform (channel number = 0, e.g. position controller) or can be created as a channel-specific instance (channel number > 0).

In addition, an instance can provide both its own elements and also axis-specific elements.

## Platform axes

The user creates all controller system axes for the control platform. This produces a sequence of axes. The calculation of the object address used to address the individual axes is derived from the axis placement in this axis sequence. It corresponds to the placement index in this sequence. The first axis in this sequence has the index 1. This address can be used at any time to access the axis.

## Channel axes

The channel axes are addressed via the index in the channel. Assigning an axis in the channel can be modified or defined to suit requirements or defined by the channel parameters and axis exchange.

If a channel axis index is currently not occupied by an axis, it can be viewed by reading "blank" data content. In this particular case, the logical axis number = 0.

## Spindles

In analogy to a CNC channel which is responsible for the coordinated motion of several axes, the BF SPINDEL is responsible for moving a single independent axis (single axis interpolator).

You can also access generated spindles via CNC objects..

## Notice

HLD

The high-level driver (HLD, BF CHANNEL) is a special case here. The HLD of the first channel drives all platform-global axes in the interface to the PLC in addition to channel-specific elements. Therefore, the addresses of the axes are not changed by an axis exchange but are fixed by the start-up description.

## Notice

COM task base address

IndexGroup = 0x20100 and 0x20200 are used as the basic address to access internal CNC data of the COM task.

Individual channels or axes can be queried via different values that are additive to this base address (IndexGroup).

## Notice

GEO task basic address

IndexGroup = 0x20300 is defined as the basic address to access internal CNC data of the SDA and GEO tasks.

Individual attributes of an element can be queried via different values that are additive to this base address (IndexGroup).

## Static CNC objects available

The available static CNC objects are dependent on the CNC Build used.

A list of all available objects can be created using the ISG object browser.