IBHLink S7++:PLC-PLC communication

From IBHsoftec Wiki English
Revision as of 18:08, 13 February 2013 by Joscha (Talk | contribs)

Jump to: navigation, search

Ethernet to MPI / PROFIBUS

EthernetMPICPschema.png

Requirements:
- SIMATIC Manager
- IBH Link S7++ / HS with Firmware >= 2.142
- CPU with MPI or PROFIBUS Interface
- CPU with Ethernet onboard or Ethernet CP. The Interface must support S7 connections. It can be checked within the hardware properties: S7 connection active (Server means passive).


Download: STEP®7 Sample: Ethernet to MPI/PROFIBUS

Active:
EthernetMPICPaktiv.png

Passive:
EthernetMPICPpassiv.png

Within NetPro the CPU must be connected with the Ethernet. An unspecified connection needs to be created:
EthernetMPIS7connection.png

To access several CPUs accordingly, several S7 connections need to be configured. The connection ID is relevant for the call of the FBs/SFBs. If the amount of CPUs exceeds the amount of possible S7 connections, Ethernet to PROFIBUS via PROFIBUS CP (Multiplexing) can be chosen.

Within the properties of the S7 connection the IP address of the IBH Links must be entered:
EthernetMPIS7connection2.png

Within the Address Details enter the MPI address of the destination CPU.
EthernetMPIS7connection3.png

The communication will be established usings the blocks FB14/FB15. There are different FB14/FB15 available. Depending if a CPU with onboard Ethernet or a CPU with Ethernet CP is used, the correct set of blocks must be chosen, otherwise there will be no data exchange.
CPU with onboard Ethernet = Standard Library
CPU with Ethernet CP = SIMATIC_NET_CP
FB14.png

Sample:

     CALL  "GET" , DB14
      REQ   :=M0.0                     //Start reading with positive edge
      ID    :=W#16#1                   //S7 connection ID configured within NetPro
      NDR   :=M0.1                     //Job status 
      ERROR :=M0.2                     //ERROR flag
      STATUS:=MW2                      //STATUS infomation(Siemens documentation)
      ADDR_1:=P#M 10.0 BYTE 20         //Source address connected CPU
      RD_1  :=P#M 10.0 BYTE 20         //Destination address local CPU

Depending on the type of CPU the correct set of blocks, FB14/15 or SFB14/15 must be chosen. The final step is to tranfer the S7 program and the system data to the CPU.

Ethernet to PROFIBUS via PROFIBUS CP (Multiplexing)

EthernetMPIS7VerbindungCPSchema.png

Voraussetzungen
- Simatic Manager
- IBH Link S7++ / HS ab Firmware 2.142
- CPU mit PROFIBUS-CP
- CPU mit Ethernetschnitstelle oder Ethernet CP; Die Schnittstelle muss S7-Verbindungen unterstützen. Zu erkennen an folgenden

Eigenschaften: S7-Verbindung aktiv (Server bedeutet passiv).


Download: STEP®7 Beispiel: Ethernet nach PROFIBUS über PROFIBUS-CP

Aktiv:
Datei:EthernetMPICPaktiv.png

Passiv:
Datei:EthernetMPICPpassiv.png

In NetPro muss die CPU mit einem Industrial Ethernet verbunden werden. Es wird eine unspezifizierte S7-Verbindung benötigt:
Datei:EthernetMPIS7Verbindung.png

In den Eigenschaften der S7-Verbindung muss die IP-Adresse des IBH Links angegeben werden:
Datei:EthernetMPIS7Verbindung2.png

In den Adressendeteils muss die Rack- und Steckplatznummer eine spezielle IBH Link Routing Kennung angegeben werden: Rack 7, Steckplatz 31
Datei:EthernetMPIS7VerbindungCP.png

Verbindungsaufbau per FB/SFB 15 (PUT)
Da beim Verbindungsaufbau mit einem IBH Link S7++ über einen PROFIBUS-CP mehr Verbindungsinformationen benötigt werden, als in NetPro angegeben werden können, kann der IBH Link S7++ mit einer speziellen Kennung in einen Modus versetzt werden, in dem er die benötigten Verbindungsparameter mit einem Aufruf des Bausteins "PUT" als Datenstruktur übergeben bekommt. Diese Verbindung eignet sich auch für den Datenaustausch mit mehreren Ziel-CPUs, selbst wenn die Ethernet-CPU von sich aus keine ausreichensde Anzahl an S7-Verbindungen aufbauen kann.

