Ladwig
Level-2
- Beiträge
- 11
- Reaktionspunkte
- 1
-> Hier kostenlos registrieren
Hallo Zusammen,
ich habe folgenden FB zur Generierung eines Intervalls zusammengebastelt. Habe nun aber folgendes festgestellt. Wenn ich das RESETBIT setze ohne daß, das STARTBIT gesetzt ist geht die CPU mit folgender Fehlermeldung auf Stop. "BCD Wandlungsfehler"
Testweise habe ich dann den identischen Code mit direkter Adressierung in einen FC gepackt. Komischerweise kann ich im FC das RESETBIT setzen wann ich will die CPU geht nicht auf Stop. Im FC kann ich auch die Flankenauswertung des Resetbits weglassen. Weiß irgendjemand im Forum weshalb das so ist??
ich habe folgenden FB zur Generierung eines Intervalls zusammengebastelt. Habe nun aber folgendes festgestellt. Wenn ich das RESETBIT setze ohne daß, das STARTBIT gesetzt ist geht die CPU mit folgender Fehlermeldung auf Stop. "BCD Wandlungsfehler"
Testweise habe ich dann den identischen Code mit direkter Adressierung in einen FC gepackt. Komischerweise kann ich im FC das RESETBIT setzen wann ich will die CPU geht nicht auf Stop. Im FC kann ich auch die Flankenauswertung des Resetbits weglassen. Weiß irgendjemand im Forum weshalb das so ist??
Code:
FUNCTION_BLOCK "Intervall"
TITLE =
VERSION : 0.1
VAR_INPUT
Start : BOOL ;
Impulswert : S5TIME ;
Pausenwert : S5TIME ;
Impulszeit : TIMER ;
Pausenzeit : TIMER ;
Reset : BOOL ;
END_VAR
VAR_OUTPUT
Ausgabe : BOOL ;
END_VAR
VAR
Stat_Flanke : BOOL ;
END_VAR
BEGIN
NETWORK
TITLE =
U #Start;
SPBN a001;
UN #Pausenzeit;
L #Impulswert;
SI #Impulszeit;
U #Impulszeit;
S #Ausgabe;
UN #Impulszeit;
L #Pausenwert;
SI #Pausenzeit;
U #Pausenzeit;
O #Reset;
R #Ausgabe;
a001: NOP 0;
U #Reset;
FP #Stat_Flanke;
SPBN aend;
R #Impulszeit;
R #Pausenzeit;
CLR ;
SI #Impulszeit;
SI #Pausenzeit;
aend: NOP 0;
END_FUNCTION_BLOCK