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

Ergebnis 1 bis 6 von 6

Thema: Texte aus WinCC 7.0 in einen Datenbaustein schreiben

  1. #1
    Registriert seit
    24.09.2013
    Beiträge
    16
    Danke
    10
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe ein Problem. Und zwar sollen in einem WinCC-Projekt Texte eingegeben werden, die dann fest hinterlegt sind.
    Mit einem Button soll der angewählte Text in einen Datenbaustein in einer S7-Steuerung geschrieben werden.

    Am Besten wäre es, wenn die Texte über ein Drop-Down Menü ausgewählt werden könnten
    und dann mit dem Button "Senden" in eine Variable (Datenbaustein...) geschrieben werden.

    Gibt es eine Möglichkeit, die Texte in Zeichen zu zerlegen und diese dann Byte-weise in den DB zu schreiben?

    Vielen Dank schonmal.

    Mfg
    Thomas
    Zitieren Zitieren Texte aus WinCC 7.0 in einen Datenbaustein schreiben  

  2. #2
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Dropdown menü wäre eine Textliste mit FESTEN Texten, die zur Laufzeit nicht verändert werden können.
    Eine Indexvariable gibt den aktuellen Eintrag zur SPS weiter. ( Indexvariable 3 = Text 3)

    Willst du die Texte in der SPS verändern?

    Wird ein Text in der Visu von Hand eingegeben, so wäre das z.B.: eine zeichenkette mit Länge 20
    Diese Variable könnte ein Aray of Char im DB sein. Oder ein String[20] im DB. Zugriff Symbolisch von der Visu aus.

    Ein Zeichen (Char) belegt ein byte. "Mein Text" wären dann 9 Chars.

    Beachte auch die 2 Headerbytes bei einem String

  3. Folgender Benutzer sagt Danke zu Verpolt für den nützlichen Beitrag:

    thomas1285 (05.09.2014)

  4. #3
    thomas1285 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    24.09.2013
    Beiträge
    16
    Danke
    10
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Der Sinn dahinter ist, dass man im WinCC einen von vielen vorgegebenen Texten auswählen kann und dann auf einen Button "senden" drückt.
    Dann muss ich irgendwie den Text in Zeichen zerlegen und in einen Datenbaustein ablegen.

    Mit diesen Zeichen bastel ich mir dann eine Laufschrift, die auf eine große Anzeige übertragen wird.

    Die Texte werden also nur vom WinCC über die SPS an die Anzeige weitergeleitet.

  5. #4
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    ist zwar nur flexible, aber so ähnlich könntest das anlegen.

    Eingabe der Texte in "TexteVomDisplay".

    Jetzt musst du entscheiden (Indexvariable 0..9), wohin der Text in der SPS kopiert wird. (nicht im bild)

    Index 3: Kopiere "TexteVomDisplay" --> "Text4"

    Laden: Kopiere "Text4" --> "TexteVomDisplay"

    das Ganze mit sende button und verriegelungen ausschmücken.

    Mit Char verhält es sich ähnlich

    Text1.JPG

  6. Folgender Benutzer sagt Danke zu Verpolt für den nützlichen Beitrag:

    thomas1285 (05.09.2014)

  7. #5
    Registriert seit
    29.03.2004
    Beiträge
    5.793
    Danke
    144
    Erhielt 1.706 Danke für 1.238 Beiträge

    Standard

    Von WinCCflexible kannst du in WinCC nicht viel übernehmen.

    Hat es einen Grund warum du die Bytes einzeln schreiben willst?
    Wenn du die Texte in der SPS als Variablen vom Datentyp String angelegt hast, geht das recht einfach.

    Du legst in WinCC die Variable mit Datentyp "Textvariable 8-Bit Zeichensatz" und der entsprechenden Länge an, z.B. "Lauftext1".
    Für die Auswahl der Texte würde ich ein Listenfeld nehmen (z.B. mit Objektname "Listenfeld1"). In das Listenfeld fügst du deine Texte ein.
    Daneben packst du einen Button, bei dem du unter Ereignis bei Mausklick eine C-Aktion einfügst.
    Dort gibst du folgendes ein:
    Code:
    // WINCC:TAGNAME_SECTION_START
    #define TEXTTAGNAME "Lauftext1"
    // WINCC:TAGNAME_SECTION_END
    
    char *SelText;
    
    /* Angewählten Text des Listenfeldes auslesen */
    SelText = GetPropChar(lpszPictureName, "Listenfeld1", "SelText");
    /* String auf Variable schreiben */
    SetTagChar(TEXTTAGNAME, SelText);
    WinCC setzt die Kopfinformationen des Strings passend zur aktuellen Länge.

  8. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    thomas1285 (05.09.2014)

  9. #6
    thomas1285 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    24.09.2013
    Beiträge
    16
    Danke
    10
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @Thomas_v2.1
    Danke, es funktioniert jetzt so, wie ich und vor allem der Kunde es wünschen

    Danke auch an Verpolt für die Hilfe!

Ähnliche Themen

  1. TIA SCL Aus datenbaustein auf Ausgangswort schreiben
    Von SEAL im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 29.04.2014, 08:30
  2. Antworten: 12
    Letzter Beitrag: 08.12.2011, 15:01
  3. Bitnummer aus Datenbaustein schreiben
    Von amigo del sol im Forum HMI
    Antworten: 5
    Letzter Beitrag: 16.08.2011, 09:25
  4. Texte aus SPS als string schreiben
    Von nonguru im Forum HMI
    Antworten: 5
    Letzter Beitrag: 03.02.2008, 22:08
  5. Antworten: 5
    Letzter Beitrag: 21.06.2007, 17:04

Lesezeichen

Berechtigungen

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