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

Ergebnis 1 bis 6 von 6

Thema: String an Funktion übergeben und auswerten

  1. #1
    Registriert seit
    30.09.2005
    Beiträge
    33
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ist es möglich eine Funktion zu schreiben, der man einen String übergibt und je nach Inhalt dieses Strings (zB. OBEN, UNTEN, RECHTS, LINKS) verschiedene Anweisungen ausführt?
    So dass man quasi im Klartext übergeben kann, was gewünscht ist, also beispielsweise
    CALL FC 1
    Richtung : RECHTS (Oder LINKS, OBEN, UNTEN)
    Displaydrehen : JA (NEIN)

    Wenn es nur 2 Möglichkeiten gibt, kann ich das ja auch mit False/True und anderer Namensgebung (zB rechtsrum: true/false) lösen, aber wenn ich mehrere Möglichkeiten zur Auswahl habe, dann fällt mir momentan nur die Übergabe eines Integerwertes ein, den in in der Funktion auswerte, aber das finde ich nicht so schön (war die 2 jetzt recht oder links, oder eher unten oder doch etwa oben?), da es fehleranfälliger ist.

    Simatic S7-300, AWL, Step7 V5.0 SP2
    Zitieren Zitieren String an Funktion übergeben und auswerten  

  2. #2
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Du musst den String in einen DB schreiben. Diesen kannst du dann an einen FC Eingang symbolisch anbinden. In dem FC machst du dann deinen Vergleich auf den String.

    So in etwa?
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  3. #3
    Registriert seit
    30.09.2005
    Beiträge
    33
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Sorry, verstehe ich nicht ganz mit der symbolischen Anbindung bzw. die Umsetzung ist mir nicht klar.
    Aber ich versuche mal zu überlegen, was Du meinen könntest.
    Ich übergebe der Funktion einen String, diesen String schreibe ich zuerst in der Funktion in einen DB, dann frage ich diesen DB ab?
    So in etwa?
    Wenn nein, dann kannst Du da vielleicht etwas mehr zu schreiben?
    Wenn ja, String in einen DB zu schreiben ist mir glaube ich klar, aber wie kann ich einen String mit einem in einem DB gespeicherten String vergleichen? Bin ich bislang noch nicht drüber gestolpert.

  4. #4
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Du bekommst ja die Vorgabe irgendwo her, aus einem Panel denke ich. Von dort aus schreibst du in einen DB Oben. Da du keine Strings an einen Baustein parametrieren kannst, musst du einen Zeiger übergeben. Du klickst auf den Eingang am Baustein, rechte Maus, Symbol einfügen, Auswahl der Variablen aus der Tabelle und ENTER.

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  5. #5
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Dann gibt es noch den FC29 im IEC Ordner. Der Vergleicht Strings.

    Im FB kannst du Strings statisch deklarieren.

    so am Rande

    Ich würde es über eine Byte oder INT Variable lösen und in den Kommentar die Bedeutung des Wertes 1-4 reinschreiben.


    Gruß, pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  6. #6
    Registriert seit
    30.09.2005
    Beiträge
    33
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ja, merci vielmals für die Ausführungen. Und ich habe mich jetzt auch dazu entschlossen, es mit BOOL, INT Variablen zu lösen, der Rest ist mir zu aufwendig.

    Vielen Dank!

Ähnliche Themen

  1. Pointer an Funktion übergeben
    Von Anaconda55 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 01.11.2011, 19:54
  2. String einer FC übergeben?
    Von spsbändiger im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 17.02.2010, 11:47
  3. Timernummer und -wert in Funktion übergeben
    Von KingShango im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 29.09.2009, 15:09
  4. String von TP177A an S7-22x übergeben ??? !!!
    Von jank-automation im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 20.09.2008, 09:47
  5. String Konstante übergeben
    Von Jochen Kühner im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 17.01.2005, 13:10

Lesezeichen

Berechtigungen

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