Methoden des ActiveX-Controls

Das ActiveX-Control besitzt zwei Properties mit denen das EtherCAT-Master, dessen Topologie angezeigt werden soll, eindeutig bestimmt wird:

TargetNetId

Die TargetNetId bestimmt das TwinCAT-System mit dem sich das ActiveX Control verbinden soll. Die am lokalen System angemeldeten TwinCAT-System können Sie mit Hilfe des System-Managers anzeigen. Drücken Sie dazu in der Symbolleiste des System Managers das Wählen Zielsystem... Icon(Methoden des ActiveX-Controls 1:) :

Methoden des ActiveX-Controls 2:

In diesem Fall können Sie also als TargetNetId '172.16.2.133.1.1' oder einen Leerstring übergeben, um sich mit dem lokalen TwinCAT-System zu verbinden. Mit der TargetNetId '5.0.39.217.1.1' verbinden Sie sich mit dem TwinCAT-System auf dem Remote-Rechner CX_0027D9.

DeviceId

Die DeviceId ist die eindeutige Id des EtherCAT-Master Gerätes im TwinCAT E/A-System. Diese Id finden Sie im System Manager in den Einstellungen des EtherCAT-Gerätes wieder. Dazu selektieren Sie das EtherCAT-Gerät in der Baumansicht des System Managers und selektieren Sie den Karteireiter Allgemein. Die Geräte-Id wird im Textfeld Id angezeigt:

Methoden des ActiveX-Controls 3:

In diesem Fall müssen Sie also als DeviceId die 1 verwenden.

Anzeigen der Online-Topologie

Sie können entweder die Topologie der aktuellen Konfiguration oder die Topologie, die durch einen Bus-Scan ermittelt wird, anzeigen. Hierfür wird das Property OnlineMode verwendet:

Als nächstes müssen Sie die Methode ShowOnlineTopology aufrufen, um die Topologie anzuzeigen:

Methoden des ActiveX-Controls 4:

DeviceId

Beschreibung

Die Eigenschaft DeviceId bestimmt von welchem EtherCAT-Gerät des TwinCAT-Zielsystemes die Topologie angezeigt werden soll. Die DeviceId ist die eindeutige Id des EtherCAT-Master Gerätes im TwinCAT E/A-System

Property-Typ

Read-write property

Default Wert

0

