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

Seite 5 von 7 ErsteErste ... 34567 LetzteLetzte
Ergebnis 41 bis 50 von 63

Thema: Problem mit Lokaldaten

  1. #41
    Registriert seit
    05.06.2006
    Ort
    PLZ 97xxx
    Beiträge
    274
    Danke
    31
    Erhielt 44 Danke für 36 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    IMHO kann nix kopiert werden wenn nix parametriert ist

    Zitat Zitat von Ralle Beitrag anzeigen
    @Sarek

    Wird denn auch umkopiert, wenn gar nichts am FB im OB35 anparametriert ist?

  2. #42
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    ... wenn nichts dran-parametriert ist, dann hat die Schnittstelle (durch die gleiche Instanz) die Werte der letzten Zuordnung ...

    ---

    Ich fände es ganz nett, mal zu sehen zu bekommen, worüber wir hier so nett philosophieren ...

    Gruß
    LL

  3. #43
    tobi221081 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    13.01.2009
    Beiträge
    27
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe zwar INs und OUTs aber keine IN_OUTs

  4. #44
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Ich fände es ganz nett, mal zu sehen zu bekommen, worüber wir hier so nett philosophieren ...
    Wenn es nun nicht funktioniert (funktionieren sollte), dann greif doch noch meinen Vorschlag (s.o.) auf und stell deinen FB mal hier ein ...

    Gruß
    LL
    Geändert von Larry Laffer (13.01.2009 um 17:14 Uhr)

  5. #45
    Registriert seit
    05.06.2006
    Ort
    PLZ 97xxx
    Beiträge
    274
    Danke
    31
    Erhielt 44 Danke für 36 Beiträge

    Standard

    PEW an IN-Parameter parametriert ?

    Was für eine CPU hast Du überhaupt?
    Bei >500Byte L-Daten muß das ja ne S7-400 oder ne 318 sein, oder?

    Sind die Speicherbereiche in der HW-Konfig dafür extra neu konfiguriert worden?

    Schau mal in die Ref-Daten unter Programmstruktur wieviele Lokaldaten
    reserviert sind für die OBs und was in der HW-Konfig eingestellt ist.
    Vielleicht gibts doch ein Problem mit den L-Stack und die CPU geht nicht auf STOP weil irgendein FW-Fehler dies verhindert.

  6. #46
    tobi221081 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    13.01.2009
    Beiträge
    27
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    @Larry: den FB hier ins Forum stellen... würd ich gern nur dann haut mich mein Chef...

    @sarek: 150Bytes => das Verhalten tritt bei unterschiedlichen CPUs auf....
    => Deswegen glaub ich nicht an einen FW-Fehler. PEWs nicht nur BLOCK_DBs und M

    Ich denk immer mehr das es irgendein Hirnriß-Programmierfehler ist. Bin dem weiter auf der Spur.

  7. #47
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Zitat Zitat von tobi221081 Beitrag anzeigen
    @Larry: den FB hier ins Forum stellen... würd ich gern nur dann haut mich mein Chef...
    ... war nur ein Vorschlag - du mußt es ja nicht so machen.
    Die Chance wäre halt nur sehr groß, dass man dir dann helfen könnte ... Ich kann mir jedenfalls nicht vorstellen, dass der FB etwas furchtbar Geheimnisvolles enthält ...

  8. #48
    Registriert seit
    05.06.2006
    Ort
    PLZ 97xxx
    Beiträge
    274
    Danke
    31
    Erhielt 44 Danke für 36 Beiträge

    Standard

    In deinem 1.Post schreibst Du > 500Byte lokaldaten
    jetzt nur 150 Bytes.

    Sind wirklich nur 150Bytes deklariert?

    Zitat Zitat von tobi221081 Beitrag anzeigen
    @Larry: den FB hier ins Forum stellen... würd ich gern nur dann haut mich mein Chef...

    @sarek: 150Bytes => das Verhalten tritt bei unterschiedlichen CPUs auf....
    => Deswegen glaub ich nicht an einen FW-Fehler. PEWs nicht nur BLOCK_DBs und M

    Ich denk immer mehr das es irgendein Hirnriß-Programmierfehler ist. Bin dem weiter auf der Spur.

  9. #49
    Registriert seit
    06.10.2003
    Beiträge
    3.403
    Danke
    447
    Erhielt 502 Danke für 406 Beiträge

    Standard

    Es liegt sicherlich nicht an den temporären Lokaldaten! Wie bereits mehrfach erwähnt wurde, besitzen OB1 und OB35 getrennte Datenbereiche für die temporären Lokaldaten. Wird der OB durch den OB35 unterbrochen und anschließend fortgesetzt, so besitzen die temporären Lokaldaten noch ihre Gültigkeit (derselbe Zyklus), und müssen daher auch nicht gesichert werden.

    Die Ursache liegt höchst wahrscheinlich in den statischen Lokaldaten. Beim Aufruf eines FBs werden vor der Bearbeitung des Codes die Eingangsparameter in den Instanz-DB kopiert. Daran ändert auch ein BE nichts. Ebenso werden die Ausgänge vor dem Verlassen des FBs aus dem Instanz-DB aktualisiert. Auch das wird durch ein BE nicht verhindert.

    Aus dieser Tatsache verbietet sich eigentlich schon ein mehrfacher Aufruf mit einer Instanz, insbesondere in verschiedenen Prioritätsklassen. Die Eingänge müssten in beiden OBs konsistent sein und dürften natürlich nicht beschrieben werden. Die Bausteinausgänge dürften nicht als Zwischenergebnisse missbraucht werden (macht man ja so wie so nicht, wäre jedoch möglich). Dann könnte es eventuell funktionieren. Für IN_OUTs gilt es natürlich genau so.

    @tobi
    Ruf' doch mal im OB35 den FB ohne Aktualparameter auf (bis auf die OB35-Kennung). Wenn ich richtig liege, dürfte das Problem dann nicht auftreten.


    Gruß, Onkel
    Geändert von Onkel Dagobert (13.01.2009 um 23:31 Uhr)
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  10. #50
    Registriert seit
    05.06.2006
    Ort
    PLZ 97xxx
    Beiträge
    274
    Danke
    31
    Erhielt 44 Danke für 36 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Die Eingänge sind eigentlich automatisch konsistent wenn:
    a) nicht direkt auf Peripherie zugegriffen wird
    b) es nicht einen den stilistischen "Programmierfehler" gibt das z.B. ein MW von aussen angeflanscht ist und im FB direkt nochmal draufgeschrieben wird (so ne ART Zirkelbezug)
    c) ein IN-Parameter im FB nicht zugewiesen wird (auch stilistischer "Programmierfehler")

    Die Konsistenz ergibt sich einfach daraus wenn ein FB unterbrochen wird und in einer anderen Prio neu aufgerufen wird mit dem selben IDB dann
    sind die IN-Daten konsistent wenn der FB selbst nicht die o.g. Daten frisiert oder natürlich ein anderer Baustein vorher bzw. OB in der neuen Prio-Klasse.

    Bei OUT muß unbedingt zugewiesen werden bevor abgefragt wird.
    Zwischenergebnisse dürften nix ausmachen, da die Daten im IDB vom
    zweiten Aufruf nicht verändert werden sondern nur rausgeschrieben
    werden auf den angeflanschten Parameter.

    Bei INOUT ist ein bisschen komplizierter, wie oben schon angemerkt.




    Zitat Zitat von Onkel Dagobert Beitrag anzeigen
    Es liegt sicherlich nicht an den temporären Lokaldaten! Wie bereits mehrfach erwähnt wurde, besitzen OB1 und OB35 getrennte Datenbereiche für die temporären Lokaldaten. Wird der OB durch den OB35 unterbrochen und anschließend fortgesetzt, so besitzen die temporären Lokaldaten noch ihre Gültigkeit (derselbe Zyklus), und müssen daher auch nicht gesichert werden.

    Die Ursache liegt höchst wahrscheinlich in den statischen Lokaldaten. Beim Aufruf eines FBs werden vor der Bearbeitung des Codes die Eingangsparameter in den Instanz-DB kopiert. Daran ändert auch ein BE nichts. Ebenso werden die Ausgänge vor dem Verlassen des FBs aus dem Instanz-DB aktualisiert. Auch das wird durch ein BE nicht verhindert.

    Aus dieser Tatsache verbietet sich eigentlich schon ein mehrfacher Aufruf mit einer Instanz, insbesondere in verschiedenen Prioritätsklassen. Die Eingänge müssten in beiden OBs konsistent sein und dürften natürlich nicht beschrieben werden. Die Bausteinausgänge dürften nicht als Zwischenergebnisse missbraucht werden (macht man ja so wie so nicht, wäre jedoch möglich). Dann könnte es eventuell funktionieren. Für IN_OUTs gilt es natürlich genau so.

    @tobi
    Ruf' doch mal im OB35 den FB ohne Aktualparameter auf (bis auf die OB35-Kennung). Wenn ich richtig liege, dürfte das Problem dann nicht auftreten.


    Gruß, Onkel

Ähnliche Themen

  1. Lokaldaten
    Von S7 Frischling im Forum Programmierstrategien
    Antworten: 9
    Letzter Beitrag: 12.08.2013, 14:20
  2. Problem mit Lokaldaten
    Von Carsten81 im Forum Simatic
    Antworten: 30
    Letzter Beitrag: 22.10.2010, 08:46
  3. SCL und Lokaldaten
    Von derwestermann im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 14.03.2008, 11:53
  4. Problem mit BLKMOV bei Zugriff auf V-Lokaldaten
    Von armadillo im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 11.02.2006, 06:38
  5. Problem beim Editieren der temporären Lokaldaten
    Von Onkel Dagobert im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 08.11.2004, 18:16

Stichworte

Lesezeichen

Berechtigungen

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