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

Ergebnis 1 bis 9 von 9

Thema: Schrittkette in FB erstellen

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo ihr lieben.
    Ich sitze hier gerade an einer Prüfungsaufgabe und komme nicht weiter.
    Teil 1 der Prüfung war ein FC als Standart FC zu erstellen und dazu einen DB. Das ging noch so einigermaßen. Man musste lediglich In und Out deklarieren und eine Temp variable benutzen.
    Wert vorgabe lief dann über Variablentabellen vorgabe.
    Teil 2 der Prüfung ist nun einen FB zu erstellen und in diesem dann eine Schrittkette zu Programmieren. nur irgendwie blick ich da nicht ganz durch.
    muss man da auch jeweils in und out variablen deklarieren und so wie ich denke dann als Temp variable ein array bereich für die schrittmerker einfügen?
    Zitieren Zitieren Schrittkette in FB erstellen  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Die Schrittmerker sollen sich MERKEN in welchem Schritt die Schrittkette ist - TEMP-Variablen können sich nichts bis zum nächsten Aufruf "merken" --> Du mußt das Schrittmerker-Array im Bereich STAT anlegen, wodurch die Variablen in dem Instanz-DB angelegt werden --> das ist der wesentliche Unterschied der FB gegenüber FC.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    Revalco ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.05.2014
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Stimmt ja STAT sind die Baustein eigenen Lokalen Daten. Ok dann kommt das schon mal da rein. Und die Schrittkette dann einfach runterschreiben wie sonst auch nur mit den IN und OUT des Bausteins oder?

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Ich vermute, der FB der Prüfungsaufgabe soll gar keine IN und OUT haben sondern nur die Schrittmerker als lokale Variablen "kapseln", ansonsten aber auf alle globalen Variablen (Eingänge, Ausgänge, Taktmerker, Zeiten, ...) direkt zugreifen. Für eine sehr kurze rein theoretische Prüfungsfrage kann man aber auch die wenigen benötigten globalen Variablen über IN/OUT/IN_OUT an den FB übergeben. In der Praxis tut man das nicht.

    Code:
    U #schritt[1]
    U E1.0
    R #schritt[1]
    S #schritt[2]
    
    U #schritt[2]
    U E1.2
    R #schritt[2]
    S #schritt[3]
    
    ...
    
    O #schritt[1]
    O #schritt[2]
    = A4.0
    
    ...
    Harald
    Geändert von PN/DP (11.06.2014 um 18:21 Uhr)
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #5
    Registriert seit
    11.03.2011
    Beiträge
    384
    Danke
    32
    Erhielt 80 Danke für 69 Beiträge

    Standard

    Für Schrittketten verwende ich immer die Sprungliste (SPL) und eine statische Variable, in der der abzuarbeitende Schritt steht.
    Gleuch am Anfang wird über die Sprungliste wird dann in den aktuellen Schritt gesprungen, dieser abgearbeitet und ggf der nächste Schritt in die statische Variable eingetragen und der Schritt (und der FB) mit BEA beendet (oder einen SPA END auf die Sprungemarke END am Ende des FB gesprungen)

  6. #6
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Ohne Sprungleiste ist das Fehlersuchen leichter.

    Wer diese Art der Programmierung nicht kennt, der hat ggF Probleme eine Störung oder einen Programmfehler zu suchen.


    bike
    "Any fool can write code that a computer can understand.
    Good programmers write code that humans can understand."
    --Martin Fowler

  7. #7
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.849
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Code:
    U #schritt[1]
    U E1.0
    ...
    Harald
    hier warste aber jetzt nicht wirklich konsequent. kenn ich gar nicht von dir
    eine 'direkte' variable hat im fb (und auch in einer parametrierten fc) natürlich nix zu suche.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  8. #8
    Revalco ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.05.2014
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also hier mal kurz die Aufgabenstellung:
    Das Einlagern eines Teils soll hier in einem Standartfunktionsbaustein programmiert werden , damit dieser bei ähnlichen Projekten immer wieder genau in dieser form verwendet werden kann.
    Dabei wird der Funktionsbaustein im Aufruf mit den Ein-, Ausgangsadressen belegt und die vertikal- und Horizontalposition jeweils in einem Merker im BCD - Format vorgegeben. Außerdem müssen beim Aufruf noch die Zeiten und Zähler zugeordnet werden.

    Der Funktionsbaustein fordert über eine OUT Variable die Bereitstellung der Positionswerde an und über eine andere OUT Variable das Schreiben eines neuen Wertes für das abgelegte Teil in den Datenbaustein.

    Das Einlagern soll in folgender Chronologischer Reihenfolge durchgeführt werden:
    -Grundstellung links (S11) unten (S2) anfahren ( Soweit recht klar was da passieren soll )
    -Teil anfordern / Position Lagerplatz leer ermitteln ( muss ich das dann vorgeben ? Da die lagerplätze ( 28 im gesammten ) ja nicht im DB zur verfügung stehen bzw wenn ja dann alle als leer)
    -Werte für die Vertikal und Horizontalposition laden ( bekommt man dann über den DB zugeteilt denke ich mal )
    -Position andahren über Zähler gesteuert ( wo kommt der Zähler her und was muss der Zählen? zählt er von platz 1 bis 28 hoch? )
    -Greifer anheben Zeitgesteuert ( keinerlei Zeitvorgabe also frei definierbar? )
    -Zylinder ausfahren ( das wiederum ist ein klacks )
    -Greifer senken zeitgesteuert ( wieder frei wählbar? )
    -Zylinder einfahren ( einfache geschichte )
    -Übergabeposition links ( S11 ) unten ( S2) anfahren / Code in Datenbaustein schreiben ( als OUT variable an DB zu übergeben? )
    - weiter mit Schritt 2: Teil anfordern / Position Lagerplatz leer ermitteln.

    ja wie ihr merkt blick ich da gerade recht wenig durch :/ würde mich über ein paar brachiale kommentare ( gerne auch sehr direkt und zurechtweisend ) freuen
    nur so lernt man es dann xD

    ich Tipsel euch auch noch gerne die ZULI ab wenn ihr wollt.

  9. #9
    Registriert seit
    11.03.2011
    Beiträge
    384
    Danke
    32
    Erhielt 80 Danke für 69 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von bike Beitrag anzeigen
    Ohne Sprungleiste ist das Fehlersuchen leichter.
    Dadrüber kann man streiten, allein herauszufinden welcher Schritt gerade aktiv ist ist viel leichter, da ich nur die Schrittvariable ansehen muss.
    Zitat Zitat von bike Beitrag anzeigen
    Wer diese Art der Programmierung nicht kennt, der hat ggF Probleme eine Störung oder einen Programmfehler zu suchen.
    Das könnte durchaus stimmen.

Ähnliche Themen

  1. Kann man eine Schrittkette erstellen und mehrfach benutzen?
    Von Dennis auf der Arbeit im Forum Simatic
    Antworten: 34
    Letzter Beitrag: 06.01.2013, 23:16
  2. Schrittkette
    Von Horschd im Forum Programmierstrategien
    Antworten: 3
    Letzter Beitrag: 15.06.2011, 11:40
  3. Schrittkette
    Von degano im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 24.10.2007, 11:44
  4. Schrittkette ?
    Von 1schilcher im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 04.01.2007, 14:25
  5. Schrittkette
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 11.01.2006, 09:06

Lesezeichen

Berechtigungen

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