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 Dokumentation und der nachfolgenden Hinweise und Erklärungen unbedingt notwendig.
Das Fachpersonal ist verpflichtet, für jede Installation und Inbetriebnahme die zu dem Zeitpunkt veröffentlichte Dokumentation zu verwenden.

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.
Wir behalten uns das Recht vor, die Dokumentation jederzeit und ohne Ankündigung zu überarbeiten und zu ändern.
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®, EtherCAT G®, EtherCAT G10®, EtherCAT P®, Safety over EtherCAT®, TwinSAFE®, XFC®, XTS® und XPlanar® 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, EP1456722, EP2137893, DE102015105702
mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

EtherCAT® ist eine eingetragene Marke und patentierte Technologie lizenziert durch die Beckhoff Automation GmbH, Deutschland.

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.


Einführung

Bang & Olufsen ist weltweit anerkannt für sein unverwechselbares Sortiment an hochwertigen Audio-, Video-, und Multimediaprodukten.

Der TwinCAT Bang & Olufsen Server ist ein Softwarepaket für den Zugriff auf das Masterlink-Gateway von B&O. Er ermöglicht die Kommunikation zwischen einer TwinCAT SPS und einer Bang & Olufsen Multimedia Vernetzung. Die Kommunikation erfolgt hierbei über TCP/IP.


Hardwareanforderungen

Der TwinCAT Bang & Olufsen Server ist auf allen PC-Steuerungen, die kompatibel zu TwinCAT sind, einsetzbar (ausgenommen ist der CX9000).

Zur Installation des TwinCAT Bang & Olufsen Servers auf einer TwinCAT kompatiblen Hardware-Plattform wird folgendes benötigt:

  • TwinCAT PLC Runtime
  • Microsoft .NET Framework / .NET Compact Framework. (min. Version 2.0 oder höher)
  • Ethernet Schnittstelle

Bitte informieren Sie sich im Beckhoff Information System, welche Hardware mit welchem Image diese Anforderungen erfüllt.


Benutzeranforderungen

Für den Nutzer dieses ADS Servers / dieser Bibliothek werden folgende Grundkenntnisse vorausgesetzt:

  • Umgang mit dem TwinCAT PLC Control
  • Umgang mit dem TwinCAT System Manager
  • PC und Netzwerkkenntnisse
  • Einschlägige Sicherheitsvorschriften der technischen Gebäudeausrüstung


Funktionsbeschreibung

Aufruf eines Virtual Button Events aus der SPS.

  • 1.Aufruf des Funktionsblocks Virtual Button Event in der SPS. Per ADS wird das Virtual Button Event zum TwinCAT Bang & Olufsen Server verschickt.
  • 2. Verarbeitung der Virtual Button Event Anforderungen. Über Ethernet wird das Event an das Masterlink-Gateway weitergeleitet.
  • 3. Das Event wird entgegengenommen und die damit verknüpften Makros werden ausgeführt.

Versenden eines Custom String zum TwinCAT Bang & Olufsen Server

  • 5. Ein Makro wird im Masterlink-Gateway aufgerufen.
  • 4. Die Custom Strings, die mit dem aufgerufenen Makro verknüpft sind, werden verarbeitet
  • 3. Die Custom Strings werden von dem Custom String Device über Ethernet an den TwinCAT Bang & Olufsen Server gesendet.
  • 2. Der TwinCAT Bang & Olufsen Server verarbeitet die Custom Strings und beschreibt die SPS- Variablen.


Installation unter Windows CE (WEC)

Übertragen der Installation auf ein Windows CE Gerät

Wurde der TwinCAT Bang & Olufsen Server erfolgreich installiert, befinden sich im Ordner "..\TwinCAT\CE\Bang Olufsen Server" zwei Unterordner.

  • \ARMV4I
    • Dieser Ordner beinhaltet die CE-Installation:
      TcBangOlufsenServerCe.ARMV4I.CAB       für ARMV4 CPUs (z.B. CX900x)
  • \I586
    • Dieser Ordner beinhaltet die CE-Installation:
      TcBangOlufsenServerCe.I586.CAB       für X86 CPUs (z.B. CX10xx)

