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

Ergebnis 1 bis 3 von 3

Thema: ANY Paramater aus staischem Bereich übergeben

  1. #1
    Registriert seit
    07.06.2007
    Beiträge
    93
    Danke
    7
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich habe hier jetzt schon einige Zeit gestöbert und gelesen und weiß jetzt auch im groben, wie sich der Parameter ANY und POINTER zusammensetzen, aber bei meinem Problem hilft mit das nicht weiter.
    Im statischen Bereich eines FBs habe ich eine Struktur, die wie folgt aufgebaut ist.

    Code:
    SD1   BYTE
    ADR   BYTE
    TYP   BYTE
    PA1   INT
    PA2   INT
    PA3   INT
    BCC   BYTE
    Der Block stellt das Sendetelegramm des MOVILINK Protokolls dar, dass ich via RS485 und der SFC217 von VIPA an einen SEW Umrichter senden möchte. Nun ist es leider so, dass die S7 den INT Wert PA1 ab dem Adressbyte 4 zuordnert. Ebenso belegt das Byte BCC ein komplettes Wort im Speicherbereich. Wie mache ich es, dass quasi alle Bytes hintereinander übertragen werden, also 10 Byte und nicht wie oben 12.
    Hoffentlich habe ich mich einigermasen verständlich ausgedrückt.

    Achso, programmiert wird Step7 V5.4

    Viele Grüße
    Eric
    Zitieren Zitieren ANY Paramater aus staischem Bereich übergeben  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Das wird auf direktem Wege nicht gehen, da du die Padding- (Füll-) Bytes in deiner Struktur nicht wegbekommst (selbst in C bekommt man diese Füllbytes nur mit entsprechenden Compiler Pragmas weg).

    Ich würde mir einen kleinen FC machen welcher als Eingangsparameter die Struktur hat, und als Ausgangsparameter ein "Array of Byte" mit der Anzahl 10. In diesem FC werden dann die Bytes passend zusammengeschoben.

  3. #3
    Registriert seit
    25.11.2008
    Ort
    Westpfalz
    Beiträge
    1.550
    Danke
    187
    Erhielt 212 Danke für 186 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich würd es auch so wie Thomas machen und alles zusammenschieben. Alternativ zum FC würde ich es über ein Temporäre Variablen im Baustein selbst machen.


    L SD1
    T Struct_tmp.Byte1
    L ADR
    T Struct_tmp.Byte2
    L TYP
    T Struct_tmp.Byte3
    L PA1
    T Struct_tmp.Byte4
    L PA2
    T Struct_tmp.Byte6

    ...

    call sfc15
    ...
    RECORD := Struct_tmp
    ...
    Geändert von Sinix (07.12.2009 um 14:53 Uhr)

Ähnliche Themen

  1. DB in SCL übergeben
    Von Felse im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 11.09.2012, 19:50
  2. ea Bereich sz 317 2dp
    Von Bensen83 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 27.07.2011, 10:32
  3. DB Nr. an FC übergeben
    Von Beren im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 06.05.2010, 12:23
  4. EX Bereich
    Von Phil im Forum Maschinensicherheit - Normen und Richtlinien
    Antworten: 2
    Letzter Beitrag: 06.06.2008, 07:14
  5. UDT an FB übergeben
    Von Ralle im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 30.11.2005, 10:34

Lesezeichen

Berechtigungen

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