# Main/Sub - Betrieb

{% columns %}
{% column width="50%" %}

<figure><img src="/files/368H7VqiSXjlVgqFW02z" alt="" width="375"><figcaption></figcaption></figure>
{% endcolumn %}

{% column width="50%" %}
Für Standalone-Anwendungen ohne SPS oder PC lassen sich Ablaufprogramme direkt auf dem XENAX® im WebMotion® erstellen. Über die I²C-Verbindung können bis zu vier Achsen koordiniert werden. Dadurch lassen sich typische Handlingaufgaben direkt auf einem Servocontroller – dem Main-Controller – realisieren, der wiederum die Bewegungen der drei Sub-Achsen koordiniert. Selbst Forceteq®-Anwendungen oder überlappende Bewegungen sind so problemlos umsetzbar.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}

{% endcolumn %}

{% column %}

### Grundsätzliches Main/Sub - Betrieb

Main- und Sub-Servocontroller sind identische Geräte und werden ausschliesslich über die Einstellung des Card Identifier definiert.

Der Programmablauf sowie die Fahrsätze werden ausschließlich im Main-Servocontroller erstellt und ausgeführt. Die Sub-Servocontroller enthalten kein eigenes Programm und erhalten nach dem Reboot automatisch alle erforderlichen Fahrsätze vom Main-Controller übertragen.

Der Main/Sub-Betrieb ist nicht zu verwenden, wenn die Koordination der Achsen durch eine übergeordnete Steuerung erfolgt.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}

{% endcolumn %}

{% column %}

### Konfiguration

{% stepper %}
{% step %}

#### I<sup>2</sup>C-Kommunikationsverbindung

Verbinden Sie die XENAX®-Servocontroller über die START-UP-Schnittstelle mittels der mitgelieferten kurzen USB-A-Kabel (I²C-Verbindung). Die beiden USB-A-Buchsen sind zum Durchschleifen ausgelegt; eine Unterscheidung der Anschlüsse ist nicht erforderlich.

<div align="left"><figure><img src="/files/Cp0TEpPfRNobMeHoeNV3" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### Card-Identifier vergeben

Vergebe die Identifikation über das WebMotion® unter dem Menü [connectivity](/control_system/de/xenax/xenax-xvi-75v8s/webmotion/operation/connectivity.md).

| Main/Sub           | Card-Identifier | ASCII     |
| ------------------ | --------------- | --------- |
| **Main (Program)** | **0 (Default)** | **`CI0`** |
| Sub 1              | 1               | `CI1`     |
| Sub 2              | 2               | `CI2`     |
| Sub 3              | 3               | `CI3`     |
| {% endstep %}      |                 |           |

{% step %}

#### Neustart

Führen Sie einen gemeinsamen Neustart aller Servocontroller durch.

Anschließend kann der Programmablauf im Main-Controller erstellt werden, wobei die einzelnen Programmbefehle den entsprechenden Sub-Controllern zugewiesen werden können.
{% endstep %}
{% endstepper %}
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}

{% endcolumn %}

{% column %}

### Überlappende Achsbewegungen

Mit dieser Funktion können Bewegungen mehrerer Achsen zeitlich überlappend ausgeführt werden. Dabei kann eine X-Achse bereits mit ihrer Bewegung beginnen, während die Bewegung der Z-Achse noch nicht abgeschlossen ist.

Dadurch lassen sich kontinuierliche und verrundete Bewegungsabläufe, z. B. in X/Z-Applikationen, realisieren. Die Achsen werden dabei koordiniert angesteuert, ohne auf das vollständige Ende einer vorherigen Bewegung warten zu müssen.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}

<figure><img src="/files/pGpgYwcTMYR2v73sn5zx" alt=""><figcaption></figcaption></figure>
{% endcolumn %}

{% column %}
Mit **Continue at xx %** wird festgelegt, nach welchem Prozentsatz eines Index die nächste Programmzeile gestartet wird. Der bereits gestartete Index wird dabei unabhängig davon vollständig ausgeführt.

<figure><img src="/files/Fg2Rhdk1PsHfdc40jb2w" alt="" width="375"><figcaption></figcaption></figure>

Der Programminterpreter wird im 1ms Takt verarbeitet. Zur Übertragung von Kommandos zu einem Sub-Controller werden 0.45ms benötigt. Die Messung von zeitkritischen Abläufen ist mit dem Prozesstimer und den Befehlen Timer start und Timer stop möglich. Die gemessene Zeit des Prozesstimers kann mit dem Befehl `TPT` (Tell Process Timer) gelesen werden.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}

{% endcolumn %}

{% column %}

### Einschränkungen&#x20;

Die Ausführbarkeit von Programmfunktionen im Main/Sub-Verbund ist funktionsabhängig. Nicht alle Funktionen sind remotefähig; beispielsweise können Forceteq®-Funktionen ausschliesslich im Main-Controller ausgeführt werden. Nur entsprechend gekennzeichnete Programmfunktionen (✔ Main/Sub, siehe Tabelle [Program Funktionen](/control_system/de/xenax/xenax-xvi-75v8s/webmotion/operation/program.md#program-funktionen)) unterstützen eine gezielte Zuweisung. Diese können entweder dem Main-Controller (Local) oder einem der angeschlossenen Sub-Controller (ID1–ID3) zugeordnet werden.

Ein Startup-Key kann im Main/Sub-Betrieb nicht zusätzlich verwendet werden.
{% endcolumn %}
{% endcolumns %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://tech.jennyscience.com/control_system/de/industrial-ethernet/copy-of-xenax-r-xvi-75v8s/main-sub-betrieb.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
