DDuesentrieb
Level-1
- Beiträge
- 44
- Reaktionspunkte
- 1
-> Hier kostenlos registrieren
Hallo Ihr,
ich habe folgendes Problem. Ich habe mir einen Baustein für die Erstellung von Pulsen mit vorgegebenen Pausenzeiten erstellt.
Dies funktioniert auch gut solang als Pausenzeit nicht 0 gewählt ist.
Für einen Sekundenpuls müsste ich aber die Pausenzeit auf 0 setzen.
Nachfolgend mein Quellcode als Quelle.
Wo ist mein Fehler?
Schon mal vielen Dank für eure Hilfe!
ich habe folgendes Problem. Ich habe mir einen Baustein für die Erstellung von Pulsen mit vorgegebenen Pausenzeiten erstellt.
Dies funktioniert auch gut solang als Pausenzeit nicht 0 gewählt ist.
Für einen Sekundenpuls müsste ich aber die Pausenzeit auf 0 setzen.
Nachfolgend mein Quellcode als Quelle.
Code:
FUNCTION_BLOCK "Pulses_and_Flashers_Cont"
TITLE =
VERSION : 0.1
VAR_INPUT
Enable : BOOL ; //Enable or Disable the Function Block (Insert 0 = Disable 1 = Enable)
Puls_Length : TIME ; //Length of Puls
Pause_Length : TIME ; //Length of Pause
END_VAR
VAR_OUTPUT
Puls : BOOL ; //Output Bit while Puls is 1
Pause : BOOL ; //Output Bit while Pause is 1
END_VAR
VAR
Timer_Puls : "TP";
Timer_Pause : "TP";
Release_Puls : BOOL ;
Release_Pause : BOOL ;
Rest_Time_Puls : TIME ;
Rest_Time_Pause : TIME ;
END_VAR
BEGIN
NETWORK
TITLE =
UN #Enable;
SPB Ende;
UN #Puls;
UN #Pause;
S #Release_Puls;
CALL #Timer_Puls (
IN := #Release_Puls,
PT := #Puls_Length,
Q := #Puls,
ET := #Rest_Time_Puls);
UN #Puls;
R #Release_Puls;
S #Release_Pause;
CALL #Timer_Pause (
IN := #Release_Pause,
PT := #Pause_Length,
Q := #Pause,
ET := #Rest_Time_Pause);
UN #Pause;
R #Release_Pause;
Ende: NOP 0;
END_FUNCTION_BLOCK
Wo ist mein Fehler?
Schon mal vielen Dank für eure Hilfe!