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

Ergebnis 1 bis 9 von 9

Thema: String beschreiben

  1. #1
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, ich möchte folgendes machen:

    Würde gerne in SCL oder auch gerne wenn anders möglich einen string beschreiben. allerdings gerne so, dass ich einen string in der Form
    'beispielstring' als eingangsparameter habe udn ausgaben beispielsweise db102.dbb0 oder sowas. geht das irgendwie? oder muss ich jedes Byte des Strings einzeln beschreiben?

    Danke
    Zitieren Zitieren String beschreiben  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo Benson,
    was immer du vorhast (ich habe den Hintergrund deiner Frage leider nicht verstanden) wird wohl sehr wahrscheinlich funktionieren - bei Strings wäre SCL ganz generell ein guter Ansatz .

    Um aber konkret werden zu können hätte ich doch ganz gern ein paar mehr Info's - vielleicht auch nach dem Ansatz "ein Bild sagt mehr als 100 Worte"

    Gruß
    Larry

  3. #3
    Registriert seit
    05.03.2008
    Beiträge
    81
    Danke
    9
    Erhielt 7 Danke für 7 Beiträge

    Standard

    FUNCTION_BLOCK
    VAR_INPUT
    str: STRING;
    END_VAR

  4. #4
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Alos ich möchte einen Baustein schreiben, dem ich einfach eine Per Hand geschriebene Zeichenkette übergeben kann, und der mir das dann in einene Variable schreibt.

    in scl habe ich es so gemacht:

    Code:
     
    VAR_INPUT 
    Eingangsstring : STRING;
    END_VAR
    VAR_OUTPUT
    Ausgangsstring : STRING;
    END_VAR
        // Anweisungsteil
        
        Ausgangsstring := Eingangsstring;
    jetzt möchte ich den Baustein so aufrufen, aber scheint nicht zu gehen:


    CALL FC 103
    Eingangsstring:='Hallo'
    Ausgangsstring:=db102.dbb0


    bekomme die beiden parameter rot makiert.
    Zitieren Zitieren Ok  

  5. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Ach so ...
    Ein String wird grundsätzlich als Pointer an den Baustein übergeben. Du mußt also deinen Quellstring erst einmal zum Beispiel im Temp-Bereich (des aufrufenden Bausteins) erzeugen und kannst ihn dann (am Besten symbolisch) dem FC übergeben.
    Raus ist es so ähnlich. Auch da wird ein Pointer verwendet und nicht ein DBD. Das heißt, dass du auch hier einen String an den Baustein übergeben mußt (der dann nur von deinem Baustein gefüllt wird).

    Gruß
    Larry

  6. #6
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Alles klar, aber dann kann ich ja auch gleich jedem Byte seinen Wert zuweisen.
    Zitieren Zitieren Ok  

  7. #7
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    ... dazu müßte man dan doch etwas genauer wissen, was du machen willst.

    In SCL kannst du allerdings auf jeden Fall schon einmal schreiben :
    Code:
    myString := 'Hallo Welt ...' ;

  8. #8
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Ja danke. So habe ich es auch jetzt gemacht.
    Zitieren Zitieren Ja danke  

  9. #9
    Registriert seit
    20.08.2008
    Ort
    Ludwigsburg
    Beiträge
    26
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Mit SCL gibt es viele Möglichkeiten.

    VAR
    String_Test : STRING;
    END_VAR

    String_Test := 'hallo';

    oder

    "Kommunikation_Ruhlamat".ArtikelNummerAktiv := STRING_TO_DINT("Artikel".ArtikelNrAkiv);

    IF "Kommunikation_Ruhlamat".ArtikelNr <> STRING_TO_DINT("Artikel".ArtikelNr) AND "MINUTE" AND "Param".Ruhlamat THEN
    "Artikel".ArtikelNr := DINT_TO_STRING
    END_IF;


    Über die Byte Adresse kann man dann die einzelnen Zeichen im String auslesen.

Ähnliche Themen

  1. String Variable in AWL beschreiben
    Von jaepen im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 10.05.2011, 09:44
  2. String beschreiben
    Von manas im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 16.03.2010, 17:04
  3. Konstante String in Variable String schreiben
    Von sailor im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 07.12.2009, 18:01
  4. Antworten: 13
    Letzter Beitrag: 24.09.2009, 12:54
  5. Ein String kopieren in einen anderen String
    Von CanYouHelpMe im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 25.09.2008, 17:21

Lesezeichen

Berechtigungen

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