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

Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: S7-200: Serielle Schnittstelle

  1. #1
    Join Date
    08.11.2004
    Posts
    59
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default


    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.
    Reply With Quote Reply With Quote S7-200: Serielle Schnittstelle  

  2. #2
    Join Date
    27.08.2004
    Location
    Bei Bremen
    Posts
    657
    Danke
    11
    Erhielt 12 Danke für 10 Beiträge

    Default

    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
    Join Date
    17.09.2003
    Location
    Zell bei Dietfurt a.d. Altmühl
    Posts
    374
    Danke
    11
    Erhielt 27 Danke für 25 Beiträge

    Default

    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

    Default

    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
    Join Date
    08.11.2004
    Posts
    59
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default

    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

    Default

    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
    Join Date
    08.11.2004
    Posts
    59
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default

    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 ?
    Reply With Quote Reply With Quote PC koppeln über serielle Schnittstelle  

  8. #8
    Anonymous Gast

    Default

    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
    Join Date
    14.01.2004
    Location
    Hattorf
    Posts
    3,251
    Danke
    297
    Erhielt 312 Danke für 266 Beiträge

    Default

    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
    Join Date
    21.05.2004
    Posts
    462
    Danke
    33
    Erhielt 16 Danke für 8 Beiträge

    Default


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

    kurt

Similar Threads

  1. Serielle Schnittstelle
    By marcio.bv in forum Elektronik
    Replies: 5
    Last Post: 28.08.2012, 12:56
  2. Serielle Schnittstelle einlesen
    By Mathias in forum Simatic
    Replies: 4
    Last Post: 20.11.2007, 16:27
  3. Serielle Schnittstelle
    By Anonymous in forum Simatic
    Replies: 23
    Last Post: 07.08.2006, 11:16
  4. Serielle Schnittstelle
    By Anonymous in forum PC- und Netzwerktechnik
    Replies: 5
    Last Post: 05.02.2006, 16:20
  5. Serielle Schnittstelle
    By Anonymous in forum Simatic
    Replies: 8
    Last Post: 18.06.2004, 11:20

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •