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

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

Thema: bibliotheksfähiger Baustein

  1. #1
    Registriert seit
    27.04.2006
    Beiträge
    93
    Danke
    14
    Erhielt 2 Danke für 2 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo SPS-Experten,

    hab mal ne einfache Frage :

    Wenn man einen Baustein erstellt, in dem andere Bausteine aufgerufen werden, ist es dann zwingend nötig, diese immer mitzuspeichern?

    Beispiel:
    Baustein FB1 soll in eine Bibliothek aufgenommen werden und soll allgemeingültig auf anderen SPSen zum Einsatz kommen. Nun ruft dieser FB1 andere Bausteine auf, beispielsweise FC2 und FC3 in denen spezielle Algorithmen abgearbeitet werden. Muss man nun die Funktionen FC2 und FC3 immer mit in die Bibliothek aufnehmen oder kann der FB1 die intern irgendwie mitabspeichern?
    Blödes Beispiel, aber in dem Office-Programm WORD kann man ja auch Bilder nur verlinken (die müssen dann ja bei Weitergabe des Dokuments mitgegeben werden) oder direkt im Dokument speichern.
    Zitieren Zitieren bibliotheksfähiger Baustein  

  2. #2
    Registriert seit
    13.09.2005
    Beiträge
    633
    Danke
    8
    Erhielt 8 Danke für 6 Beiträge

    Standard

    Also meines Wissens nach müssen alle Bausteine in die Bibliothek aufgenommen werden, damit diese auch aufgerufen und eingefügt werden können.

    Ich würde aber höhere Nummern für den FBs und die FCs vorschlagen, da die niedrigen Nummern meist Siemens intern bereits vergeben sind.

    (Siehe CP Funktionen, FC2 - IPConfig usw.)

    Wenn diese Bausteine intern (im FB) aufgerufen werden, dürfen die FCs nicht umnummeriert werden, was dann zu Problemen führen kann.

    (Z.B. IP - Konfig und die selbst erstellte Funktion sollen in selben Projekt zum Einsatz kommen - hatte bereits ein ähnliches Problem)


    Außerdem wäre es programmverwaltungstechnisch keine saubere Lösung. Sobald das Projekt auf das verlinkt wird, gelöscht oder verschoben wird, könnte es passieren das zig Programme nicht mehr laufen, weil sie den Bezug verloren haben.


    Fazit: Alles in die Bibliothek rein.

  3. #3
    Registriert seit
    27.04.2006
    Beiträge
    93
    Danke
    14
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hallo CrazyCat,

    Mist! Dann hab ich ein großes Problem!

    Ich hab einen FB erstellt, in dem zig andere FCs aufgerufen werden, weil ich dachte, dass es ja super bequem ist, einzelene Funktionen zu erstellen, die irgendwas machen und aus diesen baue ich dann einen großen FB und fertig. Das blöde is nur, dieser FB muss in eine Bibliothek, weil er woanders auf anderen Systemen auch zum Einsatz kommen soll und da gibt es aber schon andere FCs und FBs mit meinen Nummern.

    Wenn ich das richtig sehe, dann dürf ich nun alles nochmal neu machen und alle verwendeten "Unterfunktionen" direkt in dem FB programmieren. Macht man das eigentlich immer so? Ist doch tierisch umständlich?
    Und welche FB-Nummern nimmmt man eigentlich, um mit anderen Nummern nicht in den Konflikt zu kommen?

  4. #4
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Hei,

    bei Funktionen, die ich oft benutze, mache ich mir die Arbeit und programmiere soviel aus wie möglich. Somit bekomme ich nie Stress, wenn ich den Baustein in andere Projekte kopiere.

    Ich habe aber auch einen Baustein, der die Endlagen von 8 Zylindern/Klappen etc. überwacht. Da habe ich einen FB15 den ich als Multiinstanz im FB16 aufrufe. Nur da laufe ich dann wie o.g. in das Problem, wenn die FB-Nr. schon benutzt ist, das ich alles ändern kann.

    Fazit, du musst den Aufwand und die Häufigkeit abwiegen.


    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  5. #5
    Registriert seit
    13.09.2005
    Beiträge
    633
    Danke
    8
    Erhielt 8 Danke für 6 Beiträge

    Standard

    Für Bibliotheksbausteine nehme ich in der Regel Nummern zwischen 50 und100.

    Naja, in der Regel bastelt man bei einem großen Baustein nicht alles in einen Baustein, sondern in 2.

    Einen der die Hauptfunktionen ausführt und einen in dem die ganzen Unterprogramme zusammengefasst sind. Macht auch Siemens so.

    Oder ein modularer Aufbau, bei dem ich die Funktionen die ich benötige selektieren kann. In diesem Fall habe ich zwar viele FCs in der Bibliothek, aber ich lade mir nur die die ich tatsächlich benötige.

    Z.B. eigene Funktion für die Berechnung der 4. Wurzel, eine eigene Funktion für die Berechnung vom Verteilungen usw.

    Im Programm müssen aus diesen Funktionen dann eben wieder eine Funktion gebastelt werden.
    (Zuerst Wurzel berechnen, dann Verteilung berechnen,.......)

    Das ganze ist eine Frage der Aufgabenstellung. Wenn exakt die gleiche Funktion für viele andere Steuerungen übernommen werden soll, bist du besser dran wenn du einmal eine große Funktion schreibst.

    Werden immer nur Teile verwendet ist der modulare Aufbau wahrscheinlich besser geeignet.

  6. #6
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Mein größter FB hat ca. 6kB. In diesem werden keine weiteren Functionen aufgerufen.
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.
    Zitieren Zitieren Beispiel  

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

    Standard

    Hallo,

    nimm doch einen zusammenhängenden Nummernbereich für die FB die du dann intern indirekt aufrufst und deren Startadresse an den "Ober-FB" anparametriert wird. Mit einer Anparametrierung der unter-FB wird es zwar schwieriger aber ein DB zum Datenaustausch sollte bestimmt auch noch frei sein.

    Grüße Thomas

  8. #8
    Registriert seit
    02.06.2006
    Beiträge
    15
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Supervisor,

    1. Du solltest alle Deine Bausteine, die Du für Dein Programm brauchst zusammen in deb Biliothek ablegen. Dafür kannst du in Deiner Biliothek ein S7 Programm einfügen, welchem Du einen verständlichen Namen gibst. Andere Funktionen können in einem anderen S7 Programm abgelegt sein, so Ähnlich wie im Explorer die Baumstruktur. Damit weist Du immer was zusammen gehört und dann in das Programm kopiert werden muß.
    Code:
    Biliothek
        S7- Heizungssteuerung 
        S7- Transportsteuerung
        :
    2. Du kannst normalerweise alle Bausteine umnummerieren. Im Simatic Manager, rechte Maus auf Baustein, Umbenennen. Allerdings ist S7 nicht so schlau und ändert dadurch Deinen Baustein Aufruf. Der muß händich geändert werden.
    Allerdings könntest Du wenn Du mit AWL Source Code arbeitest mit Symbolischer Adressierung arbeiten. Dann würde die Bausteinzuordnung bei der Generierung durchgeführt werden.
    Könnte in deinem Fall eine Lösung darstellen. War das verständlich genug, was ich meine?

    3. Es gibt leider keinen garanierten freien Adressraum für die Siemensbausteine, selbst die überschneiden sich manchmal und müssen dann umnummeriert werden. Die meisten liegen unter 100. hab aber auch schon welche zwischen 100 und 200 gesehen.

    Hoffe konnte etwas helfen,
    Gruß Floh

  9. #9
    Registriert seit
    27.04.2006
    Beiträge
    93
    Danke
    14
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Danke für die Antworten !

    Da muss ich mich wohl oder übel doch noch mal ransetzen und anfangen mein FB neu zu tippen. Mein Auftraggeber wünscht halt nur einen FB, den er seinen Kunden (die vielleicht so wie ich keine Ahnung mit dem Umgang der SPS haben !?) anbieten kann. Der erstellte FB hat mehrere feste Funktionen, die immer gleich ablaufen auf allen SPSen. Hätt ich das mit der Bibliothek bloß von Anfang an gewusst...Mist!
    Hätt ich bloß mal bei euch früher nachgefragt...

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    auf die Gefahr hin das ich etwas falsch verstanden habe,

    mal grob ausgedrückt:
    kopier die einzelnen FB hintereinander in einen FBder über eine anparametrierbare Funktionsaufrufnummer dann zur gewünschten Funktion springt und den Rest ignoriert.

    Grüße Thomas

Ähnliche Themen

  1. RTC-Baustein
    Von Bambam im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 15.09.2010, 14:52
  2. CFC --> S7-Baustein
    Von Engelskrieger im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 14.09.2009, 09:37
  3. S7 Baustein für IB IL AO 2/U/BP
    Von manas im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 12.12.2007, 22:44
  4. Baustein für FU
    Von waldy im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 18.01.2006, 23:01
  5. DB Baustein FAQ
    Von Hoilebolle im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 21.10.2004, 08:31

Lesezeichen

Berechtigungen

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