Syntax (C#)

int DeviceId { set; get; }
    Member of IEcTopologyCtrl

Beispiel (C#)

//DeviceId vom SystemManager auslesen
axEcTopologyCtrl1.DeviceId = 1;
axEcTopologyCtrl1.ShowOnlineTopology();
//DeviceId über das IEnumEtherCATDevices interface ermitteln
IEnumEtherCATDevices devices;
IEtherCATDevice device;

axEcTopologyCtrl1.GetEnumEtherCATDevices(out devices);
uint fetched = 0;

devices.Next(1, out device, out fetched);
if (fetched == 1)
    axEcTopologyCtrl1.DeviceId = device.DeviceId;

axEcTopologyCtrl1.ShowOnlineTopology();

TargetNetId

Beschreibung

Die Eigenschaft TargetNetId bestimmt mit welchem TwinCAT-System das ActiveX-Control sich verbinden soll. Bei der TargetNetId handelt es sich um die AMS NetId, die im TwinCAT-System zur Idententifizierung eines TwinCAT-Rechners verwendet wird.

Property-Typ

Read-write property

Default Wert

AMS NetId des lokalen Systems

Syntax (C#)

string TargetNetId { set; get; }
    Member of IEcTopologyCtrl

Beispiel (C#)

axEcTopologyCtrl1.TargetNetId = "127.0.0.1.1.1";             // Verbindung zum lokalen TwinCAT-System
//axEcTopologyCtrl1.TargetNetId = "172.16.2.122.1.1"; // Verbindung zum TwinCAT-System mit der AMS NetId 172.16.2.122.1.1
axEcTopologyCtrl1.DeviceId = 1;
axEcTopologyCtrl1.ShowOnlineTopology();

ZoomFactor

Beschreibung

Die Eigenschaft ZoomFactor bestimmt den Zoom-Faktor, der bei der Anzeige der Topologie verwenden werden soll. Hiermit können Sie also die Anzeige vergrößern oder verkleinern.

Property-Typ

Read-write property

Default Wert

3

Syntax (C#)

double ZoomFactor { set; get; }
    Member of IEcTopologyCtrl

SlaveDescriptionPath

Beschreibung

Die Eigenschaft SlaveDescriptionPath bestimmt den Pfad, in dem sich die Gerätebeschreibungen der EtherCAT-Slaves befinden. Im Normalfall muss diese Eigenschaft nicht geändert werden, da er auf den Pfad eingestellt wird, in dem TwinCAT die Gerätebeschreibungen speichert.

Property-Typ

Read-write property

Default Wert

%\TwinCAT\Io\EtherCAT

Syntax (C#)

string SlaveDescriptionPath { set; get; }
    Member of IEcTopologyCtrl

OnlineMode

Beschreibung

Die Eigenschaft OnlineMode bestimmt welche Topologie angezeigt werden soll, wenn die Methode ShowOnlineTopology aufgerufen wird. OnlineMode kann folgende Werte annehmen:

OnlineMode

Beschreibung

TOPOLOGY_ONLINE_MODE_SCANNED

Die Topologie, die durch einen Bus-Scan ermittelt worden ist, wird angezeigt.

TOPOLOGY_ONLINE_MODE_CONFIGURED

Die aktuell konfigurierte Topologie wird angezeigt.

Property-Typ

Read-write property

Default Wert

TOPOLOGY_ONLINE_MODE_CONFIGURED

Syntax (C#)

ECTOPOLOGYLib.TOPOLOGY_ONLINE_MODE OnlineMode { set; get; }
    Member of IEcTopologyCtrl

Beispiel (C#)

axEcTopologyCtrl1.TargetNetId = "172.16.2.122.1.1";     // Verbindung zum TwinCAT-System mit der AMS NetId 172.16.2.122.1.1
axEcTopologyCtrl1.DeviceId = 1;
axEcTopologyCtrl1.OnlineMode = TOPOLOGY_ONLINE_MODE.TOPOLOGY_ONLINE_MODE_CONFIGURED; //Topologie der aktuellen Konfiguration anzeigen
axEcTopologyCtrl1.ShowOnlineTopology();

MasterState

Beschreibung

Die Read-Only Eigenschaft beinahltet den aktuellen Status des Masters.

MasterState

Beschreibung

TOPOLOGY_MASTER_STATE_INVALID

Master ist in einem ungültigen Zustand.

TOPOLOGY_MASTER_STATE_INT

Master ist im EtherCAT-Status Init.

TOPOLOGY_MASTER_STATE_PREOP

Master ist im EtherCAT-Status Pre-Operational.

TOPOLOGY_MASTER_STATE_SAFEOP

Master ist im EtherCAT-Status Safe-Operational.

TOPOLOGY_MASTER_STATE_OP

Master ist imEtherCAT-Status Operational.

TOPOLOGY_MASTER_STATE_OFFLINE

Es besteht zur Zeit keine Online-Verbindung mit dem Master. Dies ist z.B. der Fall, wenn das TwinCAT-System gestoppt ist.

Property-Typ

Read-Only property

Default Wert

Syntax (C#)

ECTOPOLOGYLib.TOPOLOGY_MASTER_STATE MasterState { get; }
    Member of IEcTopologyCtrl

ShowCrcErrorMarker

Beschreibung

Die Eigenschaft ShowCrcErrorMarker bestimmt, ob das Vorhanden sein von Crc-Fehler in der Online-Anzeige grafisch dargestellt werden soll. Ist dieser Wert auf true gesetzt, wird ein roter Kreis, für jeden Ethernet Port an dem ein Fehler registriert worden ist, unter dem EtherCAT-Slave dargestellt.

Property-Typ

Read-write property

Default Wert

false

Syntax (C#)

bool ShowCrcErrorMarker { set; get; }
    Member of IEcTopologyCtrl

ShowSlaveInfo

Beschreibung

Die Eigenschaft ShowSlaveInfo bestimmt, ob der Informations-Dialog für ein selektiertes Gerät in der Online-Anzeige dargestellt werden. Der Dialog wird im rechten unterem Rand der Ansicht angezeigt und enthält zusätzliche Information des EtherCAT-Slave (siehe Slave-Informations Dialog).

Property-Typ

Read-write property

Default Wert

false

Syntax (C#)

bool ShowSlaveInfo { set; get; }
    Member of IEcTopologyCtrl

ShowAdvancedSettingsMenu

Beschreibung

Die Eigenschaft ShowAdvancedSettingsMenu bestimmt, ob bei der Offline-Anzeige(siehe ShowOfflineTopology) im Kontext-Menu eines EtherCAT-Slaves der Eintrag AdvanceSettings... hinzugefügt werden soll oder nicht. Wenn dieser Menü-Eintrag vom Anwender ausgewählt wird, wird das Event OnAdvancedSettings Control gefeuert.

Property-Typ

Read-write property

Default Wert

false

Syntax (C#)

bool ShowAdvancedSettingsMenu { set; get; }
    Member of IEcTopologyCtrl

BackColor

Beschreibung

Die Eigenschaft BackColor bestimmt die Hintergrunds-Farbe des Controls

Property-Typ

Read-write property

Default Wert

0x00FFFFFF(white)

Syntax (C#)

uint BackColor { set; get; }
    Member of IEcTopologyCtrl

ShowOnlineTopology

Beschreibung

Zeigt die Onine-Topologie eines EtherCAT-Gerätes an. Das EtherCAT-Gerät wird mit den Properties DeviceId und TargetNetId ausgewählt. Mit Hilfe des Parameters OnlineMode kann man zusätzlich bestimmen, wie die Topologie ermittelt wird.

Syntax (C#)

void ShowOnlineTopology()
    Member of IEcTopologyCtrl

Beispiel (C#)

axEcTopologyCtrl1.TargetNetId = "172.16.2.122.1.1";     // Verbindung zum TwinCAT-System mit der AMS NetId 172.16.2.122.1.1
axEcTopologyCtrl1.DeviceId = 1;         // EtherCAT-Gerät mit der Id 1
axEcTopologyCtrl1.ShowOnlineTopology();     // anzeigen der Topologie

ShowOfflineTopology

Beschreibung

Zeigt die Offline-Topologie eines EtherCAT-Gerätes aus einer geöffneten System Manager Konfiguration an.

Parameter

TCatSysManagerLib.ITcSmTreeItem pEtherCATDevice

interface auf das System Manager TreeItem-Interfaces eines EtherCAT-Gerätes

Syntax (C#)

void ShowOfflineTopology(TCatSysManagerLib.ITcSmTreeItem pEtherCATDevice)
    Member of IEcTopologyCtrl

GetEnumEtherCATDevices

Beschreibung

Mit Hilfe der Methode GetEnumEtherCATDevices erhält man das Enumartions-Interface für die im TwinCAT-System geöffneten EtherCAT-Geräte. Hiermit kann man dann über die einzelnen EtherCAT-Geräte enumerieren und den Namen und die DeviceId der einzelnen EtherCAT-Geräte auslesen.

Parameter

out IEnumEtherCATDevices ppEnum

Interface IEnumEtherCATDevices

Syntax (C#)

void GetEnumEtherCATDevices(out IEnumEtherCATDevices ppEnum)
    Member of IEcTopologyCtrl

Beispiel (C#)

//DeviceId über das IEnumEtherCATDevices interface ermitteln
IEnumEtherCATDevices devices;
IEtherCATDevice device;

axEcTopologyCtrl1.GetEnumEtherCATDevices(out devices);
uint fetched = 0;

do
{
    devices.Next(1, out device, out fetched);
    if (fetched == 1)
        Console.WriteLine(String.Format("Name:{0} Device Id:{0:d}", device.Name, device.DeviceId));
} while (fetched == 1);