FCs verwenden

Meister Joda

Level-1
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi, ich habe folgende Probleme,

ich muss ein Handhabungsgerät zu Hause programmieren und eine Dokumentation schreiben. Ich habe keine S7 zu Hause und kann nur in der Schule das Programm testen UND ich bin nur noch zum Abgabetermin in der Schule...

also:

als erstes wüsste ich gerne, wie ich zwei FCs gegeneinander verriegeln kann, so dass immer nur einer von der CPU bearbeitet wird... also z.B. der "FC Bohrstation" oder der "FC Stempelstation"?

und als zweites müsste ich wissen, wie man in einem FC z.B. bei einem "UND" einen FC als Voraussetzung nehmen kann...

thx schonmal...


CPU ist eine 315er
SIMATIC Step7 Vers.: 5.4
 

Anhänge

  • DSC02323.JPG
    DSC02323.JPG
    454,3 KB · Aufrufe: 53
  • DSC02326.JPG
    DSC02326.JPG
    455,6 KB · Aufrufe: 38
Hi, ich habe folgende Probleme,

ich muss ein Handhabungsgerät zu Hause programmieren und eine Dokumentation schreiben. Ich habe keine S7 zu Hause und kann nur in der Schule das Programm testen UND ich bin nur noch zum Abgabetermin in der Schule...

..........

Hallo, ich hab die Frage jetzt nicht 100%ig verstanden, wie willst du es denn ohne Software zu Hause programmieren? Was hast du für S7 Kenntnisse und wie weit bist du schon mit deinem Programm?

Die FC´s müssen ja irgendwie aufgerufen werden und mit dem Aufruf von dem einen kannst du einfach den anderen verriegeln, so das immer nur einer aktiv ist.



EDIT: Sorry, hab mich verlesen. Hab gelesen, "Ich habe kein S7 (Step7) zu Hause". Also hast du das Programm, nur keine Steuerung zum testen? Hast du es schon mit PLCSIM versucht?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi, danke für die fixe Antwort,
die Software habe ich hier, aber keine Hardware...

so und meine Programmierkenntnisse sind schon ganz okay für einen Mechatroniker... kenne mich aber nicht gut mit den ganzen Programmsteuerungskrams aus... habe bisher immer nur in einem FC oder in zweien gearbeitet... hier brauche ich 6 und davon sollen 2 gegeneinander verriegelt und in anderen FCs abgefragt werden, ob diese gerade aktiv sind oder nicht...

ich Programmiere im Moment in FUP also wenns geht mit Bildschen bidde

hätte gerne mal ein Beispielbild, wie ich im OB1 den FC1 und den FC2 gegeneinander verriegele...
und dann bitte noch, wie die Funktion aussieht, mit der ich den stand eines FCs abfragen kann mit Text

thx schonmal
 
Du kannst FC's nicht gegeneinander verriegeln, die SPS arbeitet zyklisch und man kann nur einen FC zur Zeit aufrufen.

Bei dem UND ist es genauso, du kannst nicht den Zustand eines FC's aufrufen, du könntest theoretisch einen Merker in deinem zu überwachenden FC setzen und diesen dann abfragen.

Was willst du denn genau realisieren ?
 
Du kannst FC's nicht gegeneinander verriegeln, die SPS arbeitet zyklisch und man kann nur einen FC zur Zeit aufrufen.

Bei dem UND ist es genauso, du kannst nicht den Zustand eines FC's aufrufen, .......

Was willst du denn genau realisieren ?

Warum nicht? Er muss doch nur den FC mit einem Merker am "EN" Eingang aufrufen, wenn er abgearbeitet werden soll und mit diesem Merker kann er dann auch die anderen verriegeln.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also, es ist so...

es kommen Werkstücke von einer Messstation über ein Förderband, bestimmte werden aussortiert und von einem Greifer am Förderband in ein Lager transportiert, die Gutteile gehen bis zu meiner Station, dem Handhabungsgerät.

Aluteile sollen zur Bohrstation rüber und anschließend zur Werkstückrutsch und weisse Teile zur Stempelstation und dann nach der Bearbeitung auch zur Werkstückrutsche...

Mein Plan war Folgender:

FC1 Position (Position vom Drehteller wird nämlich über ein Poti abgefragt, also Analogwertverarbeitung)

