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

Ergebnis 1 bis 5 von 5

Thema: SFC 20 indirekt adressieren

  1. #1
    Registriert seit
    28.08.2009
    Beiträge
    14
    Danke
    73
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    folgende Situation: Ich habe einen FB in dessen IDB ein struct von 8 Doppelwörtern (Empfangspuffer) und 3 structs zs1, zs2, zs3 mit jeweils 8 doppelwörtern (Zwischenspeicher 1-3) vorhanden sind. Ich hole von einer peripheren Baugruppe eine Liste mit 8DW in den Empfangspuffer, transportiere sie mit SFC 20 in den ZS1, hole die nächste Liste in den EP, transportiere sie mit SFC20 in ZS2, hole die 3. Liste in den EP und transportiere sie wieder mit SFC 20 in den ZS3. Nun habe ich versucht, den SFC20 indirekt zu adressieren, dabei bin ich gescheitert.
    Wenn ich beim ersten Aufruf an SRCBLK #ep und an DSTBLK #zs1 schreibe, beim 2. Aufruf #ep an SRCBLK und #zs2 an DSTBLK, beim 3. Aufruf wieder #ep an SRCBLK und #zs3 an DSTBLK, funktioniert das. Nun wollte ich aber die SFC 20 nur einmal in einem Netzwerk stehen haben, und vorher je nach Aufrufbedingungen einer Variable (z.B. #ziel) die verschiedenen Zielbereiche zuweisen, die Quelle ist ja in allen 3 Fällen gleich. Ich hatte mir das etwa so vorgestellt:
    u M1.0 //Aufrufbedingung1
    spbn end1
    L P#zs1
    T #ziel
    end1: Nop 0

    u M1.1 //Aufrufbedingung2
    spbn end2
    L P#zs2
    T #ziel
    end 2: Nop 0

    usw. und dann SFC 20 mit SRCBLK #ep und DSTBLK #ziel aufrufen.

    Das geht leider gar nicht. Auch mit einem MD und [#ziel] hatte ich keinen Erfolg. Geht das überhaupt so, wenn ich mich in einem FB und dem dazugehörigen IDB bewege?

    Leider habe ich zu Hause nichts, um Beispielcode zu erzeugen, die Beschäftigung mit der Share- Version von WinSPS7 habe ich frustriert aufgegeben.

    Ich hoffe, jemand hat eine Idee.
    Gruß Micha
    Zitieren Zitieren SFC 20 indirekt adressieren  

  2. #2
    Registriert seit
    28.01.2009
    Ort
    Hamburg
    Beiträge
    199
    Danke
    52
    Erhielt 54 Danke für 34 Beiträge

    Standard

    Du brauchst nicht Indirekt Adressieren
    Code:
      U  #steuervariable
          SPBNB _001
          CALL  "BLKMOV"
           SRCBLK :=#Strk_1
           RET_VAL:=#Ret_Val_sfc_20
           DSTBLK :=#Strk_1_t
    _001: NOP   0
    
          UN    #steuervariable
          SPBNB _002
          CALL  "BLKMOV"
           SRCBLK :=#Strk_1_t
           RET_VAL:=#Ret_Val_sfc_20
           DSTBLK :=#Strk_2_t
    _002: NOP   0
    Je Bedingung ein sfc20 Aufruf
    mit ablage in entsprechender Structur
    Zitieren Zitieren SFC 20 indirekt adressieren  

  3. #3
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard

    Du kannst den Ziel-Pointer ja jedesmal selber bauer, siehe FAQ von Volker
    „Wenn du ein Problem hast, versuche es zu lösen. Kannst du es nicht lösen, dann mache kein Problem daraus.“
    Siddhartha Gautama

  4. #4
    Registriert seit
    04.01.2008
    Ort
    Wien
    Beiträge
    772
    Danke
    136
    Erhielt 39 Danke für 35 Beiträge

    Standard

    ich stimme jabba zu. es ist zwar etwas arbeit wenn dus selbst machst aber den wirst du immer wieder brauchen.
    siehe Aufbau Anypointer. Wenn du nicht zurecht kommst kann ich dir meinen am Montag senden.

    ist in Prinzip ein FC in dem du Datentyp, anzahl, ziel adresse, quelladresse und speicherberich angeben musst.
    irgendetwas ist ja immer...
    ING. Gerald Miedler

  5. #5
    Registriert seit
    08.04.2008
    Ort
    Köln
    Beiträge
    844
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo micha,

    schau doch mal hier rein:
    http://www.sps-forum.de/showpost.php?p=4871&postcount=2

    Grüße
    Gebs

  6. Folgender Benutzer sagt Danke zu Gebs für den nützlichen Beitrag:

    drmicha (21.10.2009)

Ähnliche Themen

  1. PEW; PAW indirekt Adressieren
    Von casius im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 02.10.2017, 09:00
  2. SCL indirekt Adressieren
    Von Nafura im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 19.05.2011, 21:42
  3. UDT Indirekt Adressieren
    Von EULANER im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 14.11.2010, 19:30
  4. Typ Struct Indirekt adressieren
    Von Jordy im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 23.01.2008, 10:11
  5. ANY-Pointer indirekt adressieren
    Von Anonymous im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 14.02.2004, 15:41

Lesezeichen

Berechtigungen

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