Dekuika
Level-3
- Beiträge
- 2.103
- Reaktionspunkte
- 1.060
-> Hier kostenlos registrieren
Ich meinte eigentlich die zyklische bearbeitung durch OB. Ist aber sicher auch falsch.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Käse ist es schon deshalb, weil Y_loc ja eine Ausgangsspannung sein soll. Und wie hoch die ist, weiss ich doch vorher. Oder hab ich da was falsch verstanden?Das ganze ist doch eh ne akademische Aufgabe. In der Praxis würde man sowieso nicht mit der Spannung rechnen sondern mit der richtigen physikalischen Größe und ausserdem ne Hysterese einbauen, sonst toggelt das mal ordentlich hinundher. Wenn dann nen Schütz am Ausgang hängt, viel Spaß.
Dann wären wir aber doch wieder beim IF THEN ELSIF bzw. Setzen Rücksetzen...
Und Else wäre auch aus dem Spiel.
Indem Du den Baustein in einer "vernünftigen Zeitspanne" wieder aufrufst.Edit: Was ich mich aber frage: wenn nicht zyklisch, wie bekommt mein Baustein , in einer vernünftigen Zeitspanne, mit, dass Y_loc unter 8V sinkt, damit der Ausgang GR_loc wieder false wird.
Dass Du das vorher weisst, nehmen wir mal als gegeben an, aber was muss man programmieren, damit es auch die CPU weiss und entsprechend angepasst reagieren kann?Käse ist es schon deshalb, weil Y_loc ja eine Ausgangsspannung sein soll. Und wie hoch die ist, weiss ich doch vorher. Oder hab ich da was falsch verstanden?
Aaach sooo.Was ich meinte ist, dass von der Ausgangsspannung Y_loc und nicht der Eingangsspannung x_loc die Rede ist.
Die FUP-Entsprechung für Deinen Vorschlag wäre so:@PN/DP Müsste das bei SCL nicht so aussehen?
Code:IF Y_loc >= 22118 THEN GR_loc := TRUE; ELSE GR_loc := FALSE; END IF;
+-------+
| >= |
| INT | GR_loc
Y_loc--|IN1 | +-----+
22118--|IN2 |--+---| S |
+-------+ | +-----+
|
| GR_loc
| +-----+
+--o| R |
+-----+
Code:SCL: GR_loc := Y_loc >= 22118 ; FUP: +-------+ | >= | | INT | GR_loc Y_loc--|IN1 | +-----+ 22118--|IN2 |------| = | +-------+ +-----+
IF (Y_loc >= 22118) = TRUE THEN
GR_loc := TRUE;
ELSE
GR_loc := FALSE;
END IF;
GR_loc := (Y_loc >= 22118) ; +-------+
| < |
| INT | +-------+
i--| | | ADD |
999--| |--+------| INT |
+-------+ | i--| |-i
| 1--| |
| +-------+
|
|
| +-------+
| | MOVE |
+-----o| |-i
0--| |
+-------+
SCL:
IF i < 999 THEN
i := i + 1;
ELSE
i := 0;
END_IF;
Mir wird ja hier immer viel Geduld zugesprochen, aber an dieser Stelle hätte ich schon lange abgebrochen...Eine Anmerkung zum Thema hab' ich aber noch ...
Da waren meine Finger schneller als mein Kopf... vergesst was ich da geschrieben habeWo siehst Du da ein "SR-RS Glied" ???
Irgendwie denkt ihr beide viel zu umständlich oder seht die Grundlagen der SPS nicht...
Wir verwenden essentielle Cookies, damit diese Website funktioniert, und optionale Cookies, um den Komfort bei der Nutzung zu verbessern.
Siehe weitere Informationen und konfiguriere deine Einstellungen