Profibus-System konfigurieren
Profibus-Master und -Slaves werden per CreateChild unter dem I/O-Knoten angelegt. Der SubType bestimmt das konkrete Gerät. Für EtherCAT-basierte Profibus-Karten EL6731 und EL6731-0010 gelten die SubTypes 86 bzw. 97. Nach dem Anlegen des Geräts wird mit ClaimResources die gewünschte Hardware-Ressource ausgewählt. ClaimResources weist dem Gerät den physischen Adapter zu, auf dem der Feldbus betrieben wird.
Voraussetzungen
- Eine TwinCAT-Solution ist geöffnet und eine DTE-Verbindung ist aktiv.
ITcSysManagerwurde als COM-Objekt in einem STA-Thread initialisiert.- EL6731 als Master oder EL6731-0010 als Slave sind in der ESI-Bibliothek vorhanden.
C# Beispiel
Master und Slave werden unter dem I/O-Knoten TIID mit CreateChild angelegt. ResourcesCount gibt anschließend die Anzahl der gefundenen Hardware-Ressourcen zurück. Mit ClaimResources wird dem Gerät eine konkrete Ressource zugewiesen.
ITcSmTreeItem devices = sysManager.LookupTreeItem("TIID");
// Create Profibus master (SubType 86 = EL6731)
ITcSmTreeItem profiMaster = devices.CreateChild("Profibus Master (EL6731)", 86, "", null);
// Check available resources and claim hardware resource
Console.WriteLine("Available masters: " + profiMaster.ResourcesCount);
profiMaster.ClaimResources(1); // Index 1 = first available resource
// Create Profibus slave (SubType 97 = EL6731-0010)
ITcSmTreeItem profiSlave = devices.CreateChild("Profibus Slave (EL6731-0010)", 97, "", null);
Console.WriteLine("Available slaves: " + profiSlave.ResourcesCount);
profiSlave.ClaimResources(1);
PowerShell Beispiel
$devices = $sysManager.LookupTreeItem("TIID")
# Create Profibus master (SubType 86 = EL6731)
$profiMaster = $devices.CreateChild("Profibus Master (EL6731)", 86, "")
Write-Host "Available masters: $($profiMaster.ResourcesCount)"
$profiMaster.ClaimResources(1) # Index 1 = first available resource
# Create Profibus slave (SubType 97 = EL6731-0010)
$profiSlave = $devices.CreateChild("Profibus Slave (EL6731-0010)", 97, "")
Write-Host "Available slaves: $($profiSlave.ResourcesCount)"
$profiSlave.ClaimResources(1)
![]() | Der Index von |
Feldbus-Adresse ändern
Die Feldbus-Adresse einer Profibus-Box ist ihre Stationsnummer auf dem Bus. Sie wird geändert, indem ConsumeXml mit der gewünschten Nummer als Wert aufgerufen wird.
C#:
ITcSmTreeItem item = sysMan.LookupTreeItem("TIID^Device 1 (FC310x)^Box 1 (BK3100)");
item.ConsumeXml("44");PowerShell:
$item = $sysMan.LookupTreeItem("TIID^Device 1 (FC310x)^Box 1 (BK3100)")
$item.ConsumeXml("44")