Übertragen Sie die "TcBangOlufsenServerCe.I586.CAB" Datei auf das Windows CE Gerät. Dieses kann via

  • einem frei gegebenem Ordner (Public folder)
  • FTP
  • ActiveSync
  • Compact Flash (CF) Adapters

erfolgen.

Installation auf dem Windows CE Gerät

Die Installation "TcBangOlufsenServerCe.I586.CAB" kann mit einem Doppelklick ausgeführt werden. Bestätigen Sie das vorgewählte (default) Verzeichnis "\hard disk\System\TC-BangOlufsen-Server" mit "OK".

Nach der Installation wird die Datei "TcBangOlufsenServerCe.I586.CAB" automatisch gelöscht. Starten Sie das Gerät nach Beendigung der Installation neu.


Installation unter Windows Embedded Standard (WES)

Starten der Installation

Starten Sie die Installation und folgen Sie den Anweisungen in den Dialogen.

Nach der Installation.

Ist die Installation beendet, befinden sich in Ihrem TwinCAT Ordner zwei neue Verzeichnisse "..\TwinCAT\CE\Bang Olufsen Server" und "..\TwinCAT\Bang Olufsen Server".
Im Verzeichnis "..\TwinCAT\CE\Bang Olufsen Server" finden Sie die Installationsdateien (.CAB) für die verschiedenen Windows CE Plattformen: ARM und X86.


Konfiguration

Die Konfiguration erfolgt über die TcBangOlufsenServer.cfg Datei. In dieser werden die folgenden Elemente konfiguriert:

  • ein Masterlink-Gateway Client zum Aufrufen von Virtuellen Buttons.
  • ein ADS-Device-Route zum Beschreiben von SPS-Variablen über Custom Strings.
Hinweis:

Allgemein:

  • Die Konfigurationsdatei TcBangOlufsenServer.cfg liegt im Installationsverzeichnis.
  • Kann ein Parameter nicht eingelesen werden oder liegt dieser außerhalb der zulässigen Größe, so liefern die SPS-Bausteine aus der TcBangOlufsen.Lib einen spezifischen Fehler zurück.
  • Falls eine Firewall benutzt wird, muss der Port, über den die Custom Strings zur Steuerung geschickt werden, in die Konfiguration der Firewall eingetragen werden.
    Ebenso müssen die Ports in die Konfiguration der Firewall, die von anderen Programmen genutzt werden z.B. FTP, HTTP oder Remote Desktop, eingetragen werden.

Name Konvention:

  • Muss einzigartig sein
  • Groß- / Kleinschreibung wird nicht beachtet
  • Buchstaben und Zahlen
  • keine Sonderzeichen oder Umlaute, außer der "_" (Unterstrich)
  • Mindestlänge 1 Zeichen
  • Maximallänge 80 Zeichen

Beispiel TcBangOlufsenServer.cfg Datei

<?xml version="1.0" encoding="utf-8" ?>
<TcBangOlufsenServerConfig>
  <MLGW Name="name" Ip="0.0.0.0" Port="9000" />
  <ADSDevice Name="name" AmsNetId="0.0.0.0.1.1" />
</TcBangOlufsenServerConfig>

Masterlink-Gateway Client Konfigurieren

Masterlink-Gateway Clients stellen die Verbindung zwischen dem TwinCAT Bang & Olufsen Server und dem Bang & Olufsen Masterlink-Gateway dar. Sie werden benötigt, um Virtual Button Events über Ethernet zu versenden.

Fügen Sie im Bereich <TcBangOlufsenServerConfig> folgenden XML-Knoten hinzu:

<MLGW Name="name" Ip="0.0.0.0" Port="9000" />

So erzeugen Sie im Service einen neuen Masterlink-Gateway Client. Haben Sie mehrere Bang & Olufsen Masterlink-Gateways, so wiederholen Sie den Vorgang.

Parameter | Beschreibung
Name | Name des Bang & Olufsen Masterlink-Gateways. Er wird in der SPS benutzt, um Anforderungen dem MLGW Client zuzuordnen.
Ip | Internet Protokoll Adresse (IP). Adresse, über die das Masterlink-Gateway im Netzwerk zu erreichen ist.
Port | Der Port ist Teil der Adresse und beschreibt den Netzwerk Eintrittspunkt am Masterlink-Gateway. Standardeinstellung ist 9000.

ADS-Device-Route Konfigurieren

