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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: S7-200: Serielle Schnittstelle

  1. #1
    Registriert seit
    08.11.2004
    Beiträge
    53
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallihallo.

    Ich möchte mit einer S7-200 über die serielle Schnittstelle Daten an einen PC übertragen. Ich hab mir dazu den Tip19 von Siemens runtergeladen (Daten an einen Drucker senden), dies entspricht so ziemlich dem, was ich machen will.
    In diesem Tip wird die Funktion "XMT" verwendet. Hier ein Auszug daraus:

    LD 0.1
    EU
    MOVB 16#31, VB109
    XMT VB100, 0

    Hier wird bei einer positiven Flanke am Eingang E0.1 ein Byte (VB 109) beschrieben und anschliessend ein Datenblock, beginnend bei VB100 über die Schnittstelle geschickt. Dieses Beispiel würde ich nun gerne verwenden und auf meine eigene Applikation anpassen. Aber woher weiß ich wie lange der zu sendende Datenblock sein darf oder muß ? Gibt es da eine Beschränkung auf eine bestimmte Anzahl von Zeichen (Bytes) oder wird ein einfach ein Block gesendet, bist keine sinnvollen Daten mehr gefunden werden.

    Bin etwas ratlos im Moment.
    Zitieren Zitieren S7-200: Serielle Schnittstelle  

  2. #2
    Registriert seit
    27.08.2004
    Ort
    Bei Bremen
    Beiträge
    648
    Danke
    11
    Erhielt 12 Danke für 10 Beiträge

    Standard

    Also mit der S7-200 ist es schon einige Zeit her, aber ich glaube es gibt dafür ein Systemadresse vorgesehen. oder es ist einer einer Tabelle hinterlegt.
    Genauso wie das Start und Endezeichen.
    Gruß
    Heinz

  3. #3
    Registriert seit
    17.09.2003
    Ort
    Zell bei Dietfurt a.d. Altmühl
    Beiträge
    357
    Danke
    8
    Erhielt 27 Danke für 25 Beiträge

    Standard

    Hallo reini69.

    Arbeite seit etwa 3Wochen mit der Schnittstellenkommunikation mit der S7-200 und habe auch schon einiges mit XMT und REV ausprobiert. Du kannst pro XMT Befehl maximal 255 Bytes senden. Die Anzahl der Zeichen die du senden möchtest sind in dem Startadressebyte hinterlegt. In dem Beispiel was du aus Tip 19 herauskopiert hast liegt die längenangabe der zu übertragenen in Byts in VB100. Mochtest zu z.B. "Hallo" an das Hyperterminal deines PC's senden, so muss du es folgendermaßen schreiben:

    LD SM0.0 // VKE 1
    MOVB 6,VB100 // Zu übertagende Zeichen "Hallo" 5 Zeichen+1Längenbyte
    MOVD 'Hall',VD101
    MOVB 'o',VB105
    LD E0.0
    EU
    XMT VB100,0 // Zeichen an Zwischenspeicher über Schnittstelle 0 senden

    Ich hoffe ich konnte dir weiterhelfen. Solltest du aber noch fragen haben, so werde ich Versuchen mit meinem bisherigen Wissen dir weiterzuhelfen.

    MfG
    HUbert

  4. #4
    Anonymous Gast

    Standard

    Hallo
    Die Begrenzung zu sendender Daten ist 255 Byte im Stück. (länger ist das Tabelleneintragsbyte eben nicht ...). Die Sende-Länge lässt sich über verschiedene Wege notfalls ermitteln, ist aber meist unnötig.
    Der Tipp von Siemens ist etwas kompliziert - das geht viel einfacher.
    ....
    Wenn Du garnicht weiterkommst kann ich Dir dazu ein (allerdings unkommentiertes) Stück der freien Kommunikation zukommen lassen welches hier mal vor langer Zeit aus dem 'Drucker Tip' hervorging und immer noch fleissig kopiert wird. Allerdings verzweifel auch ich jedesmal wenn ich da was ändern will - weil eben die Kommentare nicht mehr vorhanden sind. Müsste das auch erst zusammensuchen was bestimmt einige Tage dauern würde.
    Wichtig war - daran erinnere ich mich - die freie Kommunikation erstmal überhaupt richtig zu konfigurieren. Es geht immer nur zeitgleich Senden oder Empfangen - dieses Freigabebit in einem der Sondermerkerbytes muss explizit jedesmal mit umgeschaltet werden (XMT oder RCV alleine reicht nicht). Bei Siemens machts das in dem Beispiel ja der Zustandsautomat - meine ich mich zu erinnern ....
    Berthold

  5. #5
    Registriert seit
    08.11.2004
    Beiträge
    53
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank für Eure Hilfe. Hat mir schon mal ein bisschen weiter geholfen. Bei Bedarf werde ich gerne wieder auf Euch zurück kommen.

  6. #6
    Anonymous Gast

    Standard

    Hallo
    Noch eins - steht aber auch in den Tipps - wenn Du das (alte) original Siemens PPI-Kabel (BF-irgendwas) zur Übertragung/ Wandlung RS485 <--> RS232 verwendest benötigst Du eine Zeitverzögerung (ca. 10ms) zwischen Senden und Empfangen.
    XMT
    T Warte 5ms
    RCV
    Nimmst Du den MPI-Adapter oder einen geeigneten einfachen RS485 - RS232 Umsetzer kann diese Umschaltzeit entfallen.
    XMT
    RCV
    XMT
    ....
    Das ist zu beachten für die Startroutine ('Init-Konfiguration') die zumeist im ersten Zyklus die Schnittstelle aktiviert. Wenn die z.Bsp. auf 'Warte auf Zeichen' 'gejumpert' ist kannst Du erst Senden wenn nach dem Umschalten etwas gewartet wird. Sonst gehen die ersten Zeichen verloren.
    Das Du bei aktivr freinen Kommunikation nicht mehr per PPI auf die CPU zugreifen kannst ist ja klar ??? Die freie Kommu. muss vorher abgeschaltet werden - notfalls Stop durch Betriebsartenschalter !!! Also Schalter auf Stop.

    Zum Druckeranschluss (benutze einen 'Star 24Naddeldrucker Bj. 18xx') verwende ich den seriell - parallell Umsetzer von Reichelt. Ewiges Probieren ergab dass eigentlich nur der in der Preisklasse '40Euro' überhaupt auch einzelne Zeichen sofort ausgibt. Jedenfalls in meiner Kombination. Die anderen Dinger puffern alle und reagierten nicht richtig auf die Steuerzeichen (Zeilenende 0A0D oder 0D0A ?) Da steht erstmal nichts und plötzlich alles auf dem Papier ....
    Da müssen aber tausend Dips richtig geswitcht sein das funktioniert wirklich nur in einer Konfiguration. Einfacher geht mit den alten Epson Stylus mit RS422 Interface (für den MAC) allerdings braucht der eine Art Treiber für den Einzelblatteinzug. War nicht ganz ohne - ist jedoch hinzukriegen. Die Belegung des Epson RS422-Schnittstellensteckers ist mir zwischenzeitlich auch abhanden gekommen. Suche danach schon länger und muesste selbst von vorne beginnen das selbstgezimmerte Adapterkabel nachmessen.

    Berthold

  7. #7
    Registriert seit
    08.11.2004
    Beiträge
    53
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Tach.

    Mittlerweile bin ich soweit das meine SPS etwas sendet (erfreulicherweise auch ziemlich genau das, was sie senden soll !). Nun lese ich diese Zeichen erstmal auf meinem PC mit Hyperterminal ein. Soweit ist alles klar. Zur Kopplung verwende ich das Siemens PPI-Programmierkabel.
    Nun werden in unserer Firma ca. 30 derartige Kopplungen eingesetzt (ca. 30 S7-222 und an jeder ein PC). Wenn ich nun für jede dieser Kopplungen ein Siemens-Kabel kaufen muss, wird das eine recht teure Angelegenheit. Im Internet habe ich aber schon einige Lieferanten gesehen, die mir ein RS485-RS232-Wandlerkabel um einiges günstiger verkaufen. Ist es mit so einem "Wald-und-Wiesen-Kabel" auch möglich die Kopplung herzustellen oder auf welche Besonderheiten muss ich achten, wenn ich ein Nicht-Siemens-Kabel verwenden will ?
    Zitieren Zitieren PC koppeln über serielle Schnittstelle  

  8. #8
    Anonymous Gast

    Standard

    Kannst z.Bsp. den Adapter bauen und nehmen der im Forum unter 'Schaltpläne' aufgeführt ist.
    Einfache RS485 <--> RS232C Wandler tuns oft nicht. Woran das liegt ist einfach herauszufinden aber mühsam zu erklären. Wer allerdings 30CPU's verdrahten will für den lohnt sich die Mühe das aufzudröseln allemal.
    Berthold

  9. #9
    Registriert seit
    14.01.2004
    Ort
    Hattorf
    Beiträge
    3.201
    Danke
    297
    Erhielt 311 Danke für 266 Beiträge

    Standard

    hallo,
    bei ebay gibt es günstige nachbauten 24,99€, bei mir liefen die sachen einwandfrei, auch mit protool. der gute mann wird dir auch weiterhelfen können zumal 30 st. nicht von pappe sind.
    mfg
    dietmar

  10. #10
    Registriert seit
    21.05.2004
    Beiträge
    418
    Danke
    31
    Erhielt 16 Danke für 8 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Unser Kollege Deltalogic hat auch so einen Pegelwandler im Bauchladen.
    Die Elektronik ist da im SubD Stecker untergebracht.

    kurt

Ähnliche Themen

  1. TwinCat Serielle Schnittstelle
    Von newdogge im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 06.11.2009, 09:03
  2. Serielle Schnittstelle
    Von Anonymous im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 07.08.2006, 11:16
  3. Serielle Schnittstelle
    Von Anonymous im Forum PC- und Netzwerktechnik
    Antworten: 5
    Letzter Beitrag: 05.02.2006, 16:20
  4. Serielle Schnittstelle unter XP
    Von Roland im Forum Elektronik
    Antworten: 14
    Letzter Beitrag: 24.12.2004, 11:42
  5. Serielle Schnittstelle
    Von Anonymous im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 18.06.2004, 11:20

Lesezeichen

Berechtigungen

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