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

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

Thema: Schrittkette mit INT Variable?!

  1. #1
    Registriert seit
    03.06.2016
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Tag!
    Ich bin neu angemeldet in diesem Forum, habe aber schon seit langem hier mitgelesen und dadurch viel dazugelernt.

    step7 Fup SCL Protool und Wincc flex sind meine Werkzeuge
    Damit hab ich auch einiges erreicht, aber jetzt stellt sich mir die Frage, ob das alles so richtig war, welche Nachteile meine Programm-Technik aus Sicht von erfahrenen Leuten mitbringt, und ob man das nicht besser "bauen" kann.


    Ein Mischer soll zuerst anhand des Gewichts und des Mischungsverhältnis errechnen, wieviel kg jeder Komponente im Mischer sind.
    Dann soll errechnet werden wieviel kg jeder Komponente fehlen, um ein Endgewicht von z.B. 1000kg zu erreichen und dabei das Mischungsverhältnis einzuhalten.

    Danach sollen die Komponenten nacheinander eingezogen werden, dann Mischzeit, dann Fertigmeldung.
    erst wenn die Fertigmeldung erfolgte, darf der Inhalt weiterverarbeitet werden.

    wie hab ich das gelöst:
    FB 1 übernimmt die Entscheidungen Mischen/leeren/warten

    FB2 für die Leerung
    FB3 für das Anmischen

    ich nehme eine Statusvariable (INT) für die Schrittkette.
    die liegt in einem DB, damit ich die in der HMI verarbeiten kann.

    die einzelnen Netzwerke in Fup funktionieren immer gleich:
    Jedes Netzwerk hat links einen Vergleicher, ob der Status passt.
    Wenn Ja, erfolgt die Abarbeitung
    nach der Abarbeitung wird der Status auf den nächsten Schritt gebracht.
    Also in etwa nach diesem Prinzip:

    Status 0? Inhalte berechnen - Status 1 setzen!
    status 1? Restmengen je Komponente errechnen - Status 2 setzen
    status 2? Komponente 1 einziehen bis Gewicht erreicht- Status 3 setzen
    status 3? Komponente 2 einziehen bis Gewicht erreicht- Status 4 setzen.
    usw...

    Ist solch eine "Schrittkette" praktikabel?

    normalerweise liest man ja nur was über Schrittkettenmerker.
    aber bei so vielen Schritten, käme da einiges zusammen.

    ich hab etwa 40 Netzwerke für den gesamten Anmischvorgang


    Vielen Dank für Eure Meinungen!

    Marcus
    Zitieren Zitieren Schrittkette mit INT Variable?!  

  2. #2
    Registriert seit
    13.10.2007
    Beiträge
    12.037
    Danke
    2.789
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard

    Meiner Meinung nach ist das Praktikabel, da gibt unterschiedliche
    Möglichkeiten. Entweder in AWL mit einen Sprungverteiler oder
    in SCL mit einer CASE Anweisung.
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  3. #3
    Registriert seit
    06.03.2009
    Beiträge
    128
    Danke
    83
    Erhielt 17 Danke für 12 Beiträge

    Standard

    Wie schon #2 gesagt, ist praktikabel, nur in Status(Schritt) 0 würde ich nix tun, außer vielleicht initialisieren.

  4. #4
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.480
    Danke
    1.141
    Erhielt 1.242 Danke für 973 Beiträge

    Standard

    Ist ok.
    Ich würde nur Abstand zwischen den Nummern lassen.
    Damit sind Änderungen einfacher

  5. #5
    Banane71 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    03.06.2016
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Na, da fällt mir aber nen Berg vom Herzen, das kann ich euch sagen

    ja, zwischen den Sprüngen sind auch Lücken und 0 dient auch nur der Initialisierung.
    ich wollte nur keinen Roman verfassen da oben

    gruß

    Marcus

  6. #6
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.480
    Danke
    1.141
    Erhielt 1.242 Danke für 973 Beiträge

    Standard

    Ich programmiere diese Schrittketten übrigends meist rückwärts.
    Also Schritt 1 letztes Netzwerk und der letzte Schritt als NW 1.
    Somit ist sichergestellt, dass jeder Schritt mind. einen Zyklus aktiv ist.

  7. #7
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von Blockmove Beitrag anzeigen
    Ich programmiere diese Schrittketten übrigends meist rückwärts.
    Also Schritt 1 letztes Netzwerk und der letzte Schritt als NW 1.
    Somit ist sichergestellt, dass jeder Schritt mind. einen Zyklus aktiv ist.
    Was früher bei Merkerschrittketten in Step5 durchaus sinnvoll war.
    Aber bei Case brauchst du das doch nicht, da wird in den Schritt mit Nummer X gesprungen, dann in dieser Case-Anweisung die neuer Schrittnummer engetragen, der Zyklus, läuft durch und am Case-Befehl wird dann wieder anhand der Nummer in Schritt X + Y gesprungen.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  8. #8
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.480
    Danke
    1.141
    Erhielt 1.242 Danke für 973 Beiträge

    Standard

    Der TE nutzt kein Case. Funktionell ist es eigentlich eine normale Merkerkette.

  9. #9
    Registriert seit
    13.10.2007
    Beiträge
    12.037
    Danke
    2.789
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard

    Zitat Zitat von Blockmove Beitrag anzeigen
    Der TE nutzt kein Case. Funktionell ist es eigentlich eine normale Merkerkette.
    Es mit CASE zu machen währe aber der richtige Weg,
    das mit den Vergleich habe ich auch erst gerade gelesen
    und halte es für Blödsinn. Da kann er gleich bei der Merkerschrittkette
    bleiben.
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  10. #10
    Banane71 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    03.06.2016
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Naja, der Gedanke war, das man später bei ner Fehlersuche recht einfach in FUP sieht, was los ist.
    AWL ist nun garnicht so mein Ding.
    SCL ist gut und schön, aber meiner Erfahrung nach kommt jeder Elektriker mit FUP klar, mit SCL nur wenige.

    Das Einfachste wäre ja gewesen, wenn man den ENO einer Funktion ganz einfach beeinflussen könnte.
    Dann könnte man die einzelnen Schritte einfach verketten, fertig.
    Beim Beobachten (Fehlersuche) sieht man dann genau, wie weit das Programm fortgeschritten ist.

    Leider blieben alle Versuche, den ENO zu schalten erfolglos oder zu unsicher.


    Zur Merkerkette:

    wenn ich Komponente 2 einziehen will, muss Merker "Komponente 1 fertig" true sein.
    gleichzeitig muss Merker "Komponente 2 fertig" False sein, sonst arbeitet der Abschnitt ja auch, wenn die Kmponente längst fertig ist.

    folglich links außen ein UND Baustein mit zwei Eingängen, wovon einer negiert ist.

    da erschien mir der Weg über den INT Vergleich einfacher, zumal ich bei auftretenden Fehlern jederzeit in einen anderen Bereich springen kann, und das eben in FUP, was jeder kennt.


    lieg ich mit diesem Gedanken so falsch?

    Marcus

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 05.12.2013, 18:33
  2. INT Variable
    Von snowkopp im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 21.09.2009, 22:59
  3. MW in INT Variable übergeben
    Von Felse im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 10.03.2009, 10:13
  4. WinCC flex. : Int Variable in Visu als DINT
    Von Jochen Kühner im Forum HMI
    Antworten: 2
    Letzter Beitrag: 19.05.2008, 10:08
  5. Antworten: 27
    Letzter Beitrag: 17.07.2006, 22:20

Lesezeichen

Berechtigungen

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