Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 30

Thema: Mögliche Rack/Slot Kombinationen ?

  1. #1
    Registriert seit
    13.03.2006
    Beiträge
    428
    Danke
    5
    Erhielt 43 Danke für 43 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Kann mir jemand sagen, welche Kombinationen von Rack/Slot bei den verschiedenen S7 SPS'en gültig sind ?

    --------# Rack Slot
    ##########################
    S7_200 #
    S7_300 #
    S7_400 #
    S/_1200 #
    Zitieren Zitieren Mögliche Rack/Slot Kombinationen ?  

  2. #2
    Registriert seit
    25.06.2007
    Ort
    Dresden
    Beiträge
    3.930
    Danke
    465
    Erhielt 878 Danke für 634 Beiträge

    Standard

    Zitat Zitat von pvbrowser Beitrag anzeigen
    Kann mir jemand sagen, welche Kombinationen von Rack/Slot bei den verschiedenen S7 SPS'en gültig sind ?

    --------# Rack Slot
    ##########################
    S7_200 #
    S7_300 #
    S7_400 #
    S/_1200 #
    Du solltest schon dazu sagen, ob das sich auf CPU oder CP bezieht.
    Also bei der S7-300 ist es für die CPU klar:

    Rack 0 / Slot 2 == CPU

    Bei der S7-400 kann es versch. Kombination geben - auch Multiprozessorbetieb.
    Das kann man für die konkrete Konfig aber alles aus der HWKonfig ablesen.

    Mit S7_200 # und S7_1200 # habe ich momentan nix zu tun, aber das sollte auch kein
    Problem sein das herauszubekommen.


    Gruß

    Frank
    Grüße Frank

  3. #3
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von IBFS Beitrag anzeigen
    Bei der S7-400 kann es versch. Kombination geben - auch Multiprozessorbetieb.
    Das kann man für die konkrete Konfig aber alles aus der HWKonfig ablesen.
    schließt "Multiprozessorbetrieb" in deiner Definition die Mglkt. 2er unabhängiger CPUs, die lediglich über SEND und RECV kommunizieren könne, wenn sie wollen, ein?
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  4. #4
    Registriert seit
    25.06.2007
    Ort
    Dresden
    Beiträge
    3.930
    Danke
    465
    Erhielt 878 Danke für 634 Beiträge

    Standard

    Die Frage, die gestellt wurde, bezieht sich doch nur auf den
    physiaklischen RACK/SLOT-Platz. Da ist mir die Art der
    Kommunikation erstmal schnuppe, denn das war ja nicht gefragt.
    Und wenn des die Möglichkeit gibt, zwei CPUs zu stecken, dann
    sind das zwei verschiedene SLOT-Plätze.
    Das ist so wie die quasi-MPI-Adesse einer FM343, die mußte
    auch korrekt angegeben werden, sonst war Essig mit der
    Datenübertragung. - Ja ich komme vom Thema ab.

    Gruß

    Frank
    Geändert von IBFS (08.07.2010 um 12:27 Uhr)
    Grüße Frank

  5. #5
    Registriert seit
    13.03.2006
    Beiträge
    428
    Danke
    5
    Erhielt 43 Danke für 43 Beiträge

    Standard

    Zitat Zitat von IBFS Beitrag anzeigen
    Du solltest schon dazu sagen, ob das sich auf CPU oder CP bezieht.
    Rack/Slot legen ja letztendlich den TSAP bei der Kommunikation fest.
    Ähnlich zu libnodave haben wir eine Klasse zur Kommunikation mit Siemens SPS'en.
    http://pvbrowser.org/pvbrowser/sf/ma...iemensTCP.html

    Mir geht es jetzt darum, eine Regel zur Bildung des TSAP aus Rack/Slot zu bekommen, die für alle S7 Modelle gilt.

  6. #6
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Kannst du den TSAP nicht einfach berechnen, aus den Rack/Slot Werten, sowie das LibNoDave macht??

    Glaube 4 Bits für Rack und 4 Bits für Slot....
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  7. #7
    Registriert seit
    13.03.2006
    Beiträge
    428
    Danke
    5
    Erhielt 43 Danke für 43 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Kannst du den TSAP nicht einfach berechnen, aus den Rack/Slot Werten, sowie das LibNoDave macht??

    Glaube 4 Bits für Rack und 4 Bits für Slot....
    Bei libnodave finde ich:

    grep rack nodave.c
    daveConnection * DECL2 daveNewConnection(daveInterface * di, int MPI, int rack, int slot) {
    dc->rack=rack;
    dc->msgOut[17]=dc->rack+1;

    grep slot nodave.c
    daveConnection * DECL2 daveNewConnection(daveInterface * di, int MPI, int rack, int slot) {
    dc->slot=slot;
    dc->msgOut[18]=dc->slot;

    Anscheinend muss bei rack noch 1 addiert werden.
    Dann wären S7_300 und S7_400 geklärt.

    Bei S7_200 gibt es ja keinen Rack/Slot.
    Da steht dann 'M','W'. in msgOut[17/18]

    Wie sieht das aber nun bei S7_1200 aus ?

    Leider habe ich keine S7_1200 zum testen

  8. #8
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Zitat Zitat von pvbrowser Beitrag anzeigen
    Bei libnodave finde ich:

    grep rack nodave.c
    daveConnection * DECL2 daveNewConnection(daveInterface * di, int MPI, int rack, int slot) {
    dc->rack=rack;
    dc->msgOut[17]=dc->rack+1;

    grep slot nodave.c
    daveConnection * DECL2 daveNewConnection(daveInterface * di, int MPI, int rack, int slot) {
    dc->slot=slot;
    dc->msgOut[18]=dc->slot;

    Anscheinend muss bei rack noch 1 addiert werden.
    Dann wären S7_300 und S7_400 geklärt.

    Bei S7_200 gibt es ja keinen Rack/Slot.
    Da steht dann 'M','W'. in msgOut[17/18]

    Wie sieht das aber nun bei S7_1200 aus ?

    Leider habe ich keine S7_1200 zum testen
    Mhmmm Ich bin mir da jetzt nicht sicher ob das so ganz richtig ist, kann es aber auch nicht mit einem rack>0 testen, da Ich nur eines habe! Aber beim Routing habe Ich es so implementiert:
    (dc->routingSlot + dc->routingRack*32)

    Das was dort mit Rack+1 angegeben wird ist bei mir die Verbindungsart (PG, OP... Verbindung).

    Aber vielleicht ist es auch bei mir falsch...

    Kann Vielleicht mal jemand libnodave mit Rack>0 testen...
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  9. #9
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Also Ich hab das heute nochmal mit Wireshark, AgLink und Step7 probiert, und Ich denke das die Implementierung in libnodave nicht richtig ist... Ich hab das in meiner Version mal angepasst... Wär aber schön wenn das mal noch jemand nachprüfen könnte...

    Also Ich denke die Zeile
    dc->msgOut[17]=dc->rack+1;
    muss raus und
    dc->msgOut[18]=dc->slot;
    muss durch
    dc->msgOut[18]=dc->slot + dc->rack * 32 ;

    ersetzt werden...

    So ist's nun zumindest bei mir drinn...

    Mfg.
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Also...  

  10. #10
    Registriert seit
    13.03.2006
    Beiträge
    428
    Danke
    5
    Erhielt 43 Danke für 43 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das Protokoll ist ja "reverse engineered".
    Ich denke das weiß noch niemand von uns so ganz genau.

    Du hast ja:
    switch ( $this->CPU ) {
    case ("S7200"):
    //S7200: Chr(193) & Chr(2) & Chr(16) & Chr(0) 'Eigener Tsap
    $bSend1[11] = 193;
    $bSend1[12] = 2;
    $bSend1[13] = 16;
    $bSend1[14] = 0;
    //S7200: Chr(194) & Chr(2) & Chr(16) & Chr(0) 'Fremder Tsap
    $bSend1[15] = 194;
    $bSend1[16] = 2;
    $bSend1[17] = 16;
    $bSend1[18] = 0;
    break;
    case ("S7300"):
    //S7300: Chr(193) & Chr(2) & Chr(1) & Chr(0) 'Eigener Tsap
    $bSend1[11] = 193;
    $bSend1[12] = 2;
    $bSend1[13] = 1;
    $bSend1[14] = 0;
    //S7300: Chr(194) & Chr(2) & Chr(3) & Chr(2) 'Fremder Tsap
    $bSend1[15] = 194;
    $bSend1[16] = 2;
    $bSend1[17] = 3;
    $bSend1[18] = $this->Rack * 2 * 16 + $this->Slot;
    break;
    case ("S7400"):
    //S7400: Chr(193) & Chr(2) & Chr(1) & Chr(0) 'Eigener Tsap
    $bSend1[11] = 193;
    $bSend1[12] = 2;
    $bSend1[13] = 1;
    $bSend1[14] = 0;
    //S7400: Chr(194) & Chr(2) & Chr(3) & Chr(3) 'Fremder Tsap
    $bSend1[15] = 194;
    $bSend1[16] = 2;
    $bSend1[17] = 3;
    $bSend1[18] = $this->Rack * 2 * 16 + $this->Slot;
    break;
    default:

    Wir haben da
    static const unsigned char s7_200_connect_block[] =
    {3,0,0,22,0x11,0xE0,0x00,0x00,0x00,0x01,0x00,0xC1,2,'M','W',0xC2,2,'M','W',0xC0, 1,9};
    static const unsigned char s7_300_connect_block[] =
    {3,0,0,22,0x11,0xE0,0x00,0x00,0x00,0x01,0x00,0xC1,2,1 ,0 ,0xC2,2,1 ,2 ,0xC0,1,9};
    static const unsigned char s7_400_connect_block[] =
    {3,0,0,22,0x11,0xE0,0x00,0x00,0x00,0x01,0x00,0xC1,2,1 ,0 ,0xC2,2,1 ,3 ,0xC0,1,9};
    static const unsigned char other_connect_block[] =
    {3,0,0,22,0x11,0xE0,0x00,0x00,0x00,0x01,0x00,0xC1,2,1 ,0 ,0xC2,2,0 ,1 ,0xC0,1,9};
    unsigned char connect_block[22];

    und von außen kann der Benutzer connect_block[17/18] beeinflussen:
    if(rack_number != -1) connect_block[17] = rack_number;
    if(slot_number != -1) connect_block[18] = slot_number;
    Wenn da -1 steht, nimmt er also die default Werte.

    Siehe den doConnect()
    http://pvbrowser.org/pvbrowser/sf/ma...d79a14d3f65abc

    aus
    http://pvbrowser.org/pvbrowser/sf/ma...iemensTCP.html

    Es wäre schön, wenn wir das allgemeingültig rauskriegen würden.
    Also auch für S7_1200.

Ähnliche Themen

  1. Busfehler? Weiter mögliche Ursachen?
    Von D4K!ZZ4 im Forum Feldbusse
    Antworten: 4
    Letzter Beitrag: 16.10.2011, 08:07
  2. Warum sind Zweihandschaltungen immer mit 2 Öffner/Schließer-Kombinationen realisiert?
    Von Amaryl im Forum Maschinensicherheit - Normen und Richtlinien
    Antworten: 3
    Letzter Beitrag: 18.02.2010, 12:32
  3. Antworten: 15
    Letzter Beitrag: 09.10.2009, 09:20
  4. mögliche FC Nummerierung
    Von Kniffo im Forum Simatic
    Antworten: 30
    Letzter Beitrag: 17.04.2007, 10:30
  5. Genauest mögliche Division zweier Zahlen
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 16.04.2005, 09:53

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •