TIA Schrittkette in OB1 implementieren

Matti257

Level-1
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Schönen guten Tag zusammen. :D


Ich habe die ehrenvolle Aufgabe eine Farbmischanlage zu programmieren.

Hierfür sollte ich folgende Funktionsbausteine anlegen/programmieren:
- FB Betriebsarten in der Sprache SCL/ST
- FB Automatik (Ablaufsprache) für das Mixen der Farbkomponenten und die dazugehörigen Instanzen(FUP)
- FB Befehlsausgabe für die Ansteuerung der Aktorik(Ventile/Motoren) als FUP
- FB Meldeleuchten

Soweit so gut - hoffe ich. Habe die Bausteine programmiert und sie sind in der Übersetzung soweit fehlerfrei.
Zusammen mit dem FB Befehlsausgabe habe ich einen Schrittkettenbaustein angelegt, welcher die einzelnen Schritte des Ablaufs der Anlage beinhaltet.

Nun verzweifel ich an der Umsetzung, die einzelnen Bausteine im OB1 zu integrieren, sodass ein schlüssiges Programm entsteht. Die oben genannten Bausteine sollen zusammen das zyklischen Hauptrogramm bilden. Das Hauptprogramm muss doch jetzt die einzelnen Schritte des Schrittketten- und Befehlsausgabebausteins durchlaufen und abarbeiten?! Aber wie setze ich das im TIA Portal genau um bitte? Gib es standardisierte Bausteine hierfür?

Ich bin grad echt verzweifelt und sitze seit etlichen Stunden/Tagen an dem Problem. :[

Ich bin über jede Hilfe dankbar!!!

Als Anhänge habe ich Ausschnitte aus dem Programm bzw den einzelnen Bausteinen hochgeladen.


Beste Grüße

Matti
 

Anhänge

  • Betriebsarten.png
    Betriebsarten.png
    138,6 KB · Aufrufe: 102
  • Schrittkette.jpg
    Schrittkette.jpg
    41 KB · Aufrufe: 88
  • Befehlsausgabe.jpg
    Befehlsausgabe.jpg
    59 KB · Aufrufe: 73
  • instanzen der Automatik.png
    instanzen der Automatik.png
    49,7 KB · Aufrufe: 73
  • OB1.png
    OB1.png
    33,4 KB · Aufrufe: 74
So direkt verstehe ich nun Dein Problem nicht so ganz.

Du hast Bausteine geschrieben. Diese müssen in sinnvoller Reihenfolge abgearbeitet werden. Also werden diese in den OB1 gezogen, hast Du ja auch gemacht.

Welche Reihenfolge nun genau dafür genutzt werden sollte ist Deine Angelegenheit. Hängt ja von den Bausteinen ab. Hier sieht man ja immer nur einen Teilcode und keine Abhängigkeiten voneinander.
Da Du eine Schrittkette geschrieben hast, verstehe ich nicht, welche Standardbausteine Du nun suchst.
Der OB1 lädt alle Teile Deines Programmes, so wie Du es eingetragen hast, das wäre der Standardbaustein für die Aufrufe aller anderen Bausteine.

Wenn nun alle Bausteine in gewünschter Reihenfolge aufgerufen werden, das Programm aber nicht funktioniert, dann ist da irgendwo ein Fehler.
Welches, bleibt hier nun gerade ungelöst.

Du kannst natürlich auch Dein Programm hochladen, dann wäre es vielleicht einfacher hineinzuschauen, oder Du teilst eindeutiger mit was das Problem ist. ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey escride. :)

Danke erstmal für die Antwort. Ja, ich verstehe, dass meine Problemstellung wohl etwas unscharf ist. Lag wohl an meinem verwirrten Zustand gestern, habe mich da etwas gegen die Wand "programmiert".

Also ich dachte eigentlich es gäbe in TIA vorgefertigte Bausteine wie in Step7 (da wars beispielsweise für den Baustein Befehlsausgabe FB25 glaube ich), an denen ich dann mit existierenden Parametern u.a. die einzelnen Schritte eingeben kann, welche dann der Reihe nach abgearbeitet werden.

Also nochmal in Kurzfassung: Ich möchte meine angelegten Bausteine und Funktionen korrekt ins Hauptprogramm integrieren.
Wenn ich dich richtig verstehe, reicht es hierfür die Bausteine, speziell die Schrittkette, in den OB1 zu ziehen und sie wird dann zusammen mit den anderen FBs/FCs automatisch abgearbeitet?!

