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

Ergebnis 1 bis 8 von 8

Thema: Kleine Fragen zu DP_RECV.

  1. #1
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.639
    Danke
    377
    Erhielt 803 Danke für 644 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo.

    Beispiel:
    CP342-5 ist DP Master in S7-300 Station.
    I/O-Adressen in verwendung in S7-300 Station: Bytes 0-19
    I/O-Adressen in verwendung in ET200M Station: Byes 20-39
    DP_RECV liest alle Eingangsbytes von 0-39.
    Werden die Bytes 0-19 dadurch mit Nullen überschrieben ?

    DP_SEND und DP_RECV startet immer mit byte 0, so habe ich es verstanden.

    Soll man beim lesen von Eingangsdaten mit DP_RECV immer ein DB als Ziel verwenden ?
    So habe ich getan einzigste mal das ich ein CP342-5 verwendete.

    Oder, soll man es so umtauschen ?:
    I/O-Adressen in verwendung in S7-300 Station: Bytes 20-39
    I/O-Adressen in verwendung in ET200M Station: Byes 0-19
    DP_RECV liest alle Eingangsbytes von 0-19.

    Danke im voraus.
    Jesper M. Pedersen
    Zitieren Zitieren Kleine Fragen zu DP_RECV.  

  2. #2
    Registriert seit
    23.10.2004
    Ort
    zu Hause
    Beiträge
    1.041
    Danke
    370
    Erhielt 406 Danke für 274 Beiträge

    Standard

    Hallo,

    du kannst den FCs vorgeben, ab welchem Byte sie anfangen sollen zu lesen, bzw. zu schreiben.

    Code:
    CALL  "DP_RECV"
           CPLADDR :=W#16#100
           RECV    :=P#E 0.0 BYTE 16
           NDR     :=M56.0
           ERROR   :=M56.0
           STATUS  :=MW56
           DPSTATUS:=MB56
          NOP   0
    Code:
    CALL  "DP_SEND"
           CPLADDR:=W#16#100
           SEND   :=P#A 0.0 BYTE 7
           DONE   :=M56.1
           ERROR  :=M56.0
           STATUS :=MW56
          NOP   0
    wenn ich jetzt richtig liege, dann müsstest Du unter

    Code:
    SEND: P#A 20.0 Byte 20
    und unter

    Code:
    RECV: P#E 20.0 Byte 20
    eintragen.



    Und immer dran denken, dass erst RECV und dann SEND kommen muß!

    -------------------------------------------
    Nachtrag.

    Die I/O, die über den Bus kommen kannst du dann genauso verwenden, wie die normalen.
    -------------------------------------------
    Gruß,

    dia
    Geändert von diabolo150973 (25.05.2009 um 10:24 Uhr) Grund: Nachtrag
    Diese Signatur enthält Inhalte von WTF und ist in Deinem Land nicht verfügbar!

  3. #3
    Avatar von JesperMP
    JesperMP ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.639
    Danke
    377
    Erhielt 803 Danke für 644 Beiträge

    Standard

    Ich glaube das es passt nicht.

    Es gibt 2 getrennte Prozessimages, einer in S7 CPU und der andere in CP342-5.
    Wenn ich es richtig verstanden habe, dann wird immer von Byte 0 im CP342-5 angefangen.
    Daher kommt es: Als Ziel, entweder von Byte 0 in der Prozessimage in der S7 CPU, oder ein DB, verwenden.

    Oder, ich habe es komplett falsch verstanden.
    Jesper M. Pedersen

  4. #4
    Registriert seit
    03.11.2006
    Ort
    Niedersachsen
    Beiträge
    1.126
    Danke
    170
    Erhielt 303 Danke für 259 Beiträge

    Standard

    Ich würde einen DB dafür nehmen.
    Sonst blockierst du dir damit einen E/A-Bereich der CPU.
    Wenn du dann an der CPU zusätzliche Baugruppen montierst
    bekommst du Probleme mit den Adressen (Adressüberlagerung).
    Gruß
    crash

    Ich bin nicht bekloppt,
    ich bin verhaltensoriginell!

  5. #5
    Avatar von JesperMP
    JesperMP ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.639
    Danke
    377
    Erhielt 803 Danke für 644 Beiträge

    Standard

    @crash.

    Es ist das 'lustige' damit.

    Das E/A das über CP342-5 verbunden ist, hat nicht direktes mit der PI des S7 CPU zu tun.
    Aber trotzdem muss man in HW Konfig adressen nehmen das nicht mit der E/A im S7 Station überlappt.
    (* Nein - ist falsch. Siehe unten. )
    Mit ein onboard DP Schnittstelle hat man nicht dieses Problem. Dann gehört all E/A Adressen zu den PI des CPU.

    Ein weitere verfahren konnte z.B. sein:
    CP342-5 ist DP Master in S7-300 Station.
    I/O-Adressen in verwendung in S7-300 Station: Bytes 0-19
    I/O-Adressen in verwendung in ET200M Station: Byes 20-39
    DP_RECV liest alle Eingangsbytes von 0-39 und zerlegt sie in ein Zwisschen-DB.
    Mit BLKMOV werden Eingangsbytes 20-39 von Zwisschen-DB in PI übertragen.
    Dann sind die E/A Adressen 'synkronisiert' sozusagen.
    Geändert von JesperMP (25.05.2009 um 12:06 Uhr)
    Jesper M. Pedersen

  6. #6
    Registriert seit
    03.11.2006
    Ort
    Niedersachsen
    Beiträge
    1.126
    Danke
    170
    Erhielt 303 Danke für 259 Beiträge

    Standard

    oder:

    I/O-Adressen in verwendung in S7-300 Station: Bytes 0-19
    I/O-Adressen in verwendung in ET200M Station: Bytes 0-19 (im CP342-5) --> übertragen nach Bytes 20-32 in CPU
    Gruß
    crash

    Ich bin nicht bekloppt,
    ich bin verhaltensoriginell!

  7. Folgender Benutzer sagt Danke zu crash für den nützlichen Beitrag:

    JesperMP (25.05.2009)

  8. #7
    Avatar von JesperMP
    JesperMP ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.639
    Danke
    377
    Erhielt 803 Danke für 644 Beiträge

    Standard

    Aha !
    Da hatte ich es Falsch verstanden !
    Man kann tatsäglich dieselbe Adressen in die zwei Systeme wählen. Habe ich gerade ausprobiert.
    Dann ist dein letzte Vorschlag den beste Verfahren.
    Danke.
    Jesper M. Pedersen

  9. #8
    Registriert seit
    03.11.2006
    Ort
    Niedersachsen
    Beiträge
    1.126
    Danke
    170
    Erhielt 303 Danke für 259 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    genau
    die E/A-Adressen von CPU und CP haben nix miteinander zu tun.
    Das sind zwei separate Bereiche.
    Gruß
    crash

    Ich bin nicht bekloppt,
    ich bin verhaltensoriginell!

Ähnliche Themen

  1. TwinCat HMI Fragen über Fragen
    Von Bambam im Forum CODESYS und IEC61131
    Antworten: 11
    Letzter Beitrag: 10.11.2010, 17:36
  2. kleine Zeigerfrage
    Von Ralle im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 04.03.2008, 18:47
  3. CP 342-5 DP_RECV bei nur Senden aufrufen?
    Von Thomas_v2.1 im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 21.01.2008, 10:18
  4. CP342-5 DP_SEND und DP_RECV.
    Von JesperMP im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 18.12.2007, 08:16
  5. Siemens Fu Fragen über Fragen
    Von lorenz2512 im Forum Schaltschrankbau
    Antworten: 0
    Letzter Beitrag: 28.10.2005, 17:58

Lesezeichen

Berechtigungen

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