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

Ergebnis 1 bis 6 von 6

Thema: Zeichenkette an Panel übegeben

  1. #1
    Registriert seit
    16.12.2010
    Beiträge
    44
    Danke
    1
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe eine S7 317-2PN/DP und ein TP177B. Ich habe in einem DB nun 16 Zeichenketten mit einer Länge von jeweils 32 Zeichen angelegt. In meinem DB werden aber für die 32 Zeichen, 34 Byte benutzt. Was an sich ja noch nicht so schlimm ist.

    Wenn ich jetzt unter WinCC die Variablen einfüge, und ich die Länge von 32 Zeichen eingebe, setzt WinCC die Adressen auch Automatisch um 34 Byte hoch. Dies ist so ja auch in Ordnung.

    Wenn ich jedoch jetzt die Zeichenkette ausgeben lasse, steht vor dem ersten Zeichen immer ein kleines Quadrat. Woher kommt das? Ich bekomme das nur weg, wenn ich WinCC sage, das das Startbyte nicht DB114.DBB0 ist sonder DB114.DBB2. Aber das kann doch nicht die Lösung sein oder?


    Vielen Dank schonmal.
    Zitieren Zitieren Zeichenkette an Panel übegeben  

  2. #2
    Registriert seit
    22.01.2008
    Ort
    Allgäu, da wo die Kühe schöner sind als die Mädels
    Beiträge
    1.775
    Danke
    51
    Erhielt 731 Danke für 436 Beiträge

    Standard

    hast du mal geschaut, wie der parameter string aufgebaut ist?

    die hilfe ist hier nicht schlecht

    In den ersten zwei bytes steht die länge des strings.

    fütter die mal händisch mit werten und du bekommst eine anzeige
    Gruss Audsuperuser

    Herzlich Willkommen im Chat:
    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  3. #3
    Fl0Bru ist offline Benutzer
    Themenstarter
    Registriert seit
    16.12.2010
    Beiträge
    44
    Danke
    1
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Ok, wenn man die Ansicht aud Dezimal umschaltet, sieht man dies auch.

    Aber warum kann WinCC das nicht verarbeiten? Es erkennt ja richtig, das für 32 Zeichen 34 Byte benötigt werden. Muss ich jetzt also das "Startbyte" um 2 Byte verschieben?

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.314
    Danke
    932
    Erhielt 3.326 Danke für 2.688 Beiträge

    Standard

    Zitat Zitat von Fl0Bru Beitrag anzeigen
    Muss ich jetzt also das "Startbyte" um 2 Byte verschieben?
    Nein, das Startbyte nicht verschieben.
    Als Stringadresse muß die Adresse des Stringkopfes 2 Byte vor dem eigentlichen String angegeben werden.

    Du meinst sicher WinCC flexible. Ist Dein TP177B bzw. das WinCCflex-Projekt in das Step7-Projekt integriert?
    Wenn Du die Strings im DB korrekt als STRING[32] deklariert hast und in WinCCflex die Strings symbolisch auswählst, dann
    macht WinCCflex alles richtig und erstellt die Variable als String mit der Länge 32 und zeigt dann die Strings korrekt an.

    Wenn Du die Variablen nicht symbolisch anlegst, dann mußt Du selber String (nicht StringChar!!!) einstellen und die
    Länge 32 eingeben. Die Adresse des Strings muß die selbe sein, wie im DB angezeigt, also z.B. DB114.DBB0.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #5
    Fl0Bru ist offline Benutzer
    Themenstarter
    Registriert seit
    16.12.2010
    Beiträge
    44
    Danke
    1
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Danke, es lag daran das ich der Typ auf StringChar stand, und nicht auf String. ich gehe mal davon aus, das StrinChar alle Zeichen als Char interpretiert und die Steuerzeichen ignoriert.

  6. #6
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.314
    Danke
    932
    Erhielt 3.326 Danke für 2.688 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Fl0Bru Beitrag anzeigen
    ich gehe mal davon aus, das StrinChar alle Zeichen als Char interpretiert
    Korrekt. StringChar in WinCCflex ist das Gleiche wie Array of Char in Step7. Jedes Byte wird als Zeichen interpretiert.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Zeichenkette umwandeln?
    Von Mike Vanstrike im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 14.07.2011, 21:27
  2. Zeichenkette in mehreren Panels anzeigen
    Von Katrin1982 im Forum HMI
    Antworten: 1
    Letzter Beitrag: 21.04.2011, 22:39
  3. Umwandlung ASCII-Zeichenkette
    Von E-Komiker im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 01.01.2010, 12:27
  4. S7-200 TD100C Zeichenkette
    Von godi im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 02.08.2008, 20:05
  5. REAL >> Ascci - Zeichenkette
    Von raifisch im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 08.12.2005, 14:48

Lesezeichen

Berechtigungen

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