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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: FIFO Strukturierter Text / TwinCat 2

  1. #11
    Hendrik ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.12.2013
    Ort
    Bremen
    Beiträge
    165
    Danke
    13
    Erhielt 15 Danke für 15 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    so das funktioniert schonmal so:
    Code:
    FUNCTION_BLOCK TEST
    VAR_INPUT
        Trigger:BOOL;
        String_Neu:STRING;
    END_VAR
    VAR_OUTPUT
    END_VAR
    VAR
        ARRAY1:ARRAY [0..100] OF STRING;
        index:INT;
        Flanke: BOOL;
    END_VAR
    
    IF Trigger AND NOT Flanke THEN
        FOR Index :=100 TO 0 BY - 1 DO
            ARRAY1[index]:=ARRAY1[index-1];
        END_FOR;
    
        ARRAY1[0]:= STRING_Neu;
    END_IF
    Flanke := Trigger;
    Wie meinst du das StructuredTrash?

  2. #12
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.792
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    ... das dürfte eigentlich nicht ohne Fehler funktionieren, da du in der Schleife am Ende aus dem deklarierten Array heraus läufst :
    wenn Index = 0 dann lädst du in das Array[0[] das Element Array[-1] hinein - das gibt es aber nicht in der Deklaration - Aufpassen !

  3. #13
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.792
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Was ST dir sagen wollte ist, dass es 2 Möglichkeiten gibt, dies umzusetzen.
    Die erste Möglichkeit ist das, was ich dir vorgeschlagen habe : der Baustein wir IMMER bearbeitet und durch die externe Beschaltung wird festgelegt, ob und was er machen soll - dann brauchst du die Flankenauswertung wie von mir vorgeschlagen im Code des Bausteins - das wäre meine Arbeitsweise.
    Die zweite Möglichkeit ist : der Baustein wir nur dann von dir aufgerufen wenn er seine Arbeit amchen soll - Dann brauchst du die Flankengeschichte ausserhalb des Bausteins (aber nicht mehr innerhalb).

    Du mußt entscheiden, wie du vorgehst ...

    Gruß
    Larry

  4. #14
    Hendrik ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.12.2013
    Ort
    Bremen
    Beiträge
    165
    Danke
    13
    Erhielt 15 Danke für 15 Beiträge

    Standard

    Der gesammte Baustein bwird nur dann aufgerufen wenn Aktuell ein Fehler da ist.

    Ja das ist mir auch schon aufgefallen habe das im richtigen CODE schon geändert.

    Danke für eure Hilfe!
    bin auf jedenfall wieder etwas schlauer

  5. #15
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    755
    Danke
    27
    Erhielt 166 Danke für 144 Beiträge

    Standard

    Zitat Zitat von Hendrik Beitrag anzeigen
    Der gesammte Baustein bwird nur dann aufgerufen wenn Aktuell ein Fehler da ist.
    Wenn sich das auf Deinen Code aus #11 bezieht, heisst das aber, das der FB über mehrere Zyklen hinweg aufgerufen wird. Wenn Du mal einen Fehler hast, der nur für einen Zyklus ansteht, wird es nicht funktionieren.
    Ich würde mich für eine der Möglichkeiten entscheiden, die Larry genannt hat:
    Entweder so wie jetzt mit interner Flankenauswertung, aber den FB immer aufrufen (wenn kein Fehler eingetragen werden soll, Trigger:=FALSE)
    oder den Triggerimpuls ausserhalb des FB's erzeugen und ihn nur im Triggerzyklus aufrufen, dann können Triggereingang und Flankenmerker entfallen.

  6. #16
    Hendrik ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.12.2013
    Ort
    Bremen
    Beiträge
    165
    Danke
    13
    Erhielt 15 Danke für 15 Beiträge

    Standard

    Habe da noch eine Frage gerade kann ich aus einem mit CONCAT zusammengesetzem String z.b.
    Code:
    String1:= CONCAT (Datum, Text);
    in einem anderem Abschnitt String1(Text) mit String2 vergleichen?
    also quasi teile von einem String auslesen?
    wenn ja wie?

    Grüße Hendrik

  7. #17
    Registriert seit
    12.11.2014
    Beiträge
    22
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    http://infosys.beckhoff.de/index.php....html&id=14299

    Hier gibs die ganzen Stringfunktionen. Könntest FIND nutzen um den gesuchten String im String zu finden, dann den Stringanfang des gesuchten Strings im String mit der zusätzlichen Stringinformation der Länge des Strings über LEN nutzen um den gewünschten String dann auszulesen.

    Ist ne ziemlich verstringte Angelegenheit, ?
    gruß

    Dron

Ähnliche Themen

  1. FOR-Schleife Strukturierter Text
    Von joern_85 im Forum CODESYS und IEC61131
    Antworten: 10
    Letzter Beitrag: 23.07.2013, 11:51
  2. Dynamische Speicherung - TWINCAT Strukturierter Text
    Von justplay im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 03.05.2010, 17:03
  3. Strukturierter Text ????HÄ?????
    Von Pinky im Forum Programmierstrategien
    Antworten: 3
    Letzter Beitrag: 22.04.2010, 14:26
  4. For Schleif Strukturierter Text
    Von bluebird277 im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 28.01.2010, 20:45
  5. Strukturierter Text
    Von bluebird277 im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 21.01.2010, 15:54

Lesezeichen

Berechtigungen

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