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

Ergebnis 1 bis 10 von 10

Thema: RS232 Kommunikation mit S7-1200

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

    Pfeil


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    ich versuche seit geraumer Zeit eine serielle Kommunikation mit ner S7-1200 und CM1241 ans laufen zu bekommen.
    Ich habe bis dato ein Projekt angelegt, die Hardware (incl. RS232 Bereich 9600 Baud, keine Parität, usw.) eingerichtet und ein Testprogramm geschrieben.
    Das Testprogramm führt zu einer Aktivität an der TX Lampe auf der CM Baugruppe. Der Statuswert zum Zeitpunkt des kurzzeitigen Vorhandenseins von Done am Send_ptp_db ist 0000 und dann wieder 7000. Sieht für mich nach erfolgreichem Senden aus. Auf nem angeschlossenen XP-Rechner läuft ein RS232 Logger. Dort kommt nichts an. Was für Möglichkeiten bleiben mir noch um herauszufinden ob das Senden geht?

    Für die andere Richtung habe ich aus dem Hyperterminal (identische Einstellungen wie in der Hardwarekonfiguration) einzelne Zeichen versendet. Ich hatte erwartet im Testprogramm im empfangspuffer hexadezimale ASCII Zeichen wiederzufinden. Dem ist aber nicht so. An RX vom CM1241 stelle ich keine Aktivität fest.

    Das Kabel läuft in einer anderen seriellen Verbindung problemlos.

    Vielen Dank für Eure Hilfe.


    Viele Liebe
    Grüße
    Zitieren Zitieren RS232 Kommunikation mit S7-1200  

  2. #2
    Registriert seit
    26.04.2010
    Beiträge
    292
    Danke
    31
    Erhielt 51 Danke für 50 Beiträge

    Standard

    Hi!

    TX und RX der RS232-Verbindung sind korrekter Weise vertauscht (also gekreuzt)?


    Gruß,

    Ottmar

  3. #3
    FvO ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.04.2013
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    OK. Danke. Das ist mir nicht neu.

  4. #4
    FvO ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.04.2013
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Das senden habe ich mittlerweile hingebracht. Der andere Gesprächsteilnehmer wollte nicht. Hab jetzt ne brücke in der Schnittstelle und schicke mir selbst Nachrichten.
    Nun habe ich keine Chance eine z.b. 7byte lange Nachricht von DBxy.zeichen1 zu senden. Wenn der typ mw ist gehen 2 byte, wenn es md ist gehen 4 byte. String geht garnicht, arry of Char auch nicht.
    Denke es sollte mit nem Zeiger gehen. Habe keine Ahnung wie.

    Kann von Euch jemand mit Zeigern und S7-1200 umgehen?

    Gruß
    Geändert von FvO (14.05.2013 um 07:28 Uhr)

  5. #5
    Registriert seit
    24.04.2013
    Beiträge
    309
    Danke
    23
    Erhielt 160 Danke für 88 Beiträge

    Standard

    Hi

    also ich hab ein Programm, dass es geschafft hat Strings zu versenden. Nur kommt ich da jetzt nicht dran. Muss mal morgen auf Arbeit schauen wo das war. Sogar komplette UDT können verschickt werden. Zeiger oder anderer anachronistischer Kopfstand aus der Step7 V5 Zeit sind auf der 1200 oder 1500 nicht notwendig. Eines der Probleme die ich am Anfang nicht ganz überrissen hatte war wie man die Puffergröße angibt. Da ist ein Längenparameter für den Puffer. Wenn ich mich jetzt richtig erinnere kann der entweder auf die echt zu sendende Länge oder auch auf 0 gestellt werden. Letzteres ist meistens einfacher, denn dann kümmert sich die AS selber darum wieviel da übertragen wird. Auf der Empfangsseite ist das genauso. Also den Puffer ausreichend groß machen und die Länge auf 0 lassen.

    Bei den Strings muss man wie immer bei Simatic zwei Bytes mehr vorhalten, denn nach Hans Berger hat ein Simatic-String ja eine Maximal und eine tatsächliche Länge. Das wird auch geprüft und es wird entsprechend darauf reagiert. Ich habe von einer 300 zu einer 1200 einen UDT mit String drin kopiert. Dabei habe ich ganz absichtlich die Strings unterschiedlich groß gemacht und damit versucht aus dem einen String raus in den anderen hinein zu schreiben. Es ging nicht Wenn das Ziel in einem optimierten DB liegt, dann werden maximal soviele Zeichen aus der Quelle kopiert wie ins Ziel passen.
    In der Gegenrichtung also von einer 1200 zu einer 300 wird nix geprüft. Damit kann man sich ganz schnell den zweiten String im UDT kaputt machen, denn plötzlich hat er eine falsche maximal Länge.

  6. #6
    FvO ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.04.2013
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi Hellebarde,

    Klingt genau nach dem Zeug des ich brauch. Werd mich heute Abend gleich wieder dran machen. Im Sendstring die Länge 0 hab ich noch nicht getestet. Ich bilde mir nur ein dass als Fehlermeldung irgendwas mit String oder Datentyp nicht erlaubt drin stand. Im Status beim anstehen des Fehlers während des Sendens.

    Wenn Du noch ein paar Details zu der Sache hast fände ich das Super.

    Danke.

    Komme später nochmal ins Forum.

    Gruß

  7. #7
    Registriert seit
    21.02.2014
    Beiträge
    2
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    ich habe an das CM1241 einen Epson-Drucker angeschlossen. Das Senden funktioniert auch soweit, allerdings immer nur einmal und zwar direkt nach dem Überspielen des Programms auf die SPS.
    Hat jmd. eine Idee, an was das liegen könnte?

  8. #8
    Registriert seit
    24.04.2013
    Beiträge
    309
    Danke
    23
    Erhielt 160 Danke für 88 Beiträge

    Standard

    Hallo meyde

    asynchrone Funktionen wie TSEND verlangen von dir als Anwender immer einen Automaten außen rum.
    1. schritt: Daten vorbereiten, REQ auf false --> status 16#7000
    2. schritt: REQ auf true --> status 16#7001
    3. schritt: warten bis status 16#0
    4. schritt: REQ auf false --> status 16#7000

    jetzt kannst du wieder neue Daten vorbereiten und danach geht es mit Schritt 2 weiter.
    Wenn REQ immer auf true bleibt, dann weiß der TSEND nicht, dass du neue Daten für ihn hast.

    'n schön' Tach auch
    HB

  9. Folgender Benutzer sagt Danke zu HelleBarde für den nützlichen Beitrag:

    meyde (30.04.2014)

  10. #9
    Registriert seit
    21.02.2014
    Beiträge
    2
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    vielen Dank für die Antwort. Ich werde das ganze mal versuchen auf mein Projekt zu übertragen.

  11. #10
    Registriert seit
    13.05.2014
    Beiträge
    43
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo liebe Forengemeinde,

    ich möchte Manometer-Kalibrierstände mit einer S7-Steuerung aufrüsten um Drücke automatisch anfahren zu können.
    Derzeit benutzen wir "Const 211" Digitalmanometer von der Firma Europascal als Referenzgeräte.
    Diese haben lediglich eine RS232-Schnittstelle.

    Wenn ich das richtig verstanden habe, kann ich mit RS232 keinen permanenten Datenstream erzeugen,
    sondern müsste für eine geregelte Kommunikation immer wieder die Daten abfragen.
    Also Anfrage schicken, Antwort abwarten, Quittieren, Port freigeben und wieder Anfrage schicken.
    Könnt ihr das vorbehaltlos bestätigen oder gibt es doch die Möglichkeit eines Streams.

    Das Problem ist folgendes:
    Die Daten von dem Manometer sollen verwendet werden, um den den ausgegebenen Druck zu regeln.
    Wenn der Messwert also nicht live übertragen wird, ist ein Regeln kaum möglich.

    Alternativ würde ich einen Drucksensor mit analogen Ausgang verwenden z.B. den "Pascal Ci4" der Firma Labom, jedoch sind die Const 211 bereits vorhanden und sollen nach Möglichkeit weiter genutzt werden.

    Freue mich auf eure Antworten.

    Gruß

    Erfahrung ist die Summe aller Missgeschicke

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 15.05.2012, 17:18
  2. S7 1200 RS232 Kommunikation
    Von michi204 im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 29.08.2011, 14:36
  3. Kommunikation IM-151-8F mit S7 1200
    Von Newbie im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 25.03.2010, 13:44
  4. Kommunikation via RS232 mit Bachmann SPS MX200
    Von Basan im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 06.03.2009, 08:16
  5. Antworten: 2
    Letzter Beitrag: 28.02.2008, 19:54

Lesezeichen

Berechtigungen

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