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

Ergebnis 1 bis 9 von 9

Thema: ASCII Code senden S7-1200 mit CM1241

  1. #1
    Registriert seit
    13.07.2016
    Beiträge
    11
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Mahlzeit,

    ich möchte einen ASCII Code an ein Graviergerät senden, habe eine CPU1214DC/DC/DC mit dem kommunikationsmodul CM1241(RS232) verbaut.
    Die beiden Geräte sind mit einem gekreuztem Kabel Verbunden.
    Ich habe es mit dem Baustein SEND_PTP versucht. Die Kommunikationslampe am CM Modul geht auch an nur leider wird der Code wohl nicht übertragen.
    Der Code soll laut Hersteller so aussehen: <STX>Steuerung<ETX><STX>A01<SOH><STX>130916A01/S60540B<SOH><EOT>
    Hat jemand eine Idee warum das nicht geht?
    Danke
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Gelöst: ASCII Code senden S7-1200 mit CM1241  

  2. "Wikipedia ASCII Tabelle

    Code:
    //Nachricht initialisieren oder Zeichen hineinspeichern:
    //<STX>Steuerung<ETX><STX>A01<SOH><STX>130916A01/S60540B<SOH><EOT>
    //(das sind vermutlich 28 Zeichen)
    
    Msg : ARRAY [1..50] OF CHAR ;
    
    Msg[1] := B#16#02 ;  // <STX>
    Msg[2] := B#16#01 ;  // ?? <Steuerung> siehe Graviergerät-Dokumentation
    Msg[3] := B#16#03 ;  // <ETX>
    Msg[4] := B#16#02 ;  // <STX>
    Msg[5] := B#16#41 ;  // 'A'
    Msg[6] := B#16#30 ;  // '0'
    Msg[7] := B#16#31 ;  // '1'
    Msg[8] := B#16#01 ;  // <SOH>
    Msg[9] := B#16#02 ;  // <STX>
    Msg[10]:= B#16#31 ;  // '1'
    Msg[11]:= B#16#33 ;  // '3'
    Msg[12]:= B#16#30 ;  // '0'
    Msg[13]:= B#16#39 ;  // '9'
    Msg[14]:= B#16#31 ;  // '1'
    Msg[15]:= B#16#36 ;  // '6'
    Msg[16]:= B#16#41 ;  // 'A'
    Msg[17]:= B#16#30 ;  // '0'
    Msg[18]:= B#16#31 ;  // '1'
    Msg[19]:= B#16#2F ;  // '/'
    Msg[20]:= B#16#53 ;  // 'S'
    Msg[21]:= B#16#36 ;  // '6'
    Msg[22]:= B#16#30 ;  // '0'
    Msg[23]:= B#16#35 ;  // '5'
    Msg[24]:= B#16#34 ;  // '4'
    Msg[25]:= B#16#30 ;  // '0'
    Msg[26]:= B#16#42 ;  // 'B'
    Msg[27]:= B#16#01 ;  // <SOH>
    Msg[28]:= B#16#04 ;  // <EOT>
    Die Nachricht (Msg) an "SEND_PTP_DB".BUFFER übergeben, "SEND_PTP_DB".LENGTH = 28

    Harald"


  3. #2
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    4.861
    Danke
    1.020
    Erhielt 1.079 Danke für 855 Beiträge

    Standard

    Zuerstmal die üblichen Verdächtigen:
    Baudrate, Parity, Stopbits, Handshake.

    Du weißt daß STX,ETX,SOH Steuerzeichen sind?
    Also nicht die Zeichenkette STX übertragen, sondern 02 Dezimal

    Gruß
    Dieter

  4. #3
    Registriert seit
    13.12.2011
    Beiträge
    687
    Danke
    67
    Erhielt 57 Danke für 55 Beiträge

    Standard

    Schau Dir mal die Belegung der Schnittstelle an der Graviermaschine an, kann sein das Du da kein gekreuztes Kabel brauchst. Wenn deren RS-232 Schnittstelle eine Buchse ist liegt der Verdacht nahe.
    Soweit Du einen PC mit RS-232 Schnittstelle hast kannst Du ja auch erstmal testen, ob die Daten an diesem ankommen, sprich ob das CM überhaupt was sendet.
    Geprüft ob die Schnittstelle am Graviergerät tatsächlich eine RS-232 und nicht eine RS-485 oder RS-422 ist hast Du vorher aber schon? Serielle Schnittstellen sind das nämlich alle.

  5. #4
    Steffen Wiegand ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    13.07.2016
    Beiträge
    11
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Die Hardwareconfig ist richtig eingestellt, kann mir jemand zufällig mal den oben genannten Code als beispiel vorbereiten , da ich noch nie mit ASCII Codes gearbeitet habe.
    Stehe da etwas auf dem Schlauch
    Danke!!!

  6. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    9.552
    Danke
    823
    Erhielt 2.823 Danke für 2.273 Beiträge

    Standard

    Wikipedia ASCII Tabelle

    Code:
    //Nachricht initialisieren oder Zeichen hineinspeichern:
    //<STX>Steuerung<ETX><STX>A01<SOH><STX>130916A01/S60540B<SOH><EOT>
    //(das sind vermutlich 28 Zeichen)
    
    Msg : ARRAY [1..50] OF CHAR ;
    
    Msg[1] := B#16#02 ;  // <STX>
    Msg[2] := B#16#01 ;  // ?? <Steuerung> siehe Graviergerät-Dokumentation
    Msg[3] := B#16#03 ;  // <ETX>
    Msg[4] := B#16#02 ;  // <STX>
    Msg[5] := B#16#41 ;  // 'A'
    Msg[6] := B#16#30 ;  // '0'
    Msg[7] := B#16#31 ;  // '1'
    Msg[8] := B#16#01 ;  // <SOH>
    Msg[9] := B#16#02 ;  // <STX>
    Msg[10]:= B#16#31 ;  // '1'
    Msg[11]:= B#16#33 ;  // '3'
    Msg[12]:= B#16#30 ;  // '0'
    Msg[13]:= B#16#39 ;  // '9'
    Msg[14]:= B#16#31 ;  // '1'
    Msg[15]:= B#16#36 ;  // '6'
    Msg[16]:= B#16#41 ;  // 'A'
    Msg[17]:= B#16#30 ;  // '0'
    Msg[18]:= B#16#31 ;  // '1'
    Msg[19]:= B#16#2F ;  // '/'
    Msg[20]:= B#16#53 ;  // 'S'
    Msg[21]:= B#16#36 ;  // '6'
    Msg[22]:= B#16#30 ;  // '0'
    Msg[23]:= B#16#35 ;  // '5'
    Msg[24]:= B#16#34 ;  // '4'
    Msg[25]:= B#16#30 ;  // '0'
    Msg[26]:= B#16#42 ;  // 'B'
    Msg[27]:= B#16#01 ;  // <SOH>
    Msg[28]:= B#16#04 ;  // <EOT>
    Die Nachricht (Msg) an "SEND_PTP_DB".BUFFER übergeben, "SEND_PTP_DB".LENGTH = 28

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. #6
    Steffen Wiegand ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    13.07.2016
    Beiträge
    11
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    das sieht sehr vielversprechend aus wenn mir jetzt noch jemand sagen kann wie ich die buchstaben zahlen umgewandelt bekomme, da der Baustein STRING_VAL nicht die gleichen Werte wie oben rausgibt.

  8. #7
    Registriert seit
    13.12.2011
    Beiträge
    687
    Danke
    67
    Erhielt 57 Danke für 55 Beiträge

    Standard

    Zitat Zitat von Steffen Wiegand Beitrag anzeigen
    wie ich die buchstaben zahlen umgewandelt bekomme, da der Baustein STRING_VAL nicht die gleichen Werte wie oben rausgibt.
    Was meinst Du genau damit? Was gibt er denn aus?



    Von irgendwas mit Internetzugang gesendet.

  9. #8
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    9.552
    Danke
    823
    Erhielt 2.823 Danke für 2.273 Beiträge

    Standard

    Die Buchstaben und Zahlen sind in meinem Beispiel schon umgewandelt bzw. im ASCII-Code eingetragen:
    - das Zeichen 'A' hat den ASCII-Code 16#41 (65 dezimal)
    - die Ziffer '0' hat den ASCII-Code 16#30 (48 dezimal)
    - ...

    STRING_VAL kann man nicht für die Erzeugung der Nachricht benutzen. Was machst Du mit der Anweisung STRING_VAL?
    STRING_VAL erzeugt aus einer Zeichenkette einen numerischen Wert. Für die Nachricht braucht man eher das Gegenteil: aus einem numerischen Wert eine Zeichenkette machen.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #9
    Steffen Wiegand ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    13.07.2016
    Beiträge
    11
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ja habe ichauch gemrkt, ich habe mir ebend selber einen Baustein geschrieben der mir die zeichen passend umwandelt und siehe da es funktioniert, danke euch

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 12.09.2016, 11:00
  2. Step 7 ASCII Zeichenkette über CP senden
    Von Garviel im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 16.08.2016, 10:32
  3. Mit S5 ASCII Code senden???
    Von NeuerSIMATICNutzer im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 08.02.2013, 07:28
  4. Antworten: 21
    Letzter Beitrag: 25.01.2013, 09:10
  5. Antworten: 8
    Letzter Beitrag: 06.02.2008, 18:19

Stichworte

Lesezeichen

Berechtigungen

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