Abfrage in SCL erweitern?

schnecke

Level-1
Beiträge
148
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

in einem bestehenden Programm ist unter anderem folgender Code programmiert:

IF.jpg


Nun soll ein weiterer IF-Abfragezweig programmiert werden, der jedoch nur dann ausgeführt wird, wenn die Zeile

Code:
IF "Eingang1" = 1 AND "Eingang2" = 1 THEN

TRUE ist.

Frage: Ist das möglich - und wenn ja - wie muss ich neue Abfrage am Code-Ende einfügen?

Lieben Dank!
 
Ähhh ....
Das ist doch in deinem Bild, das du eingefügt hast schon genau so gemacht ???
Was willst du denn nun wissen ?

Übrigens - Verbesserungs-Potential :
Wenn du abfragen willst ob eine Boolsche Variable = 1 ist dann kannst du es auch so programmieren :
Code:
IF Eingang then ...

bzw.

IF NOT Eingang then ...
Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nun soll ein weiterer IF-Abfragezweig programmiert werden, der jedoch nur dann ausgeführt wird, wenn die Zeile

Code:
IF "Eingang1" = 1 AND "Eingang2" = 1 THEN

TRUE ist.

Es soll also nochmals eine IF-Abfrage programmiert und an das bestehende Programm angefügt werden, die aber nur bearbeitet wird, wenn eben oben stehender Code True ist.

Wenn ich die neue Abfrage einfach hinten anstelle, so spielen ja die dazwischen programmierten IF-Abfragen auch mit rein...
 
Zuletzt bearbeitet:
???

Du hast doch schon das Folgende im Code stehen :
Code:
IF Eingang1 and Eingang2 then
   IF Merker then
      // tu dies
   else
      // tu das
   end_if ;

[I]   if neue_Afrage then
      // tu noch was
   end_if;
[/I]
end_if ;
... was du dann nur noch passend erweitern mußt (siehe oben).
 
Danke LL,

aber die neue Abfrage ist doch auch von

IF Merker Then

abhängig, oder?

Die neue Abfrage soll am Ende angefügt werden und nur von


IF Eingang1 and Eingang2 then

abhängig sein.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
???

Du hast doch schon das Folgende im Code stehen :
Code:
IF Eingang1 and Eingang2 then
   IF Merker then
      // tu dies
   else
      // tu das
   end_if ;

[I] if neue_Afrage then
      // tu noch was
   end_if;
[/I]
end_if ;
... was du dann nur noch passend erweitern mußt (siehe oben).

Wie Larry schon geschrieben hat...
Die neue Abfrage wird nur bearbeitet wenn Eingang 1 und Eingang 2 true sind. Was Merker macht spielt keine Rolle, da der ja nur für die Abfrage
Code:
IF Merker THEN
...
END_IF;
relevant ist und diese beim End_If beendet ist.

EDIT: Wenn du immer eine Aktion ausführen möchtest wenn Eingang 1 und Eingang 2 true sind kannst du das auch so machen:

:
Code:
[FONT=courier new]IF Eingang1 and Eingang2 then
   IF Merker then
      // tu dies
   else
      // tu das
   end_if ;
[I]      
   // tu noch was
[/I]
end_if ;
[/FONT]
 
Zuletzt bearbeitet:
EDIT: Wenn du immer eine Aktion ausführen möchtest wenn Eingang 1 und Eingang 2 true sind kannst du das auch so machen:

:
Code:
[FONT=courier new]IF Eingang1 and Eingang2 then
   IF Merker then
      // tu dies
   else
      // tu das
   end_if ;
[I]      
   // tu noch was[/I]
end_if ;
[/FONT]


Lieben Dank euch beiden!

Ja, so hatte ich es eigentlich gemeint - habe mich aber doof ausgedrückt... :p


Eine Frage noch dazu:

Wenn ich in einem Baustein an unterschiedlichen Stellen IF-Abfragen programmiere und dabei jeweils mit anderen Bedingungen den gleichen Ausgang setze oder rücksetze, wäre das dann auch eine Doppelzuweisung oder nicht, da das Setzen/Rücksetzen ja in unterschiedlichen IF-Abfragen geschieht?
 
Von Doppelzuweisungen spricht man in der Regel bei =-Zuweisungen.

Wenn du in zwei unterschiedlichen IF-Konstrukten setzt und rücksetzt ist das keine Doppelzuweisung sonder ganz normale Programmierung. Das kannst du ja vergleichen wie wenn du in AWL/FUP/KOP das Setzen und Rücksetzten in zwei Netzwerken bastelst.
 
Yep, habe ich nun verstanden, danke LL!

Achja - hab's grad vorhin gelesen - nachträglich auch alles Liebe von mir zu deinem Purzeltag, gelle... ;)
 
Zurück
Oben