FC2 Werkstückmerker (Zähler für die Werkstücksignale der Messstation und anschließendem Rückwärtszählen bei ablegen an der Werkstückrutsche)

FC3 Stempelstation (soll aktiv sein bei Z1 >0 also weisses Teil UND nicht FC4)

FC4 Stempelstation (soll aktiv sein bei Z2 >0 also weisses Teil UND nicht FC3)

FC5 Not- Aus (Verhalten bei Not-Aus, noch nicht weiter geplant)

FC6 Ausgangszuweisungen (Zuweisen der Merker aus allen FCs zu den Ausgängen)

soo...
 
wenn ich dich richtig verstanden habe, kann ich die FCs im OB1 auch so "callen" oder?
 

Anhänge

  • Neues Bild (1).jpg
    Neues Bild (1).jpg
    23,3 KB · Aufrufe: 24
  • Neues Bild.jpg
    Neues Bild.jpg
    22,4 KB · Aufrufe: 12
ich darf Graph nicht nutzen...

wenn ihr wollt, kann ich ja mal meinen aktuellen Stand hochladen...

Flo

Die erste Wahl für solche Aufgaben ist IMHO eine Schrittkette.

Das beste Werkzeug für Schrittketten ist IMHO eine Grafische Programmierung wie AS oder Graph7.

Wenn dieses Tool nicht zu verfügung steht kann man eine Schrittkette auch mittels einer Case-Anweisung in SCL lösen. Oder mittels einer Sprungleiste in AWL.

Für Dich ging es auch gut einer Schrittkette in FUP zu Programmieren.
Eine Einführung in Schrittketten findest Du als Anhang in diesem Thread.
 
thx schonmal an alle!

also Schrittkette ist klar, hab ich schon mit ner Menge SR gelöst...

auf die "altmodische Tour" was solls... meine Lehrerin will es nicht anders... sollen nur damit arbeiten, was wir bis jetzt gelernt haben und selbst da trickse ich ein wenig...

wollte z.B. den Jumpbaustein verwenden,
wenn der Ausleger auf das fertige Werkstück aus einer Station wartet...
der Not Aus der anderen Station (Bohren oder Stempeln) gedrückt wird...

und springe dann zum letzten Schritt (Grundposition anfahren)

höhö
fett... hoffe das funzt wirklich so mit dem OB1, bin echt um eine Sorge erleichtert im Moment
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du kannst sicherlich FC gegeneinander verriegeln indem du Sprungbefehle nutzt.
In jedem FC setzt du einen Merker, wenn der FC abgearbeitet wird.
Wenn zB. der Merker in FC1 gesetzt ist, dann überspringst du FC2 indem du den Merker von FC1 abfragst.

Willst du nun in FC2, so musst du erst den Merker in FC1 reset. um dann in FC2 zu kommen. Sobald du in FC2 bist, wird dort ein Merker gesetzt, damit FC1 übersprungen wird.
Das alles mit dem Spingen zu organisieren machst du entweder in einem extra FC, der die beiden aufruft, oder auch gleich im OB, das bleibt sich gleich.

Alles andere was du in den FC`s noch gesetzt hast, musst du vor verlassen der des FC natürlich auch reset., denn überspringen heist nicht dass nichts mehr gesetzt ist.
 
...
Alles andere was du in den FC`s noch gesetzt hast, musst du vor verlassen der des FC natürlich auch reset., denn überspringen heist nicht dass nichts mehr gesetzt ist.

Achtung nicht nur gestzte(S) Merker und Ausgänge auch übersprungene gleichs(=) bleiben aktiv.
 
gibt es eine Funktion, die bei verlassen oder Springen in einen anderen FC alles auf "0" setzt?

z.B. wie bei BASIC "clear" und dann "end"
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
gibt es eine Funktion, die bei verlassen oder Springen ein einem FC alles auf "0" setzt?
Nun, du musst natürlich nicht jeden Merker einzeln zurücksetzen.
Wenn du zB. nur Merker eines Wortes hast, dann machst du folgendes.

L C#0
T MW X // (X wäre das Merkerwort)

Das darfst du natürlich wieder nicht bearbeiten, solange der FC arbeitet. Folglich musst du, wärend der FC arbeitet, das auch wieder überspringen.

Das ist natürlich nur eine Metode, es gibt sicher zig Möglichkeiten, jeder so wie er kann und dass es andere noch lesen können. Ich denke das ist das wichtigste.
 
Zurück
Oben