Hinweise zur Dokumentation

Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist.
Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der nachfolgenden Hinweise und Erklärungen unbedingt notwendig.

Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produkte alle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungen und Normen erfüllt.

Disclaimer

Diese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiter entwickelt.
Deshalb ist die Dokumentation nicht in jedem Fall vollständig auf die Übereinstimmung mit den beschriebenen Leistungsdaten, Normen oder sonstigen Merkmalen geprüft.
Falls sie technische oder redaktionelle Fehler enthält, behalten wir uns das Recht vor, Änderungen jederzeit und ohne Ankündigung vorzunehmen.
Aus den Angaben, Abbildungen und Beschreibungen in dieser Dokumentation können keine Ansprüche auf Änderung bereits gelieferter Produkte geltend gemacht werden.

Marken

Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE®, XFC® und XTS® sind eingetragene und lizenzierte Marken der Beckhoff Automation GmbH.
Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kann zu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen.

Patente

Die EtherCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP1590927, EP1789857, DE102004044764, DE102007017835
mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Die TwinCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP0851348, US6167425 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Copyright

© Beckhoff Automation GmbH & Co. KG, Deutschland.
Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sind verboten, soweit nicht ausdrücklich gestattet.
Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmuster- oder Geschmacksmustereintragung vorbehalten.


Übersicht

Die Bibliothek beinhaltet nützliche Funktionsbausteine für die IP/Netzerk-Konfiguration des BC9000 Bus-Controllers.

Funktionsbausteine

Name | Beschreibung
FB_AddDnsServer | Den DNS-Server übergeben.
FB_GetHostByAddr | Den Hostnamen anhand der zugehörigen IP-Adresse ermitteln.
FB_GetHostByName | Die IP-Adresse anhand des Hostnamens ermitteln.
FB_GetNetworkConfig | Die aktuelle Netzwerkkommunikation auslesen.
FB_SetTargetName | Den Target-Namen des Buscontrollers setzen.


FB_AddDnsServer

Mit dem Funktionsbaustein können dem Bus-Controller maximal bis zu drei DNS-Server übergeben werden.

INPUT

VAR_INPUT
   bStart	         : BOOL;
   sDNSServer     : STRING(15);
END_VAR

bStart: Eine steigende Flanke an diesem Eingang aktiviert den Funktionsbaustein.

sDNSServer: String mit der IP-Adresse des DNS-Servers.

OUTPUT

VAR_OUTPUT
   bBusy          : BOOL;
   bError         : BOOL;
   iErrorId       : WORD;
END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis die Befehlsausführung abgeschlossen wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in iErrorId enthalten.

iErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls (siehe Tabelle).

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken
TwinCAT v2.7.0 und höher | BC9xxx (165) firmware version >=0xB6 | TcIPUtilitiesBC.Lb6


FB_GetHostByAddr

Mit dem Funktionsbaustein kann zu einer bestimmten IP-Adresse der zugehörige Hostname ermittelt werden.

INPUT

VAR_INPUT
   bStart        : BOOL;
   sIPAddr       : STRING(15);
   pHostName     : DWORD;
   cbMaxNameLen  : WORD;
END_VAR

bStart: Eine steigende Flanke an diesem Eingang aktiviert den Funktionsbaustein.

sIPAddr: Ein String mit der IP-Adresse des Hosts.

pHostName: Enthält die Adresse eines String-Puffers, in den der ermittelte Hostname hineingeschrieben wird. Der Programmierer ist selbst dafür verantwortlich, den Puffer in der Größe so zu dimensionieren, dass cbMaxNameLen-Bytes daraus entnommen werden können. Die Adresse kann man mit dem ADR - Operator ermitteln.

cbMaxNameLen: Enthält die Bytelänge des Puffers in den der ermittelte Hostname hineingeschrieben werden soll.

OUTPUT

VAR_OUTPUT
   bBusy         : BOOL;
   bError        : BOOL;
   iErrorId      : WORD;
END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis die Befehlsausführung abgeschlossen wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in iErrorId enthalten.

iErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls (siehe Tabelle).

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken
TwinCAT v2.7.0 und höher | BC9xxx (165) firmware version >=0xB6 | TcIPUtilitiesBC.Lb6


FB_GetHostByName

Mit dem Funktionsbaustien kann zu einem bestimmten Hostnamen die zugehörige IP-Adresse ermittelt werden.

INPUT

VAR_INPUT
   bStart       : BOOL;
   pHostName    : DWORD;
END_VAR

bStart: Eine steigende Flanke an diesem Eingang aktiviert den Funktionsbaustein.

pHostName: Enthält die Adresse einer Stringvariablen, mit dem Hostnamen. Die Adresse einer Stringvariablen kann mit dem ADR-Operator ermittelt werden.

OUTPUT

VAR_OUTPUT
   bBusy        : BOOL;
   bError       : BOOL;
   iErrorId     : WORD;
   sIPAddr      : STRING(15);
END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis die Befehlsausführung abgeschlossen wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in iErrorId enthalten.

iErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls (siehe Tabelle).

sIPAddr: Beim Erfolg enthält die Variable die IP-Adresse des Hosts.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken
TwinCAT v2.7.0 und höher | BC9xxx (165) firmware version >=0xB6 | TcIPUtilitiesBC.Lb6


FB_GetNetworkConfig

Mit dem Funktionsbaustein können Informationen zu der aktuellen Netzwerkkonfiguration ermittelt werden.

INPUT

VAR_INPUT
   bStart             : BOOL;
END_VAR

bStart: Eine steigende Flanke an diesem Eingang aktiviert den Funktionsbaustein.

OUTPUT

VAR_OUTPUT
   bBusy              : BOOL;
   bError             : BOOL;
   iErrorId           : WORD;
   sMacId             : STRING(17);
   sIPAddr            : STRING(15);
   sSubnetMask        : STRING(15);
   sDefaultGateway    : STRING(15);
   sDnsServer         : STRING(15);
   sTargetName        : STRING(20);
END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis die Befehlsausführung abgeschlossen wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in iErrorId enthalten.

iErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls (siehe Tabelle).

sMacId: Liefert die MAC ID des Bus-Controllers zurück, z.B. '00-01-05-13-45-63'.

sIPAddr : Liefert die IP-Adresse des Bus-Controllers zurück.

sSubnetMask : Liefert die SubNet Mask.

sDefaultGateway : Liefert den default Geteway.

sDnsServer : Liefert den default DNS-Server (vom DHCP-Server zugewiesen) zurück.

sTargetName : Liefert den aktuellen Target-Namen des Bus-Controllers zurück.

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken
TwinCAT v2.7.0 und höher | BC9xxx (165) firmware version >=0xB6 | TcIPUtilitiesBC.Lb6


FB_SetTargetName

Mit dem Funktionsbaustein kann dem Bus-Controller ein Target-Name zugewiesen werden.

INPUT

VAR_INPUT
   bStart         : BOOL;
   sTargetName    : STRING(20);
END_VAR

bStart: Eine steigende Flanke an diesem Eingang aktiviert den Funktionsbaustein.

sTargetName: Ein String, der den neuen Target-Namen des Bus-Controllers enthält.

OUTPUT

VAR_OUTPUT
   bBusy         : BOOL;
   bError        : BOOL;
   iErrorId      : WORD;
END_VAR

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis die Befehlsausführung abgeschlossen wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in iErrorId enthalten.

iErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls (siehe Tabelle).

Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken
TwinCAT v2.7.0 und höher | BC9xxx (165) firmware version >=0xB6 | TcIPUtilitiesBC.Lb6


Fehlernummern

hex | Beschreibung
0x8010 | falsche Parameter
0x8011 | DNS-Server Liste voll
0x801F | Resourcen Fehler (intern)
0x8020 | ungültige Hostlänge
0x8021 | kein Hostname gefunden
0x802E | Heap Fehler (intern)
0x802F | Resourcen Fehler (intern)
0x8030 | falsche Parameter
0x8031 | ungültige Hostname
0x8032 | Hostname zu lang
0x803F | Resourcen Fehler (intern)
0x804F | Resourcen Fehler (intern)
0x8050 | keine gültige IP-Adresse
0x8052 | keine gültige Klasse-D IP-Adresse
0x8055 | Fehler im Stack (intern)
0x805F | Resourcen Fehler (intern)
0x8100 | falsche Parameter
0x8102 | keine offene Verbindung
0x8104 | keine Daten
0x8106 | Pufferüberlauf (nur bei UDP)
0x8200 | Verbindung wurde schon geöffnet
0x8201 | Verbindungsfehler
0x8202 | Zeitüberschreitung
0x8203 | Resourcen Fehler (intern)
0x8300 | Zeitüberschreitung
0x8301 | Fernverbindung beendet
0x8302 | Iinterner Fehler
0x8303 | Resourcen Fehler (intern)
0x8304 | keine Fernverbindung
0x8400 | Verbindung icht geöffnet
0x8401 | Zeitüberschreitung
0x8800 | keine gültige Netzwerkkonfiguration (z.B. DHCP läuft noch)
0x8F10 | Session nicht gestartet
0x8F11 | Session nicht bereit
0x8F12 | ungültige Session ID
0x8F13 | ungültiger Zustand (intern)
0x8F20 | kein freien Slots. Es sind bereits 2 Sessions gestartet
0x8F21 | Fehler bei der Taskinitialisierung
0x8F22 | Session ist bereits geschlossen