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

Seite 4 von 8 ErsteErste ... 23456 ... LetzteLetzte
Ergebnis 31 bis 40 von 77

Thema: Auswahlkriterium Betriebsstunden

  1. #31
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wie hast du den Baustein übernommen? Copy& paste? oder abgetippt?

    wenn im folgenden AUF -Befehl #IDBN stat #DDBN stünde, sollte das genau den Fehler geben:

    Code:
           AUF   DB [#DDBN] 
     
           L     DBD [#dix1] 
           L     DBD [#dix2] 
           >D
    [/code]

  2. #32
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Hier für alle Fälle noch mal das mit Step7 archivierte Projekt:
    Angehängte Dateien Angehängte Dateien

  3. #33
    Avatar von rs-plc-aa
    rs-plc-aa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.11.2004
    Beiträge
    697
    Danke
    69
    Erhielt 64 Danke für 48 Beiträge

    Standard

    Hallo,

    ich habe mich vorgetastet und habe auf "Zyklusweise" umgestellt.

    Der erste Zyklus (OB100) geht - weil leer, der erste OB1 Zyklus steht sofort.

    Ich habe einen Screenshot angefertigt.

    Der Pfeil zeigt auf eine Multiplikation die fehlschlägt.
    Angehängte Dateien Angehängte Dateien
    RS (rs-plc-aa)
    ______________________________________________
    Morgen ist Heute Gestern...
    ______________________________________________
    Installierst du noch - oder Arbeitest du schon ?
    ______________________________________________

  4. #34
    Avatar von rs-plc-aa
    rs-plc-aa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.11.2004
    Beiträge
    697
    Danke
    69
    Erhielt 64 Danke für 48 Beiträge

    Standard

    Hallo,

    oh wie peinlich...

    0 mal 32 gibt halt nur 0
    RS (rs-plc-aa)
    ______________________________________________
    Morgen ist Heute Gestern...
    ______________________________________________
    Installierst du noch - oder Arbeitest du schon ?
    ______________________________________________

  5. #35
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Und das ist in Ordnung. wenn dix2= 0 ist, meint DBD[dix2] das DBD0.
    Wenn dix2= 32 ist, meint DBD[dix2] das DBD4 (32bit hinter dem Anfang von DBD0).
    PS: Bitte keine doc-Dateien! Habe kein Microsoft!

  6. #36
    Avatar von rs-plc-aa
    rs-plc-aa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.11.2004
    Beiträge
    697
    Danke
    69
    Erhielt 64 Danke für 48 Beiträge

    Standard

    Hallo,

    ok - schlag` mich...

    Im Projekt von mir ist der Index DB20, und der Stunden DB10

    --> also genau umgekehrt wie bei dir...

    Irgendwie war das am Anfang mal so - na ja.


    Soll heißen:

    Das Projekt welches du gepostet hast läuft (wie bei dir ja auch...).


    =============================================

    So und nun habe ich einen Index DB mit einer sortierten Reihenfolge der Betriebsmittel.


    Da mir diese Programmierweise nicht geläufig ist, frage ich nun (zwangsläufig) weiter...


    Beispiel:

    Es läuft im Moment kein BM.

    Nun kommen 2 zeitgleiche Anforderungen.

    Es sollen jetzt die 2 BM´s mit den wenigsten Stunden gestartet werden - sofern diese betriebsbereit sind.

    wenn eines oder beide nicht betriebsbereit ist/sind soll automatisch das nächste genommen werden.


    Betriebsbereitschaft:

    - wenn keine Störung ansteht UND wenn der Schlüsselschalter auf "Automatik" steht.


    Sollte die Überprüfung ob betriebsbereit besser nachher stattfinden ?
    RS (rs-plc-aa)
    ______________________________________________
    Morgen ist Heute Gestern...
    ______________________________________________
    Installierst du noch - oder Arbeitest du schon ?
    ______________________________________________

  7. #37
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Ich würde die Betiebsbereitschaft nachher testen.
    Das ist jetzt kein getesteter Code, nur das Prinzip:

    Du brauchst z.B. 2 Betriebsmittel.
    Diese Information kopierts du in irgendeine Variable. Ich sag´ mal MB88.
    Du gehtst die Liste in DB10 durch, beginnend mit 0. Wo du bist, merkst du dir z.B. in MB89.
    Du liest aus DB10.DBB[0], daß das BM mit den wenigsten Stunden die Nummer 4 hat.
    Du zählst MB89 hoch, da du auf jeden fall als nächste BM das mit nächstwenigeren Stunden einzuschalten versuchst.
    Nun prüfst du die Betriebsbereitschaft von Nummer 4.
    JA: Ist es bereit so schaltest du es ein und verringert MB88 um 1. Es ist nun 2-1=1. Du mußt noch 1 BM einschalten.
    NEIN: Ist es NICHT bereit so schaltest du es nicht ein und läßt MB88 wie es ist. Es ist immer noch 2. Du mußt also noch 2 BM einschalten.

    Du liest aus DB10[1], daß das BM mit den nächstwenigsten Stunden die Nummer 1 hat.
    Du zählst MB89 hoch, da du auf jeden fall als nächstes BM das mit nächstwenigeren Stunden einzuschalten versuchst.
    Nun prüfst du die Betriebsbereitschaft von Nummer 1.
    Ist es bereit so schaltest du es ein und verringert MB88 um 1.
    Waren beide bereit, ist MB88 jetzt 0 und du bist fertig
    Waren beide nicht bereit, ist MB88 immer noch 2 und es geht so weiter.

    Hast du irgendwann eine 7 in MB89, so bist du hinter dem letzten Eintrag für ein BM. Du kannst die verbleibenden Anfordrungen nicht bedienen und löst eine Meldung oder einen Alarm aus, damit sich jemand darum kümmert.

    Die gesamte Umsetzung dieser Sache läßt sich ohne indirekte Adressierung, Pointer oder Schleifen erledigen.

  8. #38
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Zitat Zitat von rs-plc-aa
    ...
    Im Projekt von mir ist der Index DB20, und der Stunden DB10
    Ach ja: abgesehen von der nicht indizierten "AUF"-Anweisung, auf die ich hingewiesen habe, läuft der Code auch mit 10 oder sonstwas als Daten- und 20 (oder sonstwas) als Index-DB. Dazu sind die DB-Nummern als Parameter da.

  9. #39
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Zitat Zitat von Zottel
    Die gesamte Umsetzung dieser Sache läßt sich ohne indirekte Adressierung, Pointer oder Schleifen erledigen.
    Auch das Sortieren wäre natürlich prinzipiell ohne das gegangen. Aber dann hättest du 21 ähnliche Codeblöcke mit verschiedenen Adressen. Und wenn du 9 statt 7 BMs hättest, müßtest du 15 weitere hinzufügen...
    Sorry, habe die Knöpfe "edit" und "zitat" verwechselt.

  10. #40
    Avatar von rs-plc-aa
    rs-plc-aa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.11.2004
    Beiträge
    697
    Danke
    69
    Erhielt 64 Danke für 48 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    @Zottel:

    Riesen Dankeschön erstmal.


    Na klar wäre das auch mit vertauschten Nummern der DB´s gegangen - aber wenn die Nummer vertauscht ist und der Aufruf nicht sieht´s schon wieder anders aus... (sche** Copy&Paste).

    Nun ist es für mich umso motivierender aus dem Vorschlag selbst den Code zu erzeugen.

    Aber ganz ehrlich ... Das mit den Schleifen hätte ich allein nicht hinbekommen.



    Ich melde mich wieder wenn ich ein Stück geschafft habe.
    RS (rs-plc-aa)
    ______________________________________________
    Morgen ist Heute Gestern...
    ______________________________________________
    Installierst du noch - oder Arbeitest du schon ?
    ______________________________________________

Ähnliche Themen

  1. Display für S7-300 (Betriebsstunden etc.)
    Von superkato im Forum HMI
    Antworten: 8
    Letzter Beitrag: 25.11.2010, 17:18
  2. Betriebsstunden Umschaltung zweier Pumpen
    Von rene im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 06.09.2007, 14:52
  3. betriebsstunden speichern
    Von Merlin115 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 18.11.2006, 10:42
  4. Maschienenstart nach Betriebsstunden
    Von mst im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 07.11.2005, 20:37
  5. Betriebsstunden erfassen und auswerten
    Von Anonymous im Forum Programmierstrategien
    Antworten: 14
    Letzter Beitrag: 11.08.2005, 08:35

Lesezeichen

Berechtigungen

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