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

Ergebnis 1 bis 7 von 7

Thema: Puffer Initialisierung

  1. #1
    Registriert seit
    12.04.2008
    Beiträge
    30
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo an alle!

    Hänge nochmals an einem Problem bzw. daran ob das was ich umgesetzt habe korrekt ist.
    Aufgabenstellung:


    Folgendes habe ich nun im OB1 realisiert:
    Code:
           U    "PufferReset"
           CC   "InitPuffer"
    und im FC "InitPuffer":
    Code:
           L    P#       40.0
           T    "Pointer"
           S    "PufferFrei"
           R    "PufferVoll"
    Ich rufe den FC "InitPuffer" nur dann auf wenn "PufferReset" gedrückt bzw. 1 ist.
    Danach lade ich den Pointer und transferiere ihn in "Pointer".
    Dann Setzen bzw. Rücksetzen von "PufferFrei" und "PufferVoll".
    Ist dies so korrekt von mir gedacht oder vergesse ich da etwas? habe noch gedacht, dass ich vielleicht im FC schreiben sollte:
    Code:
           U    "PufferVoll"
           SPB  INIT
           BE
    INIT  :NOP  1
           L    P#       40.0
           T    "Pointer"
           S    "PufferFrei"
           R    "PufferVoll"
    Was meint ihr dazu?

    Gruß -PHANTOMIAS-
    Zitieren Zitieren Puffer Initialisierung  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    Die ersten beiden Codeschnipsel passen für mich zu der Aufgabe ...
    Was du mit dem dritten bezweckst, kann ich nicht nachvollziehen.
    Das Eintragen der Messwerte in den Puffer fehlt mir noch vollständig ...

    Gruß
    LL

  3. #3
    Registriert seit
    12.04.2008
    Beiträge
    30
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Okay, wunderbar, dann kann ich ja weitermachen mit der Aufgabe.
    Das Schreiben in den Puffer kommt als Nächstes und ist zugleich das Letzte, da ich alles Andere schon programmiert habe oder es vorgegeben ist.

    Gruß -PHANTOMIAS-

  4. #4
    Registriert seit
    06.10.2003
    Beiträge
    3.412
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    Hallo PHANTOMIAS,

    den dritten Codeschnippsel solltest du noch einmal überdenken.

    Code:
     
           U    "PufferVoll"
           SPB  INIT
           BE
    INIT  :NOP  1
    ...könntest du vereinfachen durch
    Code:
     
           UN    "PufferVoll"
           BEB
    ..aber:

    Da es sich um eine Function (FC) handelt, sollten alle Ausgänge in jedem Zyklus beschrieben werden! Bei deine Ausgängen, die nach dem bedingten BE kommen, ist das ncht der Fall!


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  5. #5
    Registriert seit
    12.04.2008
    Beiträge
    30
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Onkel,

    den dritten Code-Teil verwende ich gar nicht.
    Nach "Larry Laffer" brauche ich den gar nicht, sondern es reicht der zweite Code-Teil und darin ist kein Sprung enthalten und es sollte alles gesetzt sein, oder?

    Aber deine Vereinfachung zu
    UN "PufferVoll"
    BEBist mir nicht ganz klar.
    Bedeudet das, ich brauche keinen Sprung, sondern es läuft weiter wenn das VKE 1 ist? Also ist "PufferVoll" 0 so läuft das einfach über BEB drüber weg und bei "PufferVoll" 1 hört es bei BEB auf.

    Gruß -PHANTOMIAS-

  6. #6
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    richtig, das ist der sinn von BEB - BausteinEndeBedingt ... bausteinende wenn VKE=1
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #7
    Registriert seit
    12.04.2008
    Beiträge
    30
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Okay, aber ich kann den zweiten Code-Teil verwenden und somit brauche ich den dritten Code-Teil nicht mehr zu beachten.

    Aber wieder was gelernt, sehr gut

Ähnliche Themen

  1. FIFO Puffer mit 32Bit
    Von Anonymous im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 22.06.2011, 18:58
  2. Puffer beschreiben
    Von PHANTOMIAS im Forum Simatic
    Antworten: 28
    Letzter Beitrag: 15.04.2008, 13:46
  3. Initialisierung vor Programmstart ?
    Von dietere im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 15.11.2007, 16:05
  4. DB Initialisierung mit Anfangswert
    Von richi999 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 03.10.2007, 12:00
  5. S7: Initialisierung eines DB's
    Von churchill im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 27.10.2003, 10:10

Lesezeichen

Berechtigungen

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