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

Ergebnis 1 bis 8 von 8

Thema: Parametrierung von zwei Codebausteinen

  1. #1
    Registriert seit
    28.04.2016
    Beiträge
    28
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute

    Eine frage zu der Parametrierung zweier Code Bausteine.
    Es geht hier um 2 Code Bausteine einer ist für die Grundstellungsfahrt der Anlage und der andere für den Automatischen Zyklus betrieb. Beide Bausteine sind als Schrittkette Programmiert. Jedoch wenn ich die Grundstellung mit dem PLC Simulator von step7 machen schalten die Ausgänge nicht. Wenn ich den Automatischen Zyklus Ablauf (Code Baustein 2) ausführe funktionieren meine Ausgänge einwandfrei.
    Kann es sein das es hier eine Überschneidung gibt der Codebausteine?
    Ich habe mal ein Bild angehängt von beiden Code Bausteinen.

    Der Automatikbetrieb ist nur aus der Grundstellung Startbar.
    Habe die Bilder von den Codbausteinen angehängt.

    LG
    Stefan
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Parametrierung von zwei Codebausteinen  

  2. #2
    Registriert seit
    15.05.2015
    Beiträge
    177
    Danke
    6
    Erhielt 38 Danke für 37 Beiträge

    Standard

    Hallo,
    das kommt daher das die Ketten nicht gegeneinander verriegelt sind. Die Kette die im Programm später kommt überschreibt die Ausgänge mit ihrem Zustand. Ich nehme an der Automatikbaustein kommt im Programm nacher und überschreibt die Signale die die Grundstellungskette ausgibt. Du kannst jetzt z.B. die EN Eingänge der beiden Bausteine gegengleich beschalten, dann schreibt immer nur ein FB auf die Ausgänge. Die Methode Ausgänge von zwei Stellen zu beschreiben ist meiner Meinung nach aber eh nicht wirklich schön. Besser wären Merker oder Variablen an den Ausgängen der Bausteine die danach betriebsartenabhängig mit ODER verknüpft werden.

    Z.B

    an FB1 Ausgang O_1Y1 kommt #Temp_GS_1Y1
    an FB2 Ausgang O_1Y1 kommt #Temp_Auto_1Y1

    Und im nächsten Netzwerk:

    U #Temp_GS_1Y1
    U GS_Aktiv //Betriebsartenmerker
    O(
    U #Temp_AS_1Y1
    U Auto_Aktiv //Betriebsartenmerker
    )
    =1Y1 //Ausgang


    LG

  3. Folgender Benutzer sagt Danke zu TP-Inc für den nützlichen Beitrag:

    Frozen19 (15.05.2016)

  4. #3
    Frozen19 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    28.04.2016
    Beiträge
    28
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo TP INC

    Du meinst im OB1 bei den Beiden Bausteine die (alle) OUTs als Temp Variable zu beschreiben Siehe Bild.
    Und danach in den Netzwerk darunter jeden Ausgang beschreiben? Siehe Bild welches zeigt wie der A4.0 beschrieben wird.
    Hierbei sind S1 für Zyklus Start (=Automatikbetrieb) und S2 für Grundstellung anstelle des Betriebsarten Merkers deklariert.

    LG
    Angehängte Grafiken Angehängte Grafiken

  5. #4
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.367
    Danke
    457
    Erhielt 696 Danke für 521 Beiträge

    Standard

    Genauso hat TP-Inc das gemeint.
    Bei deinem Screenshot hängt am FB_Grundstellung am Ausgang "Q_2Y2" immer noch eine "Auto"-Variable (Tippfehler).

    Wenn du das nicht so machst passiert folgendes.
    Code:
    U FB_Grundstellung_Ergebnis_Q_Y1Y1
    = A_1Y1
    U FB_Grundstellung_Ergebnis_Q_Y1Y2
    = A_1Y2
    U FB_Grundstellung_Ergebnis_Q_Y2Y1
    = A_2Y1
    U FB_Grundstellung_Ergebnis_Q_Y2Y2
    = A_2Y2
    
    U FB_Ablaufkette_Ergebnis_Q_Y1Y1
    = A_1Y1
    U FB_Ablaufkette_Ergebnis_Q_Y1Y2
    = A_1Y2
    U FB_Ablaufkette_Ergebnis_Q_Y2Y1
    = A_2Y1
    U FB_Ablaufkette_Ergebnis_Q_Y2Y2
    = A_2Y2
    Der FB_Ablaufkette überschreibt dann immer die Änderungen welche der FB_Grundstellung an den Ausgängen (Prozessabbild) durchgeführt hat.
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

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

    Frozen19 (15.05.2016)

  7. #5
    Registriert seit
    15.05.2015
    Beiträge
    177
    Danke
    6
    Erhielt 38 Danke für 37 Beiträge

    Standard

    Ja genau so hab ich das gemeint �� Du könbtest auch S1 und S1 an die jeweiligen EN Eingänge der zugehörigen FBs hängen. Dann wird der FB dem das EN fehltbüb er sprungen (ist allerdings nicht schön)

  8. #6
    Frozen19 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    28.04.2016
    Beiträge
    28
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke Ronin und TP INC

    Nun es Funktioniert schon fast aber noch immer nicht korrekt. Es wird bei Start durch S2 (Grundstellung) Ausgänge gesetzt in der Schrittkette die noch nicht an der Reihe sind.
    Ich habe mal das Programm angehängt weil ich schon verzweifle ohne Schnittstellen Parametrierung hat alles wunderbar geklappt aber mein Lehrer möchte unbedingt Codebausteine.
    Auch ein Bild von den Beiden Schrittketten Grundstellung und Zyklusablauf ist Angehängt

    Danke für eure Hilfe

    LG
    Stefan
    Angehängte Grafiken Angehängte Grafiken
    Angehängte Dateien Angehängte Dateien

  9. #7
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.367
    Danke
    457
    Erhielt 696 Danke für 521 Beiträge

    Standard

    Zitat Zitat von Frozen19 Beitrag anzeigen
    Nun es Funktioniert schon fast aber noch immer nicht korrekt. Es wird bei Start durch S2 (Grundstellung) Ausgänge gesetzt in der Schrittkette die noch nicht an der Reihe sind
    Erklär mal was mit "Ausgänge gesetzt die noch nicht dran sind"

    Bei Grundstellungsfahrt macht dein FB schrittweise...

    Schritt 2
    Rücksetze O_1Y1
    Setze O_1Y2
    Schritt 3
    Rücksetze O_2Y1
    Setze O_2Y2
    ... dann wird die Schrittkette verlassen. O_1Y2 und O_2Y2 werden aber nirgends mehr rückgesetzt und bleiben somit bestehen.
    Die werden auch nirgends zurückgesetzt. Je nach Mechanik müsstest du die am Beginn (Schirtt 0) oder am Ende (Schritt 5) rücksetzen.

    Schritt 2
    Rücksetze O_1Y1
    Setze O_1Y2

    Das selbe gilt für die Ablaufkette, da bleiben am Ende auch O_1Y2 und O_2Y2 gesetzt. Die setzt bis zum nächsten Durchlauf auch keiner zurück.
    Meinst du vielleicht das?

    Zitat Zitat von Frozen19 Beitrag anzeigen
    Ich habe mal das Programm angehängt weil ich schon verzweifle ohne Schnittstellen Parametrierung hat alles wunderbar geklappt aber mein Lehrer möchte unbedingt Codebausteine.
    Auch ein Bild von den Beiden Schrittketten Grundstellung und Zyklusablauf ist Angehängt
    Das Problem an dem du scheinbar scheiterst ist dass die Ausgänge O_1Y2 des Grundstellungs-FB nichts mehr mit dem O_1Y2 des Ablaufketten-FB zu tun hat.
    Das sind jetzt zwei verschiedene Variablen. Ein "Rücksetze O_1Y2" in einem Baustein bewirkt absolut nicht beim "O_1Y2" des anderen.

    Du musst jeden Baustein so schreiben dass er seine Ausgänge korrekt und völlig unabhängig vom anderern verwaltet.

    Als Denkstütze könntest du dir vorstellen wie du es ohne Bausteine programmieren müsstest, wenn man dir vorgeben würde dass du für deinen Grundstellungs-Teil und für deinen Ketten-Teil einen unterschiedlichen Satz Variablen nehmen müsstest und diese am Ende (so wie jetzt ja schon) auf die Ausgänge zusammen führen müsstest.

    Warum muss das so kompliziert sein?
    Ein FB sollte eine geschlossene Einheit sein, es sollte niemals ein externer Codeteil benötigt werden um seine Funktion korrekt zu erfüllen. Das muss er alles alleine machen.
    In deinem Code verlässt du dich anscheinend darauf dass der zweite Baustein die Arbeit (rücksetzen der stehen gebliebenen Ausgänge) vom anderen fertig macht.
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  10. #8
    Frozen19 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    28.04.2016
    Beiträge
    28
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das selbe gilt für die Ablaufkette, da bleiben am Ende auch O_1Y2 und O_2Y2 gesetzt. Die setzt bis zum nächsten Durchlauf auch keiner zurück.
    Meinst du vielleicht das?
    Hier ist das Problem das von FB1 Grundstellung wie du es sagst am ende O_1Y2 und O_2Y2 gesetzt bleiben und durch FB2 Ablauf nicht resetet da die beiden Bausteine voneinander unabhängig arbeiten.
    Ich habe das ganze mal in einem FB programmiert hier funktioniert es einwandfrei nach der Grundstellung werden die gesetzten Ausgänge O_1Y2 und O_2Y2 weiter beschrieben von der Ablaufkette.

    Hierzu hätte ich noch eine Frage: kann man nicht den FB1 im FB2 aufrufen und das selbe Resultat erzielen wie wenn man alles in einen FB programmiert?

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 08.11.2015, 18:45
  2. Parametrierung von eu5e-swd-2a2a (Eaton)
    Von alexander2108 im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 26.01.2014, 13:31
  3. Antworten: 13
    Letzter Beitrag: 20.12.2010, 07:45
  4. Doppelgeburtstag von zwei M's
    Von Rainer Hönle im Forum Stammtisch
    Antworten: 16
    Letzter Beitrag: 18.05.2009, 13:20
  5. Prüfen der Parametrierung von FBs
    Von SPSKILLER im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 17.07.2008, 20:33

Lesezeichen

Berechtigungen

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