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

Ergebnis 1 bis 3 von 3

Thema: Daten übergeben und sortieren, UDTs und Globale DBs

  1. #1
    Registriert seit
    23.08.2012
    Beiträge
    6
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Ich bekomme von einem FB einen Daten über einen ANY pointer übergeben.
    Die Daten enthalten mehrere Narichtentypen verschiedener länge und sollen analysiert und verarbeitet werden in folgenden FBs.
    Für die unterschiedlichen Narichten gibt es je eigene UDTs die ihre Form beschreiben.
    Um die einzelnen Narichtentypen den folgenden Fbs bereitzustellen dachte ich an einen globalen DB der die entsprechenden UDTs enthält.

    Da ich noch nicht wirklich gewandt in SCL bin mein Frage:
    Wie gestallte ich hier am geschicktesten die Schnittstelle zwischen den einzelnen FBs und das sortieren in die entsprechenden UDTs.

    Ungefähre Konzeption (pseudocode):

    UDT100
    UDT101
    UDT102
    ...

    DATEN_BLOCK DB100
    UDT100
    UDT101
    ...
    END_DATENBLOCK


    FB100(OUT: DATA:ANY)
    ?
    FB200(IN DATA:ANY? , OUT: MESSAGE1:UDT100 in DB100? , MESSAGE2:UDT101 in DB100? ,.....)
    ?
    FB300(IN: UDT100 in DB100)
    FB300(IN: UDT101 in DB100)

    Ich hoffe das, auch wenn sehr abstrakt, recht eindeutig erkennbar ist worauf ich hinaus will.

    Da ich wieder (nach ein paar Kursen im Studium) recht neu in S7 und SCL bin sind mir die Übergaben noch etwas fremd.

    Wenn es nur um ein Message Format ging könnte man das wohl recht einfach mit einer direkten übergabe oder einem blockmove machen,
    aber wahrscheinlich gibts hier noch einige Kniffe das sauber zu machen.

    Viele Dank und Viele Grüße

    J
    Zitieren Zitieren Daten übergeben und sortieren, UDTs und Globale DBs  

  2. #2
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von J.Hinz Beitrag anzeigen
    Ich hoffe das, auch wenn sehr abstrakt, recht eindeutig erkennbar ist worauf ich hinaus will.
    Nicht wirklich!

    Um wie viel Uhr fährt der Zug?
    Oder ging es hier nicht um den Bahnhof?
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  3. #3
    Avatar von J.Hinz
    J.Hinz ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.08.2012
    Beiträge
    6
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Rotes Gesicht


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Würde gerne eingehende Messagepackete in einen Globalen DB einordnen abhängig von deren Form.
    Ungefähr wür ich das so machen, allerdings fehlt mir da die erfahrung für eine Funktionierende Idee.
    Code:
    DATA_BLOCK MESSAGES
    MESSAGE1:UDT100;
    MESSAGE2:UDT101;
    END_DATA_BLOCK
    
    VAR_IN
    DATA:ANY;
    END_VAR
    
    VAR_OUT
    
    END_VAr
    
    VAR
    MESSAGE1 AT DATA: STRUCT
    CLIENTID:DINT;
    BLOCKCOUNTER:DINT;
    ...
    END_STRUCT
    
    MESSAGE2 AT DATA: STRUCT
    CLIENTID:DINT;
    BLOCKCOUNTER:DINT;
    ...
    END_STRUCT
    END_VAR
    
    BEGIN
    
    COPY_ERROR:= SFC20(srcblk:= MESSAGE1, dstblk:= MESSAGES.MESSAGE1);
    COPY_ERROR:= SFC20(srcblk:= MESSAGE2, dstblk:= MESSAGES.MESSAGE2);
    END_FUNCTION_BLOCK
    Vielleicht läßt sich das ja leichter lesen

Ähnliche Themen

  1. tp070 simulieren und wie Daten übergeben?
    Von chrisi01 im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 01.11.2011, 10:32
  2. S7 SCL und globale Daten
    Von Astyanax im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 12.12.2008, 08:34
  3. C++ Datensätze durchsuchen und sortieren
    Von Forumaner im Forum Hochsprachen - OPC
    Antworten: 20
    Letzter Beitrag: 30.06.2008, 22:02
  4. Strings in globale DBs speichern
    Von Anonymous im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 12.09.2005, 19:19
  5. Daten sortieren
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 13.03.2005, 15:50

Lesezeichen

Berechtigungen

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