FC oder FB????

HansMeiser

Level-1
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Leute,

hier ne SPS-lastige Frage zum Thema Bausteinauswahl FC oder FB.

Die Aufagenstellung lautet.

Ein einfachwirkender Zylinder in Grundstellung (S3 betätigt).

Nachdem S1 kurzzeitig betätigt wurde (S1 = taster) soll nach einer Wartezeit von 3s der Zylinder Y1 ausfahren. Wenn der Zylinder ausgefahren ist (S4 betätigt) soll er nach einer Wartezeit von 2,5s wieder in seine Grundstellung zurückkehren.
Das Programm soll in einem FC erstellt werden.


So, nun zu meiner Frage:

Da S1 ein Taster ist muss ich ja praktisch eine Selbsthaltung erstellen. Somit benötige ich ja eine art "zwischenspeicher". Und hier liegt mein Problem. Sobald ich ja etwas zwischenspeichern muss benötige ich doch einen FB? oder liege ich da falsch?
Im Anhang habe ich mal mein prog hochgestellt, so funktioniert es zwar, ist aber nicht bibliotheksfähig.

Wie kann ich die Selbsthaltung erstellen, dass ich keinen "zwischenspeicher" benötige?

ich hoffe ihr könnt mir helfen
 

Anhänge

  • WinSPS-S7 - 2 Seiten.pdf
    8,2 KB · Aufrufe: 38
Zuviel Werbung?
-> Hier kostenlos registrieren
FC verwenden, und die Speicher (Setzen, Rücksetzen) mittels In/Out auf irgendwelche Globale Variablen legen,
z.B. Merker oder DB's etc.

Du kannst das ganze auch nicht wiederverwendbar, also rein mit absoluten Adressen programmieren,
das geht aus der Aufgabenstellung ja nicht hervor... bzw. ist vermutlich auch so gedacht ...

Mfg
Manuel
 
Ok, danke für die schnellen antworten.

Habe jetzt im FC meine Varibale "ZwSp" als in IN/OUT Deklariert.
Jetzt kann ich im OB1 die Funktion mehrmals aufrufen, muss halt jedesmal "ZwSp" einen andern Merker zuweisen.

Gibts auch ne möglichkeit das irgendwie lokal im FC zu lösen? Günni1977 hat ja was von nem-DB Bereich gesagt. Ist es das?

Danke!!
 
Also Lokal im FC hast du keine Chance,
Günni schrieb ja auch von IN/OUT in Verbindung mit einem DB.

Wenn du das ganze als UDT ausführst, kannst du mit einer IN/OUT Variable,
sämtliche Bits die du benötigst übergeben,
evtl. sogar noch deine ganzen Zeit-Werte etc. und hast sämtliche Parameter dann ähnlich einer Instanz,
sauber aufgereit in einem DB stehen.

P.S. Was mir an deinem Code-Schnippsel grad noch aufällt, ist das das Setzten / Rücksetzen von OUT-Variablen,
hier deinen Y1 auch nicht so besonderst toll ist, bzw. ähnlichen Einschränkungen wie die Temp-Var unterliegt.

Mfg
Manuel
 
Zurück
Oben