Timer auf 0 setzen

Zuviel Werbung?
-> Hier kostenlos registrieren
Achso
und das was ich gemacht habe gilt als Aufruf auch stimmt ?
Code:
fbTon_Luftmotor_M2_EVG_SK(IN:= TRUE);
Ja einen FB ruft man über seinen Instanznamen auf, dahinter kommen dann die runden Klammern und in diesen werden bei Bedarf noch Eingangsvariablen gesetzt oder Ausgangsvariablen anderen Variablen zugewiesen. Beides kann bei FBs aber auch außerhalb des Aufrufes erfolgen, da jede Instanz eines FBs einen Speicher hat, der auch nach dem Aufruf (oder vor dem Aufruf) existiert.
Ich vermute mal Du hast Q auch falsch genutzt, weswegen es bei Dir nicht ging. @Larry Laffer hat Dein Programm ja etwas überarbeitet und da kannst Du sehen, wie das Q genutzt wird.
 
Ich habe das jetzt in dem Beitrag mal geändert und die Tags mit eingefügt ...

@der_NooB :
Ich würde die Sache mit den Timern in etwa so umsetzen (und den Rest vom Code habe ich dann auch gleich "ein wenig" verschlankt ;)) :
Code:
fbTon_Luftmotor_M2_EVG   (IN := iSchritnummer_Muehle = 00 ,
                          PT := DWORD_TO_TIME(dwLM_EVG_1*1000));
fbTon_Luftmotor_M2_AVG   (IN := iSchritnummer_Muehle = 10 ,
                          PT := DWORD_TO_TIME(dwLM_AVG  *1000));
fbTon_Luftmotor_M2_EVG_SK(IN := iSchritnummer_Muehle = 05 ,
                          PT := DWORD_TO_TIME(dwLM_EVG_2_SK*1000));


fbTon_MV_Mue_EVG         (IN := iSchritnummer_Muehle = 20 ,
                          PT := DWORD_TO_TIME(dwMV_AVG*1000));
fbTon_MV_Mue_EVG_2       (IN := iSchritnummer_Muehle = 30 ,
                          PT := DWORD_TO_TIME(dwMV_Mue_EVG_2*1000));


// Schrittkette Lüfter und Bläse

CASE iSchritnummer_Muehle OF


    00: // Zeit um den Lüfter zu starten
        IF fbTon_Luftmotor_M2_EVG.Q THEN

            xM2_Mue := TRUE;
            iSchritnummer_Muehle := 10;

        END_IF


    05: // Eine Sekunde in SK um den Lüfter zu starten
        IF TfbTon_Luftmotor_M2_EVG_SK.Q THEN

            xM2_Mue := TRUE;
            iSchritnummer_Muehle := 10;

        END_IF


    10: // Laufzeit bis der Lüfter stoppt
        IF bTon_Luftmotor_M2_AVG.Q THEN

            xM2_Mue := FALSE;
            iSchritnummer_Muehle := 20;

        END_IF


    20: // Zeit, in der MV einschaltet erstes mal
        IF fbTon_MV_Mue_EVG.Q THEN

            xMv1_Mue := TRUE;
            iSchritnummer_Muehle := 30;

        END_IF


    30: // MV ausschalten und für das zweite Mal einschalten

        xMv1_Mue := FALSE;

        IF fbTon_MV_Mue_EVG_2.Q THEN

            xMv1_Mue := TRUE;
            iSchritnummer_Muehle := 40;

        END_IF


    40: // Zeiten zurücksetzen

        xMv1_Mue := FALSE;
        xMv2_Mue := FALSE;
         iSchritnummer_Muehle := 05;

END_CASE
Sehr sauber, es ist auf jeden Fall übersichtlicher als meiner. Ich habe es kompliziert gemacht, obwohl es so einfach gehen könnte.
Übung macht den Meister. Jetzt weiß ich, wie ich es falsch und richtig machen kann.

Vielen Dank für die Hilfe.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja einen FB ruft man über seinen Instanznamen auf, dahinter kommen dann die runden Klammern und in diesen werden bei Bedarf noch Eingangsvariablen gesetzt oder Ausgangsvariablen anderen Variablen zugewiesen. Beides kann bei FBs aber auch außerhalb des Aufrufes erfolgen, da jede Instanz eines FBs einen Speicher hat, der auch nach dem Aufruf (oder vor dem Aufruf) existiert.
Ich habe es eigentlich auch in dem Buch gelesen. und habe mich immer gefragt was nutzt mir das wenn ich das weiß
Jetzt, mit dem Programm, habe ich es sehr gut verstanden. Danke.
Ich vermute mal Du hast Q auch falsch genutzt, weswegen es bei Dir nicht ging. @Larry Laffer hat Dein Programm ja etwas überarbeitet und da kannst Du sehen, wie das Q genutzt wird.
das auf jeden fall
 
@der_NooB : vielleicht ganz generell als Anregung : wenn du möchtest, dass dir zu deinem Code Vorschläge gemacht werden oder du dazu irgendwie Hilfe haben möchtest dann solltest du ihn generell als Text hier einfügen - es macht sich keiner die Mühe deine Screenshots abzutippen. Screenshots machen nur Sinn wenn man z.B. den Online-Status zeigen möchte.
 
Zurück
Oben