Step 7 Put/Get mit 2 IBHLink S7++

bayersepper

Level-2
Beiträge
73
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

Ich kämpfe damit das ich 2 CPU 2DP miteinander verbinden möchte.
Es ist das erstemal das ich eine Verbindung herstellen will.

Ich habe bereits beim Support von IBH-Softec angefragt - als Antwort kam eine weiteres Beispielprogramm.

Vielleicht kann mir jemand helfen.

Danke schon mal im voraus.

Hardware:
2 IBHLink S7++
- Typ NL50MPI Firmware 2.170

2 CPU 315 2DP
- 315-2AG10-0AB0 v2.6

Step 7 v5.6

Vorteil dieser Verbindung soll sein, dass keine Projektierung nötig ist.
Die Bausteine FB67/FB68 stellt IBH im Bipielprogramm zur Verfügung.
Die entfernte CPU(Quelle) wird mittels IP-Adresse vom DB100 aufgerufen.

Auf der Quell-CPU schreibe ich zB. Eingänge in denn Merkerbereich ab M100.0

Als Fehlermeldung bekomme ich 7002 bzw. 80C3 wenn ich die Abfrage ständig wieder anstoße.



anstoße.

Grüße
bayersepper

Code:
OB1
      CALL  "XPUT_IBH" , "DB_XPUT"
       REQ         :="Abfrage"
       DEST_ID     :=0
       DB_PARA     :=100
       IBHLINK_ADDR:=B#16#A
       DST_ADDR    :="DB_Ziel".Daten
       SRC_ADDR    :=P#M 100.0 BYTE 10
       RESULT      :=MW20
       BUSY        :="Auftragstart"
      
      CALL  "XGET_IBH" , "DB_XGET"
       REQ         :="Lesen"            //Start Lesevorgang
       DEST_ID     :=0                  //Zeiger im Parameter DB
       DB_PARA     :=100                //Nr. des Parameter DBs
       IBHLINK_ADDR:=B#16#A             //MPI Adresse Quell IBH Link
       SRC_ADDR    :=P#M 100.0 BYTE 10  //Quelladresse entfernte CPU
       DST_ADDR    :="DB_Ziel".Daten    //Zieladresse lokale CPU
       RESULT      :=MW24               //Statuswort
       BUSY        :="Lesevorgang"      //Lesevorgang in Arbeit
      
      
      U     "Schalter_1"
      FP    M      5.1
      =     "Abfrage"

      U     "Schalter_2"
      O     "Lesen"
      UN    "Lesevorgang"
      =     "Lesen"


Code:
DB 100
DB_VAR[0].bIpAddr[0]    BYTE    B#16#0    B#16#C0    IP-Address   
DB_VAR[0].bIpAddr[1]    BYTE    B#16#0    B#16#A8       
DB_VAR[0].bIpAddr[2]    BYTE    B#16#0    B#16#B2       
DB_VAR[0].bIpAddr[3]    BYTE    B#16#0    B#16#F4       
DB_VAR[0].bMpiAdr        BYTE      B#16#0  B#16#1E       MPI-Address    // Quelle
DB_VAR[0].bRack            BYTE    B#16#0    B#16#0    CPU Rack [0..7]   
DB_VAR[0].bSlot            BYTE    B#16#0    B#16#0    CPU Slot [0..31]   
DB_VAR[0].bSubSlot        BYTE    B#16#0    B#16#0    reserved
 
Zuletzt bearbeitet von einem Moderator:
Zuviel Werbung?
-> Hier kostenlos registrieren
Diese Adapter sitzen auf der MPI-Schnittstelle. Oder kapiere ich das nicht richtig wie du es meinst?
Du kannst mehrere SPS auch direkt über MPI vernetzen und z.B. auch die Globaldaten-Kommunikationen nutzen. Ist die billigste Vernetzung bei S7.
 
Ich meine damit das die beiden CPU's nicht mit einer Leitung verbunden sind. Mein Grundgedanke war das ich so meine 2-3 Kleinsteuerungen
Abfragen kann für die Fehlersuche. Vom PG aus geht es ohnehin das ich Online gehen kann.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Lange Rede, kurzer Sinn: du willst 2 CPU über (Ethernet-)Netzwerk verbinden (und auch von WLAN zugreifen), deine CPU haben aber keine Netzwerk-Schnittstellen. Deshalb willst du IBH Link S7++ verwenden.

Das sollte mit den neueren Firmware-Versionen der IBH Link S7++ funktionieren. Habe ich aber noch nicht ausprobiert.
Die IBH Link S7++ "tunneln" die MPI- oder Profibus-Kommunikation transparent. Die CPUs bekommen dabei von dem tatsächlichen Transport über Ethernet nichts mit. Je nachdem, ob die IBH Link S7++ auf den MPI-Schnittstellen oder den DP-Schnittstellen stecken, musst du Kommunikations-Funktionen für MPI- oder Profibus verwenden, also MPI --> XPUT/XGET/X..., DP --> PUT/GET
 
Zurück
Oben