2x S7-314 mit 1x S7-200

Nordischerjung

Level-2
Beiträge
826
Reaktionspunkte
111
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

ich hab hier folgende Zusammenstellung:

2 Anlagen laufen parallel an einem Extruder. Die beiden Anlagen sind von mir und haben jeweils 1 314-2DP und ein DP/DP Koppler.
Der Extruder aht eine S7-200 mit PB-Slave.( Im vorraus wurde aber Besprochen, dass meine Daten über ein DP Koppler kommen, deswegen hätte ich also gedacht, dass die Extruderhersteller wissen, dass sie keine S7-200 nehmen könnten).
Eine Anlage sendet dem Extruder die Geschwindigkeit (errechnet durch die Gesamtzykluszeit), die andere empfängt die Geschwindigkeit vom Extruder und fährt ihren Zyklus danach. Dieses Handling ist jederzeit zwischen den Anlagen umschaltbar.
Mein Problem ist jetzt, dass der Extruderhersteller kein Mastersystem hat und so keine Daten vom DP Koppler empfangen/senden kann. Wie kann ich denn nun auf einfache Weise diese S7-200 in BEIDE 314-2DP integrieren? Ich kann sie doch nur in ein Mastesystem mit einbinden! Das ganze natürlich bis Dienstag, da ich da nach Ungarn muss, toll... Habt ihr vielleicht eine Idee? Ich stehe gerade wie der Ochs vorm Berg. Zu lange vor der Anlage :ROFLMAO:
 
eine "billige" DP-Master CPU dazwischen schalten.

oder einen Master direkt mit der 200er verknuddeln. Wird aber softwareseitig mit 2 Firmen schwierig
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du könntest die S7-200 statt mit dem DP/DP-Koppler per 2x MPI mit den beiden 314-2DP verbinden.
Also von der ersten 314-2DP einen MPI-Strang auf die Programmierschnittstelle der S7-200 und von der zweiten 314-2DP einen MPI-Strang auf das EM277. Somit ist die S7-200 mit beiden 314-2DP vernetzt, die beiden 314-2DP können gleichzeitig und unabhängig mit SFC68 "X_PUT" und SFC67 "X_GET" in/aus die S7-200 schreiben/lesen.

Falls Du eine CPU 224XP oder 226 hast, dann brauchst Du das EM277 nicht, weil die CPU schon 2 PPI/MPI-Schnittstellen hat.

Harald
 
Du könntest die S7-200 statt mit dem DP/DP-Koppler per 2x MPI mit den beiden 314-2DP verbinden.
Also von der ersten 314-2DP einen MPI-Strang auf die Programmierschnittstelle der S7-200 und von der zweiten 314-2DP einen MPI-Strang auf das EM277. Somit ist die S7-200 mit beiden 314-2DP vernetzt, die beiden 314-2DP können gleichzeitig und unabhängig mit SFC68 "X_PUT" und SFC67 "X_GET" in/aus die S7-200 schreiben/lesen.

Das ist mal ne gute Idee,reicht es wenn ich das in NetPro einrichte, oder wie sieht das aus?
Falls Du eine CPU 224XP oder 226 hast, dann brauchst Du das EM277 nicht, weil die CPU schon 2 PPI/MPI-Schnittstellen hat.

Harald
Weiß ich nicht, ist nicht meine SPS
 
reicht es wenn ich das in NetPro einrichte, oder wie sieht das aus?
Es wird nichts in NetPro projektiert (die S7-200 kann auch gar nicht in NetPro vernetzt werden).
An X_PUT und X_GET in den 314-2DP wird direkt die MPI-Adresse der S7-200 angegeben und die Variablenadresse, z.B. P#DB1.DBX100.0 BYTE 10 für VB100...VB109

In der S7-200 muß nur im Systemdatenbaustein die Schnittstelle 0 auf 187,5kBits/s und eine Adresse (= MPI-Adresse) eingestellt werden. Es muß für die Kommunikation nichts programmiert werden, einfach nur die Empfangsdaten aus den VB... auslesen und die Sendedaten in VB... schreiben.

Harald
 
Netzwerk "Daten aus S7-200 lesen"
Code:
//Mit der SFC 67 "X_GET" lesen Sie Daten aus einem Kommunikationspartner, 
//  der außerhalb der eigenen S7-Station liegt. (nichtprojektierte S7-Verbindung)
//  Auf dem Kommunikationspartner gibt es keine zugehörige SFC.
//Die Aktivierung des Lesevorgangs erfolgt nach Aufruf der SFC mit REQ=1.
//  Anschließend rufen Sie die SFC so lange auf,
//  bis der Datenempfang mit BUSY=0 angezeigt wird.
//  RET_VAL enthält dann die Länge des empfangenen Datenblocks in Byte.

