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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22

Thema: Step5 AG95u-Problem mit FBs

  1. #11
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.708
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Nach dem Programm-Auszug ist der DB zwar aufgeschlagen, es köönte aber trotzdem sein, dass er nicht als Datenquelle verwendet wird ...
    Das hatte ich aber schon geschrieben ...

    @HaDi: Ich sehe das im Grunde so wie du ...

  2. #12
    Registriert seit
    01.10.2007
    Ort
    Waiblingen
    Beiträge
    3.317
    Danke
    767
    Erhielt 536 Danke für 419 Beiträge

    Standard

    ich denke, Larry liegt da richtig mit der Zeigervermutung ...

    http://de.wikipedia.org/wiki/Referenzparameter


    bei S7 werden auf dem L-Stack oder an der Instanzschnittstelle die Werte übergeben. Stichwort http://de.wikipedia.org/wiki/Call_by_value

  3. #13
    Registriert seit
    09.06.2007
    Beiträge
    398
    Danke
    25
    Erhielt 46 Danke für 44 Beiträge

    Standard

    Bei der S95 muss im übergeordneten Baustein ein DB offen sein, bevor der Baustein mit DWs parametriert wird:
    Also
    A DB 20
    Spa Schaltuhr
    ...

    Wenn die Daten in mehreren Bausteinen stehen, müssen sie zwischengemerkt werden. Kann ja nur einen DB gleichzeitig aufmachen.

    Im untergeordneten FB kann ich einen eigenen DB öffnen, direkt oder indirekt, auch mehrere hintereinander, aber natürlich immer nur nacheinander.

    Ist der FB zu Ende, gilt wieder der DB, der vor dem FB-Aufruf gültig war.
    Ich sehe im übergeordneten Baustein keinen DB-Aufruf (was nicht heißt, dass der DB nicht offen ist).

    Nachtrag: Nach meiner Erinnerung ist daher die Speicheradresse der Formalparameter =VON und =BIS der zuletzt geöffnete DB aus dem übergeordneten Baustein, dessen Adresse im Auszug leider nicht zu erkennen ist, und nicht automatisch DB 20.
    Geändert von Ludewig (07.04.2008 um 11:11 Uhr)

  4. #14
    Registriert seit
    01.11.2007
    Beiträge
    1.235
    Danke
    91
    Erhielt 406 Danke für 367 Beiträge

    Standard

    Gut, dann sind wir ja , was den DB-Aufruf vor dem FB angeht, einig.
    Es scheint aber noch keine Einigkeit darüber zu bestehen, ob denn nun ein Zeiger auf das DW oder dessen Inhalt übergeben wird. Ich bleibe vorerst der Überzeugung, dass der Inhalt des DW übergeben wird, lasse mich aber gerne belehren.
    Wie auch immer, wenn der DB20 vor dem FB10-Aufruf aufgeschlagen ist, müsste es funktionieren, egal welche Variante tatsächlich stimmt.

  5. #15
    Registriert seit
    09.06.2007
    Beiträge
    398
    Danke
    25
    Erhielt 46 Danke für 44 Beiträge

    Standard

    Auch da bin ich deiner Meinung! Man kann auch Zeiger übergeben, dann müssten diese allerdings mit z.B.
    B =VON
    L MW 0
    weiterverarbeitet werden. Oder so ähnlich.

  6. #16
    Registriert seit
    09.06.2007
    Beiträge
    398
    Danke
    25
    Erhielt 46 Danke für 44 Beiträge

    Standard

    Zurückruder!!!!

    Habe es gerade mit IBH-Simulation versucht. Dort stimmt es überhaupt nicht.
    Die Simulations-SPS sucht das als Parameter substituierte Datenwort tatsächlich in dem DB, der innerhalb des FB offen ist.

    Dann müsste der DB außen und innen gleich sein, wenn man DW in Parameter schreibt,
    oder
    man adressiert indirekt mit B =DBxx (Nummer des Datenbausteins für die Datenwörter, die als Parameter draußen stehen.

    Oder man weiß, in welchem DB der Kram steht.

    Nachtrag: Step 5 ist halt doch irgenwie eine Steinzeitumgebung.

  7. Folgender Benutzer sagt Danke zu Ludewig für den nützlichen Beitrag:

    Perfektionist (07.04.2008)

  8. #17
    Registriert seit
    09.06.2007
    Beiträge
    398
    Danke
    25
    Erhielt 46 Danke für 44 Beiträge

    Standard

    Habe das in der Simulation auf die Schnelle noch nicht mal so hinbekommen wie ich es oben beschrieben habe. Der Simulator findet das Datenwort weder bei direkter noch bei indirekter Adressierung. Weiß der Henker warum. Vielleicht heute abend.

  9. #18
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.849
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    grundsätzlich ist es so, das der zuletzt geöffnete db mit in den aufgerufenen baustein mitgenommen wird.

    im fb10 wird aber direkt nach der deklaration der db11 geöffnet.
    vor dem laden des parameters =VON ist definitiev der db20 auf.
    im parameter von wird der wert stehen, der im db20 dw12 (im beispiel 12)steht
    im =BIS der wert des dw13 (im beispiel 13).

    wird der fb beendet, so wird im aufrufenden baustein wieder der db geöffnet der vor dem aufruf geöffnet war.

    habe das prog mal in ner 100u cpu103 getestet.
    läuft ohne probs

    Code:
    FB 10                                       DB11 <======================
    Netzwerk 1     AWL-Status          VKE Status/AKKU1 ---AKKU2-
         :A   DB  11                    1
         :L   DW  21                    1  0000         000D
         :A   DB  20                    1
         :T   DW   0                    1  0000         000D
         :A   DB  11                    1
         :L   DW  20                    1  0000         0000
         :A   DB  20                    1
         :T   DW   1                    1  0000         0000
         :L   =VON                      1  000C         0000
         :T   DW   2                    1  000C         0000
         :L   =BIS                      1  000D         000C
         :T   DW   3                    1  000D         000C
         :L   DW   2                    1  000C         000D
         :L   DW   3                    1  000D         000C
         :<=F                           1  000D         000C
         :SPB =M001                     1
         :L   DW   3
         :L   KF +2400
         :+F
         :T   DW   3
     
    FB 10                                       DB20 <=========================
    Netzwerk 1     AWL-Status          VKE Status/AKKU1 ---AKKU2--FU
         :A   DB  11
         :L   DW  21
         :A   DB  20
         :T   DW   0
         :A   DB  11
         :L   DW  20
         :A   DB  20
         :T   DW   1
         :L   =VON                      1  000C         0000
         :T   DW   2                    1  000C         0000
         :L   =BIS                      1  000D         000C
         :T   DW   3                    1  000D         000C
         :L   DW   2                    1  000C         000D
         :L   DW   3                    1  000D         000C
    Geändert von volker (07.04.2008 um 12:55 Uhr)
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  10. #19
    Registriert seit
    01.11.2007
    Beiträge
    1.235
    Danke
    91
    Erhielt 406 Danke für 367 Beiträge

    Standard

    Also, ich ruder jetzt auch mal ganz kleinlaut zurück, Zeiger ist richtig.
    Ich habe mich mal an die erstbeste 95U gemacht und das Ganze getestet. Es wird tatsächlich das DW aus dem im FB aufgeschlagenen DB geladen, egal welcher vor dem FB-Aufruf aktiv war und selbst wenn vor dem FB-Aufruf gar kein DB aufgeschlagen ist funktioniert es.
    Jetzt würd´ ich mich aber mal für die neuesten Erkenntnisse des Kollegen Aksels interessieren...

  11. #20
    Registriert seit
    09.06.2007
    Beiträge
    398
    Danke
    25
    Erhielt 46 Danke für 44 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    In der Simualtion funktioniert nur de Anzeige nicht, das Ergebnis im DB stimmt aber. Ergo:

    Die CPU liest aus
    "L =VON" einfach
    "L DW 12" und lädt den Inhalt des DW 12 im aktuellen DB20.

    Es bleibt Aksels nicht erspart, ihr zu sagen, in welchem DB das DW 12 im übergeordneten Baustein steht.
    Entweder mit
    A DBx
    oder formal mit
    BEZ: DBIN B
    und B =DBIN

    oder es steht im gerade offenen DB.

Ähnliche Themen

  1. Problem mit SLW Step5
    Von Jupp06 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 11.11.2009, 07:45
  2. Problem mit Step5 Online gehen
    Von Guido1976 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 27.08.2007, 11:18
  3. I have problem STEP5 programme regulator
    Von botr im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 30.11.2006, 22:20
  4. Step5 Problem beim dividieren
    Von Lars Weiß im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 04.06.2006, 23:16
  5. Antworten: 3
    Letzter Beitrag: 20.06.2003, 10:01

Lesezeichen

Berechtigungen

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