diff --git a/utils/matiec_src/lib/C/iec_std_FB.h b/utils/matiec_src/lib/C/iec_std_FB.h index b4416d2..d6d9614 100644 --- a/utils/matiec_src/lib/C/iec_std_FB.h +++ b/utils/matiec_src/lib/C/iec_std_FB.h @@ -613,8 +613,8 @@ static void F_TRIG_body__(F_TRIG *data__) { } // Initialise TEMP variables - __SET_VAR(data__->,Q,,(!(__GET_VAR(data__->CLK,)) && !(__GET_VAR(data__->M,)))); - __SET_VAR(data__->,M,,!(__GET_VAR(data__->CLK,))); + __SET_VAR(data__->,Q,,(!(__GET_VAR(data__->CLK,)) && (__GET_VAR(data__->M,)))); + __SET_VAR(data__->,M,,__GET_VAR(data__->CLK,)); goto __end; diff --git a/utils/matiec_src/lib/edge_detection.txt b/utils/matiec_src/lib/edge_detection.txt index 69c0dfe..a7ad4d6 100755 --- a/utils/matiec_src/lib/edge_detection.txt +++ b/utils/matiec_src/lib/edge_detection.txt @@ -29,7 +29,7 @@ FUNCTION_BLOCK F_TRIG VAR_INPUT CLK: BOOL; END_VAR VAR_OUTPUT Q: BOOL; END_VAR VAR RETAIN M: BOOL; END_VAR -Q := NOT CLK AND NOT M; -M := NOT CLK; +Q := NOT CLK AND M; +M := CLK; END_FUNCTION_BLOCK