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

Ergebnis 1 bis 6 von 6

Thema: S7-200. Senden via RS232 und gleichzeitig empfangen

  1. #1
    Registriert seit
    18.04.2008
    Beiträge
    23
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich hätte mal wieder ne kleine Anfängerfrage. Wenn ich, sobald ein bestimmtes Ereignis eintritt, eine Nachricht über RS232 (PPI-Kabel) sende und gleichzeitig (sobald die SPS in der Mitte der zu sendenden Daten angekommen ist) sendet aber der HostPC (SPS ist mit diesem Kabel an einen PC angeschlossen) eine Nachricht an die SPS, was Passiert dann? Gehen Daten verloren, die die SPS senden wollte?

    Danke
    Zitieren Zitieren S7-200. Senden via RS232 und gleichzeitig empfangen  

  2. #2
    Registriert seit
    28.05.2010
    Beiträge
    16
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Diese Frage grabe ich noch mal aus: Ich habe heute ähnliches Problem: Kann es sein, dass die S7-200 nicht vollduplex-fähig ist?
    Sobald ich empfange (RCV-Baustein enabled), funktioniert bei mir das Senden mit XMT überhaupt nicht mehr! Auch nicht wenn das Empfangen bereits beendet ist.
    Hat jemand schon mit der RS232 Schnittstelle bidirektional gearbeitet. Ich möchte das gerne erst mal OHNE Interruptsteuerung hinbekommen, indem Zyklus für Zyklus polle.
    Ich möchte nur ein einfaches Terminalprogramm anschalten (mit dem PPI-Adapter), so dass ich in beide Richtungen kommunizieren kann. Ich hätte gerne erst mal ein Echo von der SPS, so das ich meine Eingaben am Terminal lesen kann.
    Mit dem RCV Baustein kann ich bereits problemlos empfangen:
    Dazu habe ich SMB30 auf 00001010 (9600bps) und SMB87 auf 10011100 gesetzt
    Die Zeiten (SMW 90,92) habe ich auf je 5ms gesetzt und die Zeichenanzahl (SMB94) auf 2. Den RCV-Baustein enable ich (einmalig durch Flanke) und prüfe ob SMB86 ungleich 0 ist. Wenn ungleich 0, kann ich die String-Tabelle an der angegebenen Startvariable bei RCV auswerten (Bsp. VB0 bei RCV angegeben, dann erhält VB0 die Zeichenanzahl (2) und VB1 das vom Terminal aus gesendet Zeichen).
    Um ein weiteres Zeichen empfangen zu können, muss ich noch einmal RCV auf enable setzen. Aber selbst wenn ich das nicht tue, funktioniert das Senden mit XMT nicht mehr! Und zwar sobald RCV ein einziges mal enabled war. Ohne RCV-Bausteine funktioniert das Senden zum Terminal mit dem XMT-Baustein immer bestens. Ich warte zudem bis SM4.5 wieder auf 1 ist, bevor ich wieder sende. Nur sobald RCV auch nur ein einzige mal enabled war funktiontiert das Senden überhaupt nicht mehr! Ich habe auch schon einfach mal SM87.7 auf 0 gesetzt, nachdem ich was empfangen habe und bevor ich senden wollte. Hat leider auch nichts gebracht.
    In den Beispielen in der Hilfe wird immer nur mit Interrupts gearbeitet. Das muss aber doch auch ohne gehen?

    Wenn ich RCV durch ein Impuls einmal enabled habe: Wie kann ich es dann wieder abschalten, wenn ich doch nichts empfangen will?

    Nachtrag: Beim Siemens PPI-Kabel muss man wohl 10ms warten, um nach dem Empfang etwas zu senden (ist auch in dem Interrupt-Beispiel so). Die habe ich locker gewartet, da ich das Senden immer manuell über eine (Taster-)flanke ausgelöst habe!


    TIA,
    Dominik
    Geändert von D0m1n1k (01.06.2010 um 18:05 Uhr)

  3. #3
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von SiO2 Beitrag anzeigen
    Ich hätte mal wieder ne kleine Anfängerfrage. Wenn ich, sobald ein bestimmtes Ereignis eintritt, eine Nachricht über RS232 (PPI-Kabel) sende und gleichzeitig (sobald die SPS in der Mitte der zu sendenden Daten angekommen ist) sendet aber der HostPC (SPS ist mit diesem Kabel an einen PC angeschlossen) eine Nachricht an die SPS, was Passiert dann? Gehen Daten verloren, die die SPS senden wollte?

    Danke
    Die 200er hat eine RS485-Schnittstelle. RS485 ist nicht vollduplex-fähig. Da es sich hier um einen Bus handelt, kann immer nur einer senden und alle anderen empfangen.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  4. #4
    Registriert seit
    28.05.2010
    Beiträge
    16
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ok, ich ging davon aus, das die "frei programmierbare Kommunikation" auch Vollduplex unterstützen würde (zumindest bei Punkt-zu-Punkt Verbindungen wie zwischen dem PPI-Adapterkabel und PC), da man ja laut Handbuch sogar RS232-Modems anschließen kann.
    Schön wäre es, wenn der PPI-Adapter einfach das RS232seitige Vollduplex-Signal puffern würde und in ein RS485 Halbduplex-Signal umsetzen würde. Dem scheint dann aber auch nicht zu sein. Da ist ja jeder billige uController deutlich leichter an Geräte mit RS232-Schnittstelle anpassbar als die SPS

  5. #5
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    RS422 ist vollduplex, RS485 nicht. Wenn die Schnittstelle entsprechend konfiguriert werden kann (für PTP), dann kann das klappen.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  6. #6
    Registriert seit
    28.05.2010
    Beiträge
    16
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielleicht habe ich die Lösung zu meinem Programmierproblem nun selber gefunden. Bei Siemens gibt es eine Datei mit vielen nützlichen Programmiertipps für die S7-200: Sie heißt ALL_TIPS_1208_D.zip
    Die Tipps sind (zumindest die Beispielprogramme, die ich mir bisher angeschaut habe) leider alle nur in AWL. Aber darüber habe ich zumindest herausgefunden, dass man, nachdem man das Bit SM87.7 gelöscht hat, noch einmal den RCV-Baustein triggern muss, um den Empfang wirklich abzuschalten. Vielleicht ist das schon die Lösung. Werde das demnächst mal ausprobieren.

Ähnliche Themen

  1. Can Nachrichten senden / empfangen
    Von fdisk im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 10.08.2011, 12:14
  2. UDP-senden/empfangen
    Von Vbxler im Forum CODESYS und IEC61131
    Antworten: 9
    Letzter Beitrag: 07.07.2011, 19:27
  3. Antworten: 0
    Letzter Beitrag: 17.08.2010, 10:46
  4. CP340 - Daten über RS232 senden und Empfangen
    Von smartie im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 24.08.2007, 10:15
  5. RS232 Daten senden/ empfangen /bearbeiten
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 15.04.2005, 08:31

Lesezeichen

Berechtigungen

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