OB1 erstellen
Im ersten Netzwerk wird der Baustein SFB15 zur Parameterübergabe aufgerufen. Im zweiten Netzwerk wird der SFB14/15 für den Datenaustausch aufgerufen.
Datei:OB1.png

CALL "PUT" , DB15

      REQ   :=M0.0                     //Lesevorgang bei steigender Flanke 
      ID    :=W#16#1                   //S7-Verbindungs ID wie in NetPro projektiert
      DONE  :=M0.1                     //Schreibvorgang abgeschlossen
      ERROR :=M0.2                     //Fehlerbit
      STATUS:=MW2                      //Statuswort (siehe Dokumentation Siemens)
      ADDR_1:=P#DB65535.DBX 224.0 BYTE 8    //IBH Link S7++ Kennung für PROFIBUS-Verbindungsaufbau.

Der IBH Link S7++ bekommt mit dieser Kennung den Verbindungsaufbau mitgeteilt.

      ADDR_2:=
      ADDR_3:=
      ADDR_4:=
      SD_1  :="PLC_CONNECTION_RECORDS".Connection[0]
      SD_2  :=
      SD_3  :=
      SD_4  :=

"PLC_CONNECTION_RECORDS" – Symbolischer Name des DBs welcher die Verbindungsparameter enthält. Connection[0] – Zeiger auf die gewünschte Start Adresse im DB welcher die Verbindungsparameter enthält. Enthält der DB mehrere Verbindungen, können sie über diesen Parameter ausgewählt werden und somit auf verschiedene CPUs zugreifen.

CALL SFB 14 , DB14

      REQ   :=M10.0                    //Lesevorgang bei steigender Flanke starte
      ID    :=W#16#1                   //S7-Verbindungs ID wie in NetPro projektiert
      NDR   :=M10.1                    //Lesevorgang abgeschlossen
      ERROR :=M10.2                    //Fehlerbit
      STATUS:=MW20                     //Statuswort (siehe Dokumentation Siemens)
      ADDR_1:=P#M 10.0 BYTE 20         // zu lesende Daten entferte CPU
      ADDR_2:=
      ADDR_3:=
      ADDR_4:=
      RD_1  :=P#M 10.0 BYTE 20         //zu schreibende Daten lokale CPU
      RD_2  :=
      RD_3  :=
      RD_4  :=

Abhängig von der verwendeten CPU müssen die passenden Bausteine FB14/15 oder SFB14/15 verwendet werden.

Es wird ein DB benötigt, welcher die Verbindungsparameter enthält.

Datei:DB.png

Es werden die Parameter MPI-Adresse, Slot- und Racknummer verwendet. Eine Angabe der IP Adresse ist bei dieser Art der Verbindung ist nicht nötig. Bei mehreren Verbindungen empfiehlt es sich mit UDTs zu arbeiten.

MPI – Ethernet – MPI without projected configuration / MPI – Ethernet / MPI – IBH Link S5++

Voraussetungen
- Simatic Manager oder S7 für Windows von IBHsoftec
- 2 x IBH Link S7++ / HS ab Firmware 2.142
- CPU muss die Bausteine XPUT und XGET (SFC67, SFC 68) enthalten. Ob eine CPU die Bausteine enthält, ist in der Siemens Dokumentation zur entsprechenden CPU ersichtlich. Für diese Verbindung ist keine Projektierung nötig. Die Bausteine XPUT / XGET werden im SPS Programm aufgerufen und bauen dadurch die Verbindung von einem IBH Link S7 zu einem andern IBH Link auf. Für eine komfortable Konfiguration der Kommunikationsparameter sind die von IBHsoftec entwickelten Baustein XPUT_IBH und XGET_IBH verfügbar.


Download: STEP®7 Beispiel: MPI – Ethernet – MPI ohne Projektierung

Datei:Block call.png

