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

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

Thema: S7-200 CPU 222, Step 7 MicroWIN 4 SP7: Zeitglied im Unterprogramm

  1. #11
    Registriert seit
    23.03.2006
    Ort
    Thüringen
    Beiträge
    2.005
    Danke
    162
    Erhielt 278 Danke für 199 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Carsten,
    ich bin zur Zeit auch auf Arbeit dabei dem Kollegen (Elektriker, aber ein ganz lieber) etwas zu schubsen. Dann erst merkt man wieviel Grundlagenwissen man vorrausetzt, was der arme Kerl nicht hat.
    Ich schrob schon durch die Blume, das Du eine Zeit teilweise undefiniert verwendest (durch das sich abschaltende Unterprogramm).
    Die logische Schlußfolgerung sollte für Dich sein, nie irgendwo im Programm einen undefinierten Zustand zu hinterlassen. Du mußt also lediglich den Umkehrschluß ziehen und entweder sagen das Unterprogramm läuft ständig oder die Zeitdefinition in einen immer laufenden Programmteil auslagern. Der Rest ist Phantasie.
    Im übrigen, wozu schaltest Du das Unterprogramm überhaupt ab und warum verwendest Du keine Übergabeparameter? Was Du vorhast klingt nicht so als ob man das nicht könnte.
    Ich würde den Sterndreieckkram sauber in ein SBR kapseln und gut wäre es. Effekte sind bessere Übersichtlichkeit, man kann die Bibliothek erweitern und dann gut den Guttenberg machen (in anderen Projekten).
    Meine erste Devise heßt ich bin faul und das macht mich fleißig.

    Gruß
    Mario

  2. #12
    Kallemann Gast

    Standard

    Hallo Mario.

    Obwohl ich verstehe, was Du meinst, hardere ich doch immer noch sehr damit, das Unterprogramm ständig mit aufrufen zu lassen. Darüber nachzudenken hat mich am Wochenende einige Stunden beschäftigt.
    Also: Ich schalte den Aufruf des Unterprogramms ab, weil ich bis dato den Gedanken habe, dass es überflüssig ist, eine Stern-Dreieck-Anlauf-Prozedur aufzurufen, sofern der betreffende Motor schon im Dreieck-Betrieb läuft.

    Du sagst: Als Compiler würdest Du mir den Code um die Ohren hauen. Ich sage: Als SPS würde ich mich fragen, warum ich ständig diesen Umweg gehen muss, obwohl ich dort keine Aufgabe erfüllen kann.

    Nun mag es sein, dass ich das völlig falsch sehe und man mich für dusselig hält, aber das Risiko muss ich jetzt eingehen: Ich betrachte das Unterprogramm als Funktionsbaustein, den ich nicht instanziieren kann.
    Die Anlage verfügt über zwei Motoren, die in Abhängigkeit von der Anzahl der eingeschalteten Eingänge gesteuert werden. Das bedeutet, ich brauche ein zweites Unterprogramm für den zweiten Motor, weil ich beide Unterprogramme "parallel" betreiben muss. Daher habe ich auf die Verwendung von Übergabeparametern verzichtet und "schalte und walte" direkt im Unterprogramm.

    Der Hinweis zur Bibliothek ist natürlich ein sehr guter; das werde ich auf jeden Fall weiterverfolgen.

    VG
    Carsten

  3. #13
    Registriert seit
    23.03.2006
    Ort
    Thüringen
    Beiträge
    2.005
    Danke
    162
    Erhielt 278 Danke für 199 Beiträge

    Standard

    Hallo,
    @Carsten, der Mensch denkt emotional und intuitiv, die SPS arbeitet stur und streng logisch die aneinandergereihten Befehle ab.
    Ich sage: Als SPS würde ich mich fragen, warum ich ständig diesen Umweg gehen muss, obwohl ich dort keine Aufgabe erfüllen kann.
    Diese Frage stellt sich deswegen nicht, es gibt für das Optimieren eigentlich einen einzigen Grund: Die Zykluszeit. Das sollte in Deinem und vielen anderen Fällen nicht kritisch sein. Und selbst dann ist es notwendig Definitionen im Programm eindeutig zu halten was im Falle Deiner Programmvariante nicht unbedingt gewährleistet ist. Es ist aber auch nicht verboten, ich habe nur so meine Erfahrungen und die sprechen eine eindeutige Sprache.

    Gruß
    Mario

  4. #14
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.738
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von mariob Beitrag anzeigen
    ...
    Im übrigen, wozu schaltest Du das Unterprogramm überhaupt ab und warum verwendest Du keine Übergabeparameter? Was Du vorhast klingt nicht so als ob man das nicht könnte.
    Ich würde den Sterndreieckkram sauber in ein SBR kapseln und gut wäre es.
    ...
    Zitat Zitat von Kallemann Beitrag anzeigen
    ...
    Die Anlage verfügt über zwei Motoren, die in Abhängigkeit von der Anzahl der eingeschalteten Eingänge gesteuert werden.
    ...
    Das schreit doch aber geradezu nach einer gekapselten SBR, wie mariob es vorgeschlagen hat.
    Eine SBR für x Motoren. Startbedingungen/Zeiten am Aufruf definiert. Immer sauber durchlaufen und Ausgänge (Schütze) durch Zuweisung (=), statt Setzen/Rücksetzen.

    Hab' Dir mal ein Beispiel angehangen:
    Angehängte Dateien Angehängte Dateien

Ähnliche Themen

  1. CPU noch zu Retten? S7 200 Typ 222
    Von OVö im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 09.03.2012, 13:28
  2. Antworten: 7
    Letzter Beitrag: 23.07.2009, 19:37
  3. S7 Simatic 200 CPU 222 Visualisierung
    Von chrisi01 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 12.12.2007, 20:51
  4. S7-200 CPU 222 Unterprogramm mit Timer
    Von bmshine im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 17.10.2006, 14:35
  5. Antworten: 1
    Letzter Beitrag: 01.06.2005, 14:41

Lesezeichen

Berechtigungen

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