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

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

Thema: Bibliotheken bearbeiten - ich drehe fast durch...Hilfe!

  1. #1
    Registriert seit
    21.02.2011
    Ort
    Deutschland, Baden-Würtemberg
    Beiträge
    990
    Danke
    115
    Erhielt 125 Danke für 100 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,
    Ich habe mal wieder ein nerviges Problem.

    Nachdem ich mehrere Bibliotheken, wie z.B. die Oscat_basic.lib und die Gebaeude_allgemein.lib und die Standard.lib in meinem Programm eingebunden hatte, wurde mir logischerweise angezeigt, dass die maximale Anzahl der Bausteine(1023) überschritten wurde.

    Was macht man? man erkundigt sich, wie man unnötige FBs und Fs aus den .libs loswird.

    Also habe ich folgendes getan:

    -Neues Projekt
    -Öffnen->Oscat_basic.lib
    -Nicht gebrauchte Bausteine gelöscht
    -Speichern unter -> "Eigene Bibliotheken" -> Oscat_abgespeckt.lib

    Resultat:

    Nach Einbindung der "neuen" .lib wurden mit über 60 Fehler angezeigt mit fehlenden Bausteinen.
    Also heißt das, dass innerhalb der oscat.lib alle Bausteine, bzw. viele Bausteine untereinander vernetzt sind.

    Das dumme daran ist, dass man ja nicht wissen kann, welche Bausteine wie genau verknüpft sind.
    Mache ich jetzt also etwas falsch, oder darf man einfach nichts löschen?


    Zur InFo:

    Mir kommt es heute in erster linie darauf an, die Funktion GEN_PULSE aus der Oscat.lib herauszuziehen, ohne irgendwelche andere Funktionen/Funktionsbausteine.

    Kann mir hier irgendjemand weiterhelfen?

    Beste Grüße,

    Florian
    Zitieren Zitieren Bibliotheken bearbeiten - ich drehe fast durch...Hilfe!  

  2. #2
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    750
    Danke
    27
    Erhielt 165 Danke für 143 Beiträge

    Standard

    Was mach denn die Funktion GEN_PULSE? Vielleicht ist es einfacher, sich selbst eine zu bauen.

  3. #3
    Avatar von KingHelmer
    KingHelmer ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.02.2011
    Ort
    Deutschland, Baden-Würtemberg
    Beiträge
    990
    Danke
    115
    Erhielt 125 Danke für 100 Beiträge

    Standard

    Hi ST,

    Die Funktion erzeugt einen Impulstakt mit einstellbarer Impuls und Pausenzeit mit Hilfe des SPS Timers.
    Hier der "Erklär-Text":

    "GEN_PULSE uses the internal sps timer to generate a continuous output waveform with programmable high and low time.
    the accuracy of gen_pulse is depending on the system timer.
    when time is 0 the high and low times are exactly one cycle.
    ENQ = TRUE will start and ENQ = FALSE will stop the generator."


    Hier der Quellcode:

    IF enq THEN
    tx := DWORD_TO_TIME(T_PLC_MS());
    IF NOT init THEN init := TRUE; tn := tx; END_IF;
    IF tx - tn >= SEL(Q, PTL, PTH) THEN
    tn := tn + SEL(Q, PTL, PTH);
    Q := NOT Q;
    END_IF;
    ELSE
    Q := FALSE;
    init := FALSE;
    END_IF;


    und der Deklarationsteil:

    FUNCTION_BLOCK GEN_PULSE
    VAR_INPUT
    ENQ : BOOL := TRUE;
    PTH : TIME;
    PTL : TIME;
    END_VAR
    VAR_OUTPUT
    Q : BOOL;
    END_VAR
    VAR
    tx: TIME;
    tn: TIME;
    init: BOOL;
    END_VAR


    In dieser Funktion wird widerum die Funktion T_PLC_MS() aufgerufen. Was wiederum in dieser aufgerufen wird, habe ich noch nicht nach geschaut.

    Mal böse gesagt:

    Was bringen mir die ganzen fertigen Bibliotheken, wenn es am Schluss doch selbst gemacht werden muss?

    Beste Grüße,

    Florian

  4. #4
    Registriert seit
    20.01.2012
    Beiträge
    11
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo Florian,

    Als Ersatz für GEN_Pulse könnte auch die Funktion von 3S BLINK gehen , findest DU in der UTIL LIB.
    Nach den Namen der Lib#s gehe ich von Wago-Komponeten aus.
    Ansonsten setze Dich mit dem WAGO Suport in Kontakt. Je nach Kontrollerart lassen sich hier Werte anpassen.

  5. #5
    Registriert seit
    01.03.2008
    Beiträge
    487
    Danke
    3
    Erhielt 43 Danke für 39 Beiträge

    Standard

    Hallo,

    machs ganz einfach:

    Nimm ein leeres Projekt und öffne die Lib die du nutzen möchtest. (Nicht im Bibliotheksverwalter)

    Dann machst du eine "Dummy"-Funkion mit dem Baustein, der dich interessiert.

    Dann alles übersetzten und schon wird dir angezeigt, was du löschen kannst, das die ungenutzen Bausteine in Geisterschrift angezeigt werden.

    ALso dann die "Geisterbausteine löschen und fertig.

    MfG CAS
    www.cas-solution.de

    Alles geregelt...


    Weltraumflug in den USA zu gewinnen!
    Kratze hier ▒▒▒▒▒▒▒▒▒▒▒▒ mit einer Münze,
    und finde heraus, ob Du der Gewinner bist!

  6. Folgender Benutzer sagt Danke zu cas für den nützlichen Beitrag:

    KingHelmer (05.03.2012)

  7. #6
    Avatar von KingHelmer
    KingHelmer ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.02.2011
    Ort
    Deutschland, Baden-Würtemberg
    Beiträge
    990
    Danke
    115
    Erhielt 125 Danke für 100 Beiträge

    Standard

    Stimmt ja,

    wird ja dann angezeigt.
    Danke dir, so klappts nun alles!

    Grüße aus BaWü!

  8. #7
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    750
    Danke
    27
    Erhielt 165 Danke für 143 Beiträge

    Standard

    Zitat Zitat von KingHelmer Beitrag anzeigen
    Mal böse gesagt:

    Was bringen mir die ganzen fertigen Bibliotheken, wenn es am Schluss doch selbst gemacht werden muss?
    Hilferuf: 10:43 Uhr
    Fertigmeldung: 19:23 Uhr
    Wie lang hätte es gedauert, so ein Teil selbst zu schreiben?
    Mal als Anregung:
    Mit
    Code:
    MyTimer(In:=not MyTimer.Q);
    liefert Dir MyTimer nach jedem Ablauf auf Q einen Impuls von einer Programmzykluslänge. Mit dem kann man dann eine BOOL-Variable negieren. Den Timer in Abhängigkeit von dieser Variablen dann noch mit zwei verschiedenen Sollwerten zu füttern, sollte keine Hexerei sein.

  9. Folgender Benutzer sagt Danke zu StructuredTrash für den nützlichen Beitrag:

    KingHelmer (05.03.2012)

  10. #8
    Avatar von KingHelmer
    KingHelmer ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.02.2011
    Ort
    Deutschland, Baden-Würtemberg
    Beiträge
    990
    Danke
    115
    Erhielt 125 Danke für 100 Beiträge

    Standard

    hi ST,

    In der Zeit hatte ich ja nicht andauernd versucht, die Lösung zu finden, habe ja auch noch andere Sachen zu tun
    Nun ja, ich bin froh, dass es geklappt hat.

    Es gab ja auch noch die Funktion GEN_RDT, die mir einen Zufallsimpuls in einer vorgegebenen Zeitspanne liefert.
    Klar mit nachdenken und Rumprobieren wird man es natürlich irgendwann schaffen.

    Allerdings wollte ich eine schnelle Lösung, die letztenendlich auch funktioniert hat.

    Aber dennoch danke.
    Code:
    Funktion_Block

  11. #9
    Registriert seit
    14.06.2011
    Ort
    Hansastrasse 27, 32423 Minden
    Beiträge
    109
    Danke
    9
    Erhielt 37 Danke für 25 Beiträge

    Standard

    Hallo,

    zwar ist das eigentliche Problem schon gelöst, wir wollen aber hier noch einmal die prinzipielle Vorgehensweise zum Lösen der Fragestellung erläutern, damit den nächsten Hilfesuchenden ein Leitfaden an die Hand gegeben werden kann:

    Wenn man die Meldung erhält, dass die maximale Anzahl Bausteine überschritten wurde, sollte man
    1.) In den Zielsystemeinstellungen temporär die maximale Bausteinanzahl (z.B. von 1024 auf 2024) hochsetzen.
    2.) Jetzt das Projekt neu kompilieren ("Alles bereinigen" -> "Alles übersetzen")
    3.) Danach in den Projektoptionen unter "Übersetzungsoptionen" den Punkt "Unbenutze Objekte von der Übersetzung ausschließen" anwählen.
    4.) Nun ist die maximale Bausteinanzahl in den Zielsystemeinstellungen wieder auf Ihren urspünglichen Wert zurückzuändern.
    5.) Jetzt das Projekt erneut kompilieren ("Alles bereinigen" -> "Alles übersetzen")
    => FERTIG!

    Bei weiteren Fragen kannst Du uns auch gerne unter den unten genannten Adressdaten direkt kontaktieren.
    Ihr/Euer

    WAGO Support Team
    WAGO Kontakttechnik GmbH & Co. KG
    http://www.wago.com

    mailto:support@wago.com
    phone: +49 (0) 571 887 - 555

  12. #10
    Registriert seit
    21.12.2010
    Beiträge
    15
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ist zwar ein alter Thread aber habe leider das selbe problem.
    Ich kann einstellen was ich will, bekomme immer Fehler angezeigt, egal wie ich die Bausteinanzahl ändere...
    Unbenannt.PNG

    Hat jemand noch einen Tipp?

    Danke vorab...

    Gruß Andy

Ähnliche Themen

  1. PLCopen - wie komme ich an benötigte Bibliotheken/Bausteine
    Von twincatter im Forum CODESYS und IEC61131
    Antworten: 9
    Letzter Beitrag: 14.02.2012, 12:37
  2. Ich bitte Sie um Hilfe !!!
    Von Julius_HBFA im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 19.10.2011, 13:03
  3. Antworten: 12
    Letzter Beitrag: 06.10.2010, 17:27
  4. hilfe bei fast fertiger sps aufgabe
    Von renshy im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 07.02.2007, 12:11
  5. Fehler durch S7 oder bin ich wieder zu doof?
    Von Tigerkroete im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 17.08.2006, 16:21

Lesezeichen

Berechtigungen

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