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

Ergebnis 1 bis 6 von 6

Thema: Bausteinschnittstellen

  1. #1
    Registriert seit
    26.09.2009
    Beiträge
    61
    Danke
    20
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    mich würde interessieren, wie ihr das mit den Bausteinschnittstellen so realisiert. Was ich damit meine ist, wie ihr Daten (Freigaben, usw.) zwischen den Bausteinen austauscht. Nehmt ihr da immer die Bausteinschnittstelle (IN, OUT, IN_OUT) oder verwendet ihr globale Variablen (Merker, DB's). Gibt es dafür eine allgemein gültige "saubere" Lösung?

    Ich habe schon einiges an Programmiererfahrung, trotzdem würden mich die verschiedenen Strategien von euch interessieren.

    Danke schon mal allen.

    Gruß
    wo
    Zitieren Zitieren Bausteinschnittstellen  

  2. #2
    Registriert seit
    19.07.2010
    Beiträge
    1.288
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Allgemein gültig, Sauber.

    Das trift auf beide Varianten zu. Formal kann man beides machen und beides kann sauber ausprogrammiert sein. Beides ist zulässig. Eine klare Aussage, dass eine Variante zu benutzen ist kann man nicht treffen.

    Ich versuche, soweit möglich über die Bausteinschnittstelle zu arbeiten.
    mfG Aventinus

  3. Folgender Benutzer sagt Danke zu Aventinus für den nützlichen Beitrag:

    sventek (02.12.2015)

  4. #3
    Registriert seit
    26.09.2009
    Beiträge
    61
    Danke
    20
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Die Schnittstelle hat halt bei FB's den Nachteil, dass der Instanz-DB immer neu generiert werden muss. Bei laufenden Anlagen könnte das ein Problem sein.

    wo

  5. #4
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.568
    Danke
    63
    Erhielt 258 Danke für 218 Beiträge

    Standard

    Ein PRO-Argument für die Schnittstellenlösung ist die Kapselung des Bausteins. Dann dürfen aber keine Globalvariablen im Baustein verwendet werden. Wird der Baustein nochmals benutzt, egal ob im gleichen Projekt oder später in einem anderen Projekt, ist dieser sehr gut wieder zu verwenden.
    Gegen die Kapselung könnte sprechen, dass man an dem Bausteinaufruf querlesen muss, wenn man z.B. wissen muss, welche Globalvariable an der Schnittstelle hängt.

    Diese Liste lässt sich noch um viele Punkte erweitern.
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  6. #5
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.618
    Danke
    775
    Erhielt 646 Danke für 492 Beiträge

    Standard

    ich persönlich ziehe die kapselung von Bausteinen vor, wo es nur geht.
    Ein gewaltiger Nachteil hat diese Arbeitsweise. Da die Globaldaten immer über die Schnittstelle gehen (vorzugsweise über IN/OUT als UDT das sowohl geschrieben wie auch gelesen werden kann auf Teile davon). Wenn man jetzt rausfinden will wo man jetzt DB101.dbx10.2 ("Leitsysten".Brandaktiv) überall geschrieben oder gelesen hat kann man nicht einfach die Querverweisliste durchschaun, weil das Bit natürlich überall nur an den Schnittstellen auftaucht aber welcher Baustein da nun wirklich was damit macht, bleibt verborgen.

    Ausserdem nutze ich auch bei den Bausteinen sehr wohl globale Variablen, nämlich Globalkonstanten die mit der Bibliothek immer mitkommen müssen.

    mfG René

  7. #6
    Registriert seit
    19.07.2010
    Beiträge
    1.288
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von vollmi Beitrag anzeigen
    Ausserdem nutze ich auch bei den Bausteinen sehr wohl globale Variablen, nämlich Globalkonstanten die mit der Bibliothek immer mitkommen müssen.
    mfG René
    Jedem das seine... Ich persönlich halte das für unschönen Stil. Hängt aber auch wieder von der Situtation ab. Wenn ich einem Betrieb arbeite der das für seine Anlage immer so macht (und auch so machen darf) ist das ja ok. Aber wenn man bei jedem Projekt einem anderen Kundenstandard unterworfen ist macht das i.d.R. Probleme.
    mfG Aventinus

Lesezeichen

Berechtigungen

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