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 folgende:

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-Serverport. Die einzelnen Symbolserver werden dann unter diesem ADS-Serverport einsortiert. Der folgende Screenshot zeigt ein Beispiel für eine solche Konfiguration – zwei S7-Connectors mit jeweils einem eigenen Symbolserver-Objekt. Der TwinCAT Target Browser verbindet sich mit dem ADS-Serverport und zeigt den Namensraum des Symbolservers an.

Symbolserver Schnittstelle 6:

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

Befehl

Beschreibung

AdsGetHandle

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

AdsReleaseHandle

Freigeben des ADS-Handles.

AdsReadByHandle

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

AdsWriteByHandle

Schreiboperationen auf dem bezogenen 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 vom Symbolserver derzeit nicht unterstützt werden.

Beispiel: Verbindung zum Symbolserver mit TwinCAT OPC UA Server

Im vorigen Kapitel wurde das Aktivieren der Symbolserver-Schnittstelle auf einem S7-Connector-Gerät und das Browsen mit dem TwinCAT Target Browser durch dessen Namensraum erläutert. 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 beliebigen Texteditor 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 Server verwendet.

AdsPort

ADS-Serverport 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 Repository mit Beispielen auf GitHub enthält ein .NET Core Projekt, das die verschiedenen Möglichkeiten für den Zugriff des ADS-Clients auf den Symbolserver zeigt.