Methoden des ActiveX-Controls
Das ActiveX-Control besitzt zwei Properties mit denen das EtherCAT-Master, dessen Topologie angezeigt werden soll, eindeutig bestimmt wird:
- TargetNetId
- DeviceId
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() :
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:
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:
- gescannte Topologie:
OnlineMode = TOPOLOGY_ONLINE_MODE_SCANNED
- aktuell konfigurierte Topologie:
OnlineMode = TOPOLOGY_ONLINE_MODE_CONFIGURED
Als nächstes müssen Sie die Methode ShowOnlineTopology aufrufen, um die Topologie anzuzeigen:
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);