Die ADS-Device-Routes enthalten die erforderlichen Parameter, die benötigt werden, damit der TwinCAT Bang & Olufsen Server empfangene Custom Strings einer Steuerung zuordnen kann.

Fügen Sie im Bereich <TcBangOlufsenServerConfig> folgenden XML-Knoten hinzu:

<ADSDevice Name="name" AmsPort="801" AmsNetId="0.0.0.0.1.1" />

So erzeugen Sie im Service eine neue ADS-Device-Route. Haben Sie mehrere Steuerungen die über Custom Strings angesprochen werden sollen, so wiederholen Sie den Vorgang.

Parameter | Beschreibung
Name | Name der Steuerung. Er wird in der Custom String-Konfiguration benutzt, um Custom Strings einer Steuerung zuzuordnen.
AmsPort | SPS Laufzeit System. Standardeinstellung ist 801.
AmsNetId | AmsNetId der Steuerung.


Custom String

Mit einem Custom String kann eine Variable vom Typ BOOL in der SPS mit dem Wert TRUE beschrieben werden. So ist es möglich, z.B. Trigger auszulösen oder Szenen zu aktivieren.

Syntaxbeschreibung

Ein Custom String ist eine geordnete Menge von vordefinierten Parameter/Wert Paaren. Ein Custom String beginnt mit "<" (öffnende spitze Klammer) und endet mit " >" (schließende spitze Klammer). Jedem Parameter folgt ein "=" (Gleichheitszeichen) gefolgt vom Wert. Die einzelnen Parameter/Wert Paare werden durch "|" (Vertikale Linie) voneinander getrennt.

Parameter und Werte Beschreibung

Parameter | Beschreibung
ADSDevice | ADS-Device-Route. Wird im TwinCAT Bang & Olufsen Server benutzt, um Custom Strings einer Steuerung zuzuordnen (siehe Konfiguration).
VarName | Variablenname der Variable die beschrieben werden soll.
IdxGroup | Index Group
IdxOffset | Index Offset
Hinweis:

ADSDevice / VarName Konvention:

  • Buchstaben und Zahlen
  • Groß- / Kleinschreibung wird nicht beachtet
  • keine Sonderzeichen oder Umlaute, außer "_" (Unterstrich) und "." (Punkt)
  • Mindestlänge 1 Zeichen
  • Maximallänge 80 Zeichen

IndexGroup / IndexOffset Konvention:

  • kann in hexadezimaler oder dezimaler Schreibweise angegeben werden
  • bei hexadezimaler Schreibweise muss das Präfix (0x) vor den Wert
  • wird das Präfix nicht gesetzt, wird der Wert als Dezimalwert verstanden

Beispiele

Beschreiben einer Globalen Variable per Name

<ADSDevice=CX_123456|VarName=.LampGroupOff>
<ADSDevice=CX_123456|VarName=.LampGroupOn>

Beschreiben einer Variable im Merkerbereich per IndexGroup \ IndexOffset

<ADSDevice=CX_123456|IdxGroup=0x4020|IdxOffset=0x00>
<ADSDevice=CX_123456|IdxGroup=0x4020|IdxOffset=0x01>

Download Bang & Olufsen Masterlink-Gateway Custom String Beispiel Konfiguration als CSV Datei


Funktionsbausteine - Übersicht

Name | Funktion
FB_BangOlufsenGetDeviceInfo | Liest die Version und den Namen des TwinCAT Bang & Olufsen Servers aus.
FB_BangOlufsenVirtualButtonEvent | Löst im Bang & Olufsen Masterlink-Gateway ein Virtual Button Event aus.
FB_BangOlufsenGetClientConnectionState | Liest den Verbindungsstatus eines Masterlink-Gateway Clients zum Bang & Olufsen Masterlink-Gateway aus.


FB_BangOlufsenGetDeviceInfo

Liest die Version und den Namen des TwinCAT Bang & Olufsen Servers aus.

Beispiele

Download Demo Projekt

VAR_INPUT

sNetId                  : T_AmsNetId;
bExecute                : BOOL;
tTimeout                : TIME := t#5s;

sNetId: AMS Net Id des Zielgerätes, auf dem der TwinCAT Bang & Olufsen Server betrieben wird.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgelöst.

