Eine EL6695 EtherCAT-Bridge konfigurieren

Die EL6695 ist eine EtherCAT-Bridge-Klemme für die Kommunikation zwischen zwei EtherCAT-Mastern. Sie ermöglicht den bidirektionalen Datenaustausch zwischen zwei unabhängigen EtherCAT-Strängen. Nach dem Anlegen der IO-Variablen wird die Konfiguration über einen cmdCreateConfiguration-Befehl per ConsumeXml abgeschlossen.

Voraussetzungen

Eine EL6695 EtherCAT-Bridge konfigurieren 1:
// nodePathList: list of all TreeItem paths — e.g. built via ProduceXml on TIID
foreach (string pathName in nodePathList)
{
    if (pathName.Contains("EL6695"))
    {
        ITcSmTreeItem termEL6695 = sysManager.LookupTreeItem(pathName);
        ITcSmTreeItem ioInputs   = sysManager.LookupTreeItem(pathName + @"^IO Inputs");
        ITcSmTreeItem ioOutputs  = sysManager.LookupTreeItem(pathName + @"^IO Outputs");

        // Create IO variables — order: 3, 2, 1 (param=0 inserts at the front)
        ioInputs.CreateChild("InputVar3",  0, null, "BYTE");
        ioInputs.CreateChild("InputVar2",  0, null, "BYTE");
        ioInputs.CreateChild("InputVar1",  0, null, "BYTE");
        ioOutputs.CreateChild("OutputVar2", 0, null, "BYTE");
        ioOutputs.CreateChild("OutputVar1", 0, null, "BYTE");

        // Create configuration (SelectItem + cmdCreateConfiguration)
        termEL6695.ConsumeXml("<SelectItem/>");
        termEL6695.ConsumeXml(
            @"<TreeItem><Xml><AutomationInterface>
                <cmdCreateConfiguration/>
            </AutomationInterface></Xml></TreeItem>");

        // Read back current configuration and reapply
        string strXml = termEL6695.ProduceXml();
        termEL6695.ConsumeXml(strXml);
    }
}

Der Ablauf folgt einer festen Reihenfolge:

  1. Variablen anlegen,
  2. SelectItem aufrufen,
  3. cmdCreateConfiguration ausführen,
  4. ProduceXml/ConsumeXml zum Finalisieren.

Das <SelectItem></SelectItem> entspricht dem manuellen Selektieren der Klemme in der TwinCAT-Oberfläche und ist notwendig, damit der cmdCreateConfiguration-Befehl greift. cmdCreateConfiguration wird von einem Command in der Feldbus-Extension verarbeitet, der die Bridge-Konfiguration (neu) generiert.

Eine EL6695 EtherCAT-Bridge konfigurieren 2:

Der Parameter SubType in CreateChild kontrolliert, wo die Variable eingefügt wird (0 = am Anfang; 1 = am Ende).