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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Fifo

  1. #1
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Es gibt ihn übrigens den UDT-FIFO.
    Das ganze Programm enthält ein array aus einer UDT-Struktur mit Datum und Zeit,Messwert1,...........Messwert7
    In den Baustein geht eine UDT Stuktur rein und eine wieder raus.

    Das ganze ist flankengetriggert mit Löschfunktion.Puffergröße ist parametrierbar.
    Der Baustein funktioniert wunderbar.Das ganze Programm hat auch gleich eine Simulation die die Daten reinschiebt und wieder ausliest.
    Bei Siemens habe ich das Teil gefunden und gleich runterkopiert.

    Durch das SCL Programm kann man den FIFO jetzt quasi auf alle beliebigen Datenstrukturen sehr einfach anpassen.
    Auch das abspeichern von einem Zeitstempel kann der eine oder andere vielleicht brauchen.Wer deutsche Bezeichnungen braucht darf noch ein bisschen übersetzen.
    Gefällt mir.

    https://support.industry.siemens.com...:icon_mrgreen:
    Zitieren Zitieren Fifo  

  2. #2
    silverfreaky ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard

    Hi Experten,

    Bin gerade am FIFO testen.

    Ich habe jetzt einen Schreibsimpuls erzeugt wo ich die Daten reinschreibe in einen temporäres UDT(in) das ich im FC angelegt habe.
    Der Wert geht quasi in den FB(FIFO) rein.Von aussen beschicke ich ihn.

    Für den Lesewert(leseimpuls) habe ich ebenfalls einen UDT(out) temporär im FC anglegt.
    Die aktuellen Auslesedaten würde ich gern in einen DB schreiben.
    ich kann aber nicht auf den die Variable vom Typ dat and Time zugreifen die aus dem FB herauskommt von aussen.
    UDT Structur:Time Stamp Date and Time
    Messwert 1 Real
    ...
    Messwert 7 Real

    Wie komme ich von aussen an das UDT_Out.Timestamp?
    Im FC ist die UDT-Stuktur(out) local angelegt.Da muss ich auf die 1 Variable Date and Time dran.
    Zitieren Zitieren Test FIFO  

  3. #3
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.618
    Danke
    776
    Erhielt 646 Danke für 492 Beiträge

    Standard

    Du machst dir eine Variable vom Typ des UDT den du als Out deklariert hast (UDT-FIFO?). Entweder in nem DB (besser), oder in nem Merkerbereich (nicht so gut).
    Du kannst natürlich auch das UDT_OUT auch im FC auf einen Temp mit der UDT Deklaration legen und dann die Tempdeklaration laden und nur den Timestamp auf einen ZielDB legen.

    Hat es einen Tieferen Grund warum du einen FB in einem FC aufrufst?

    mfG René

  4. #4
    silverfreaky ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard

    Ist anderst.Der Baustein habe ich kopiert von Siemens.

    Der FIFO selbst hat einen Instanzdatenbausein.Im FC wird er aufgerufen.
    Im FC selbst sind 2 temporäre UDT(IN) und UDT(Out).Den Udt(in) versore ich von aussen mit Daten.Die schiebt er auch in den Baustein rein.
    IM FIFO selbst werden die Daten auch richtig in den Puffer geschrieben.

    Aber raus kriege ich die Ausgangsdaten nicht mehr?kratz?
    Ich würde die gern an der Schnittstelle wieder abholen(Udt(out)) und von dort der aktuelle Datensatz in einen DB schreiben.
    Geht das nicht?

  5. #5
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.618
    Danke
    776
    Erhielt 646 Danke für 492 Beiträge

    Standard

    Zeig mal den Code.

    mfG René

  6. #6
    silverfreaky ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard

    Der Zeitstempel mit Date and Time geht auch noch nicht.Auch nicht das Einlesen.
    Nach dem Systebausteinaufruf muss ich es in den UDT(IN) bekommen(Time Stamp).

    Ich habe jetzt anderst wie in der Vorlage einen FB genommen.Mit statischen Variablen.
    Das muss irgendwie mit Zeiger auf Lokaldaten gehen.Kratz!
    Und raus kriege ich die Daten gar nicht aus dem FB FIfo.Wie geht das?


    Isch aber ä längers Gschäft.

  7. #7
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.618
    Danke
    776
    Erhielt 646 Danke für 492 Beiträge

    Standard

    Code:
       
    
          CALL  "BLKMOV"
           SRCBLK :=#OUT_FIFO.TimeStamp
           RET_VAL:=#tmp_ret_val
           DSTBLK :="DUMMY_DATA".OUT_STRUCT.TimeStamp
    so z.B.

    oder wenn du die ganze struktur im DB umspeichern willst.
    So
    Code:
          CALL  "BLKMOV"
           SRCBLK :=#OUT_FIFO
           RET_VAL:=#tmp_ret_val
           DSTBLK :="DUMMY_DATA".OUT_STRUCT
    Geändert von vollmi (22.06.2015 um 15:37 Uhr)

  8. #8
    silverfreaky ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard

    Das probiere ich erst mal aus.Das wäre der erste Schritt.Jezt muss ich den Blockmove noch finden.

    Der 2 Schritt wie krieg ich die Daten aus dem UDT raus?Zur Not kann ich auch direkt auf den IDB vom FIFO Baustein zugreifen.
    Ist aber nicht so schön.

    Hast du da auch schon eine Lösung?Wo finde ich Blockmove.

  9. #9
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.618
    Danke
    776
    Erhielt 646 Danke für 492 Beiträge

    Standard

    standardlib -builtin oder halt sfc20

    wie aus dem udt?
    Code:
    L #OUT_FIFO.MeasuringValue1
    oder halt vom Zieldb.

    mfG René

  10. #10
    silverfreaky ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Geht bei mir nicht mit dem Blockmove?Geht das bei dir.Ist noch ein Fehler drin.Erst muss es in In_Fifo_TimeStamp.
    Und dann wieder alles raus

Ähnliche Themen

  1. FIFO mit S7 ????
    Von moclam im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 24.10.2013, 10:43
  2. Prioritätsproblem FIFO
    Von romanz im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 07.09.2010, 15:12
  3. Fifo Bit
    Von Jordy im Forum Simatic
    Antworten: 28
    Letzter Beitrag: 28.06.2008, 22:11
  4. Fifo S7
    Von stevexxx im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 18.03.2008, 14:45
  5. Fifo
    Von sweber im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 14.06.2007, 15:06

Lesezeichen

Berechtigungen

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