Bibliothek oder Funktionsbaustein

joern_85

Level-1
Beiträge
38
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen, ich bin gerade dabei mich in TwinCat 3 einzuarbeiten. Habe mir eine Funktionsbaustein aufgebaut zum ansteuern einer Pumpe. In meinem gesamten Projekt sollen mehrere Pumpen mit diesem FB angesprochen werden. Ich kann den Funktionsbaustein als POU im Projekt stehen lassen oder ihn mir als Bibliothek abspeichern und installieren. Meine Frage hierzu was ist der Vor-bzw Nachteil der beiden Methoden??Bild_FB_oder_Bib_inet.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank für die Antwort. Ich könnte mir doch aber auch in einem anderen Projekt den Baustein auch einfach dazu laden ohne eine Bibliothek zu verwenden?
 
Lib

Ich halte es so, dass FU und FB (in ST geschrieben) in Bibliotheken ausgelagert werden, wenn sie einigermassen "reif" sind und woanders auch noch verwendet werden könnten.

Das macht Projekte kompakter und für mich übersichlicher. Zu beachten ist, dass Abhängigkeiten überwacht werden, wenn eine ganze Hierachie aufgebaut wird. Wenn also Lib2 von Lib1 abhängt, dann muss in der richtigen Reigenfolge kompiliert werden, wenn sich in Lib1 doch noch einmal etwas ändert!
 
Zuletzt bearbeitet:
In einem anderen Projekt ist der FB doch nicht mehr vorhanden, da ja nur in diesem einen Programm erstellt.
:confused:

Falls es wirklich so sein sollte (kenne mich nicht aus mit twincat), dass du ihn in einem anderen Programm einfach laden kannst, dann funktioniert das aber höchstens nur mit deinem PC. Spätestens auf anderen Rechnern ist er definitiv nicht vorhanden, da keine .lib!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein Vorteil der library ist, dass Du damit einfach Dein oder Euer Know-How schützen könnt, wenn Du das SPS Projekt weitergibst.

Wenn der Code sichtbar im Projekt liegt kann jeder Deine Super Pumpe nachbauen, liegt diese in einer lib, so muss er 1. die Bibliothek haben, damit das Projekt lauffähig ist und wenn es eine kompilierte Bibliothek ist, kann er nicht in den Code schauen (mit den Nachteilen, die hier schon angesprochen worden sind)
 
Ich danke für die ganzen Antworten. Werde dann wohl die Variante ohne die Bibliothek vorziehen, da ich so schnell auf den FB zugreifen kann falls nochmal was geändert oder ergänzt werden soll.
 
Ich kann mir aber immer noch nicht vorstellen wie du in einem anderen Projekt auf diesen fb zugreifen kannst, ausser wenn du ihn direkt kopierst.





Sent from my iPhone using Tapatalk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Export / Import

Ich kann mir aber immer noch nicht vorstellen wie du in einem anderen Projekt auf diesen fb zugreifen kannst, ausser wenn du ihn direkt kopierst.

Es gibt in Codesys 2 und 3 diverse Export und Import Funktionen. Entweder ASCII oder XML Format, sehr angenehme Sache.
 
Hmm, okay.
Das finde ich aber fast umständlicher als eine Bibliothek.
Wenn er die Bibliothek verändert, ändert er gleichzeitig auch den Baustein in allen Programmen, in welchen er ihn instanzert hat.
So muss er ihn bei Bedarf in jedem Projekt einzeln importieren.

Wenn er ihn nur projektspezifisch ändern will, dann ist er vieleicht nicht objektorientiert genug geschrieben.
Ich würde immer die .lib option vorziehen, möglichst nur mit Bausteinen aus der Standard.lib vorziehen.

Grüße,

Flo
 
Hmm, okay.
Das finde ich aber fast umständlicher als eine Bibliothek.
Wenn er die Bibliothek verändert, ändert er gleichzeitig auch den Baustein in allen Programmen, in welchen er ihn instanzert hat.
So muss er ihn bei Bedarf in jedem Projekt einzeln importieren.
In TwinCAT3 / Codesys 3 muss man Bibliotheken erst installieren. Man kann nicht wie früher einfach in jedem Projekt die Bibliotheken von einem Netzlaufwerk laden, wo sie ständig aktualisiert werden. Insofern hat er bei anderen Projekten fast den gleichen Aufwand. Er muss entweder die Bibliothek neu installieren oder den FB neu importieren.
Bei einer Bibliothek hat man natürlich noch angenehme Dinge wie Versionsverwaltung, geschlossener Quellcode, usw.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich glaube bei TC3 wird man zu einer anständigen Versionsverwaltung gezwungen wenn man selber Bibliotheken erstellt. Das Installieren hat den Vorteil, das man in einem Projekt immer den Stand der Bibliothek hat eingefroren hat. Wenn Änderungen an der Bib vorgenommen werden, muss die neue Version erst explizit installiert werden. Man kann aber wohl auch mehrere Revisionsstände einer Lib gleichzeitig laden und bei Bausteinen dann mit Compilerbefehlen festlegen welche Version verwendet werden soll.
 
Zurück
Oben