Administration, IndexGroup/Offset address

To determine which instances of a class exist, you can query the object address of the first element (IndexOffset = 0x0) by means of a READ&WRITE access.

The IndexGroup and the IndexOffset are returned. No instance of the class exists if (0, 0) is returned as the address.

If an instance exists, all further existing elements of the instance can be determined by incrementing the IndexOffset.

Example

example

Object query

Query of object address of the 1st channel

IndexGroup =0x123900 comprising

<CNC-Basis>

+ <Class = HLD>

+ <Attribute=Address>

0x20300

+ 0x3000

+ 0x600

Input : Channel = 1, Axis = 0

Output :IndexGroup = 0x123301, IndexOffset = 0x0

Query of object address of the 2nd channel

<CNC-Basis>

+ <Class = HLD>

+ <Attribute=Address>

0x20300

+ 0x3000

+ 0x600

Input : Channel = 2, Axis = 0

Output :IndexGroup = 0x123302, IndexOffset = 0x0

Query of 1st platform axis

<CNC-Basis>

+ <Class = HLD>

+ <Attribute=Address>

0x120300

+ 0x3000

+ 0x600

Input : Channel = 0, Axis = 1

Output :IndexGroup = 0x123300, IndexOffset = 0x1000

Query of 2nd decoder axis in 1st channel

<CNC-Basis>

+ <Class = HLD>

+ <Attribute=Address>

0x120300

+ 0x2000

+ 0x600

Input : Channel = 1, Axis = 2

Output :IndexGroup = 0x122301, IndexOffset = 0x20000

Number of element types of a class

The number of existing element types of an instance can be queried by the value content of the first element (IndexOffset = 0).

The name of this element also describes the instance itself.

Position controller

The position controller is not channel-specific, i.e. channel = 0 always applies. The axes are numbered from 1 up to the number of the configured axes.

Interpolator, decoder, path preparation

The channel number must be specified within the range [ 1; number of configured channels ].

Axes are channel-specific and must lie within the range [0; <BAHN_BAVO_AXMAX>].

Channel, HLI driver

The channel number must be specified within the range [ 1; <number of configured channels> ].

If axes are referenced, they must lie within the range [ 1; <number of configured axes>].

Spindle

The spindle index for spindles must be specified as “channel” entry. The spindle index is numbered from 0 up to the number of the configured axes - 1.

Querying element attributes

The query function is illustrated by the example of the element feedhold.enable in Channel 1. The element IndexOffset is 0x01. The composition of the IndexGroup is shown; the element IndexOffset remains unchanged.

Data content attribute:

<CNC-Basis>

+ <Class = HLD>

+ <Attribute=Address>

<Channel>

0x120300

+ 0x3000

+ 0x0

+ 1

Input : IndexGroup = 0x123301, IndexOffset = 0x01

Output : 0/1 (dependent on element data type)

Name attribute:

<CNC-Basis>

+ <Class = HLD>

+ <Attribute=Address>

<Channel>

0x120300

+ 0x3000

+ 0x100

+ 1

Input : IndexGroup = 0x123401, IndexOffset = 0x01

Output : feedhold.enable

Type attribute:

<CNC-Basis>

+ <Class = HLD>

+ <Attribute=Address>

<Channel>

0x20300

+ 0x3000

+ 0x200

+ 1

Input : IndexGroup = 0x123501, IndexOffset = 0x01

Output : BOOLEAN

Length attribute in bytes:

<CNC-Basis>

+ <Class = HLD>

+ <Attribute=Address>

<Channel>

0x120300

+ 0x3000

+ 0x300

+ 1

Input : IndexGroup = 0x123601, IndexOffset = 0x01

Output : 1

Unit attribute:

<CNC-Basis>

+ <Class = HLD>

+ <Attribute=Address>

<Channel>

0x120300

+ 0x3000

+ 0x400

+ 1

Input : IndexGroup = 0x123701, IndexOffset = 0x01

Output : -

Write protection attribute:

<CNC-Basis>

+ <Class = HLD>

+ <Attribute=Address>

<Channel>

0x120300

+ 0x3000

+ 0x500

+ 1

Input : IndexGroup = 0x123801, IndexOffset = 0x01

Output : 0