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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: Step5 AG95u-Problem mit FBs

  1. #1
    Registriert seit
    19.02.2005
    Beiträge
    199
    Danke
    12
    Erhielt 8 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Liebe Leut, ich habe hier ein Problem:

    ein FB der ungefähr so aussieht:

    NAME :SchUhr
    BEZ :VON E/A/D/B/T/Z: E BI/BY/W/D: W
    BEZ :BIS E/A/D/B/T/Z: E BI/BY/W/D: W
    BEZ :ISON E/A/D/B/T/Z: A BI/BY/W/D: BI

    000E :A -DB_DZF DB11
    000F :L -DW21 DW21
    0010 :A -DB_Tmp_FB10 DB20
    0011 :T -DW0 DW0
    0012 :A -DB_DZF DB11
    0013 :L -DW20 DW20
    0014 :A -DB_Tmp_FB10 DB20
    0015 :T -DW1 DW1
    0016 :L = VON
    0017 :T -DW2 DW2
    0018 :L = BIS
    0019 :T -DW3 DW3
    001A :L -DW2 DW2
    001B :L -DW3 DW3
    001C :<=F
    001D :SPB = M001
    001E :L -DW3 DW3
    001F :L KF +2400
    0021 :+F
    0022 :T -DW3 DW3

    Aufruf sieht so aus:

    NETZWERK 4 Badpumpe Zeit

    0026 :SPA -FBSchUhr FB10
    0027 NAME :SCHUHR
    0028 VON > -DW12 DW12 (E/W)
    0029 BIS > -DW13 DW13 (E/W)
    002A ISON < -MBadSchUhrEin M7.3 (A/BI)
    002B :***

    Damit geht meine SPS in Stop, und zwar wegen DW13. Aber warum?
    Wenn ich DW13 zuerst in einen Zwischenmerker speichere geht es. Ich dachte halt, daß ich das so nicht aufrufen darf. Deswegen folgende änderung:


    NETZWERK 4 Badpumpe Zeit

    0022 :L -DW12 DW12
    0023 :T -TmpFB3_1 MW10
    0024 :L -DW13 DW13
    0025 :T -TmpFB3_2 MW11
    0026 :SPA -FBSchUhr FB10
    0027 NAME :SCHUHR
    0028 VON > -TmpFB3_1 MW10 (E/W)
    0029 BIS > -TmpFB3_2 MW11 (E/W)
    002A ISON < -MBadSchUhrEin M7.3 (A/BI)
    002B :***

    Wenn ich diesen Programmteil beobachte sieht alles gut aus. Die gewollten Werte werden übergeben.
    Wenn ich aber den FB10 beobachte (und es gibt wirklich nur einen Aufruf davon) dann kriege ich für VON und BIS irgendwelche Werte, von denen ich keine Ahnung habe wo sie herkommen.
    Mache ich da was grundsätzliches falsch, oder bin ich schon zu Step7 verdorben um es zu sehen?

    Ich Programmiere mit WinSPS-S5.

    Gruß,
    Aksels
    Linux is like a Wigwam: no Windows, no Gates and Apache inside.
    Zitieren Zitieren Step5 AG95u-Problem mit FBs  

  2. #2
    Registriert seit
    01.11.2007
    Beiträge
    1.237
    Danke
    91
    Erhielt 407 Danke für 368 Beiträge

    Standard

    Hallo,

    der FB10 will DW12 und DW13 aus dem DB20 laden, soll das so sein und wenn ja, ist der auch so lang?

    Grüße von HaDi

  3. #3
    Aksels ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.02.2005
    Beiträge
    199
    Danke
    12
    Erhielt 8 Danke für 6 Beiträge

    Standard

    Ja, die DBs sind so lang.
    Das Programm läuft ja auch, nur nicht richtig.....

    Gruß,
    Aksels
    Linux is like a Wigwam: no Windows, no Gates and Apache inside.
    Zitieren Zitieren Die sind so lang.  

  4. #4
    Registriert seit
    01.11.2007
    Beiträge
    1.237
    Danke
    91
    Erhielt 407 Danke für 368 Beiträge

    Standard

    Schreib doch mal im FB10 LW =VON und LW =BIS.

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

    Standard

    Das sind zwei Themen:
    1. Stop bei DW 13 ohne Zwischenspeicherung
    2. Ergebnis falsch?? Ist das Ergebnis wirklich falsch oder siehst du nur nichts?

    Wenn du im Eingang eine Zahl ablegst, dann ist L =VON richtig!

    Fragen:

    1. Habe die Tage zufällig gelesen, dass man bei der 95 parametrierte FB nicht beobachten könne?? Kann das der Grund sein?

    2. Rechnest du in Hundertstel-Stunden? (L KF +2400)

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard

    Zitat Zitat von Aksels Beitrag anzeigen
    Wenn ich diesen Programmteil beobachte sieht alles gut aus. Die gewollten Werte werden übergeben.
    Wenn ich aber den FB10 beobachte (und es gibt wirklich nur einen Aufruf davon) dann kriege ich für VON und BIS irgendwelche Werte, von denen ich keine Ahnung habe wo sie herkommen.
    Mache ich da was grundsätzliches falsch, oder bin ich schon zu Step7 verdorben um es zu sehen?
    Mein Verdacht ist hier folgender :
    Es werden an den FB nicht die Inhalte der DW's übergeben, sondern der Zeiger auf die Worte. Da in dem FB ein anderer DB aufgerufen wird ist somit der Bezug zum ursprünglichen DB nicht mehr vorhanden.
    Wenn mit Zwischen-MW's gearbeitet wird, dann gilt das nicht mehr, da die ja DB-unabhängig sind ...
    Muss nicht so sein, sieht für mich aber danach aus ...

    Gruß
    LL

  7. #7
    Registriert seit
    01.11.2007
    Beiträge
    1.237
    Danke
    91
    Erhielt 407 Danke für 368 Beiträge

    Standard

    Also, L =VON und L =BIS scheint richtig zu sein (handbook-not-read-error).
    Bei der Variante mit den MW hast du eine Überschneidung drin, daher die komischen Werte (MW10 und MW11 enthalten beide das MB11).
    Trotzdem verstehe ich nicht, warum die DW-Variante nicht funktioniert. Ist denn auch wirklich vor dem FB-Aufruf der DB20 aufgeschlagen ?
    Geändert von HaDi (07.04.2008 um 10:00 Uhr)

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

    Standard

    @ hadi
    Das mit der Merkerüberschneidung ist völlig richtig.

    Aber wie kommst du auf db 20??
    Im übergeordneten Baustein ist gar kein Aufruf eines DB zu erkennen!?

    Nachtrag: Wobei das nichts ändert, wenn der Code mit Zwischenmerkern wirklich funktioniert.
    Geändert von Ludewig (07.04.2008 um 10:15 Uhr)

  9. #9
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard

    Auf die Zw.MW's habe ich gar nicht geachtet. Solange man im Byte-Bereich mit den Werten bleibt könnte es aber klappen.

    Es gibt natürlich die Alternative, dass der DB beim Zuweisen der Werte nicht aufgeschalgen oder ein anderer ist ...

  10. #10
    Registriert seit
    01.11.2007
    Beiträge
    1.237
    Danke
    91
    Erhielt 407 Danke für 368 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Der Kollege Aksels hat ja weiter oben bestätigt, dass er DW12 und DW13 aus dem DB20 benutzen will.
    Wenn ich es richtig in Erinnerung habe, wird mit dem Aufruf des FB der Inhalt des DW übergeben, also muss auch der richtige DB aufgeschlagen sein. Im FB wird dann mit dem übergebenen Wert gearbeitet, unabhängig vom aufgeschlagenen DB. Wenn das DW erst im FB geladen werden soll, muss man die DW-Nummer übergeben und dann das DW indirekt (mit B MW/DW und L DW0) laden. Dann sollte man aber konsequenterweise auch die DB-Nummer als Eingangsparameter übergeben.
    Wenn das alles Quatsch sein sollte, würde ich mich über eine freundliche Belehrung freuen.

Ä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
  •