tTimeout: Gibt die Zeit bis zum Abbruch der Funktion an.

VAR_OUTPUT

bBusy                   : BOOL;
bError                  : BOOL;
udiErrorId              : UDINT;
udiDeviceVersion        : UDINT;
sDeviceName             : STRING;

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausgeführt hat, längstens aber für die Dauer der am tTimeout-Eingang angelegten Zeit. Während bBusy = TRUE ist, wird an den Eingängen kein neuer Befehl angenommen.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Wird der Funktionsbaustein mit bExecute auf TRUE erneut aufgerufen, so wird bError auf FALSE und udiErrorId auf 0 zurückgesetzt.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch das Ausführen eines Befehls an den Eingängen auf 0 zurückgesetzt.

udiDeviceVersion: Version des TwinCAT Bang & Olufsen Servers.

sDeviceName: Name des TwinCAT Bang & Olufsen Servers.

Entwicklungsumgebung | Zielsystem | erforderliche Bibliotheken
TwinCAT 2.11 R3/x64 | PC/CX | TcBangOlufsen-Bibliothek ab V1.0.0


FB_BangOlufsenVirtualButtonEvent

Löst im Bang & Olufsen Masterlink-Gateway ein Virtual Button Event aus.

Beispiele

Download Demo Projekt

VAR_INPUT

sNetId                  : T_AmsNetId;
sMLGWClientName         : STRING;
byVirtualButtonId       : BYTE;
bExecute                : BOOL;
tTimeout                : TIME := t#5s;

sNetId: AMS Net Id des Zielgerätes, auf dem der TwinCAT Bang & Olufsen Server betrieben wird.

sMLGWClientName: Name des Masterlink-Gateway Clients, auf dem das Virtual Button Event ausgelöst werden soll.

byVirtualButtonId: Enthält die Id von dem Virtual Button, dessen Event ausgelöst werden soll.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgelöst.

tTimeout: Gibt die Zeit bis zum Abbruch der Funktion an.

Hinweis:

sMLGWClientName Konvention:

  • Groß-/ Kleinschreibung wird nicht beachtet
  • Buchstaben und Zahlen
  • keine Sonderzeichen oder Umlaute, außer der "_" (Unterstrich)
  • Mindestlänge 1 Zeichen
  • Maximallänge 80 Zeichen

byVirtualButtonId Konvention:

  • muss zwischen 1 und 255 liegen

VAR_OUTPUT

bBusy                   : BOOL;
bError                  : BOOL;
udiErrorId              : UDINT;

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausgeführt hat, längstens aber für die Dauer der am tTimeout-Eingang angelegten Zeit. Während bBusy = TRUE ist, wird an den Eingängen kein neuer Befehl angenommen.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Wird der Funktionsbaustein mit bExecute auf TRUE erneut aufgerufen, so wird bError auf FALSE und udiErrorId auf 0 zurückgesetzt

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch das Ausführen eines Befehls an den Eingängen auf 0 zurückgesetzt.

Entwicklungsumgebung | Zielsystem | erforderliche Bibliotheken
TwinCAT 2.11 R3/x64 | PC/CX | TcBangOlufsen-Bibliothek ab V1.0.0


FB_BangOlufsenGetClientConnectionState

Liest den Ethernet-Verbindungsstatus zwischen dem Masterlink-Gateway und dem TwinCAT Bang & Olufsen Server aus.

Beispiele

Download Demo Projekt

VAR_INPUT

sNetId                   : T_AmsNetId;
sMLGWClientName          : STRING(80);
bExecute                 : BOOL;
tTimeout                 : TIME := t#5s;

sNetId: AMS Net Id des Zielgerätes, auf dem der TwinCAT Bang & Olufsen Server betrieben wird.

sMLGWClientName: Name des Masterlink-Gateway Clients, dessen Verbindungsstatus ausgelesen werden soll.

bExecute: Durch eine steigende Flanke an diesem Eingang wird der Befehl ausgelöst.

tTimeout: Gibt die Zeit bis zum Abbruch der Funktion an.

Hinweis:

sMLGWClientName Konvention:

  • Groß / Kleinschreibung wird nicht beachtet
  • Buchstaben und Zahlen
  • Keine Sonderzeichen oder Umlaute, außer der "_" (Unterstrich)
  • Mindestlänge 1 Zeichen
  • Maximallänge 80 Zeichen

VAR_OUTPUT

bBusy                       : BOOL;
bError                      : BOOL;
udiErrorId                  : UDINT;
eMLGWClientConnectionState  : E_MLGWClientConnectionState;

bBusy: Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausgeführt hat, längstens aber für die Dauer der am tTimeout-Eingang angelegten Zeit. Während bBusy = TRUE ist, wird an den Eingängen kein neuer Befehl angenommen.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Wird der Funktionsbaustein mit bExecute auf TRUE erneut aufgerufen, so wird bError auf FALSE und udiErrorId auf 0 zurückgesetzt

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch das Ausführen eines Befehls an den Eingängen auf 0 zurückgesetzt.

eConnectionState: Dieser Ausgang wird auf eMLGWClientConnected gesetzt, sobald die Verbindung besteht. Besteht keine Verbindung wird der Ausgang auf eMLGWClientDisconnected gesetzt.

Entwicklungsumgebung | Zielsystem | erforderliche Bibliotheken
TwinCAT 2.11 R3/x64 | PC/CX | TcBangOlufsen-Bibliothek ab V1.0.0


Enum / Strukturen - Übersicht

TS8037 | TwinCAT Bang & Olufsen Server

Enums / Strukturen - Übersicht

Enum
E_MLGWClientConnectionState


E_MLGWClientConnectionState

TYPE E_MLGWClientConnectionState:
(
    eUnknown:= 0,
    eInitialized,
    eInitializing,
    eConnected,
    eConnecting,
    eDisconnected,
    eDisconnecting
);
END_TYPE


Fehlercodes / Fehlermeldungen

Hex Code | Dec Code | Beschreibung
0x8501 | 34049 | Ungültiger Parameter Wert(e) an einem SPS Funktionsblock.
0x8502 | 34050 | Die Konfigurationsdatei TcBangOlufsenServer.cfg wurde nicht gefunden.
0x8503 | 34051 | Interner Verarbeitungsfehler beim Laden der Konfigurationsdatei TcBangOlufsenServer.cfg.
0x8504 | 34052 | Fehler in der Konfigurationsdatei. Der XML-Knoten "MLGW " wurde nicht gefunden.
0x8505 | 34053 | Fehler in der Konfigurationsdatei. Das XML-Attribut "Ip" wurde nicht im MLGW XML-Knoten gefunden oder beinhaltet einen fehlerhaften Wert.
0x8506 | 34054 | Fehler in der Konfigurationsdatei. Das XML-Attribut "Port" wurde nicht im MLGW XML-Knoten gefunden oder beinhaltet einen fehlerhaften Wert.
0x8507 | 34055 | Fehler in der Konfigurationsdatei. Das XML-Attribut "Name" wurde nicht im MLGW XML-Knoten gefunden oder beinhaltet einen fehlerhaften Wert.
0x8508 | 34056 | Fehler in der Konfigurationsdatei. Der XML-Knoten "ADSDevice " wurde nicht gefunden.
0x8509 | 34057 | Fehler in der Konfigurationsdatei. Das XML-Attribut "Name" wurde nicht im ADSDevice XML-Knoten gefunden oder beinhaltet einen fehlerhaften Wert.
0x850A | 34058 | Fehler in der Konfigurationsdatei. Das XML-Attribut "Port" wurde nicht im ADSDevice XML-Knoten gefunden oder beinhaltet einen fehlerhaften Wert.
0x850B | 34059 | Fehler in der Konfigurationsdatei. Das XML-Attribut "AmsNetId" wurde nicht im ADSDevice XML-Knoten gefunden oder beinhaltet einen fehlerhaften Wert.
0x850C | 34060 | Interner Server Fehler beim Verarbeiten einer Anforderung. Der angegebene MLGW Client ist nicht vorhanden.
0x850D | 34061 | Interner Server Fehler beim Verarbeiten einer Get Client Connection Status Anforderung.
0x850E | 34062 | Interner Server Fehler beim Verarbeiten einer Virtual Button Event Anforderung.


Programmierbeispiele

Download TwinCAT PLC Demo Projekt

Download Bang & Olufsen Masterlink-Gateway Custom String Beispiel Konfiguration als CSV Datei