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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Hilfe bei Programmierübung

  1. #1
    Registriert seit
    07.01.2007
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo SPS Profis, ich bin neu im Forum und auch ein Neuling bezüglich SPS Programmierungen. Wer von euch hat Lust mich bei ein paar Programmierübungen zu unterstützen? Würde dann die Aufgaben per E-Mail zusenden. Wäre wirklich froh um ein paar gute Tipps. Vielen Dank im
    Voraus, Michael

    Zitieren Zitieren Hilfe bei Programmierübung  

  2. #2
    Registriert seit
    05.10.2005
    Beiträge
    2.373
    Danke
    321
    Erhielt 296 Danke für 266 Beiträge

    Standard

    Hallo,
    fang doch bei der 1.Aufgabe mit dem 1. Problem, welches für Dich nicht überwindbar ist hier an und so wird das dann ein ganz langes Thema oder Du merkst, das es nicht so schwierig wird.
    Thomas

  3. #3
    Michael ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.01.2007
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Idee

    Also mein Problem ist folgendes!!
    Aufgabenstellung: Eine Pumpeninsel mit 8 Pumpen. Es muss immer eine Pumpe für 20 sec laufen, die muss dann für 60 sec Pausieren. Kann die Ruhepause der einzelnen Pumpen nicht eingehalten werden, dann müssen alle Pumpen ausgeschaltet werden. Falls eine Pumpe gestört auf Störung ist, muss die nächste funktionsfähige Pumpe eingeschaltet werden. Die Betriebsdauer der einzelnen Pumpen ist in Instanzdatenbaustein zu speichern. Über ein Reset
    Kann die Betriebsdauer aller Pumpen zurückgesetzt werden.
    Ausführungsforderung: Das Verhalten der Pumpen soll in einem FB mit dazugehörigen IDB
    Ausprogrammiert werden. Im OB1 werden dann für jede Pumpe der gleiche FB mit einem
    Anderen IDB aufgerufen.
    Mein Problem: Vorgangweise der Programmierung des FB, sodass sie im OB1 über IDB verknüpft werden.
    Vielen Dank und einen schönen Tag noch, Michael
    Zitieren Zitieren Programmierhilfe  

  4. #4
    Registriert seit
    22.11.2006
    Beiträge
    186
    Danke
    2
    Erhielt 12 Danke für 12 Beiträge

    Standard

    Die Variablen die in deinen Datenbaustein hinterlegt werden müssen, trägst du im Deklarationsteil unter "Stat" ein.
    Du wirst gemerkt haben das dieser vom Aufbau einen Datenbaustein sehr ähnlich ist.

    Im Ob1 rufst du dann dein FB mit dem Dazugehörigen DB auf: call FB1, DB1. Falls du den DB 1noch nicht erstellt hast wird dann dieser automatisch erzeugt. Der Zugriff erfolgt dann genauso wie bei anderen Datenbausteine.
    Ciao

    Antonio
    ________________________________
    nicht in Problemen, sondern in Lösungen denken

  5. #5
    Michael ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.01.2007
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Lächeln

    Hallo Antonio
    Danke für deine Ratschlag, aber wie kann ich den Hinweis der gefordert ist richtig verstehen? Dort wird gewünscht das dass verhalten einer Pumpe ( es sind ja 8 mit der selben Funktion) im FB ausprogrammiert wird und vom dem werden dann 8 DB erstellt die im OB1 dann aufgerufen werden. Meine Frage ist dann: Wie muss ich den FB Programmieren der nur für eine Pumpe ausgeführt ist, das im OB1 die richtigen DBs aufgerufen werden. Den wenn
    Eine Pumpe auf Störung geht muss diese übersprungen werden.
    Für deine oder eure Hilfe bin ich sehr dankbar. Gruß Michael
    Zitieren Zitieren Ausfall von einer oder mehreren Pumpen?  

  6. #6
    Registriert seit
    22.11.2006
    Beiträge
    186
    Danke
    2
    Erhielt 12 Danke für 12 Beiträge

    Standard

    wie es da steht...
    Du Programmierst dein FB so als gäbe es nur eine Pume, du beachte bitte, da du dabei dann aber entweder Statische Variablen benutzst oder In/Out Variablen. Diesen FB kannst du dann 8X aufrufen jedich immer wieder mit einen Anderen FB
    Code:
    u "bedingungPumpe1" // Einschaltbedingung Pume1
    spbn m1
    call FB1,db1 // Aufruf Pumpe1
    m1: nop 0
    u "bedingungPumpe2"
    spbn m2
    call FB1,db2
    m2: nop 0
    ....
    u "bedingungPumpe8"
    spbn m8
    call Fb1, db8
    m8: nop 0
    Ciao

    Antonio
    ________________________________
    nicht in Problemen, sondern in Lösungen denken

  7. #7
    Michael ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.01.2007
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Antonio
    Vielen Dank für deine schnelle Hilfe, gib dir bescheid wenn meine Pumpeninsel funktioniert. Schönen Abend noch und Gruss Michael
    Zitieren Zitieren Vielen Dank Antonio  

  8. #8
    Registriert seit
    11.10.2005
    Ort
    Pirmasens
    Beiträge
    401
    Danke
    158
    Erhielt 74 Danke für 54 Beiträge

    Standard

    Hi,
    noch eine kleine Anmerkung zum überspringen von Programmteilen und
    in deinem Fall Bausteinen wenn du in dem Baustein ein Datenbit zuweist
    also 1-signal gibst und danach diesen FB überspringst ändert sich daran nichts mehr das Datenbit bleibt auf "1" beispiel.
    u E0.0
    spbn m001
    u E0.1
    = A0.0
    m001 : nop0
    nur wenn e0.0 1 hat wird der Programmteil bearbeitet wenn zu dieser Zeit
    E0.1 auch 1 hat dann Schaltet A0.0
    jetzt E0.0 0 -Signal und danach E0.1 0-Signal ABER A0.0 bleibt auf 1
    sehr Wichtig zuwissen!!!!!
    HDD

  9. #9
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Zitat Zitat von HDD Beitrag anzeigen
    Hi,
    noch eine kleine Anmerkung zum überspringen von Programmteilen und
    in deinem Fall Bausteinen wenn du in dem Baustein ein Datenbit zuweist
    also 1-signal gibst und danach diesen FB überspringst ändert sich daran nichts mehr das Datenbit bleibt auf "1" beispiel.
    u E0.0
    spbn m001
    u E0.1
    = A0.0
    m001 : nop0
    nur wenn e0.0 1 hat wird der Programmteil bearbeitet wenn zu dieser Zeit
    E0.1 auch 1 hat dann Schaltet A0.0
    jetzt E0.0 0 -Signal und danach E0.1 0-Signal ABER A0.0 bleibt auf 1
    sehr Wichtig zuwissen!!!!!
    HDD
    Das mit den Sprüngen ist eine tolle Sache.

    Man kann richtig tolle Sachen bauen und komplexe Aufgaben lösen. Es birg natürlich auch einige Gefahren.

    Wenn man Sprungbefehle einsetzen will muss einem das was HDD geschrieben hat in Fleisch und Blut übergehen.
    If you open your Mind too much, your Brain will fall out.

  10. #10
    Michael ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.01.2007
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hi
    wie ist das mit den Bedingungen? Die 8 Pumpen müssen step by step laufen.
    Wie weiss DB2 das DB1 fertig ist. Wenn ich den Pumpen Timer von DB1 verwende und DB1 wird übersprungen weil Pumpe 1 auf Störung ist, habe ich sicher ein Problem. Oder sehe ich das falsch. Gruss Michael
    Zitieren Zitieren spbn  

Ähnliche Themen

  1. Hilfe Hilfe - HMI Fehler
    Von vietha11 im Forum HMI
    Antworten: 7
    Letzter Beitrag: 04.05.2011, 07:53
  2. Antworten: 90
    Letzter Beitrag: 21.03.2010, 12:35
  3. Hilfe Hilfe FM353
    Von Holle6 im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 06.10.2005, 19:03
  4. Antworten: 15
    Letzter Beitrag: 01.03.2005, 22:25
  5. Problem mit Programmierübung
    Von Gerhard im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 03.02.2005, 12:26

Lesezeichen

Berechtigungen

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