// - REQ nur 1 Zyklus lang anstoßen.
// - X_GET mit X_PUT verriegeln, da auf der Verbindung gleichzeitig
//   nur 1 Auftrag X_GET oder X_PUT bearbeitet werden kann.

      UN    "SM2_GBUSY"                 //X_GET 12 nicht aktiv
      UN    "SM2_PBUSY"                 //X_PUT 12 nicht aktiv
      =     "SM2_GREQ"                  //X_GET 12 starten

      CALL  "X_GET"
       REQ     :="SM2_GREQ"             //Auftragsanstoß
       CONT    :=TRUE                   //Verbindung aufrechterhalten
       DEST_ID :=W#16#C                 //MPI-Adresse 12
       VAR_ADDR:=P#DB1.DBX 3.0 BYTE 10  //DEST-CPU Variablenbereich VB3...VB12
       RET_VAL :=#tmpRETVAL             //Status-Rückgabewert
       BUSY    :="SM2_GBUSY"            //1=Auftrag läuft noch
       RD      :=P#DB6.DBX7.0 BYTE 10   //Empfangspufferbereich

      UN    "SM2_GBUSY"
      FP    "SM2_GBUSY_FP"
      =     "SM2_NewData"               //neue Daten geholt (1 Zyklus)
      SPBN  G12E

      L     #tmpRETVAL                  //Ende-Status
      T     MW   114

G12E: L     MW   114                    //zum Beobachten
//    ist   10 solange Verbindung steht (=Anzahl empfangener Bytes)
//             auch wenn DEST-CPU in STOP ist!
//    ist 80C3 wenn Verbindung unterbrochen

Netzwerk "Daten in S7-200 schreiben"
Code:
//Mit der SFC 68 "X_PUT" schreiben Sie Daten in einen Kommunikationspartner,
//  der außerhalb der eigenen S7-Station liegt. (nichtprojektierte S7-Verbindung)
//  Auf dem Kommunikationspartner gibt es keine zugehörige SFC.
//Die Aktivierung des Schreibvorgangs erfolgt nach Aufruf der SFC mit REQ=1.
//  Anschließend rufen Sie die SFC so lange auf,
//  bis der Quittungsempfang mit BUSY=0 angezeigt wird.

// - REQ nur 1 Zyklus lang anstoßen.
// - X_GET mit X_PUT verriegeln, da auf der Verbindung gleichzeitig
//   nur 1 Auftrag X_GET oder X_PUT bearbeitet werden kann.

      UN    "SM2_GBUSY"                 //X_GET 12 nicht aktiv
      UN    "SM2_PBUSY"                 //X_PUT 12 nicht aktiv
      =     "SM2_PREQ"                  //X_PUT 12 starten

//Test, ob X_PUT "SD" zwischenspeichert
//Testergebnis: JA!!!
//              X_PUT speichert "SD"-Daten bei Erstaufruf

      CALL  "X_PUT"
       REQ     :="SM2_PREQ"             //Auftragsanstoß
       CONT    :=TRUE                   //Verbindung aufrechterhalten
       DEST_ID :=W#16#C                 //MPI-Adr. 12 -> gleiche Vb. wie X_GET
       VAR_ADDR:=P#DB1.DBX 0.0 BYTE 3   //DEST-CPU Variablenbereich VB0..2
       SD      :=P#DB6.DBX4.0 BYTE 3    //Sendepufferbereich
       RET_VAL :=#tmpRETVAL             //Status-Rückgabewert
       BUSY    :="SM2_PBUSY"            //1=Auftrag läuft noch

      UN    "SM2_PBUSY"
      FP    "SM2_PBUSY_FP"
      SPBN  P12E

      L     #tmpRETVAL
      T     MW   116

P12E: L     MW   116                    //zum Beobachten
//    ist    0 solange Verbindung steht
//             auch wenn DEST-CPU in STOP ist!
//    ist 80C3 wenn Verbindung unterbrochen

Harald
 
Es wäre auch noch zu klären:
21x oder 22x!
Die 21x konnten m.w. nach noch kein MPI!
Ausnahme hier: die 215, die konnte sogar DP-Slave.

Gruß
Timo
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es wäre auch noch zu klären:
21x oder 22x!
Die 21x konnten m.w. nach noch kein MPI!
Ausnahme hier: die 215, die konnte sogar DP-Slave.

Gruß
Timo
Ich denke schon 22x, da es eine neue Anlage ist (aber nichts genaues weiß man nicht :ROFLMAO:)

Es wurde aber nun entschieden, ein DP Master einzusetzen, der auf der S7-200 Seite dazu kommt. Als günstigste Variante wird nun die IM151-7 und die DPM-Anschaltung genommen. Wenn ich das so mache, könnte ich doch den DP- Koppler ausbauen. Die Slaveseite der IM151-7 kann doch in mein Mastersystem und die Masterseite der IM151-7 in das S7-200 System. Geht das so? Ansonsten lasse ich die Koppler drin. Geld spielt doch keine Rolle :ROFLMAO:
 
Zurück
Oben