Symbolserver Schnittstelle

Seit der Produktversion 1.1.4 enthält die Implementierung des S7-Protokoll-Treibers eine ADS-Symbolserver-Schnittstelle, die ADS den Lese-/Schreibzugriff auf konfigurierte S7-Variablen ermöglicht. Es gibt viele verschiedene Anwendungsfälle für diese Art des Zugriffs. Solche Anwendungsfälle sind möglich, jedoch nicht beschränkt auf:

Symbolserver Schnittstelle 1:

Der Symbolserver ist als separates TcCOM-Objekt verfügbar, das zu einem S7-Connector-Gerät hinzugefügt wird.

Symbolserver Schnittstelle 2:

Symbolserver Schnittstelle 3:

Das Symbolserver-Objekt definiert kein Prozessabbild. Stattdessen werden alle S7-Variablen im Fenster Symbolvariablen konfiguriert. In diesem Fenster finden Sie den Server Port des ADS-Symbolservers in der oberen rechten Ecke.

Symbolserver Schnittstelle 4:

Symbolserver Schnittstelle 5:

Mehrere Symbolserver

Bitte beachten Sie, dass Sie mehr als einen Symbolserver konfigurieren können, z.B. wenn Sie auf mehrere S7-Steuerungen zugreifen wollen. In diesem Fall teilen sich alle Symbolserver denselben ADS Server Port. Die einzelnen Symbolserver werden dann unter diesem ADS Server Port einsortiert. Der folgende Screenshot zeigt ein Beispiel für eine solche Konfiguration - zwei S7-Steckverbinder mit jeweils einem eigenen Symbolserver-Objekt. Der TwinCAT Target Browser verbindet sich mit dem ADS Server Port und zeigt den Namensraum des Symbolservers an.

Symbolserver Schnittstelle 6:

In der folgenden Tabelle sind alle derzeit verfügbaren ADS-Befehle auf der Symbolserver Schnittstelle aufgeführt.

Kommando

Beschreibung

AdsGetHandle

Erfassen eines ADS-Handles über den Symbolnamen der Variablen.

AdsReleaseHandle

ADS-Handle freigeben.

AdsReadByHandle

Leseoperationen auf dem erfassten Handle. Unterstützt auch Summenkommandos.

AdsWriteByHandle

Schreiboperationen auf dem erfassten Handle. Unterstützt auch Summenkommandos.

AdsRead

Leseoperationen über direkte Kommunikation mit IndexGroup/IndexOffset. Unterstützt auch Summenkommandos.

AdsWrite

Schreiboperationen über direkte Kommunikation mit IndexGroup/IndexOffset. Unterstützt auch Summenkommandos.

Bitte beachten Sie, dass ADS Notifications derzeit nicht vom Symbolserver unterstützt werden.

Beispiel: Verbindung zum Symbolserver mit TwinCAT OPC UA Server

Im vorigen Kapitel haben Sie gesehen, wie Sie die Symbolserver Schnittstelle auf einem S7 Connector-Gerät aktivieren und mit dem TwinCAT Target Browser durch dessen Namensraum browsen können. Als weiteres Beispiel wollen wir nun den TwinCAT OPC UA Server so konfigurieren, dass er auf die Symbolserver Schnittstelle zugreift und die konfigurierten S7-Variablen über seinen OPC UA Server Adressraum zur Verfügung stellt.

Nachdem der TwinCAT OPC UA Server installiert wurde, öffnen Sie seine Data Access Konfiguration (TcUaDaConfig.xml), um die Verbindungsdetails des Symbolservers zu konfigurieren. Sie können die Data Access Konfiguration entweder mit dem TwinCAT OPC UA Configurator oder mit einem Texteditor Ihrer Wahl bearbeiten.

Fügen Sie ein neues Datenzugriffgerät mit den folgenden erforderlichen Parametern hinzu:

Parameter

Beschreibung

Name

Eindeutiger Name für das Gerät. Wird als Einstiegspunkt in den Adressraum des OPC UA Servers verwendet.

AdsPort

ADS Server Port des Symbolservers, z. B. 20100.

AdsNetId

NetID des Systems, auf dem das Produkt TwinCAT S7 Communication läuft.

AutoCfg

Wert 5: schaltet den TwinCAT OPC UA Server in den Modus "Symbol Server Access".

Der folgende Auszug aus TcUaDaConfig.xml zeigt ein Beispiel für eine solche Konfiguration.

<UaNodeManager>
  <Name>S7</Name>
  <AdsPort>20100</AdsPort>
  <AdsNetId>127.0.0.1.1.1</AdsNetId>
  <AdsTimeout>2000</AdsTimeout>
  <AdsTimeSuspend>20000</AdsTimeSuspend>
  <AutoCfg>5</AutoCfg>
  <AutoCfgSymFile></AutoCfgSymFile>
  <IoMode>1</IoMode>
  <MaxGetHandle>100</MaxGetHandle>
  <ReleaseAdsVarHandles>1</ReleaseAdsVarHandles>
  <Disabled>0</Disabled>
</UaNodeManager>

Sobald diese Konfiguration aktiviert ist, verbindet sich der TwinCAT OPC UA Server mit dem Symbolserver und importiert dessen Namensraum. Ein OPC UA Client kann sich dann mit dem Server verbinden und auf die Variablen zugreifen.

Symbolserver Schnittstelle 7:

Beispiel: Verbindung zum Symbolserver mit benutzerdefiniertem ADS Client

Unser Beispiel Repository auf GitHub enthält ein .NET Core Projekt, das die verschiedenen Möglichkeiten eines ADS Clients für den Zugriff auf den Symbolserver demonstriert.