Im Anhang habe ich mal mein bisheriges Programm mit zugehöriger Aufgabenstellung hochgeladen. Wäre nach wie vor sehr dankbar, falls da ein netter Forum-Nutzer mit mehr SPS-Programmierkenntnissen als ich mal einen Blick drauf werfen würde. :-)

Liebe Grüße

Matti
 

Anhänge

Hallo, ich habe mir das Programm angesehen.
Der Grund, warum hier kaum jemand schreibt ist höchstwahrscheinlich weil bereits in den von Dir geposteten Bildern im ersten Thread grundlegende Fehler enthalten sind.

So wie ich das Programm sehe hast Du einige Punkte in den vorherigen Lektionen übersprungen.

Mal grob über den Daumen:
- Du schreibst die Ausgänge in mehreren Netzwerken. Jedes Mal wenn ein Ausgang mit = oder /= geschrieben wird, dann ist das absolut. Das heisst, das das was in diesem Netzwerk passiert das ist was der Ausgang macht. Alles was davor mit dem Ausgang gemacht wurde an Schreibvorgängen ist irrelevant weil der Zustand überschrieben wird. Es ist nicht erlaubt einen Ausgang mehr als einmal mit = oder /= zu beschreiben, da der vorherige Zustand ungültig ist. Ausnahme: Sprünge im Programm, davon lass aber erstmal die Finger (komplizierter weil unübersichtlicher).

- Du sollst mehrere FBs nutzen. Im FB Automatik haben die Ausgänge nichts zu suchen. Die gehören alle in die Befehlsausgabe. Dort werden die Ausgänge beschrieben. Die Ausgänge der Aktorik gehören laut Aufgabenstellung also hier hinein.

Das bedeutet für den Programmaufbau:
Betriebsarten: Alle vorbereitenden Zustände werden hier aufgenommen und mittels Output ausgegeben
Instanzen der Automatik: Nimmt die Outputs der Betriebsarten als Input auf, jedoch nur Startbefehle für die Automatik, verarbeitet diese dann wann wie wo was geschaltet werden soll und gibt den Zustand der Aktoren am Output aus
Befehlsausgabe: Nimmt die Outputs der Instanzen der Automatik und der manuellen Zustände aus Betriebsarten auf, verarbeitet diese gemäß wenn (Betriebsart=Auto und Farbe1) ODER (wenn Betriebsart=Manuell und Farbe1) = Ausgang X
Meldeleuchten: Nimmt die Output der Betriebsarten sowie Instanzen der Automatik an seinem Input auf und verarbeitet diese so das die richtige Leuchte als Ausgang beschrieben wird

Die 4 FBs werden dann im OB1 wie bereits von Dir erstellt eingefügt, jedoch die Input und Output miteinander verknüpft.

Du musst in den Instanzen der Automatik !eine! Schrittkette einfügen. Diese ist für die normalen Motoren gedacht etc. Und dann, wenn diese Schrittkette erfordert das eine Farbe genutzt wird, dann wird diese am Output ausgegeben, sodass die Befehlsausgabe sie am Input aufnehmen kann und durch die Verschaltung entsprechend schaltet.

Du hast Dich auch nicht an Aufgabe A gehalten. Du nutzt "Aus" - den gibt es aber nicht.


Die Aufgabe die Du bekommen hast habe ich hier fertig auf der HDD als Lösung liegen. Ich sehe aber nicht die Möglichkeit Dir durch Zusenden dieser hier zu helfen. Es fehlen viele Punkte.

Das was Du schreibst was Du als einzeln abarbeitende Schritte meinst musst Du im Prinzip selbst erstellen. Da gibt es nichts was Dir hier weiterhelfen kann. Du hast Automatik auch mit Graph erstellt, im Prinzip richtig, aber nicht für diese Aufgabe, hier soll kein Graph vorkommen.

Just im Moment weiß ich nicht wo ich Dir hier richtig helfen kann.
Meine Vorgehensweise wäre das ich erstmal dafür sorge das alle doppelten Zuweisungen der Ausgänge verschwinden.
Dann werden die Ausgänge natürlich gleichzeitig in die Befehlsausgabe verschoben.
Dann würde ich die Input und Output wie gefordert nutzen.
Und dann weitersehen...

Schau Dir bitte zusätzlich die Hilfe an oder lade Dir PLCSIM V14 herunter und arbeite damit:
- Setzen (S) und Rücksetzen (R) wie auch SR oder RS - Anweisungen
- = und /= - Anweisungen
 
Vielen vielen Dank erstmal.

Ich sehe schon, ich habe die Nacht noch einiges vor. Auf geht's! :)

Habe dir ansonsten noch ne PM geschickt. :)

Liebe Grüße
 
Zurück
Oben