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

Seite 4 von 4 ErsteErste ... 234
Ergebnis 31 bis 38 von 38

Thema: Problem bei einer Such-Schleife

  1. #31
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.715
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich habe mir jetzt nicht die Vorgeschichte in dem Thread durchgelesen ...

    Aber was dein Problem angeht : du mußt beim Hochzählen deines DBD0 natürlich auch abfragen, wann du die Grenze deines Suchbereichs erreicht hast. Sonst zählt das Ding (wie du selbst schreibst) bis Ultimo und überschreitet dann natürlich auch die Grenzen des DB's (und des SPS-Speichers).

    Also : irgendwann bei Start das DBD0 auch mal auf 0 setzen und während des Laufens die Grenze abchecken und dann aufhören ...

    Gruß
    Larry

  2. #32
    Imker ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.01.2012
    Beiträge
    16
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja, das ist mir bewusst. Habs aber tatsächlich noch nicht drinnen. Mach ich aber noch. Ich hab das DBD 0 aktuell auf den Startwert gesetzt.
    Nur wenn ich das jetzt zyklisch simuliere, dann hat er schon im ersten durchlauf einen wert von über 2 mio (binär).
    Ich konnte den Fehler noch eingrenzen, er passiert hier:
    Code:
    AUF   "PositionenRegal"           // öffne den platzverwaltungs-db       
    L     DBB   23                          
    AUF   DB     4                           
    T     DBB [DBD 0]           // hier bekommt er den hohen wert
    Es passiert also während ich die beiden DB's öffne. Zuvor hat er laut Simulation noch den gewünschten Wert (32) bzw. bei indirekt steht 4.0

  3. #33
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    So wie ich das sehe passiert der Fehler weil du mit unterschiedlichen Größen arbeitest.
    Einmal ladest du ein Byte dann wieder ein Doppelwort.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  4. #34
    Imker ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.01.2012
    Beiträge
    16
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Aber das sind doch beides Byte, oder? Das DBD 0 ist ja nur der Zeiger wegen der indirekten Adressierung. Da soll ja normalerweise beim ersten Durchlauf eine 32 drin stehen - für das DBB 4 dann.

  5. #35
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von Imker Beitrag anzeigen
    Aber das sind doch beides Byte, oder? Das DBD 0 ist ja nur der Zeiger wegen der indirekten Adressierung. Da soll ja normalerweise beim ersten Durchlauf eine 32 drin stehen - für das DBB 4 dann.
    Jupp.
    Was heißt denn bei dir nach "zyklisch simuliere"? Pro Zyklus wird doch die Schleife komplett durchgelaufen. Und somit geht es in den Überlauf von 2 Mrd.
    Mach doch mal die Abbruchbedingung rein wie es Larry schon vorgeschlagen hat und schau anschließend was eingetragen wurde.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  6. #36
    Imker ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.01.2012
    Beiträge
    16
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Die habe ich inzwischen drinnen:

    Code:
          L     DBD    0
          L     368
          <=D   
          SPBN  ENDE
    Mit zyklisch meine ich die Simulation (PLC-Sim, Taste F9). Beim ersten durchlauf ist noch alles ok, dann kommt der zur besagten Stelle. Beim nächsten Durchlauf greift dann die Abbruchbedingung und er springt auf Ende. Die Steuerung geht dadurch auch nicht mehr auf Stop.

  7. #37
    Registriert seit
    13.10.2007
    Beiträge
    12.031
    Danke
    2.786
    Erhielt 3.268 Danke für 2.156 Beiträge

    Standard

    wie Paule schon geschrieben hat, achte auf die zahlenformate
    Code:
          L     DBD    0
         L L#368
          <=D   
          SPBN  ENDE

  8. #38
    Imker ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.01.2012
    Beiträge
    16
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Okay, ist geändert, danke.

    Nur ist das Problem immer noch da. Nach dem 1. Schleifendurchlauf schreibt er eine riesige Zahl in den DBD 0. Im nächsten Durchlauf greift dann die Abbruchbedingung und er kommt dementsprechend nicht mehr in die Schleife.

    EDIT: ES GEHT!!! Aber ich weiß nicht wie ich das gemacht habe
    Ansich hab ich nur mit dem Startwert rumgespielt ??

    Vielen Dank euch allen bis hierher. Ich hoffe ich schaffe den Rest der Aufgabe allein
    Geändert von Imker (26.01.2012 um 19:59 Uhr)

Ähnliche Themen

  1. Realisierung einer Schleife
    Von simon-brl im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 05.07.2011, 20:56
  2. Antworten: 16
    Letzter Beitrag: 17.08.2009, 14:57
  3. Antworten: 5
    Letzter Beitrag: 11.06.2008, 16:08
  4. AWL -> Problem bei einer gegebenen Aufgabe
    Von PHANTOMIAS im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 12.04.2008, 14:22
  5. Antworten: 8
    Letzter Beitrag: 24.04.2006, 11:27

Lesezeichen

Berechtigungen

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