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

Page 5 of 7 FirstFirst ... 34567 LastLast
Results 41 to 50 of 63

Thread: Problem mit Lokaldaten

  1. #41
    Join Date
    05.06.2006
    Location
    PLZ 97xxx
    Posts
    297
    Danke
    37
    Erhielt 46 Danke für 38 Beiträge

    Default


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

    Quote Originally Posted by Ralle View Post
    @Sarek

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

  2. #42
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,402
    Danke
    422
    Erhielt 2,536 Danke für 2,108 Beiträge

    Default

    ... 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 is offline Neuer Benutzer
    Themenstarter
    Join Date
    13.01.2009
    Posts
    27
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default

    Ich habe zwar INs und OUTs aber keine IN_OUTs

  4. #44
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,402
    Danke
    422
    Erhielt 2,536 Danke für 2,108 Beiträge

    Default

    Quote Originally Posted by Larry Laffer View Post
    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
    Last edited by Larry Laffer; 13.01.2009 at 17:14.

  5. #45
    Join Date
    05.06.2006
    Location
    PLZ 97xxx
    Posts
    297
    Danke
    37
    Erhielt 46 Danke für 38 Beiträge

    Default

    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 is offline Neuer Benutzer
    Themenstarter
    Join Date
    13.01.2009
    Posts
    27
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default

    @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
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,402
    Danke
    422
    Erhielt 2,536 Danke für 2,108 Beiträge

    Default

    Quote Originally Posted by tobi221081 View Post
    @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
    Join Date
    05.06.2006
    Location
    PLZ 97xxx
    Posts
    297
    Danke
    37
    Erhielt 46 Danke für 38 Beiträge

    Default

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

    Sind wirklich nur 150Bytes deklariert?

    Quote Originally Posted by tobi221081 View Post
    @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
    Join Date
    06.10.2003
    Posts
    4,472
    Danke
    619
    Erhielt 772 Danke für 606 Beiträge

    Default

    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
    Last edited by Onkel Dagobert; 13.01.2009 at 23:31.
    Der höchste Lohn für unsere Bemühungen ist nicht das, was wir dafür bekommen, sondern das, was wir dadurch werden.
    John Ruskin

  10. #50
    Join Date
    05.06.2006
    Location
    PLZ 97xxx
    Posts
    297
    Danke
    37
    Erhielt 46 Danke für 38 Beiträge

    Default


    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.




    Quote Originally Posted by Onkel Dagobert View Post
    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

Similar Threads

  1. Replies: 8
    Last Post: 09.10.2015, 18:42
  2. Problem mit Lokaldaten
    By Django2012 in forum Simatic
    Replies: 2
    Last Post: 07.08.2012, 18:07
  3. Problem mit Lokaldaten
    By Carsten81 in forum Simatic
    Replies: 30
    Last Post: 22.10.2010, 08:46
  4. Problem mit BLKMOV bei Zugriff auf V-Lokaldaten
    By armadillo in forum Simatic
    Replies: 2
    Last Post: 11.02.2006, 06:38
  5. Problem beim Editieren der temporären Lokaldaten
    By Onkel Dagobert in forum Simatic
    Replies: 0
    Last Post: 08.11.2004, 18:16

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •