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

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

Thema: Programm ok?

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    nachdem ich kürzlich ein unerwartetes Problem mit meinem Programm hatte möchte ich hier gerne mal einen anderen Programmteil zur Vorsicht von euch überprüfen lassen.
    Es ist nichts besonderes, ich möchte aber gerne mal wissen ob es eine bessere Lösung dafür gibt, und vorallem auch ob man das ganze zusätzlich überwachen/absichern kann. Sollte dieses Programm nämlich mal nicht funktionieren könnte es zum crash kommen.
    Durch diese Funktion soll der entsprechende Antrieb ab einer bestimmten Position verlangsamt werden. Leider habe ich hier niemanden auf der Arbeit den ich dazu befragen kann, daher bin ich für jede Antwort dankbar

    Screenshot_S7.JPG

    Hier mal eine Beschreibung:

    Im Netzwerk 13 wird die Geschwindigkeit an den Fu übertragen, dabei wird ein Wert von nem HW_Poti vorgegeben (#Wert)

    Im Netzwerk 14 habe ich jetzt gesagt: Wenn der Antrieb (Biegearm) zurückgefahren wird (M40.0) UND die Position <= 2° ist (M180.1) UND der Wert des Potis größer als 19,92 (entspricht 3mm/s) ist, soll FC8 in NW13 "abgeschaltet" werden. Im NW14 soll dann stattdessen ein Wert von 3000 (3mm/s) an den Umrichter geschickt werden. Ist der Wert des Potis unter 19,92 kann die Geschwindigkeit ganz normal reguliert werden.

    Was sagt ihr dazu?

    Gruß
    Volt81
    Zitieren Zitieren Programm ok?  

  2. #2
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von Volt81 Beitrag anzeigen
    Im Netzwerk 13 wird die Geschwindigkeit an den Fu übertragen, dabei wird ein Wert von nem HW_Poti vorgegeben (#Wert)
    Hallo Volt,
    so wie ich das sehe liegt die Variable "#Wert" (Poti) als Real vor. Was macht denn der FC8? Wandelt er die Realzahl in eine INT?
    Im NW 15 wird auf jeden Fall eine INT an das AW geschrieben, was ja auch sinn macht.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  3. #3
    Registriert seit
    20.02.2008
    Beiträge
    332
    Danke
    16
    Erhielt 40 Danke für 37 Beiträge

    Standard

    Autsch, das schreit.

    Du beschreibst den Ausgang AW130 an zwei verschiedenen Stellen - zwar abwechselnd aber das ist unschön. Wenn Du so weitermachen würdest, könnte man irgendwann das Programm kaum noch verstehen. (Meine Maxime: Ausgänge werden genau einmal beschrieben oder im selben NW einmal gesetzt und rückgesetzt.)

    Also mein Vorschlag ist: Erweitere den FC8 um einen 2. Sollwert und ein Umschaltbit. Das Umschaltbit ist der M180.5. Der Sollwert 2 ist die Konstante (3000 / 3.00E+3). Und im FC8 schaltest Du in Abhängigkeit vom Umschaltbit zwischen Sollwert 1 und 2 um.

    Wenn Du Hilfe brauchst, dann poste mal den Inhalt vom FC8 (Schnittstelle und Code).
    Geändert von asci25 (04.03.2012 um 14:03 Uhr)

  4. #4
    Volt81 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.02.2012
    Beiträge
    9
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Leute,

    danke für eure Antworten.

    Im FC8 wird der Sollwert für den FU gebildet. Hier ist mal der Inhalt des FC´s so wie er ursprünglich programmiert wurde.

    FC8-Ist.JPG


    Ich habe jetzt erst mal selber versucht das ganze in den FC8 einzuprogrammieren, also so wie Asci es ja auch bereits vorgeschlagen hat
    Schaut es euch bitte mal an. Ich habe es zwar am PG simuliert, wo es wohl auch funktioniert hat, aber vielleicht macht man das ja doch ganz anders.
    Den Wert für Soll_Max_2 habe ich vorerst verdreifacht. Damit müsste die Geschwindigkeit ja dann auch 1/3 der ursprünglichen Geschwindigkeit betragen. Den genauen Wert muss ich mir dann nochmal vor Ort errechnen.

    FC8-Soll.JPGFC8-Schnittst..JPG


    Was sagt ihr dazu?


    Gruß
    Volt81

  5. #5
    Registriert seit
    20.02.2008
    Beiträge
    332
    Danke
    16
    Erhielt 40 Danke für 37 Beiträge

    Standard

    Hallo Volt81,

    jetzt kommen wir langsam in die richtige Richtung.

    Also, ich würde das Umschaltbit auch von Aussen (#UseValue2, BOOL) reinholen und den M180.5 nicht im FC anbinden. Dadurch wird eine Funktion mehrfach verwendbar, was der eigentliche Sinn einer "closed function" ist.

    Da Du noch ein wenig zu kompliziert gedacht hast (Zwei Sprünge), schlage ich Dir folgenden Code vor:

    Code:
          L    #Sollwert
          UN   #UseValue2
          SPB  Sow2
          L    #Sollwert2
    Sow2: L    1.638300e+004
          *R
          L    #Soll_Max
          /R
          TRUNC
          T    #Sollwert_FU
    Der Hintergrund ist ganz einfach: Man läd schonmal den 1.Sollwert in den Akku1 und wenn das Umschaltbit (#UseValue2) gesetzt ist, dann überschreibt man Akku1 mit dem 2. Sollwert und macht ganz normal weiter.

  6. #6
    Registriert seit
    20.02.2008
    Beiträge
    332
    Danke
    16
    Erhielt 40 Danke für 37 Beiträge

    Standard

    Ach ja, hätte ich fast vergessen:

    Es ist absolut richtig, dass Du Dir hier Rat holst. Aber wir können Dir nicht die Absolution im Sinne einer Programmfreigabe erteilen. Die Verantwortung der Nutzung bleibt bei Dir. Deshalb solltest Du Programmänderungen möglichst nicht zum Feierabend vornehmen, sondern wenn Du mit der Arbeit beginnst und dann nimm Dir die Zeit, die Anlage ein paar Stunden zu beobachten und zu testen. Mit Testen meine ich auch ein paar "Nicht-Normale" Situationen. Man kann zum Beispiel einen Sensorausfall simulieren. Je nachdem, was Dir als Test sinnvoll erscheint.

    Mit der Zeit wird Deine Erfahrung wachsen und Du wirst sicherer an die Aufgaben rangehen.

  7. #7
    Volt81 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.02.2012
    Beiträge
    9
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Asci,

    besten Dank für deine Hilfe, freut mich echt dass ihr hier so hilfsbereit seid .
    Finde deinen Code super, wäre ich in der Form nie selbst drauf gekommen.. dabei ises so logisch *grins*.

    Dass ich von euch keine Absulotion erwarten kann weiß ich, würde ich natürlich auch nie. Im Endeffekt bin ich selber für meine Änderungen verantworlich. Aber das mit dem Testen der Nicht-Normalen-Situationen ist ein gutes Stichwort.

    Gibt es noch irgendwelche Möglichkeiten diese ganze Funktion in irgendeiner Form zu überwachen?
    Wenn der Antrieb nämlich mal nicht langsamer wird ist da nur noch der HW-Endschalter der die Funktion bei 0° abschaltet. Aber dann ises zu spät weil der Biegearm durch seine Geschwindigkeit relativ weit nachläuft.

    Ich denke da grad an den Positionsgeber. Wenn der mal beim zurückfahren ausfällt weiß die S7 ja garnicht mehr dass der Antrieb kleiner als 8° steht und somit langsamer werden soll. Hmm.. das muss ich in den nächsten Tagen wirklich mal ausprobieren.

    Falls du da noch nen tip für mich hast wie man solche Sachen sicherer gestalten kann würd ich mich wirklich sehr freuen.
    Ich hoffe nur, ich nerve dich nicht mit meiner ganzen Fragerei

    Gruß
    Volt81
    Geändert von Volt81 (05.03.2012 um 13:13 Uhr)

  8. #8
    Registriert seit
    20.02.2008
    Beiträge
    332
    Danke
    16
    Erhielt 40 Danke für 37 Beiträge

    Standard

    Ab und zu steht man mal auf dem Schlauch, das ist normal. Aber mit zunehmender Erfahrung wird das seltener.

    Thema Positionsgeberüberwachung:
    Frage: Wie wird der Antrieb beim zurückfahren gestoppt? Position oder Endschalter?

    Wenn Endschalter, kannst Du beim Erreichen des Endschalters eine Mindest-Position überprüfen und gegebenenfalls eine Störung auslösen.

    Wenn Position, dann würde der Antrieb ja auch hinten auf den Endlagenschalter auflaufen und einen Chrash verursachen. da würde mir nur eine Laufzeitüberwachung einfallen mit voreilenden Endschaltern. Mann könnte durch voreilende Endschalter auch einen Notstopp initiieren oder die aktuellen Endlagenschalter mehr nach vorne stellen, dass ein Notstopp zum Bremsen ausreicht.

    Da gibt es viele Möglichkeiiten, aber nicht jede passt zu euer Anlage....

  9. #9
    Volt81 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.02.2012
    Beiträge
    9
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo asci,

    ich habe mir deinen Code nochmal in ruhe angeschaut. Die Idee ist gut, passt aber leider nicht ganz zu meinem Programm.
    In dem von dir geschriebenen Code gibt es 2 Sollwerte, aber nur einen Soll_Max_wert.
    Da der Sollwert aber von einem Potentiometer kommt muss dieser auch beibehalten werden. Andernfalls wäre die Geschwindigkeit ja nicht mehr variabel. Ich hätte es aber gerne so, dass ab einer Position von 2° nicht schneller als 3mm/s gefahren werden kann. Unterhalb dieser Grenze soll die Geschwindigkeit aber trotzdem noch einstellbar sein.
    Dafür muss ich dann einen größeren Soll_Max_Wert verwenden.

    Ich wüsste jetzt nicht wie ich das ohne 2 Sprünge machen soll. Aber vielleicht hast du ja noch ne Idee. Andernfalls verwende ich meinen Code von gestern.

    Was die Überwachung angeht... wir haben am Ende (0°) wirklich nur einen HW-Endschalter.
    Vielleicht werde ich das so machen:
    1. Für die Endlage bei 0° werde ich einen zusätzlichen Software-Endschalter einprogrammieren. (Falls der HW-Endschalter mal nicht funktioniert)
    2. Für die "Langsamfahrt", welche ja bei <=2° beginnt werde ich bei 1° einen zusätzlichen HW-Endschalter anbringen. Wenn dieser dann überfahren wird UND die Geschwindigkeit immernoch höher als 3mm/s ist soll der Antrieb abschalten und eine Störmeldung ausgeben.

    So hätte ich dann beide Funktionen zusätzlich abgesichert.

    Gruß
    Volt81
    Geändert von Volt81 (06.03.2012 um 10:28 Uhr)

  10. #10
    Registriert seit
    20.02.2008
    Beiträge
    332
    Danke
    16
    Erhielt 40 Danke für 37 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hey, machs Dir nicht so kompliziert, Sollwert 2 ist Deine Konstante für die festgelegte Geschwindigkeit. Du schaltest mit M180.5 nur zwischen den beiden Sollwerten um. Sollwert 1 kommt vom Poti und Sollwert 2 von Deiner Konstante. Das Max ist nur ein Umrechnungsfaktor, den solltest Du so lassen und ignorieren sonst steigst Du von der falschen Seite auf das Pferd.

    Überwachung - ? ja klingt gut, ich kenn halt die Maschine nicht...

Ähnliche Themen

  1. S5 Programm überschreiben zu S7 Programm
    Von Tabler im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 29.03.2011, 22:37
  2. Antworten: 8
    Letzter Beitrag: 09.12.2010, 18:08
  3. S5 Programm
    Von Michael im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 13.06.2008, 07:16
  4. Antworten: 0
    Letzter Beitrag: 05.10.2006, 13:56
  5. S5 Programm in ein S7 Programm umwandeln
    Von 1schilcher im Forum HMI
    Antworten: 3
    Letzter Beitrag: 15.01.2006, 11:53

Lesezeichen

Berechtigungen

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