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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Bezugstellen Managment

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Pinguino Beitrag anzeigen
    Noch etwas, was passiert wenn alle 5 Benutzer der Priorität B und C
    Wasser beziehen und jetzt einer mit mit der Priorität A Wasser beziehen will?
    Das kommt jetzt darauf an was passieren soll.
    Zitat Zitat von Pinguino Beitrag anzeigen
    Eine Anforderung an einer Entnahmestelle mit hoher Priorität würde dann ggf. eine laufende Entnahme an einer Entnahmestelle mit niedriger Priorität beenden.
    Wenn wirklich Prio A immer Vorrang hat ist das am einfachsten denn nach meiner Idee wird ja einfach immer Zyklisch von Prio A bis Prio x frisch gelesen. Sprich kommt eine VIP Person wird dem letzten Wasserträger der sich zum Schluss angemeldet hat, der Hahn wieder zu gedreht.

    Die andere Variante ist schon ein bisschen aufwendiger wenn die je 5 Benutzer von B und C weiter versorgt werden sollen.
    Dann musst Du das FIFO zwischen sichern und schauen ob bei dem aktuellen endlich mal einer fertig ist. Dann aus dem ersten FIFO denn ersten holen und in den aktuellen reinschieben.
    Aber machbar ist natürlich alles.

    Einen guten Link habe ich grad keinen, da ich das eigentlich immer selber mache.
    Ich habe gestern mal einfach so FIFO bei der Suche eingegeben, aber klar da sind auch viele Diskussionen dabei.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  2. #12
    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 Pinguino Beitrag anzeigen
    Hast du mir einen guten Link, wie das mit dem FIFO und Zeiger funktioniert
    Wenn es geht ohne AWL, ich habe mühe mit AWL.
    Hier habe ich mal was gefunden:

    http://www.sps-forum.de/showpost.php?p=215073&postcount=3

    Aber ohne AWL wird es dann schon schwieriger wenn es überhaupt möglich ist ohne etliche 100 Zeilen Code zu tippen.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  3. #13
    Pinguino ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.04.2007
    Beiträge
    182
    Danke
    27
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Wie sieht es aus mit SCL, ein bisschen verstehe ich es.
    Wie kann ich den Tastern die Prioritäten zuweisen?

  4. #14
    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 Pinguino Beitrag anzeigen
    Wie sieht es aus mit SCL, ein bisschen verstehe ich es.
    Ja das geht natürlich auch, ich glaube ich habe auch so was hier schon gesehen. Vielleicht nicht komplett aber vom Ansatz her.

    Zitat Zitat von Pinguino Beitrag anzeigen
    Wie sieht es aus mit SCL, ein bisschen verstehe ich es.
    Wie kann ich den Tastern die Prioritäten zuweisen?
    Das ist ja lustig, da ich auch gerade darüber nachgedacht habe.
    Mal auf die schnelle den ersten Ansatz (aber halt in AWL):

    Code:
       U Taster 1 Prio A
       FP M 0.0
       SPBN go1
       L 1   // Erste Entnahmestelle von Prio A
       T DB_Prio_A.DBW 100   // Eintrag welche Entnahmestelle als nächste an der Reihe ist
       SET
       S M 1.0 // Mit diesem Merker wird ein neuer Eintrag in der Warteliste erstellt
    go1:NOP 0
     
       U Taster 2 Prio A
       FP M 0.1
       SPBN go2
       L 2   // Zweite Entnahmestelle von Prio A
       T DB_Prio_A.DBW 100   // Eintrag welche Entnahmestelle als nächste an der Reihe ist
       SET
       S M 1.0 // Mit diesem Merker wird ein neuer Eintrag in der Warteliste erstellt
    go2:NOP 0
       .
       .
       .
     
       U M 1.0
       SPBN PA
       L #Zeiger   // Zeiger auf die nächste frei Stelle im DB
       SLD 3
       LAR1
     
       L DB_Prio_A.DBW 100 // Den Inhalt der Entnahmestelle (DB 1 ist nun geöffnet)
       T DBW [AR1, P#0.0]  // Auf den freien Platz in der Warteliste
     
       L #Zeiger // Nächste frei Stelle vorbelegen
       L 2
       +I
       T #Zeiger
     
       SET
       R M 1.0  // Eintrag ist erledigt
    PA:NOP 0
    Das ganze für Prio B und C
    Und anschließend eine Schleife durch die drei DB's und auf die Ausgänge schalten.
    Mit (10 - Zeiger DB_Prio_A - Zeiger DB_Prio_B - Zeiger DB_Prio_C)

    Das war jetzt mal auf die schnelle, kann sicher noch optimiert werden.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  5. #15
    Pinguino ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.04.2007
    Beiträge
    182
    Danke
    27
    Erhielt 0 Danke für 0 Beiträge

    Frage

    Wie kann ich beim FIFO das First Out realisieren gemäss Bespiel dass du mir angegeben hast?
    Idee:
    Das könnte man so machen, dass wenn bei der Priorität B
    5 Bezüger Wasser entnehmen. Und danach 7 Bezüger der Priorität A jetzt Wasser beziehen wollen. Das beim FIFO Priorität B (DB2) mit einem Takt von 1Sek. die ersten zwei die Wasser angefordert haben heraus-ausgenommen werden, bis dann nur noch 3 Bezüger der Priorität B bleiben.

    Hat es in Standard Library von Siemens ein LIFO / FIFO usw.? Wenn ja, kann man sie für meine Anwendung einsetzen?
    Geändert von Pinguino (15.02.2010 um 12:08 Uhr)

  6. #16
    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 Pinguino Beitrag anzeigen
    Hat es in Standard Library von Siemens ein LIFO / FIFO usw.? Wenn ja, kann man sie für meine Anwendung einsetzen?
    Nicht das ich wüsste.
    Ich glaube die Oscat.lib könnte da was haben.
    Zitat Zitat von Pinguino Beitrag anzeigen
    Wie kann ich beim FIFO das First Out realisieren gemäss Bespiel dass du mir angegeben hast?
    Idee:
    Das könnte man so machen, dass wenn bei der Priorität B
    5 Bezüger Wasser entnehmen. Und danach 7 Bezüger der Priorität A jetzt Wasser beziehen wollen. Das beim FIFO Priorität B (DB2) mit einem Takt von 1Sek. die ersten zwei die Wasser angefordert haben heraus-ausgenommen werden, bis dann nur noch 3 Bezüger der Priorität B bleiben.
    Mann, Du machst es aber echt kompliziert, die bedenken verstehe ich aber.
    Nicht das die hinteren Bezüger von Prio B oder C gar nichts abbekommen.
    Da die 7 Prio A Bezüger nicht gleichzeitig kommen ist es bisschen komplizierter.
    Also den Eintrag in den DB habe ich Dir ja schon geschrieben.
    Die Abfrage und Zuweisung auf die Ausgänge würde ich in SCL machen.
    Zwei Schleifen ineinander.
    Die erste über die Anzahl der Teilnehmer im DB und die Zweite für die Zuweisung des Wasserventils je nach Nummer des Eintrags vom Datenwort.
    Jetzt fehlt nur noch das Austragen aus der Liste. Sobald Entnahme fertig oder Befehl "Kein Wasser mehr" Eintrag entfernen und alle um eine Position nach vorne schieben.

    Nun habe ich zwei Fragen:
    Nimmt es denn langsam eine Gestallt an oder scheitert das alles wegen AWL?
    Zweite Frage an die Kollegen im Forum:
    Verrenne ich mich hier, hat jemand eine einfachere Lösung?
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  7. #17
    Pinguino ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.04.2007
    Beiträge
    182
    Danke
    27
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zwei Schleifen hintereinander habe ich noch nie gemacht. Kannst du mir zeigen wie das geht beim zuweisen der Ausgänge.
    Beim Austragen brauch ich dort auch eine Schleife?

Lesezeichen

Berechtigungen

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