Inserting of NC program (C15)

1.1 Inserting a program (jog of path) PAGEREF _Toc307388989 \h4

1.1.1 Configuration of axes and channels 4

1.1.2 Changeover sequence 5

1.1.3 Position offsets 6

1.1.4 Examples 8

1.2 SPS interface 10

1.3 HMI interface 12

1.4 Parameters 13

1.4.1 Overview 13

1.4.2 Description 13

More:

button Inserting a program (jog of path)

button SPS interface

button HMI interface

button Parameters


Inserting a program (jog of path)

Requirement

Often, users have a requirement to interrupt program execution in response to an event, e.g. of the PLC, to insert any chosen movement and then to continue to interrupted program.

Insertion of any chosen movement can be implemented through a second "auxiliary channel", which is connected to the same physical axes as the first channel. To this end, a further logical axis is assigned to identical physical axes.

Switching over

Exclusive access to the physical axes through the channels is controlled by one control bit of each channel on the PLC interface

Position shift

Movement can be continued with axes that have been shifted by the inserted program. If this is not desired, the inserted program must return the axes to the position at the time when the program was started.

Licences

A pure auxiliary channel (all axes linked) does not need any additional licence.

Interfaces

The following interfaces are available:

q Axis configuration via the axis parameter list

q Switching over the channel through HLI by PLC

q Display of the logical/physical axis configuration on HLI

q Display of the axis offsets (physical <-> logical) on HLI

Figure 1- 1 : Moving of axis by different channels

More:

button Configuration of axes and channels

button Changeover sequence

button Position offsets

button Examples


Configuration of axes and channels

Axes | To interrupt machining and to move an axis through another channel, a further logical axis (No. 11), which is linked to an existing physical axis (No. 1) is configured. All data except for the new axis number and the connection can be adopted from the original axis by cloning. kopf.achs_nr 11 kopf.clone_of 1 kopf.link_to 1
Channels | The channels are configured with the logical axes in the usual manner. Channel 1 is assigned the axes 1 to 3 as the main axes gruppe[0].achs_anzahl 3 gruppe[0].achse[0].log_achs_nr 1 gruppe[0].achse[0].bezeichnung X gruppe[0].achse[1].log_achs_nr 2 gruppe[0].achse[1].bezeichnung Y gruppe[0].achse[2].log_achs_nr 3 gruppe[0].achse[2].bezeichnung Z Channel 2 represents the auxiliary channel and is assigned the axes 11 to 13 as main axes gruppe[0].achs_anzahl 3 gruppe[0].achse[0].log_achs_nr 11 gruppe[0].achse[0].bezeichnung X gruppe[0].achse[1].log_achs_nr 12 gruppe[0].achse[1].bezeichnung Y gruppe[0].achse[2].log_achs_nr 13 gruppe[0].achse[2].bezeichnung Z

Figure 1- 2 : C onfiguration of axes

Cloned axis

To generate a cloned axis the source axis must already be existing and initialised before. Cloning an axis just takes the parameters of the first axis the first time. Any later change of axis parameters does not consider the cloned source. It just modifies or overwrites the actual individual axis parameters.

Figure 1- 3 : Initialization of cloned axis

The specified clone reference can not be changed after first initialization.

If master axis of clone is not existing an error message is raised and  clone  axis is generated without cloning.


Changeover sequence

Access to axes

As long as output of the channel is not suspended, the physical axes are linked to the logical axes of the channel. If a second channel requests the same physical axis as that of the first channel, the system waits until the first channel has suspended its output.

When axis access is enabled, any axis movement is first stopped by an implicit feed rate stop.

Figure 1- 4 : Handshake of axes during suspending of the channel

If access to one physical axis by two (or several) channels is configured, a channel is not given access to the axes until all other channels have suspended their access (suspend_channel_output = TRUE).


Position offsets

NC program

Linking of a logical axis to the physical ones can be modified in the running program. After suspension of axis output, the axes can be moved by another channel.

After returning to the original channel, the assumed and the actual position setpoints may deviated from one another. This position offset is displayed for the physical axis and is deleted each time the program is restarted.

Offset = command position (of active link)  active position

Figure 1- 5 : Position offsets caused by auxiliary channel

Example: Axis 1 of 1st channel and axis 2001 of 2nd channel are linked to same physical axis. In each channel an different MDI is started and channel are suspended one after another.

Channel 1:  X100  Command position | Channel 2:  X-50  Command position | Real position | Offset
0 -> 50 |  | 0 -> 50 | 0
 | 50 -> 15 | 50 -> 15 | 0
50 -> 80 |  | 15 -> 45 | 35
 | 15 -> 0 | 45 -> 30 | -30


Examples

Configuration

Actions

Configuration of a further logical axis for the physical axis number 1

kopf.achs_nr 11

kopf.clone_of 1

kopf.link_to 1

· Start manual block  G01 G90 X20 Y20 F100  in the first channel

· Set  Suspend-Output  in the first channel

· Start manual block  G91 Y10  in the second channel and wait until end of its execution

· Delete  Suspend-Output  in the first channel

· Set  Suspend-Output  in the second channel

Figure 1- 6 : Inserting of a manual block by a further channel

Configuration

Actions

Configuration of a further logical axis for the physical axis number 1

kopf.achs_nr 11

kopf.clone_of 1

kopf.link_to 1

· Start automatic program in the first channel

$WHILE 1

N10 G02 I10 F500

$ENDWHILE

· Set  Suspend-Output  in the first channel

· Set second channel into manual mode and move axes

· Delete  Suspend-Output  in the first channel

· Set  Suspend-Output  in the second channel

Figure 1- 7 : Shifting of position by manual mode during active NC program by further channel


SPS interface

HLI

For the switching of the channel access on the axes and the axes display specific values on the PLC interface are available.

Suspend channel output
Description | The command of new position values from the interpolator to the physical axes (drives) is suspended.
data type | MCControlBoolUnit, s. Beschreibung Control Unit
Specifics | The released axes can be moved in the mean time by the logical axes of a different channel.
Access | PLC liest Request + State und schreibt Command + Enable
ST-path | pMC[axis_idx]^.addr^.McControlIpo_Data.MCControlBoolUnit_SuspendOutput.
Commanded, requested and return values
ST-Element | MCControlBoolUnit_SuspendOutput.X_Command MCControlBoolUnit_SuspendOutput.X_Request MCControlBoolUnit_SuspendOutput.X_State
Data type | BOOL
Range | [TRUE = output to the axes of the channel is suspended, FALSE]
Redirection
ST-Element | MCControlBoolUnit_SuspendOutput.X_Enable

Positionsoffset
Description | Display of actual offset between position controller (physical axis) and axis of interpolator (logical axis). Offset = positionphysical  positionlogical
Signal flow | NCK → PLC
ST-path | pAC[axis_idx]^.addr^.StateLR_Data.D_PositionOffsetPhysicalLogicalACS
Data type | SGN32
Range | 0.1 mikrometer
Access | PLC liest
Specifics |

Axis providing
Description | The providing of the physical axis with command values is given by the logical axis. The physical axis is linked to the logical axis.
Signal flow | NCK → PLC
ST-path | pAC[axis_idx]^.addr^.StateLR_Data.X_LinkToLogicalAxis
Data type | UNS16
Range | [= 0 - not linked, > 0  logical number of axis]
Access | PLC reads
Spedifics |

Axis link
Description | The interpolated values of the logical axis are commanded to the given physical axis.
Signal flow | NCK → PLC
ST-path | pAC[axis_idx]^.addr^.StateIPO_Data.X_LinkToPhysicalAxis
Data type | UNS16
Range | [= 0 - not linked, > 0  logical number of axis]
Access | PLC reads
Specifics |


HMI interface

The current state of an axis can be evaluated by the following channel specific axis objects.

Requested axis link
Description | Shows the number of the requested physical axis.
Port | 0x551 (Task GEO)
Index-Group | 0x21.301 (+ 1 per channel index)
Index-Offset | 0x10.016 (+ 0x10.000 per axis index in channel)
Type | unsigned 16 bit
Access | read only

Active axis link
Description | Shows the current linked physical axis.
Port | 0x551 (Task GEO)
Index-Group | 0x21.301 (+ 1 per channel index)
Index-Offset | 0x10.017 (+ 0x10.000 per axis index in channel)
Type | unsigned 16 bit
Access | read only

State of axis link
Description | Shows the state of axis request (this means state of assignment of logical to physical axis): 0 : Axis link already ok 1 : Physical axis to be requested from position controller 2 : Waiting for acknowledge of physical axis from position controller
Port | 0x551 (Task GEO)
Index-Group | 0x21.301 (+ 1 per channel index)
Index-Offset | 0x10.018 (+ 0x10.000 per axis index in channel)
Type | unsigned 16 bit
Access | read only

In the following example channel 1 is waiting for the acknowledgement of the request of the third axis. Axis 1 and axis 2 are already linked correctly.


Parameters

More:

button Overview

button Description


Overview

ID | Parameter | Description
P-AXIS-00040 | clone_of | Copy of an axis
P-AXIS-00101 | link_to | Link to a physical axis


Description

P-CHAN-00040 | Copy of an axis
Parameter | clone_of
Description | For easier configuration an axis could be a clone_of another axis. This means, during initialization of the axis the clone just uses the data of its master as template. The clone just has to specify the differences to its master in the parameter list.
Data type | UNS16
Data range | 0 < clone_of < MAX(UNS16)
Dimension | -
Default | -
Remarks | -

P-CHAN-00101 | Link to a physical axis
Parameter | link_to
Description | The parameter link_to requests a link between the logical axis of the interpolator to the axis of the position controller (drive). If more than one logical axis is tried to link to the same drive, the other axes are waiting till by commanding this link is temporary interupted and released for a new connection.
Data type | UNS16
Data range | 0 < link_to < MAX(UNS16)
Dimension | -
Default | -
Remarks | -