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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 30

Thema: Programmierstil

  1. #1
    Registriert seit
    29.05.2013
    Beiträge
    353
    Danke
    74
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe einen FB12, in der ein Regelschieber je nach Regeldifferenz auf und ab bewegt wird. Jetzt soll ich eine "Mindestöffnung" des Regelschiebers programmieren. Diese Funktion soll an- und abwählbar sein.
    Programmieren tue ich mit lokalen Variablen, was für mich noch Neuland ist, deswegen jetzt meine Frage: Die Ausgänge für den Regelschieber stehen in dem FB12. Darf ich jetzt einen anderen FB oder FC programmieren, wo ich diese Mindestöffnung programmiere,d.h wo ich die auch dort Ausgänge noch mal beschreibe? Oder dürfen die Ausgänge nur in dm FB12 beschrieben werden?

    Gruß
    Zitieren Zitieren Programmierstil  

  2. #2
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.635
    Danke
    786
    Erhielt 654 Danke für 497 Beiträge

    Standard

    Grundsätzlich darfst du die Ausgänge so oft beschreiben wie du willst. Der letzte Schreibende Zugriff im Zyklus gilt dann aber.

    z.B. könntest du ein weiteres zuschieben des Schiebers verhindern wenn du nach dem FB12 nochmal abfragst ob die Mindestöffnung schon erreicht wurde und den zuschiebausgang auf "false" zurücksetzen.

    Es gibt aber sicher bessere und sauberere Lösungen. Ich ziehe ein es vor wenn ein Objekt nur von einem Baustein bedient wird und dieser halt die entsprechenden Freigaben und Konditionen verarbeitet.

    mfG René

  3. #3
    kuti ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.05.2013
    Beiträge
    353
    Danke
    74
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Das heißt, ich kann die Ausgänge in mehreren FB oder Fcs beschreiben? Habe da irgendwie immer was anderes gelernt, nämlich ein Ausgang sollte immer nur in seinem Netzwerk beschreiben werden.

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

    Standard

    Zitat Zitat von kuti Beitrag anzeigen
    Das heißt, ich kann die Ausgänge in mehreren FB oder Fcs beschreiben? Habe da irgendwie immer was anderes gelernt, nämlich ein Ausgang sollte immer nur in seinem Netzwerk beschreiben werden.
    Du kannst die Ausgänge schon in mehreren Netzwerken beschreiben. Das ist prinzipiell erst mal nicht verboten.
    Aber es ist auch kein besonders guter Programmierstil und Du solltest Dir es gar nicht erst angewöhnen. Wenn Du lokale Variablen verwendest, ist das auch überhaupt nicht nötig.

    An Deiner Stelle würde ich den FB 12 in der Schnittstelle erweitern und dann ein weiters Netzwerk einfügen.
    So in etwa wie in diesem Beispiel:





    Am Schnittstellen-Ausgang des FBs wird dann (nur an dieser einen Stelle) der reale Ausgang angegeben. Im FB wird nur mit lokalen Variablen gearbeitet.

  5. Folgender Benutzer sagt Danke zu hucki für den nützlichen Beitrag:

    kuti (04.07.2013)

  6. #5
    kuti ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.05.2013
    Beiträge
    353
    Danke
    74
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Danke dir für deine Mühe. Also ich nehme mit: Ausgänge ( hier: lokale Variable) immer in EINEM NETZWERK schreiben.

  7. #6
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.737
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Nicht ganz:
    Die lokalen Variablen (auch Baustein-Ausgänge) kann man schon in mehreren Netzwerken verwenden. Das läßt sich auch gar nicht immer vermeiden. (Siehe Netzwerk 2 und 3 in meinem Beispiel)
    Die lokalen Variablen sind ja immer auf die Verwendung in einem Baustein begrenzt. Zu anderen Bausteinen müssen sie ggf. über die Schnittstelle übergeben werden.

    Die realen Ausgänge der SPS sollten aber möglichst nur an einer Stelle verwendet und auch möglichst zugewiesen und nicht gesetzt/rückgesetzt werden.
    Geändert von hucki (04.07.2013 um 20:30 Uhr)

  8. #7
    kuti ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.05.2013
    Beiträge
    353
    Danke
    74
    Erhielt 3 Danke für 3 Beiträge

    Standard

    "Die lokalen Variablen (auch Baustein-Ausgänge) kann man schon in mehreren Netzwerken verwenden."

    Wenn man z.B. eine temp-Variable hat und diese sowohl in Netzwerk 1 und Netzwerk 2 beschreibt, ist das keine so gute Idee.

  9. #8
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.737
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Zitat Zitat von kuti Beitrag anzeigen
    Wenn man z.B. eine temp-Variable hat und diese sowohl in Netzwerk 1 und Netzwerk 2 beschreibt, ist das keine so gute Idee.
    Warum sollte das keine gute Idee sein? Da spricht nichts dagegen.

    Es ist keine gute Idee, eine Temp-Variable im Netzwerk 1 zu lesen, bevor sie dann im Netzwerk 2 erst nachfolgend beschrieben wird.
    Und zwar deshalb, weil alle Temp-Variablen vor der ersten Zuweisung (Schreiben) keinen definierten Zustand haben. Und das in jedem Zyklus wieder von Neuem.

  10. #9
    Registriert seit
    06.10.2009
    Ort
    Hessen
    Beiträge
    560
    Danke
    24
    Erhielt 43 Danke für 40 Beiträge

    Standard

    Genau, man muss nur die zyklische bearbeitungsreihenfolge beachten!
    Und man muss auch wissen das in lokalen Variablen völliger Quatsch stehen kann wenn man sie bedingt beschreibt..
    Das, was man weiß, hat doppelten Wert, wenn man zugleich das, was man nicht weiß, nicht zu wissen eingesteht.

  11. #10
    kuti ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.05.2013
    Beiträge
    353
    Danke
    74
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich meine es so: Wenn man eine temp-Var hat, die in unterschiedlichen Netzwerken mit unterschiedlichen Vorbedingungen verknüft ist, dann ist DAS keine gute Idee. Denn wenn man weiter unten diese nimmt für eine Verknüpfung, dann führt das zu Problemen, oder ?

Ähnliche Themen

  1. Programmierstil / schöner programmieren?
    Von D4K!ZZ4 im Forum Programmierstrategien
    Antworten: 35
    Letzter Beitrag: 31.10.2011, 10:56
  2. programmierstil s7
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 01.11.2005, 19:04
  3. Programmierstil - Richtlinien - S7
    Von eloboy im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 13.10.2004, 09:13

Lesezeichen

Berechtigungen

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