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

Seite 4 von 4 ErsteErste ... 234
Ergebnis 31 bis 34 von 34

Thema: Was haltet ihr von solchen Funktionen?

  1. #31
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.480
    Danke
    1.141
    Erhielt 1.241 Danke für 973 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Draco Malfoy Beitrag anzeigen

    D.h. also ein nach OOP idealer Programmierstil würde demnach so aussehen:

    .... Im ORG. BAUSTEIN_STANZSTATION wird FB 450_OBERTISCH_STANZE aufgerufen.
    FB 450 bindet seinerseits Multiinstanten ein, und zwar:
    - FB 400_SERVOACHSE_POSITIONIEREN;
    - FB 401_SERVOACHSE_REFERENZIEREN;
    - FB 402_SERVOACHSE_PARAMETERZUGRIFF;
    - FB XXX_ALLGEMEINE_FUNKTION XXX

    Wobei alle diese dargestellte Bausteine "neutrale" Funktionseinheiten sind, die nicht wissen, ob sie für den Obertisch oder Untertisch, oder noch was anderes gebraucht werden.
    Um jetzt "Private" und "Public" nachzubilden müsste ich dann verhindern, daß noch irgendwoanders auf den Bereich "static" meines FB 450 gelesen oder geschrieben wird, und jegliche Kommunikation mit anderen Programmteilen über IN/OUT/INOUT erfolgt. Richtig ?
    Naja es geht so in diese Richtung bzw. mehr kannst du in S7 z.Z auch nicht machen.
    Die Kommunikation findet aber nicht mehr über die Beschaltung der Schnittstelle statt sondern direkt über die Instanz.
    Code:
    U #insX_AchseReferenzieren.Refpkt_IO
    U #insX_ServoAchseParameterzugriff.Gueltig
    U #insSchrittkette.S3
    = #insX_ServoAchsePositionieren.Pos1.Start
    Du kannst jetzt zwar versuchen mit IN/OUT/INOUT etwas Übersicht und Ordung in die Sache zu bringen.
    Aber letztlich ist es aus Aufrufsicht (fast) egal ob du nun alles im Stat-Bereich deklarierst oder in die Schnittstelle packst.

    Wäre es jetzt wirklich Objektorientiert, dann würde es Klassen geben. Darin wären dann Daten, Schnittstellen und Funktionen zusammengefasst.

    Gruß
    Dieter

  2. #32
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.618
    Danke
    776
    Erhielt 646 Danke für 492 Beiträge

    Standard

    Zitat Zitat von Blockmove Beitrag anzeigen
    Du kannst jetzt zwar versuchen mit IN/OUT/INOUT etwas Übersicht und Ordung in die Sache zu bringen.
    Aber letztlich ist es aus Aufrufsicht (fast) egal ob du nun alles im Stat-Bereich deklarierst oder in die Schnittstelle packst.

    Wäre es jetzt wirklich Objektorientiert, dann würde es Klassen geben. Darin wären dann Daten, Schnittstellen und Funktionen zusammengefasst.
    Als Klasse könnte man ja einen UDT ansehen oder? Ich meine IM FB oder FC definiert man dann eine Variable vom Typ des UDT.
    Also UDT1 = Regelventil = Klasse
    Code:
    Atribute: Maximaloeffnung
                  Minimalöffnung
    Methode: bfAuf
                   bfZu
    Code:
    FB_Ventil.Reg.bfAuf := #BefehlAuf;
    #Max := FB_Ventil.Reg.Maximaloeffnung;
    #RmAufbefehl := FB_Ventil.Reg.bfAuf; // Ja man kann auch an in deklarierte Typen zurücklesen
    
    FB_Ventil()
    Ob das Reg im FB_Ventil nun an In/Out oder Stat deklariert ist spielt in Step7 keine Rolle. Darf nur nicht an INOUT oder Temp deklariert sein da diese nicht in der Instanz landen.

    Mit einer vernünftigen Struktur steht und fällt das ganze da man Referenzdaten nahezu vergessen kann. Aber ich steh da auch noch ganz am Anfang.

    mfG René

  3. #33
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.480
    Danke
    1.141
    Erhielt 1.241 Danke für 973 Beiträge

    Standard

    @Rene
    Naja eine UDT unterscheidet sich schon von einer Klasse.
    Aber letztlich hilft das alles nix, da Siemens auf diesem Gebiet einfach zu rückständig ist.

    Persönlich arbeite ich viel mit UDTs und Strukturen.
    Den Zugriff auf Instanzen vermeide ich.
    Ich gehe dann lieber den "Zwischenschritt" über Global-DBs die alle notwendigen Daten und Zustände enthalten.
    Merker gibts eigentlich ausser den Taktmerkern keine mehr.
    Ich lege Wert darauf, dass ein Instandhalter mit Querverweis und "Gehe zu" die für ihn wichtigen Dinge im Programm finden kann.
    Das schränkt zwar bei der Programmierung ein und man hat mehr Tipparbeit, aber dafür hab ich am Abend meine Ruhe
    Aber bekanntlich führen viele Wege nach Rom

    Gruß
    Dieter

  4. #34
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.618
    Danke
    776
    Erhielt 646 Danke für 492 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich gehe eben auch eher den Weg über GlobalDBs mit UDTs abgefüllt. Das ist etwas übersichtlicher und lässt sich auch besser in den VAT eintragen und verwalten.

    mfG René

Ähnliche Themen

  1. Headhunter?Was haltet Ihr von solchen Anrufern?
    Von rheumakay im Forum Stammtisch
    Antworten: 26
    Letzter Beitrag: 21.06.2012, 23:15
  2. Headhunter?Was haltet Ihr von solchen Anrufern?
    Von rheumakay im Forum Schaltschrankbau
    Antworten: 15
    Letzter Beitrag: 18.06.2012, 23:41
  3. Was haltet Ihr von Xing?
    Von The Big B. im Forum Stammtisch
    Antworten: 6
    Letzter Beitrag: 16.02.2011, 22:08
  4. Was haltet ihr von diesem Angebot?
    Von Kojote im Forum Stammtisch
    Antworten: 7
    Letzter Beitrag: 09.04.2006, 18:22
  5. Was haltet Ihr von Step7 V5.2
    Von casius im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 11.09.2003, 09:43

Lesezeichen

Berechtigungen

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