Timerproblem in SCL

Zuviel Werbung?
-> Hier kostenlos registrieren
:confused::confused::confused:
Hallo Schnecke,
das "act_Flag_T10" oder wie auch immer wäre natürlich das Bit, das alternativ zu Taste an den Input "S:=" der entsprechenden Timer-Anweisung programmiert wird.

Kannst du das, was du da machen möchtest, in AWL programmieren ?

Gruß
Larry
 
Sorry LL,

ich kann mich einfach nicht besser ausdrücken, weil mir der Hintergrund fehlt...


Die Aufgabenstellung ist, wie bereits geschrieben:

Beim Drücken einer Taste soll nach 1s ein Ausgang angehen und wenn diese Taste losgelassen wird, soll der Ausgang nach 4s wieder ausgehen.


Diese Aufgabe kann durch folgende Programmierung gelöst werden - habe das getestet:

Code:
[FONT=Times New Roman][SIZE=3]currTime_T10:= S_ODT (T_NO:= T10, S:=Taste, TV:= T#1s, R:= FALSE, BI:= biVal_T10, Q:= tempFlag);[/SIZE][/FONT]
[SIZE=3][FONT=Times New Roman]currTime_T11:= S_OFFDT (T_NO:= T11, S:=tempFlag, TV:= T#4s, R:= FALSE, BI:= biVal_T11, Q:= Ausgang);[/FONT][/SIZE]

Soweit so gut!

Nun kann ich das Ganze ja auch als direkte Zuweisung programmieren:

Code:
actFlag_T10:= Taste AND NOT Ausgang;
actFlag_T11:= Ausgang AND NOT Taste;

Das heißt ja jetzt, dass T10 aktiv wird, wenn die Taste gedrückt wird und der Ausgang 0 ist. T11 wird aktiv, wenn der Ausgang 1 ist und die Taste losgelassen wird. Denke das stimmt so, oder?

Meine Frage dazu war nun:

Benötige ich dann trotzdem noch den ganzen Rattenschwanz hinter "currTime_T10", bzw. hinter "currTime_T11" (aus dem ersten Code) und wenn ja, was setze ich dann für S und Q ein?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
du hast das ein bißchen aus dem Zusammenhang geholt.
Irgendwo hattest du mal geschrieben, dass du den Trigger für den/die Timer mit einer IF..THEN..ELSE-Kontruktion lösen wolltest. Dabei hattest du die Variable "act_Flag_T10" (oder ähnlich) dafür erzeugt (eben mit IF...). Dazu wollte ich dir nur gesagt haben, dass du an dessen Stelle den Hilfs-Temp ("act_Flag_T10") auch auf die andere Weise zuweisen kannst. Das ersetzt NICHT den eigentlichen Timer-Aufruf.

Gruß
Larry
 
Aja ok.

1) Also werden die beiden Zeilen

Code:
[FONT=Times New Roman][SIZE=3]currTime_T10:= S_ODT (T_NO:= T10, S:=Taste, TV:= T#1s, R:= FALSE, BI:= biVal_T10, Q:= tempFlag);[/SIZE][/FONT]
[SIZE=3][FONT=Times New Roman]currTime_T11:= S_OFFDT (T_NO:= T11, S:=tempFlag, TV:= T#4s, R:= FALSE, BI:= biVal_T11, Q:= Ausgang);[/FONT][/SIZE]

als Timer-Aufruf immer benötigt, richtig?


2) Da die Aufgabe offensichtlich durch den alleinigen Timer-Aufruf (Code unter 1) gelöst werden kann, würde ja das Hinzuziehen der "IF..THEN..ELSE-Kontruktion" bzw. von "act_Flag_T10" und "act_Flag_T11" überhaupt keinen Sinn machen, oder habe ich da wieder etwas völlig falsch verstanden?
 
Zuletzt bearbeitet:
Zurück
Oben