CALL FB 67 , DB67

      REQ         :=M10.0              //Start Lesevorgang
      DEST_ID     :=0                  //Zeiger im Parameter DB
      DB_PARA     :=100                //Nr. des Parameter DBs
      IBHLINK_ADDR:=B#16#0             //MPI Adresse Quell IBH Link
      SRC_ADDR    :=P#M 100.0 BYTE 20  //zu lesende Daten entfernte CPU
      DST_ADDR    :=P#M 100.0 BYTE 20  //zu schreibende Daten lokale CPU
      RESULT      :=MW2                //Statuswort
      BUSY        :=M3.0               //Lesevorgang in Arbeit

Die Verbindungsdaten des IBH Links der Quell CPU werden in einem DB hinterlegt.

Datei:Db.png

Rack und Slot Nummer sind bei MPI 0. Bei S5 Verbindungen folgende Parameter für den IBH Link S5++ verwenden:
Ziel-IP-Adresse: IP-Adresse des IBHLink S5++
Ziel-MPI-Adresse: 2
Ziel-Rack: 0
Ziel-Steckplatz: 0

MPI – Ethernet – MPI with S7 conection (projected) / MPI – Ethernet / MPI – IBH Link S5++

Voraussetzungen
- Simatic Manager
- 2 x IBH Link S7++ / HS ab Firmware 2.142
- CPU mit MPI Schnistelle
- Schnittstelle muss S7-Verbindungen unterstützen


Download: STEP®7 Beispiel: MPI – Ethernet – MPI mit S7-Verbindung (Projektiert)


In NetPro muss die CPU mit einem Industrial Ethernet verbunden werden. Es wird eine unspezifizierte S7-Verbindung benötigt:
Datei:S7Verbindung600px.png

In den Eigenschaften der S7-Verbindung muss die MPI-Adresse des Quell-IBH Links angegeben werden:
Datei:S7Verbindung2.png

Verbindungsaufbau per FB/SFB 15 (PUT)
Da beim Verbindungsaufbau mit einem IBH Link S7++ mehr Verbindungsinformationen benötigt werden, als in NetPro angegeben werden können, kann der IBH Link S7++ mit einer speziellen Kennung in einen Modus versetzt werden, in dem er die benötigten Verbindungsparameter mit einem Aufruf des Bausteins "PUT" als Datenstruktur übergeben bekommt. Ein weiterer Grund für die Verwendung dieser Verbindung ist, wenn Sie Daten mit mehreren Ziel-CPUs austauschen möchten.

OB1 erstellen
Im ersten Netzwerk wird der Baustein SFB15 zur Parameterübergabe aufgerufen. Im zweiten Netzwerk wird der SFB14/15 für den Datenaustausch aufgerufen.
Datei:OB1.png

CALL "PUT" , DB15

      REQ   :=M0.0                     //Lesevorgang bei steigender Flanke 
      ID    :=W#16#1                   //S7-Verbindungs ID wie in NetPro projektiert
      DONE  :=M0.1                     //Schreibvorgang abgeschlossen
      ERROR :=M0.2                     //Fehlerbit
      STATUS:=MW2                      //Statuswort (siehe Dokumentation Siemens)
      ADDR_1:=P#DB65535.DBX 224.0 BYTE 8    //IBH Link S7++ Kennung für PROFIBUS-Verbindungsaufbau.

Der IBH Link S7++ bekommt mit dieser Kennung den Verbindungsaufbau mitgeteilt.

      ADDR_2:=
      ADDR_3:=
      ADDR_4:=
      SD_1  :="PLC_CONNECTION_RECORDS".Connection[0]
      SD_2  :=
      SD_3  :=
      SD_4  :=

"PLC_CONNECTION_RECORDS" – Symbolischer Name des DBs welcher die Verbindungsparameter enthält. Connection[0] – Zeiger auf die gewünschte Start Adresse im DB welcher die Verbindungsparameter enthält. Enthält der DB meherere Verbindungen, können sie über diesen Parameter ausgewählt werden und somit auf verschiedene CPUs zugreifen.

CALL SFB 14 , DB14

      REQ   :=M10.0                    //Lesevorgang bei steigender Flanke starten
      ID    :=W#16#1                   //S7-Verbindungs ID wie in NetPro projektiert
      NDR   :=M10.1                    //Lesevorgang abgeschlossen
      ERROR :=M10.2                    //Fehlerbit
      STATUS:=MW20                     //Statuswort (siehe Dokumentation Siemens)
      ADDR_1:=P#M 10.0 BYTE 20         //zu lesende Daten entfernte CPU
      ADDR_2:=
      ADDR_3:=
      ADDR_4:=
      RD_1  :=P#M 10.0 BYTE 20         //zu schreibende Daten lokale CPU
      RD_2  :=
      RD_3  :=
      RD_4  :=

Abhängig von der verwendeten CPU müssen die passenden Bausteine FB14/15 oder SFB14/15 verwendet werden.

Es wird ein DB benötigt, welcher die Verbindungsparameter enthält.

Datei:DB.png

Es werden die Parameter MPI-Adresse, Slot- und Racknummer verwendet. Eine Angabe der IP Adresse ist bei dieser Verbindung ist nicht nötig. Bei mehreren Verbindungen empfiehlt es sich, mit UDTs zu arbeiten.

Bei S5 Verbindungen folgende Parameter für den IBH Link S5++ verwenden:
Ziel-IP-Adresse: IP-Adresse des IBHLink S5++
Ziel-MPI-Adresse: 2
Ziel-Rack: 0
Ziel-Steckplatz: 0

Connection via IBH Link Mode: Configuration via NetPro

Voraussetungen
- Simatic Manager
- IBH Link S7++ / HS ab Firmware 2.142
- Schnittstelle muss S7-Verbindungen unterstützen

Download: STEP®7 Beispiel: Verbindung über IBH Link im Projektierten Modus

Diese Verbindungsvariante hat den Vorteil das Große Datenmengen schnell ausgetauscht werden können - bis zu 64K. Für die Kommunikation werden die Standardbausteine FB/SFB 8/9 (USEND / URCV) und FB/SFB 12/13 (BSEND / BRCV).

Routing-Modus muss in IBHLink S7++ aktiviert sein. Dieser Modus ist ab Firmware Version 2.142 verfügbar. In diesem Modus sind keine unprojektierte Verbindungen über RFC1006 mehr möglich! Verbindungen über den IBHNet-Treiber funktionieren weiterhin.

Datei:IBH Link.png

Der IBHLink S7++ wird in NetPro als eine Station angelegt.
Datei:IBH Link als Station.png
Folgende Baugruppe muss vrwendet werden:
MLFB: 6ES7 412-2EK06-0AB0 V6.0 in Rack 0, Steckplatz 2
MPI/Profibusadresse wie IBHLink S7++
IP-Adresse von IBHLink S7++

Konfiguration der Station im Hardwarekonfigurator:
Datei:IBH_Link_als_Station_HWK.png

In NetPro müssen neben der IBH Link Station auch alle CPUs angelegt werden, mit denen kommuniziert werden soll. Die S7-Verbindung wird von der tatsächlichen CPU über Ethernet zur IBH Link Station aufgebaut. Hierbei ist die tatsächliche CPU der aktive Teilnehmer.
Datei:Verbindung1.png

Datei:Verbindung1Parameter.png

Die Partner-Verbindungsresource wird automatisch vergeben und ist für den nächsten Schritt relevant.

Datei:Verbindung1Details.png

Die IBH Link Station baut nun eine S7-Verbindung über Profibus zur zweiten tatsächlichen CPU auf. Hierbei ist die IBH Link Station der aktive Teilnehmer. Als lokale Verbindungs-ID wird hier nun die im vorherigen Schritt automatisch zugewiesene Verbindungsresource (im Beispiel: 10) angegeben.

Datei:Verbindung2px800.png

Der Verbindungsstatus kann direkt in NetPro angezeigt werden:

Datei:Verbindungsstatus aktivieren.png

Mit dieser Verbindungsvariante sind komplexe Vernetzungen möglich:

Datei:VerbindungMulti.png

Für eine Verbindung zu einem IBH Link S5++ muss keine Dummy-CPU in NetPro angelegt werden. Es reicht aus, lediglich eine unspezifizierte S7-Verbindung über Ethernet einzurichten. Die Partner-IP-Adresse ist in diesem Fall die IP-Adresse des IBH Link S5++. Zur Kommunikation müssen die Bausteine PUT/GET verwendet werden - SFB14/15.
Datei:VerbindungS5px800.png